FOI-Bioinformatics / flextaxd

FlexTaxD (Flexible Taxonomy Databases) - Create, add, merge different taxonomy sources (QIIME, GTDB, NCBI and more) and create metagenomic databases (kraken2, ganon and more )
GNU General Public License v3.0
64 stars 7 forks source link

Bug on replace #31

Closed davve2 closed 3 years ago

davve2 commented 3 years ago

A bug when replacing a node in an annotated database.

Causes problems if a node with a different path between the new and old database is annotated in the "source" database before merge.

DatabaseConnection [INFO ]  Validate parents
Traceback (most recent call last):
  File "miniconda3/envs/flextaxd/bin/flextaxd", line 33, in <module>
    sys.exit(load_entry_point('flextaxd==0.3.5', 'console_scripts', 'flextaxd')())
  File "miniconda3/envs/flextaxd/lib/python3.8/site-packages/flextaxd-0.3.5-py3.8.egg/flextaxd/custom_taxonomy_databases.py", line 275, in main
    modify_obj.update_database()
  File "miniconda3/envs/flextaxd/lib/python3.8/site-packages/flextaxd-0.3.5-py3.8.egg/flextaxd/modules/ModifyTree.py", line 451, in update_database
    self.taxonomydb.validate_tree()
  File "miniconda3/envs/flextaxd/lib/python3.8/site-packages/flextaxd-0.3.5-py3.8.egg/flextaxd/modules/database/DatabaseConnection.py", line 221, in validate_tree
    failed_nodes = [self.nodes[x[0]] for x in list(res)]
  File "miniconda3/envs/flextaxd/lib/python3.8/site-packages/flextaxd-0.3.5-py3.8.egg/flextaxd/modules/database/DatabaseConnection.py", line 221, in <listcomp>
    failed_nodes = [self.nodes[x[0]] for x in list(res)]
KeyError: 183924
davve2 commented 3 years ago

Will be fixed in the next release (v 0.3.5)