ASTRAL icon indicating copy to clipboard operation
ASTRAL copied to clipboard

Terminal branch lengths for downstream applications (comparative methods)

Open twooldridge opened this issue 3 years ago • 1 comments

Hello,

Thank you for your very well documented and fast software! I realize that I'm covering some old ground with a question regarding terminal branch lengths, but I was wondering if you have any recommendations for a specific case.

I currently have a species tree, in which some of the terminal branches have no length because they are represented by a single individual. I understand why this is the case after reading https://github.com/smirarab/ASTRAL/blob/master/astral-tutorial.md#branch-length-and-support. Unfortunately, I would now like to look at coevolution of traits across this clade, while controlling for phylogeny, by using some form of phylogenetic independent contrasts. However, such an approach requires knowing the branch lengths between pairs of taxa. I can't imagine I'm the first to want to use an ASTRAL-generated tree for such a purpose, so I was wondering if you have any suggestions for dealing with the lack of terminal branch length information? Perhaps a method specifically tailored to an ASTRAL-like MSC tree, or some ad hoc solution to inserting branch lengths? Thanks in advance for your help, and please let me know if I can provide any more information.

Best, Brock

twooldridge avatar Mar 25 '21 21:03 twooldridge

Hi Brock,

Two ad-hoc solutions can be imagined.

1- Compute mutation rate branch lengths by concatenating all genes, and using RAxML to compute branch lengths given the fixed ASTRAL tree. This is used often.

2- If you would like CU lengths, I can only think of the following ad-hod method. a. For each species with multiple individuals, compute the average across all gene trees of the average length between tips of individuals of that species and the MRCA of those tips plus the branch length above that MRCA. Call this x. Call the ASTRAL outputted CU terminal branch of that species y. b. Perform a regression between y and x values (perhaps a line, perhaps something a bit more complex). c. Use your regression model to predict the CU branch length of single-individual species (replacing x with the mean terminal branch length in gene trees). d. Optional: use some calibration-free dating method (such as LogDate https://academic.oup.com/mbe/advance-article/doi/10.1093/molbev/msaa222/5901546, RTT, or LSD) to make the tree ultrametric. If you do have calibration points, throw them in as well (why not).

Neither solution is perfect, but they may give you something that is good enough.

On Thu, Mar 25, 2021 at 2:59 PM Brock W. @.***> wrote:

Hello,

Thank you for your very well documented and fast software! I realize that I'm covering some old ground with a question regarding terminal branch lengths, but I was wondering if you have any recommendations for a specific case.

I currently have a species tree, in which some of the terminal branches have no length because they are represented by a single individual. I understand why this is the case after reading https://github.com/smirarab/ASTRAL/blob/master/astral-tutorial.md#branch-length-and-support. Unfortunately, I would now like to look at coevolution of traits across this clade, while controlling for phylogeny, by using some form of phylogenetic independent contrasts. However, such an approach requires knowing the branch lengths between pairs of taxa. I can't imagine I'm the first to want to use an ASTRAL-generated tree for such a purpose, so I was wondering if you have any suggestions for dealing with the lack of terminal branch length information? Perhaps a method specifically tailored to an ASTRAL-like MSC tree, or some ad hoc solution to inserting branch lengths? Thanks in advance for your help, and please let me know if I can provide any more information.

Best, Brock

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/smirarab/ASTRAL/issues/72, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAGJXOBIFTTA3GTQFH6WWF3TFOW5RANCNFSM4Z2GPTGQ .

-- Siavash Mirarab

smirarab avatar Mar 26 '21 22:03 smirarab