Recent Releases of BTE

BTE - Haplotype Bugfix

Contains a bugfix leading to incorrect haplotype prediction due to a mishandled copy.

Scientific Software - Peer-reviewed - Cython
Published by jmcbroome 9 months ago

BTE - Re-Release to Trigger Archival

After integration with Zenodo's automated archival service, a new release is required to trigger the initial synchronization.

Scientific Software - Peer-reviewed - Cython
Published by jmcbroome almost 3 years ago

BTE - New Features and Function Renaming

This release includes a few minor changes:

  1. The function writenewick now writes to a file. The original functionality is available as getnewick.
  2. Added a new function to set the branch length of an already defined node to an arbitrary value.
  3. Added a new function to get the last common ancestor (LCA) of 2+ node IDs.

Scientific Software - Peer-reviewed - Cython
Published by jmcbroome almost 3 years ago

BTE - Improved Annotations and Mutation Information

This release includes improved functionality around annotations and mutation information.

  1. Annotations can now be get/set in a nodeid:[ann1,ann2] format compatible with internal data structures with dumpnodeannotations() and applynodeannotations(). A dictionary in ann:nodeid format can be created with getannotations(). This addresses https://github.com/jmcbroome/BTE/issues/15. Deprecated functions dumpannotations() and apply_annotations() are replaced.
  2. The user can now get a dictionary with mutational attribute information for each mutation of a node with getmutationinformation(). This includes otherwise inaccessible data, such as chromosome and the reference nucleotide of the position.

Additionally, this release fixes bugs, updates the documentation site, and expands the testing suite.

Scientific Software - Peer-reviewed - Cython
Published by jmcbroome about 3 years ago

BTE - Versioning and bugfixes

Minor tweaks to behavior, handling rare bugs, and change to boost-cpp version in an attempt to make BTE coinstallable with UShER.

Scientific Software - Peer-reviewed - Cython
Published by jmcbroome about 3 years ago

BTE - Bugfixes

This patch addresses the following issues:

  1. Fix JSON writing so that subtrees are correctly extracted instead of writing a global JSON regardless of sample input.
  2. Fix the AAChange class so that the repr does not attempt to access a deprecated attribute (preventing AAChange objects from being printed).
  3. Update the error message for null nodes (which can occur either through a failure to find or through attempting to access a null node like the parent of the root)
  4. Add extra checks for missing files when calling .translate() to prevent segfaulting.

Scientific Software - Peer-reviewed - Cython
Published by jmcbroome over 3 years ago

BTE - Peripheral Features

This update includes the following: 1. New functions for computing relative entropy across the tree for sample-level categorical values, as if it was a decision tree trying to predict those categorical labels. 2. Direct support for arbitrary branch length values, allowing BTE to work with mutation-annotated likelihood or timetrees with specific branch length values. 3. Removal of timer on calling functions that may be called many times in an analysis, such as depthfirstexpansion. 4. Updates to handling of annotation labels. 5. Various bugfixes and improved exception handling.

Full Changelog: https://github.com/jmcbroome/BTE/compare/v0.8.1...v0.8.2

Scientific Software - Peer-reviewed - Cython
Published by jmcbroome over 3 years ago

BTE - Documentation and QOL

This release is mostly focused on updates to documentation, including the following:

  • Docstrings for functions which return lists of bytes (UTF-8 encoded strings) are corrected
  • There is a new check preventing the user from attempting to access the parent of the root node, which could easily lead to segmentation faults
  • Most error messaging has been redirected from stdout to stderr, allowing the user to more easily control logging behavior by redirection
  • The function "mutationset" has been renamed to "gethaplotype", which more clearly describes its function, along with a general rewriting of its docstring. The old name is still usable, with a deprecation warning, and will be removed in the next major release.

Additionally, there is one new function, dumpannotations(), which returns a dictionary mapping all currently annotated lineages and the nodes they are associated with; this is the inverse operation of the existing applyannotations() function.

Scientific Software - Peer-reviewed - Cython
Published by jmcbroome almost 4 years ago

BTE - Amino Acid Translation

This release includes a function to compute amino acid translations across each node of the tree based on an external reference genome (.fasta) and genome annotation (.gtf).

Scientific Software - Peer-reviewed - Cython
Published by jmcbroome almost 4 years ago

BTE - Docstrings and Tree Manipulation Functions

This release includes significant changes to documentation, from type hinting to docstrings to a full documentation site, and several new functions allowing tree manipulation and construction by generating new Node objects, mutations, and annotations and moving them around the tree.

Scientific Software - Peer-reviewed - Cython
Published by jmcbroome almost 4 years ago

BTE - New File Format Support

This release includes code to completely unlock working with VCF files, including writing as well as reading, and both reading and writing of Auspice JSON format files to ease visualization and improve compatibility. Also included are some additional convenience function, such as clade listing. It also renames some functions for clarity.

Scientific Software - Peer-reviewed - Cython
Published by jmcbroome almost 4 years ago

BTE - v0.5.1-alpha

Bugfixes (making breadth-first functional) and other tweaks.

Scientific Software - Peer-reviewed - Cython
Published by jmcbroome almost 4 years ago

BTE - Releasing the GIL and sample selection functions

This update substantially speeds loading and subtree generation by unlocking Pythons GIL during these processes, allowing TBB multithreading to work. It also exposes some functions for retrieving simple lists of sample names to Python.

Scientific Software - Peer-reviewed - Cython
Published by jmcbroome almost 4 years ago

BTE - Newick-only and sundry

Newick-only mode, several new functions for subtree selection, and improved annotation handling.

Scientific Software - Peer-reviewed - Cython
Published by jmcbroome almost 4 years ago

BTE - ongoing work getting conda build environment set up

Adding setuptools back to the build yaml

Scientific Software - Peer-reviewed - Cython
Published by jmcbroome almost 4 years ago

BTE - Build environment adjustments

Attempting to remove build-specific tools and libraries from runtime environment; ongoing work to build consistent version between linux and mac for conda.

Scientific Software - Peer-reviewed - Cython
Published by jmcbroome almost 4 years ago

BTE - Move to python 3.10 and support conda linux64 binaries

Scientific Software - Peer-reviewed - Cython
Published by jmcbroome almost 4 years ago

BTE - Change import name and prepare files for Conda

This release includes a significant reorganization of the repository to support release of the package through Anaconda, as well as changing the import name from "mat" to "bte".

Scientific Software - Peer-reviewed - Cython
Published by jmcbroome almost 4 years ago

BTE - Pre-alpha initial release

First release containing

  1. Core functionality (loading, saving, subsetting, traversal)
  2. Limited additional functionality (nucleotide diversity, other statistics)
  3. Basic tutorial documentation
  4. Continuous integration of unit testing of core functionality

Scientific Software - Peer-reviewed - Cython
Published by jmcbroome almost 4 years ago