obitaxonomy: manages taxonomic databases¶
The obitaxonomy command can generate an ecoPCR database from a NCBI taxdump 
(see NCBI ftp site) and allows managing the taxonomic data contained in both types of 
database.
Several types of editing are possible:
Adding a taxon to the database
The new taxon is described by three values: its scientific name, its taxonomic rank, and the taxid of its first ancestor. Done by using the-aoption.
Deleting a taxon from the database
Erases a local taxon. Done by using the-Doption and specifying a taxid.
Adding a species to the database
The genus of the species must already exist in the database. The species will be added under its genus. Done by using the-soption and specifying a species scientific name.
Adding a preferred scientific name for a taxon in the database
Adds a preferred name for a taxon in the taxonomy, by specifying the new favorite name and the taxid of the taxon whose preferred name should be changed. Done by using the-foption.
Adding all the taxa from a sequence file in the ``OBITools`` extended :doc:`fasta <../fasta>` format to the database
All the taxon from a file in the
OBIToolsextended fasta format, and eventually their ancestors, are added to the taxonomy database.The header of each sequence record must contain the attribute defined by the
-koption (default key:species_name), whose value is the scientific name of the taxon to be added.A taxonomic path for each sequence record can be specified with the
-poption, as the attribute key that contains the taxonomic path of the taxon to be added.A restricting ancestor can be specified with the
-Aoption, either as a taxid (integer) or a key (string). If it is a taxid, this taxid is the default taxid under which the new taxon is added if none of his ancestors are specified or can be found. If it is a key,obitaxonomylooks for the ancestor taxid in the corresponding attribute, and the new taxon is systematically added under this ancestor. By default, the restricting ancestor is the root of the taxonomic tree for all the new taxa.If neither a path nor an ancestor is specified in the header of the sequence record,
obitaxonomytries to read the taxon name as a species name and to find the genus in the taxonomic database. If the genus is found, the new taxon is added under it. If not, it is added under the restricting ancestor.It is highly recommended checking what was exactly done by reading the output, since
obitaxonomyuses ad hoc parsing and decision rules.Done by using the
-Foption.
Notes:
- When a taxon is added, a new taxid is assigned to it. The minimum for the new taxids 
can be specified by the 
-moption and is equal to 10000000 by default. - For each modification, a line is printed with details on what was done.
 
obitaxonomy specific options¶
- 
-a<TAXON_INFOS>,--add-taxon=<TAXON_INFOS>¶ - Adds a new taxon to the taxonomy. The new taxon is described by three values separated by colons: its scientific name, its taxonomic rank, and the taxid of its first ancestor.
Example:
> obitaxonomy -d my_ecopcr_database \ -a 'Gentiana alpina':'species':49934
Adds a taxon with the scientific name Gentiana alpina and the rank species under the taxon whose taxid is 49934.
 
- 
-m<####>,--min-taxid=<####>¶ - Minimum taxid for the newly added taxid(s).
Example:
> obitaxonomy -d my_ecopcr_database -m 1000000000 \ -a 'Gentiana alpina':'species':49934
Adds a taxon with the scientific name Gentiana alpina and the rank species under the taxon whose taxid is 49934, with a taxid greater than or equal to 1000000000.
 
- 
-D<TAXID>,--delete-local-taxon=<TAXID>¶ - Deletes the local taxon with the taxid <TAXID> from the taxonomic database.
Example:
> obitaxonomy -d my_ecopcr_database -D 10000832
Deletes the local taxon with the taxid 10000832 from the taxonomic database.
 
- 
-s<SPECIES_NAME>,--add-species=<SPECIES_NAME>¶ - Adds a new species to the taxonomy. The new species is described by its scientific name. The genus of the species must already exist in the database. The species will be added under its genus.
Example:
> obitaxonomy -d my_ecopcr_database -s 'Gentiana alpina'Adds the species with the scientific name Gentiana alpina under the genus Gentiana.
 
- 
-f<TAXON_NAME>:<TAXID>,--add-favorite-name=<TAXON_NAME>:<TAXID>¶ - Adds a new favorite scientific name to the taxonomy. The new name is described by two values separated by a colon: the new favorite name and the taxid of the taxon.
Example:
> obitaxonomy -d my_ecopcr_database \ -f 'Gentiana algida':50748
Adds the favorite scientific name Gentiana algida for the taxid 50748 in the taxonomic database.
 
- 
-F<FILE_NAME>,--file-name=<FILE_NAME>¶ - Adds all the taxa from a sequence file in
OBIToolsextended doc:fasta <../fasta> format, and eventually their ancestors to the database (see documentation). Each sequence record must contain the attribute specified by the-koption.Example:
> obitaxonomy -d my_ecopcr_database \ -k my_taxon_name_key -F my_sequences.fastaAdds the taxon of each sequence record from the file
my_sequences.fastain the taxonomic database, based on the scientific name contained in themy_taxon_name_keyattribute. 
- 
-k<KEY_NAME>,--key-name=<KEY_NAME>¶ Works with the
-Foption. Defines the key of the attribute that contains the scientific name of the taxon to be added. See example above.
- 
-A<ANCESTOR>,--restricting_ancestor=<ANCESTOR>¶ - Works with the
-Foption. Can be a taxid (integer) or a key (string). If it is a taxid, this taxid is the default taxid under which the new taxon is added if none of his ancestors are specified or can be found. If it is a key,obitaxonomylooks for the ancestor taxid in the corresponding attribute, and the new taxon is systematically added under this ancestor. By default, the restricting ancestor is the root of the taxonomic tree for all the new taxa.Example:
> obitaxonomy -d my_ecopcr_database -a 33090 \ -k my_taxon_name_key -F my_sequences.fasta
Adds the taxon of each sequence record from the file
my_sequences.fastain the taxonomic database, based on the scientific name contained in themy_taxon_name_keyattribute. If the genus of the new taxon cannot be found, the new taxon is added under the taxon whose taxid is 33090. 
- 
-p<PATH>,--path=<PATH>¶ - Works with the
-Foption. Key of the attribute containing the taxonomic paths of the taxa if they are in the headers of the sequence records. The value contained in this attribute must be of the form ‘Fungi, Agaricomycetes, Thelephorales, Thelephoraceae’ with the highest ancestors first and commas between ancestors.Example:
> obitaxonomy -d my_ecopcr_database -p my_taxonomic_path_key \ -k my_taxon_name_key -F my_sequences.fastaAdds the taxon of each sequence record from the file
my_sequences.fastain the taxonomic database, based on the scientific name contained in themy_taxon_name_keyattribute. Each ancestor contained in themy_taxonomic_path_keyattribute is added if it does not already exist, and the new taxon is added under the latest ancestor of the path.