Multiple substitution stages lead to incorrect final subs
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Supertree Toolkit |
In Progress
|
Critical
|
Jon Hill |
Bug Description
Consider a tree:
(A,(B,C,(D,E)))
A is subbed with a polytomy of F, G, H so we get:
((F,G,H)
Now, F is subbed with a polytomy of I, J, K, so we have:
(((I,J,
If we did the subs in one go we would have:
((I,J,K,
As the general plan is to replace higher taxa with their genus level constituents and then use the automatic genera replacement function, we will always have two levels of substitutions which will then lead to the above issue being presented.
Possible solutions are:
1 hack things with an option that passes in previous subs files to take into account history somehow (e.g. user passes them in)
2 store the full subs history in the Phyml so we can do the above automagically
3 carry out substitutions on a subs file (i.e. the RHS, which has no structure) and hence only do a single substitution in the data itself.
Discussions led to option 3 being preferred. Note this will require:
- alterations to the sub function to be split into data subs and subs sub
- amendments to manual
- new option to carry out substitution on a subs file
Related branches
- Jon Hill: Approve
-
Diff: 13342 lines (+11326/-781)44 files modifieddebian/control (+1/-1)
debian/rules (+1/-0)
notes.txt (+38/-0)
stk/bzr_version.py (+5/-5)
stk/p4/NexusToken.py (+1/-0)
stk/p4/NexusToken2.py (+1/-1)
stk/p4/Tree.py (+1/-9)
stk/p4/Tree_muck.py (+4/-2)
stk/scripts/check_nomenclature.py (+0/-224)
stk/scripts/check_nomenclature.py.moved (+224/-0)
stk/scripts/create_colours_itol.py (+2/-11)
stk/scripts/create_taxonomy.py (+4/-100)
stk/scripts/fill_in_with_taxonomy.py (+711/-174)
stk/scripts/plot_character_taxa_matrix.py (+83/-1)
stk/scripts/plot_tree_taxa_matrix.py (+56/-0)
stk/scripts/remove_poorly_constrained_taxa.py (+43/-20)
stk/scripts/tree_from_taxonomy.py (+142/-0)
stk/stk (+787/-34)
stk/stk_exceptions.py (+8/-0)
stk/supertree_toolkit.py (+849/-47)
stk/test/_substitute_taxa.py (+19/-1)
stk/test/_supertree_toolkit.py (+138/-15)
stk/test/_trees.py (+13/-1)
stk/test/data/input/auto_sub.phyml (+97/-0)
stk/test/data/input/check_data_ind.phyml (+141/-0)
stk/test/data/input/check_taxonomy.phyml (+67/-0)
stk/test/data/input/check_taxonomy_fixes.phyml (+378/-0)
stk/test/data/input/create_taxonomy.csv (+6/-6)
stk/test/data/input/create_taxonomy.phyml (+67/-0)
stk/test/data/input/equivalents.csv (+5/-0)
stk/test/data/input/mrca.tre (+1/-0)
stk/test/data/input/old_stk_test_data_ind.phyml (+1324/-0)
stk/test/data/input/old_stk_test_data_tax_overlap.phyml (+627/-0)
stk/test/data/input/old_stk_test_nonmonophyl_removed.phyml (+1324/-0)
stk/test/data/input/old_stk_test_species_level.phyml (+1324/-0)
stk/test/data/input/old_stk_test_taxonomy.csv (+334/-0)
stk/test/data/input/old_stk_test_taxonomy_check_subs.dat (+26/-0)
stk/test/data/input/old_stk_test_taxonomy_checked.phyml (+1324/-0)
stk/test/data/input/old_stk_test_taxonomy_checker.csv (+336/-0)
stk/test/data/output/one_click_subs_output.phyml (+97/-0)
stk/test/util.py (+7/-0)
stk_gui/gui/gui.glade (+670/-124)
stk_gui/plugins/phyml/name_author.py (+4/-1)
stk_gui/stk_gui/interface.py (+36/-4)
Changed in supertree-toolkit: | |
importance: | Undecided → Critical |
status: | New → In Progress |
assignee: | nobody → Jon Hill (jon-hill) |
milestone: | none → releasev2 |
Changed in supertree-toolkit: | |
milestone: | releasev2 → 2.16 |