Pas-Kapli / mptp

mPTP - a tool for single-locus species delimitation
GNU Affero General Public License v3.0
24 stars 5 forks source link

Support multifurcating trees #67

Open lutteropp opened 8 years ago

lutteropp commented 8 years ago

The consensus trees generated by MrBayes often contain multifurcations. If the user passes a multifurcating tree as an input, mPTP prints "Tree is neither unrooted nor rooted. Go fix your tree." on the screen. This ist not very helpful and will give raise to annoying user questions.

We should either support multifurcating trees since the mPTP model can be applied to them and also the original PTP program can deal with them (preferred solution) or at least print a more helpful error message like "Tree contains multifurcations. mPTP requires strictly bifurcating tree."

stamatak commented 8 years ago

I guess we should allow multi-furcating trees ... good point,

alexis

On 10.04.2016 13:01, Sarah Lutteropp wrote:

The consensus trees generated by MrBayes often contain multifurcations. If the user passes a multifurcating tree as an input, mPTP prints "Tree is neither unrooted nor rooted. Go fix your tree." on the screen. This ist not very helpful and will give raise to annoying user questions.

We should either support multifurcating trees since the mPTP model can be applied on it and also the original PTP program can deal with them (preffered solution) or at least print a more helpful error message like "Tree contains multifurcations. mPTP requires strictly bifurcating tree."

— You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub https://github.com/Pas-Kapli/mptp/issues/67

Alexandros (Alexis) Stamatakis

Research Group Leader, Heidelberg Institute for Theoretical Studies Full Professor, Dept. of Informatics, Karlsruhe Institute of Technology Adjunct Professor, Dept. of Ecology and Evolutionary Biology, University of Arizona at Tucson

www.exelixis-lab.org

Pas-Kapli commented 8 years ago

This is a bit trickier than it seems. I think it isn't conceptually correct to allow consensus multifurcating trees as input trees since they don't represent simultaneous speciation events but topologies that are not supported by at least the probability of a given threshold (50%, 95% majority rule). If such a tree is given as input in (m)PTP, it will be missing some branch lengths that are omitted based on topological uncertainty rather than real polytomy hypothesis. As for MrBays the user can summarize the posterior trees under the “Allcompat” option that results in an entirely binary consensus tree, suitable for (m)PTP.

In theory, it is possible to have multifurcations (simultaneous speciation events) but in practice as far as I know all phylogenetic inference methods account only for binary relationships, therefore multifurcations may only be the result of consensus methods. In this framework, not allowing multifurcating trees should be ok. But a potentially clean solution would be that mptp warns the user that the input tree is multifurcating, and allows him/her to convert it to binary (with extra zero-length branches) and run mptp by explicitly providing an extra switch (e.g., --force). In such case, we should also print information on how a user should handle consensus trees (example commands for MrBays/ExaBays) for correct (m)PTP results.