Trouble with divergence time estimation

1,069 views
Skip to first unread message

Jim McGuire

unread,
Nov 3, 2009, 3:47:00 PM11/3/09
to beast-users
I've been attempting to use BEAST* to run calibration-based divergence
dating analyses and I have run into an odd problem in that BEAST
returns tiny divergence dates. The deepest calibration in the analysis
was set to 30 million years (30.0) with a normal distribution and a
standard deviation of 6 million years (6.0). This is a 15-partition
dataset for 87 taxa (each terminal is a species). I have successfully
analyzed an expanded version (290 terminals for the same 87 species)
of this data set using BEAST 1.5.2, but the xml file was one that I
had modified substantially to accommodate multiple partitions before
the recent version of Beauti was released. In building the xml file in
Beauti, I unlinked the substitution models and the clock models and
linked the trees (although I'm not sure whether the partition trees
should be linked or unlinked), set a number of taxon sets, chose a
yule speciation prior, and set the calibrations in the priors window
for three of the taxon sets for which I had available calibrations. I
left the remainder of the priors on default settings for the time
being. I have run two versions of this data set, one without resetting
the tree-height coalescent prior and one where I modified the xml file
to give a tree hight coalescent prior of 30. In either case, I get
divergence date estimates that are miniscule (expressed as E-3, etc.).
I assume I have overlooked something trivial here and I have spent
some time working on it. Hopefully, someone else has seen and resolved
this problem and can straighten me out..

