The fourth major version series of the DendroPy Phylogenetic Computing Library has been released!
Get it now with:
$ sudo pip install -U dendropy
- DendroPy 4 runs under Python 2.7 and Python 3.x
- Re-architectured and re-engineered from the ground up, yet preserving (as much as possible, though certainly not all) the public API of DendroPy 3.x.
- MAJOR, MAJOR, MAJOR performance improvements in data file reading and processing! Newick and Nexus tree file parsing crazily optimized, with performance scaling at O(1) rather than O(N) or O(n^2) (i.e., in practical terms, you will see better performance improvements with bigger trees when comparing DendroPy 4 vs. DendroPy 3). A thousand-tip tree can be parsed in 0.1 seconds with DendroPy 4 vs. 0.2 seconds with DendroPy 3, while a one million-tip tree can be parsed in under two minutes with DendroPy 4, vs. over 4 days with DendroPy 3. These performance improvements will percolate down to all applications based on DendroPy, including, for example, SumTrees.
- Tests, tests, tests, tests, and more tests! The core library has a stupendous amount of new tests added, and with each one the ability to zero in and identify, isolate, and deal with bugs is improved.
- Related to above: dozens of nasty bugs have been dealt with. No, not killed, because we are not that kind of organization. Rather, they have been taken to the big testing farm in the quarantine zone where they can lead healthy lives munching on mock constructs and helping us test the the library to ensure that it works as advertised so that your code works as advertised.
- Documentation, documentation, documentation! The goal is to have every public method, function, or class fully-documented.
- Many, many, many, many new features: e.g., a high-performance TreeArray class, calculation of MCCT topologies, new simulation models, new tree statistics, new tree manipulation routines.
- SumTrees works faster than ever before thanks to the above improvements, and also allows for many new operations such as rerooting the target tree, using an MCCT tree as the target topology, extensive extra information summarized, auto-detection of number of parallel processors etc.: http://dendropy.org/programs/sumtrees.html .
- The newly rewritten DendroPy primer is just full of information to get you started: http://dendropy.org/primer/index.html .
- The “work-in-progress” migration primer will help ease the transition from 3 to 4: http://dendropy.org/migration.html .
- Comprehensive documentation of all the data formats supported, plus all the keyword arguments you can use to control and customize reading and writing in all these different formats: http://dendropy.org/schemas/index.html .
- A glossary of terms, to clarify the simultaneously redundant and oversubscribed/conflicting terminological soup that characterizes a lot of phylogenetics: http://dendropy.org/glossary.html .