Module references

Documentation of the different modules and classes used in ncbi-taxonomist.

Contents

ncbi-taxonomist

This is the entry script for ncbi-taxonomist. It runs the requested command and checks its parameters.

Cache

Cache caches taxa to reuse already solved queries, avoiding unnessecary local or remote database lookups.

Accession cache module: ncbitaxonomist.cache.accession

class ncbitaxonomist.cache.accession.AccessionCache[source]

Class to handle caching of accessions. Accessions are stored mapping accessions as key and class:ncbitaxonomist.model.accession.AccessionData as value.

cache(acc: Type[ncbitaxonomist.model.accession.Accession])[source]

Caches accession

get_accession(acc) → Type[ncbitaxonomist.model.accession.Accession][source]

Returns given or all taxids in cache

incache(name=None, taxid=None)[source]

Tests if given accession is in cache.

is_empty()[source]

Tests if cache is empty.

Converter

Converter convert between data models and pure attributes.

Base converter: ncbitaxonomist.convert.converter

class ncbitaxonomist.convert.converter.ModelConverter[source]

Base class for converters between attributes and models.

convert_from_model(model: Type[ncbitaxonomist.model.datamodel.DataModel], outdict: Mapping[KT, VT_co] = None) → Dict[KT, VT][source]

Virtual method converts model to attributes

convert_to_model(attributes: Mapping[str, any], srcdb=None) → Type[ncbitaxonomist.model.datamodel.DataModel][source]

Virtual method converts attributes to model

map_inattributes(mattribs: Mapping[str, any], indata: Mapping[str, any], convmap: Mapping[str, str], switch: bool = False)[source]

Map input attributes to wanted model attributes

Attribute mapping: ncbitaxonomist.convert.convertermap

Maps indicating which data attributes are convertred to which model attributes.

Local database accession converter: ncbitaxonomist.convert.accessiondb

class ncbitaxonomist.convert.accessiondb.DbAccessionConverter[source]

Class implementing a converter for accession attributes and models

convert_from_model(model: Type[ncbitaxonomist.model.accession.Accession], outdict=None) → Dict[str, str][source]

Converts accession model to attributes

convert_to_model(attributes: Mapping[str, any], srcdb=None) → Type[ncbitaxonomist.model.accession.Accession][source]

Converts local database attributes to accession model

NCBI accessions converter: ncbitaxonomist.convert.ncbiaccession

class ncbitaxonomist.convert.ncbiaccession.NcbiAccessionConverter[source]

Convert NCBI accession data into model or model into attributes

convert_from_model(model: Type[ncbitaxonomist.model.accession.Accession], outdict=None) → Dict[str, str][source]

Converts accession model to attributes

convert_to_model(attributes: Mapping[str, any], srcdb=None) → Type[ncbitaxonomist.model.accession.Accession][source]

Converts NCBI attributes to accession model

Local database taxon converter: ncbitaxonomist.convert.taxadb

class ncbitaxonomist.convert.taxadb.TaxaDbConverter[source]

Converts local database attributes into class:ncbitaxonomist.model.taxon.Taxon instances and vice versa

convert_from_model(model: Type[ncbitaxonomist.model.taxon.Taxon], outdict=None) → Dict[str, str][source]

Virtual method converts model to attributes

convert_to_model(attributes: Mapping, srcdb=None) → Type[ncbitaxonomist.model.taxon.Taxon][source]

Convert local database taxon attributes into class:ncbitaxonomist.model.taxon.Taxon

Data models

ncbi-taxonomist data models implement taxonomic and accession data. Models use a ncbitaxonomist.model.datamodel.DataModel as base class.

Basic data model: ncbitaxonomist.model.datamodel

class ncbitaxonomist.model.datamodel.DataModel(cast, attributes: Mapping[KT, VT_co] = None)[source]

Base class for data models.

get_attributes() → Dict[str, any][source]

Return taxon attributes as dictionary.

classmethod new(attributes: Mapping[str, any] = None) → ncbitaxonomist.model.datamodel.DataModel[source]

Return new instance with given attributes

classmethod new_from_json(json_attributes: str) → ncbitaxonomist.model.datamodel.DataModel[source]

Return new instance with attributes encoded in JSON

taxid()[source]
ncbitaxonomist.model.datamodel.int_attribute(attribute)[source]

Enforce int for attribute

ncbitaxonomist.model.datamodel.standardize_attributes(attributes: Mapping[str, any])[source]

Convert None into empty dictionary. See Important warning at https://docs.python.org/3/tutorial/controlflow.html#default-argument-values

Accession Data model: ncbitaxonomist.model.accession

Inheritance diagram of ncbitaxonomist.model.accession
class ncbitaxonomist.model.accession.Accession(attributes: Mapping[KT, VT_co] = None)[source]
get_accessions() → Dict[str, str][source]

Return accessions as dictionary

get_attributes() → Dict[str, any][source]

Return taxon attributes as dictionary.

classmethod new(attributes: Mapping[str, any] = None) → ncbitaxonomist.model.datamodel.DataModel

Return new instance with given attributes

classmethod new_from_json(json_attributes: str) → ncbitaxonomist.model.datamodel.DataModel

Return new instance with attributes encoded in JSON

taxid()
update_accessions(accession: Mapping[str, str])[source]