Also, I have three apparent bugs to report. One is that when I am
using Beauti, about half of the time I find that it will no longer let
me generate an XML file when I push the "generate xml file button". I
just have to start over. The second is that when I do successfully
generate an xml file, I have to manually add text to the patterns
block because several of the id="XXXX" entries are not present (the
command string begins (for example) with "from "3" to "1035" every..."
This could be a problem with my partition names because only some of
the lines are missing this info. The third issue I have run into is
one that I have not yet solved. When I made my initial xml file
described above with the trees linked, the xml file worked fine
(following the simple modification to the patterns block. However,
when I generated a second file from the same Beauti run but with the
partition trees unlinked, I get an error when I run BEAST that points
to an unrecognized treeModel. I haven't figured out a work around for
this one..

Cheers,

Jim

Ben

unread,
Nov 4, 2009, 5:28:32 AM11/4/09
to beast-users
Hi Jim,

With regards to the third issue:

> The third issue I have run into is
> one that I have not yet solved. When I made my initial xml file
> described above with the trees linked, the xml file worked fine
> (following the simple modification to the patterns block. However,
> when I generated a second file from the same Beauti run but with the
> partition trees unlinked, I get an error when I run BEAST that points
> to an unrecognized treeModel. I haven't figured out a work around for
> this one..

I found the same problem when unlinking the trees, it seems to stem
from the tmrca calibrations in th xml file which require a treemodel
that is not already specified in the xml (as all the treemodels are
"partiton.treemodel" etc....) i tried inputing a concatenated dataset
(with ? for missing genes) and each gene on its own with the option to
allow diff taxa per partition and it didnt resolve it. The only way i
could get around it is to link the partition trees, hopefully this can
be resolved!

Cheers,

Ben :)

strobi

unread,
May 10, 2013, 12:57:25 PM5/10/13
to beast...@googlegroups.com
Hi Jim,

Have you figured out why you were getting tiny divergence dates? I have the same problem using substitution rates to date within species divergences. I've done that many times before by fixing the the rate of one of the genes in the clocks menu, so I don't know what has changed.
Let me know if you figure it out. I'm using Beast 1.7.5.

Thanks,

Alex

Rebecca Harris

unread,
May 12, 2013, 4:28:04 PM5/12/13
to beast...@googlegroups.com
Hi Jim & Alex,

I also have been getting tiny divergence dates when setting fossil calibrations. The deepest calibration was set to a mean of 100 mya with a normal distribution and a standard deviation of 10.0, yet I'm getting a date of ~0.8 for that node. The curious thing is that I have modified the same exact xml file to include a molecular rate (so, fossil calibration + molecular rate) and this analysis is returning reasonable values (50-60 mya for the oldest node).

Let me know if you have any break throughs on this issue.

Thanks,
Rebecca

Andrew Rambaut

unread,
May 13, 2013, 10:29:11 AM5/13/13
to beast...@googlegroups.com
Dear Rebecca,

Try progressively reducing the standard deviation (say by a factor of 10). If the date still goes very small then there is an error somewhere and the calibration prior is being ignored. 

Andrew

--
You received this message because you are subscribed to the Google Groups "beast-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to beast-users...@googlegroups.com.
To post to this group, send email to beast...@googlegroups.com.
Visit this group at http://groups.google.com/group/beast-users?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.
 
 

AndyW

unread,
Jun 26, 2013, 7:03:08 PM6/26/13
to beast...@googlegroups.com
I'm trying to get back into the hang of using BEAST and I'm having similar problems to what some people on Google groups have mentioned.

I see that Andrew suggests using a smaller stdev when setting the prior. From what I'm observing, it seems like BEAST is ignoring the distributions set up in the priors all together.

Here's what I'm doing: in the latest run I set the age for my node of interest to be 124 in the "Taxa" tab. Then under "Priors" I set the tmrca for that node to have a lognormal prior, with a mean (in real space) of 56, a stdev of 1.0, and an offset of 90.  This put the median for the node squarely at 124.  I then ran the analysis in BEAST and I get a a "SEVERE" error message were the CompoundLikelihood Total=Infinity (I think this is similar to a problem mentioned in another post Luis Javier Chueca on June 19th). I then looked at the tree output. The first tree is fine (my node of interest is at 124). In the subsequent tree, the nodes seem to be collapsing in around my 124 node and the node lengths are getting smaller.  It seems like the node I'm interested in is getting pushed outside of it's prior distribution so BEAST is crapping out.

This I think is perhaps also related to Rebecca's problem because when I use a normal distribution for my priors, BEAST runs fine (=I do not get the same error message as with the lognormal priors) but the trees have significantly reduced node ages. About 1/1000th of what I set my priors to.  Again, when looking at the treefiles, the first tree is fine (=proper node ages), however, the subsequent trees have significantly reduced node ages.  My feeling is that when I have normal distributions for my priors (without offsets and a large stdev), BEAST doesn't have a problem with making the node ages really small.  Here it seems to just be ignoring the prior distributions and doing whatever it pleases.  AND the restrictions are lax enough not to force the program to abort.  However, under the lognormal priors, it's running into a problem of estimating node ages outside the prior distribution and crapping out.

Is this making any sense? Does anyone know of a problem where BEAST ignores the tmrca prior distributions and sort of 'runs away' with the node age estimation, causing it to run outside of the prior distributions for the calibrated nodes?  Any suggestions on how to troubleshoot this further?  Is there some setting I'm not considering or setting up in BEAUti that should tell BEAST to pay attention to the tmrca priors and calibrate the remaining nodes according to said priors?

It's been a couple years since I've used BEAST and there clearly have been several changes to which the older tutorials don't really apply. Are there more recent ones out there?

Thanks,
Andy...

Daniel Portik

unread,
Dec 3, 2013, 7:14:55 PM12/3/13
to beast...@googlegroups.com
Hey Andy,
I think your specific problem is you set the offset (90) to a larger value than the mean (56), so it will crash your analysis every time. 

See (https://groups.google.com/forum/#!searchin/beast-users/lognormal$20real$20space/beast-users/zW-nNRuqGAE/irtzW1yKe-UJ) and (https://groups.google.com/forum/#!searchin/beast-users/lognormal$20real$20space/beast-users/XIjwt1DVZl4/8Ox8rTYihBMJ). 
Reply all
Reply to author
Forward
0 new messages