Release History
3.2.1
- Fixes the absence of merged nodes in pruned taxonomies
3.2.0
- Added option to filter the taxdump to skip Synthetic and Chimeric divsion, Envrionmental division and Unassigned division.
3.1.1
Bugfix
Taxonomy.consensusnow correctly handles list of taxids as int
3.1.0
Improvements
Taxonomy.consensusandTaxonomy.lcacan now ignore missing taxa instead of raising an error
3.0.0
Deprecation
Taxonomy.from_json,load,Taxonomy.from_taxdumpandload_ncbiare deprecated. See v2.4.0 notes for replacements
New features
- It is now possible to create Newick tree with
Taxonomy.toNewick(Experimental)
2.5.2
Improvements
- Update docstrings
- Rework documentation
- Taxonomy.getXXX methods now behave like dict.get: allow default return value if key is not found, never raises an error
2.5.1
Improvements
- taxidTools.InvalidNodeError now ihnerits from KeyError as well, this might be more intuitive for some users
2.5.0
New features
- It is now possible to provide merged nodes, either form the taxdump file
merged.dmpor directly via instances of the classMergedNode - Attempting to retrieve a MergedNode from a Taxonomy instance will return the node it was merged with.
Bug Fix
- Instanciating a Lineagefrom a DummyNode doesn't raise an Error anymore
2.4.0
New features
- Added a
Taxonomy.copy()method as a shorthand forcopy.deepcopy(Taxonomy) - Added an
inplaceargument toTaxonomymethodsfilterRanks()andprune(), allowing chose whether to return a modified deepcopy of the instance od modifiy it in place
Improvements
- Unit tests now use temporary directories to test IO methods
- The
Taxonomy.filter()method will now return aValueErrorwhen attempting to userootrank in the filtering instead of creating new root Nodes
Pending deprecation
Taxonomy.from_jsonwill be removed in 3.0.0, it is replaced byread_json, a module level constructor.loadwill be removed in 3.0.0, it is replaced byread_json, a module level constructor.Taxonomy.from_taxdumpwill be removed in 3.0.0, it is replaced byread_taxdump, a module level constructor.load_ncbiwill be removed in 3.0.0, it is replaced byread_ncbi, a better-named module level constructor.
Bug Fix
Taxonomy.listDescendantnow does filter output based on the ranks parameter- Repaired
Node.node_infooutput to actually use newlines instead of printing '\n'
2.3.1 (2024-06-04)
Distribution
- It is now possible to install taxidTools from DockerHub:
conda-forgerelease should now auomatically find the last release from Github/Pypi
2.3.0 (2024-05-13)
New features
- Attempting to access an invalid Node with the Taxonomy getitem method (
Taxonomy["node_id"]) now returns a specifcInvalidNodeError - Added the
load_ncbifunction as a shorthand for the constructorTaxonomy.from_taxdump.
2.2.3 (2021-10-08)
Bug Fix
- Fixed an error in the listDescendant method that affected the prune and filterRanks methods.
Performance
- Node.children attribute is now a set, considerably speeding up file loading.
2.2.2 (2021-09-21)
Bug Fix
- Fixed some bugged references to Node class
2.2.0(2021-09-21)
Bug Fix
- Fixed broken implementation of
Taxonomy.filterRanks
Implementation changes
NodeandDummy Nodeclasses now ihnerit from the new _BaseNode classe. No impact on methods and properties.
2.1.2 (2021-08-18)
Bug Fix
- Fix a bug resulting in the deletion of the children attribute of Nodes after writing to a JSON file (#2)
- Fix an issue with the creation of DummyNdoes from JSON files (#3)
2.1.1 (2021-07-15)
Bug fix
- Fixed unlinking of removed branches in
Taxonomy.prune
Other
- Linting code, still ignoring W293 and W291 =)
2.1.0 (2021-07-14)
Bug fix
Taxonomy.filterRanksnow correctly handles rerooted trees- Fixed and bug to
Taxonomy.consensuswhere search would only be in range of the shortest lineage
Changes
- Implementation of
Taxonomy.rerootwas changed to conserve the ancestry of the input taxid. Taxonomy.rerootwas renamed toTaxonomy.prune
Additions
- Added taxid search by name
Taxonomy.getTaxid
2.0.0 (2021-07-13)
- Released version 2. Implementation reworked from scraps.
- NOT backwards compatible