Update accessions from dictionary with structure accession:type

Database

Database modules for a local ncbi-taxonomist database

Database tables

Base table: ncbitaxonomist.db.table.basetable

class ncbitaxonomist.db.table.basetable.BaseTable(name: str, database: str)[source]

Implements a basic table in a taxonomist database.

create(connection: Type[sqlite3.Connection]) → ncbitaxonomist.db.table.basetable.BaseTable[source]

Virtual function to create table

create_index(connection: Type[sqlite3.Connection]) → None[source]

Virtual function to create table index

insert(connection: Type[sqlite3.Connection], values: Tuple) → None[source]

Virtual function to insert rows

Taxa table: ncbitaxonomist.db.table.taxa

class ncbitaxonomist.db.table.taxa.TaxaTable(database: str)[source]

Implements taxa table for local taxonomy database.

create(connection: Type[sqlite3.Connection]) → ncbitaxonomist.db.table.taxa.TaxaTable[source]

Virtual function to create table

create_index(connection: Type[sqlite3.Connection]) → None[source]

Virtual function to create table index

get_lineage(connection: Type[sqlite3.Connection], taxid: int, name_table: str) → Type[sqlite3.Cursor][source]

Recursive construction of lineage from given taxid to highest parent.

get_rows(connection: Type[sqlite3.Connection]) → Type[sqlite3.Cursor][source]
get_subtree(connection: Type[sqlite3.Connection], taxid: int) → Type[sqlite3.Cursor][source]

Depth first search of taxon ids to find the subtree of taxid

get_taxids(connection: Type[sqlite3.Connection]) → Type[sqlite3.Cursor][source]
insert(connection: Type[sqlite3.Connection], taxavalues: Iterable[Tuple[int, str, int]]) → None[source]

Virtual function to insert rows

insert_taxids(connection: Type[sqlite3.Connection], taxids: Iterable[int]) → None[source]

Names table: ncbitaxonomist.db.table.names

class ncbitaxonomist.db.table.names.NameTable(database: str)[source]

Implements the name table in a taxonomist database.

create(connection: Type[sqlite3.Connection]) → ncbitaxonomist.db.table.names.NameTable[source]

Virtual function to create table

create_index(connection: Type[sqlite3.Connection])[source]

Virtual function to create table index

get_rows(connection: Type[sqlite3.Connection]) → Type[sqlite3.Cursor][source]
insert(connection: Type[sqlite3.Connection], values: Tuple[int, str, str])[source]

Virtual function to insert rows

name_to_taxid(connection: Type[sqlite3.Connection], name) → Type[sqlite3.Cursor][source]

Accession table: ncbitaxonomist.db.table.accessions

class ncbitaxonomist.db.table.accessions.AccessionTable(database)[source]
create(connection: Type[sqlite3.Connection]) → ncbitaxonomist.db.table.accessions.AccessionTable[source]

Virtual function to create table

create_index(connection: Type[sqlite3.Connection]) → None[source]

Virtual function to create table index

get_rows(connection: Type[sqlite3.Connection]) → Type[sqlite3.Cursor][source]
insert(connection: Type[sqlite3.Connection], values: Iterable[Tuple[str, str, str, int, int]]) → None[source]

Virtual function to insert rows

Accession table: ncbitaxonomist.db.table.groups

class ncbitaxonomist.db.table.groups.GroupTable(database: str)[source]
create(connection: Type[sqlite3.Connection]) → ncbitaxonomist.db.table.groups.GroupTable[source]

Virtual function to create table

create_index(connection: Type[sqlite3.Connection]) → None[source]

Virtual function to create table index

delete_from_group(connection: Type[sqlite3.Connection], values: Iterable[Tuple[str, int]]) → None[source]
delete_group(connection: Type[sqlite3.Connection], groupname: str) → None[source]
insert(connection: Type[sqlite3.Connection], values: Iterable[Tuple[int, str]]) → None[source]

Virtual function to insert rows

retrieve_group(connection: Type[sqlite3.Connection], groupname: str)[source]
retrieve_names(connection: Type[sqlite3.Connection]) → Type[sqlite3.Cursor][source]

Mappers

Mappers handle the mapping of taxids, names, and accessions to each other. Analyzers are inherited and adjusted from entrezpy.

Parser

Parsers used in ncbi-taxonomist

Argument parser: ncbitaxonomist.parser.arguments

ncbitaxonomist.parser.arguments.parse(basename)[source]
ncbitaxonomist.parser.arguments.version(basename)[source]

Group data parser: ncbitaxonomist.parser.group

class ncbitaxonomist.parser.group.GroupParser[source]
parse(groupname: str)[source]

Parse stdin for taxonid to add into group groupname

parse_taxa_list(taxa_list, taxids, groupname)[source]
parse_taxon(taxid, taxids, groupname)[source]

Payloads

Payloads implement the requested taxids, names, and accessions. They keep track what has been successfully analyzed.

Resolver

The resolver module implements the resolving of lineages for names, taxids, and accessions.

Lineage resolver

The lineage resolver resolves whole lineages or the lienage taxa between given ranks.

Subtrees

Subtrees are selected taxa form lineages.

Subtree

Implemenets a subtree

Subtree analyzer

The subtree analyzer manages subtrees