Path sampling and stepping-stone sampling: low EES for theta

805 views
Skip to first unread message

Armin Scheben

unread,
Dec 10, 2015, 3:51:52 PM12/10/15
to beast-users
Dear BEAST-Users,

I am running BEAST 1.8.2 and analyzing a dataset of 24 sequences approximately 2500bp in length, in two unlinked partitions. I am looking to compare tree models (yule vs. birth-death) for my run and to this end have used path sampling (PS) and stepping-stone sampling (SS) on two separate runs with each tree model, using the newly available PS/SS option in Beauti. The run was carried out on Cipres. The standard run converges at about 100,000,000 generations, with high EES values throughout. But there seems to be a problem with theta and path likelihood in the PS and SS.

Tracer statistics on the mle.log show that while delta, source, and destination achieve high EES values, theta and path likelihood do not. In fact theta seems stuck at a mean of 1, with an EES value in the low single digits. I have tried to find post of users with a similar problem, and in one case concerning the importance of EES values in this context Guy Baele suggested following the same guidelines on increasing EES as for a standard run
(https://groups.google.com/forum/#!search/path$20sampling/beast-users/Bf6q5URvPZs/fgvT5nDLyPgJ). However, neither increasing the chain length (up to 100-fold from 1,000,000) nor the frequency of sampling, changed the single digit EES values for theta (pathlikelihood increased marginally, but remained well below 200).

Has anyone had a similar experience and found a cause/solution?

Thanks for the help!

Cheers,
Armin




Guy Baele

unread,
Dec 10, 2015, 10:46:06 PM12/10/15
to beast-users
Hi Armin,

You're correct, but I also said that you're not supposed to load MLE output files into Tracer, that's not what Tracer is for.
If you want to look at the ESS values for marginal likelihood estimation output files, you have to look at each power posterior separately, not at all the samples collected from 100 different power posteriors.
Also, theta values are fixed to go from 1.0 to 0.0 in 100 steps, so these are not being estimated, and it's hence meaningless to look at ESS values for theta.

Best regards,
Guy


Op donderdag 10 december 2015 12:51:52 UTC-8 schreef Armin Scheben:

Armin Scheben

unread,
Dec 14, 2015, 7:15:52 AM12/14/15
to beast-users
Hi Guy,

Thank you for your reply. It seems I rushed in somewhat naively. I have consulted with a colleague and taken a closer look at your 2012 paper on "Improving the Accuracy of Demographic and Molecular Clock Model Comparison While Accommodating Phylogenetic Uncertainty" and your online tutorial (https://web.archive.org/web/20120903075314/http://beast.bio.ed.ac.uk/Model_selection) and now have a better idea of what I'm doing.

I have one follow-up question though (and I hope the answer isn't as blindingly obvious as before): since Tracer is not an option, how would I look at the individual power posteriors to gain some insight into the ESS?

Best regards,
Armin

Guy Baele

unread,
Dec 14, 2015, 5:31:47 PM12/14/15
to beast-users
Hi Armin,

Well, you'd have to split the output file into multiple output files, 1 per value of theta.
You can do this using a script or simply manually.

Each individual output file obtained this way can then be loaded into Tracer to check the ESS values for each of the power posteriors.
You'll probably be a bit disappointed at the ESS values as the power posterior gets closer to the prior though.

Best regards,
Guy


Op maandag 14 december 2015 04:15:52 UTC-8 schreef Armin Scheben:

Armin Scheben

unread,
Dec 16, 2015, 9:45:21 AM12/16/15
to beast-users
Hi Guy,

Thanks, I'll do that!

Best regards,
Armin

Aron

unread,
Jan 24, 2016, 5:27:44 PM1/24/16
to beast-users
Dear Armin, what rootdir did you specify when running through CIPRES? I haven't tried it yet, but I'm assuming I cannot specify the directory on my computer for a run on CIPRES.

Best,

Aron

Miller, Mark

unread,
Jan 24, 2016, 9:06:37 PM1/24/16
to <beast-users@googlegroups.com>
Yes that is true. 
One cannot specify the root directory 
Cipres creates a unique directory with a  random name on submission. There is no way for the user to control  or even know the name in advance of submission...

Best,
Mark
--
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 https://groups.google.com/group/beast-users.
For more options, visit https://groups.google.com/d/optout.

Aron

unread,
Jan 25, 2016, 1:35:09 AM1/25/16
to beast-users
Then do I just leave out the rootdir parameter in the xml file? I have mine set up as follows:

<run spec='beast.inference.PathSampler'
chainLength="2000000"
alpha='0.3'
rootdir='/Users/aron/Desktop/pathsampling' <---do I leave this blank?
burnInPercentage='50'
preBurnin="50000"
deleteOldLogs='true'
nrOfSteps='200'>
cd $(dir)
java -cp $(java.class.path) beast.app.beastapp.BeastMain $(resume/overwrite) -java -seed $(seed) beast.xml

Carlos Pavón

unread,
Jul 26, 2017, 1:20:39 AM7/26/17
to beast-users
Hi Aron,

Hope you're well. I also want to run BEAST with path sampling in CIPRES. Did you figure out what to do with the rootdir parameter?

Best,
Carlos

Mark Miller

unread,
Nov 5, 2019, 1:23:13 PM11/5/19
to beast-users
This is an old thread, but in CIPRES one can edit input files in place, and add the directory.
Just specify rootdir="./tmp/step"

Jordan Bone

unread,
May 12, 2020, 2:19:20 PM5/12/20
to beast-users
Hi Mark,

I'm aware I'm resurrecting an old thread but I was also trying to run PS/SS on CIPRES and was struggling with setting the directory. I understand that the directory has to be set up to CIPRES temporary files, but was unsure where to add this in the BEAST xml file. I'm not sure if the way BEAST writes xml files has changed over the years but I was unable to follow the examples above. If you are able to give me some guidance on where this rootdir="./tmp/step" command should sit that would be extremely helpful!

Thanks,
Jordan
Reply all
Reply to author
Forward
0 new messages