BDF-HELP

334 views
Skip to first unread message

Sithions Brand (Xu Jun)

unread,
Jan 9, 2024, 12:09:43 PM1/9/24
to beast-users
Hi everyone,

When I using SNAPP to evaluate the BDF factor model, I encountered an error, and the error messages were different for different thread numbers. I followed the tutorial "Bayes Factor Delimitation of Species (*with genomic data; BFD*): A Tutorial and Worked Example." The attachments include my input files and error messages. The command I used was `beast -threads 4 runA.xml`.Thank you very much!

Best wishes,
Xu Jun
a6beadb88c9c9c2b04ddad55b3ce2fa.png61a59f0c16b9f8672f0467aeef3bce0.png

higg...@gmail.com

unread,
Jan 9, 2024, 2:32:28 PM1/9/24
to beast-users
Hi Xu Jun,

The missing file error message suggests something went wrong running a step in one of the threads, in your case step3. Have a look whether the file is there, and if not, run BEAST on the beast.xml file in the folder. It should produce an error message that can tell you what went wrong with that step.

Cheers,

Remco

PS You might be interested in the speedemon (https://github.com/rbouckaert/speedemon) package for species delimitation, which can be a bit more efficient than running path sampling on specific hypotheses. There is a tutorial here for use with SNP data: https://github.com/rbouckaert/speedemon/tree/master/tutorial, but it works we well with sequence data for individual loci in combination with startbeast3.

Sithions Brand (Xu Jun)

unread,
Jan 10, 2024, 1:27:36 PM1/10/24
to beast-users
Dear everyone,

I have identified another issue. After running `beast beast.xml` within each step folder, generating `xml.state` and `log` files, I observed that upon rerunning `runA.xml`, the `log` files inside each step folder were deleted.

Best wishes,
Xu Jun

70a1aeeb90f1eedf48461572217fa36.png



Sithions Brand (Xu Jun)

unread,
Jan 10, 2024, 1:27:36 PM1/10/24
to beast-users
Dear everyone,

I ran the `beast.xml` file within the `step3` directory, and it seems to have executed successfully. I'm unsure if this is the correct approach, and if it is, does it mean I need to manually run it in each step's folder? 

Additionally, when running with 1 thread, it reports the absence of `xml.state` files in step0, and with 2 threads, it reports the absence in step1, and so forth. 

Importantly, we have already performed species delimitation with SNAPP. Now, the question is whether we should proceed with the BDF analysis or opt for the speedmon analysis. What do you think is more reasonable? 

Thank you for your assistance.

Best wishes,
Xu Jun
89e7fc124cb3f578539b699dee3a1cf.png


在2024年1月10日星期三 UTC+8 03:32:28<higg...@gmail.com> 写道:

higg...@gmail.com

unread,
Jan 10, 2024, 1:35:21 PM1/10/24
to beast-users
Hi Xu Jun,

From the screen shot, it looks like you are running BEAST v2.7.5, but the XML fragment for setting up the path sampling analysis uses BEAST v2.6. The correct fragment for v2.7.X looks something like this:

<run spec='modelselection.inference.PathSampler' 
          nrOfSteps="12" 
          chainLength="100000" 
          alpha='0.3' 
          rootdir='/tmp/step' 
          burnInPercentage='10' 
          preBurnin="50000" 
         deleteOldLogs='true'>
cd $(dir)
$(java) -cp $(java.class.path) beast.pkgmgmt.launcher.BeastLauncher $(resume/overwrite) -seed $(seed) beast.xml

The deleteOldLogs flag indicates whether old log files should be deleted before running the path sampling analysis, which may explain what you saw before.
With this set-up you should not need to run individual steps, though this can be handy when running all of them in parallel on a cluster.

With speedemon, only a single MCMC run is required.

Hope this helps,

Remco

Sithions Brand

unread,
Jan 11, 2024, 1:15:00 PM1/11/24
to beast-users
Dear Remco,

Thank you very much for your response. I have already addressed the issue with inserting elements, but it seems that another problem has emerged. I encountered an error when running `beast runA.XML`, despite successfully running `beast beast.xml` in each step's folder and generating log files. Running `runA.xml` again resulted in the same error. I am unsure how to resolve this. 

Additionally, regarding the epsilon for "speedemon," we are still uncertain. We are studying three branches of lizards, labeled as A,B,C. A and B constitute one population, while C represents another population. The divergence time for A is approximately 22 million years ago, and for B and C, it is around 20 million years ago. Do you have any suggestions on this matter?

Best wishes,
Xu Jun

a1debc8d107f994462c13cba0e47830.png6477ab9cc433d727705199e572d0dd7.png

Remco Bouckaert

unread,
Jan 11, 2024, 1:46:57 PM1/11/24
to beast...@googlegroups.com
Hi Xu Jun,

On 11/01/2024, at 6:24 PM, Sithions Brand <lzx20...@gmail.com> wrote:
Thank you very much for your response. I have already addressed the issue with inserting elements, but it seems that another problem has emerged. I encountered an error when running `beast runA.XML`, despite successfully running `beast beast.xml` in each step's folder and generating log files. Running `runA.xml` again resulted in the same error. I am unsure how to resolve this. 

When you run the beast.xml files, log and tree files are created. Judging from the screen shots, it looks like runA.xml does not have the deleteOldLogs files set to true, so halts when it sees the log and tree files you created before.

Additionally, regarding the epsilon for "speedemon," we are still uncertain. We are studying three branches of lizards, labeled as A,B,C. A and B constitute one population, while C represents another population. The divergence time for A is approximately 22 million years ago, and for B and C, it is around 20 million years ago. Do you have any suggestions on this matter?

There is some guidance in the speedemon paper in the section "User guide for selecting threshold epsilon” (doi:10.1038/s42003-022-03723-z).

Cheers, 

Remco


Sithions Brand

unread,
Jan 23, 2024, 9:58:41 PM1/23/24
to beast-users
Hi,everyone

I'm grateful that my issue has been resolved, and I appreciate your assistance. In reality, setting the thread count to 12 was sufficient to run the program smoothly. 

Additionally, when using speedemon and experimenting with threshold values such as 1.0e-4, 1.0e-5, and 1.0e-6, the obtained results were identical. I had categorized my three populations into three major groups beforehand, as I also tried running the program without classification, but the results were quite chaotic.Would you have any suggestions.

Cheers, 

Xu Jun

Erika

unread,
Feb 19, 2026, 9:52:13 PM (4 days ago) Feb 19
to beast-users
I am using Beast v2.7.7 and am trying to run BFD but cannot figure out where the </run> needs to go after adding:

    <run spec='modelselection.inference.PathSampler'

              nrOfSteps="12"

              chainLength="100000"

              alpha='0.3'

              rootdir='/tmp/step'

              burnInPercentage='10'

              preBurnin="50000"

             deleteOldLogs='true'>

    cd $(dir)

    $(java) -cp $(java.class.path) beast.pkgmgmt.launcher.BeastLauncher $(resume/overwrite) -seed $(seed) beast.xml

to the xml file. Could you screenshot where this needs to go please?
Reply all
Reply to author
Forward
0 new messages