Multiple substitution stages lead to incorrect final subs

Bug #1333749 reported by Jon Hill on 2014-06-24
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Supertree Toolkit
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),(B,C,(D,E)))

Now, F is subbed with a polytomy of I, J, K, so we have:

(((I,J,K),G,H,(B,C,(D,E)))

If we did the subs in one go we would have:

((I,J,K,G,H),(B,C,(D,E)))

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 (jon-hill) on 2014-06-24
Changed in supertree-toolkit:
importance: Undecided → Critical
status: New → In Progress
assignee: nobody → Jon Hill (jon-hill)
milestone: none → releasev2
Jon Hill (jon-hill) on 2014-12-19
Changed in supertree-toolkit:
milestone: releasev2 → 2.16
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers