[root]/UNIT_TESTER/run/consense/1
Author | Changes | Lines of Code | Lines per Change |
---|---|---|---|
westram | 17 (100.0%) | 813 (100.0%) | 47.8 |
* reintegrates 'tree' into 'trunk':
- consensus trees:
* support for merging partial trees ("worked" before, but results were crap; implements #65)
* generated trees are automatically re-rooted and -ordered
* always list source trees in consensus-tree-comment; show info about partial trees
* fixed progress bar
- made GBT_TREE a base class of other tree classes (implements #31)
- save tree properties in properties (not in DB)
- new functions 'Remove zombies/marked from ALL trees'
- tree load/save: layout fixes
- unit tests
* added tests for basic tree modifications (PARSIMONY)
- performance:
* compute_tree updates tree information in one traversal
* tree generators are now capable to generate any type of tree (w/o needing to copy it once)
- bugfixes:
* NNI (of marked species) was also always performed for colored species
* centered beautify-order is stable now
* improved 'search optimal root'
* adds:
- log:branches/tree@10500:10534,10542:11182,11184:11186,11188:11400
- log:branches/treeTests@11198:11335
140 lines of code changed in 4 files:
* use double for weights ([0..1] instead of [0..10000])
* added tests using weights != 1
- fixed weight/length calculation to make generated consense tree independent from used weight (as long as the same weight is used for all added trees)
* no longer generates zero-bootstrap at root
- strictly speaking it is wrong now (since the edge from virtual root to tree cant exist, ergo it's probability should be zero)
- practically
* that zero probability would be a special case (and is an error at all other edges)
* a probability of 100% is used (which gets skipped when saving the tree)
4 lines of code changed in 2 files:
* define a strict order on partitions. criteria are
- partition-freq / "leaf-edgeness"
- min. edge->tip distance
- branchlen to subtree
- unique partition id
* insert partitions in that order + strictly sort sons at furcations
- generated trees no longer depend on hashkey, hence it no longer depends on names-order
- removed code to sort names before tree-generation
- removed code to sort trees afterwards
* insert leaf-edges as final step (they always fit)
* do not insert root-edge as final-step (often a leaf edge was used)
- instead insert it as first step (using the most-probable non-leaf-edge as root-edge)
* updated test-results
* removed ARB-legend from help
- there never was any smart method which removed "wandering" species from consensus trees, it just was an ancient bug
106 lines of code changed in 2 files:
* branch-order (but not topology) of CONSENSUS_TREE depends on the order of the names passed to ctree_init [sic]
- the order of the names defines which species corresponds to which bit in partitions; these bits go into hash key which influences the order in which subtrees are added
- workaround: for tests, sort names before calling ctree_init => behaves deterministic
* !OccurCount was broken (same species in different input trees were handles as separate species)
* reactivated all tests
- updated expected results
- test-data no longer generates an invalid tree (as intended by [8455])
* arb_consensus_tree logs how many species have been inserted into the output tree
* use copies for save/expected name (behaved different in NDEBUG mode)
96 lines of code changed in 2 files:
* added most simple test (create consensus tree of 1 tree)
- deactivated other tests
- reactivated assertions marking the 2 known bugs (they do not occur in this example)
66 lines of code changed in 1 file:
* added new tool arb_consensus_tree
- merges multiple trees into a consensus tree (like done for ARB-NJ-Bootstrap-Tree)
* use a stable sort on generated trees to make them comparable for unit-tests
- added test merging 4 trees into one consensus tree
66 lines of code changed in 1 file:
* adds test data for consense tree
335 lines of code changed in 5 files: