NBISweden / MrBayes

MrBayes is a program for Bayesian inference and model choice across a wide range of phylogenetic and evolutionary models. For documentation and downloading the program, please see the home page:
http://NBISweden.github.io/MrBayes/
GNU General Public License v3.0
233 stars 80 forks source link

Bug in mrbayes 3.2.6 x64 (prset popsizepr) #114

Closed aloliveira86 closed 5 years ago

aloliveira86 commented 5 years ago

Hello everyone,

I have been trying to set up a multi-species coalescent run in mrbayes for quite a while without any success. Apparently there is a bug in the prset popsizepr prior that block me to set up properly this parameter for the run. Every time I try to define this prior I get the following error message:

**MrBayes > prset popsizepr=lognormal(4.6,2.3)

Expecting '' Instead found ',' in command 'Prset' at position 30**

It seems that mrbayes is not recognising the comma between the two numbers (population size and standard deviation) and keep me giving this error. Interesting part is this is the same command line used as an example in the mrbayes manual for the authors (page 90 in http://mrbayes.sourceforge.net/mb3.2_manual.pdf)

Did anyone face this specific problem? There is almost no documentation whatsoever about this problem online.

Cheers, André

MrBayes -v:

MrBayes v3.2.6 x64

                  (Bayesian Analysis of Phylogeny)

                         (Parallel version)
                     (1 processors available)

          Distributed under the GNU General Public License

           Type "help" or "help <command>" for information
                 on the commands that are available.

               Type "about" for authorship and general
                   information about the program.

Executing file "-v" Could not open file "-v" There was an error on at least one processor Error in command "Execute" Will exit with signal 1 (error) because quitonerror is set to yes If you want control to be returned to the command line on error, use 'mb -i ' (i is for interactive) or use 'set quitonerror=no'

kusalananda commented 5 years ago

Hi,

I tested the example in the manual (page 82 in the version you link to) both with the same version of MrBayes that you use and with the latest MrBayes code without getting the error that you mention.

Are you able to share a more complete set of commands that you run? It would be good to see a self-contained example that provokes the error for you.

aloliveira86 commented 5 years ago

Hello,

Yes of course. This is the part of the nexus block that I wrote to run the coalescent analysis:

BEGIN mrbayes; set autoclose=yes nowarn=yes; log start filename=FcC_supermatrix_partition_log.txt; outgroup org01; charset mar01 = 1-585; charset mar21 = 3758-5118; charset mar07 = 1828-2085; charset mar15 = 3223-3366; charset mar22 = 5119-5328; charset mar16 = 3367-3508; charset mar05 = 1431-1827; charset mar04 = 950-1430; charset mar09 = 2360-2575; charset mar12 = 2757-2936; charset mar17 = 3509-3645; charset mar27 = 5873-6004; charset mar25 = 5725-5872; charset mar20 = 3646-3757; charset mar03 = 797-949; charset mar24 = 5557-5724; charset mar08 = 2086-2359; charset mar13 = 2937-3096; charset mar23 = 5329-5556; charset mar02 = 586-796; charset mar28 = 6005-6125; charset mar11 = 2576-2756; charset mar14 = 3097-3222;

speciespartition species = Acidithiobacillus_thiooxidans: org01, Alkalilimnicola_ehrlichii: org02, Allochromatium_vinosum: org03, Bathymodiolus_sp._SMAR_symbiont: org04, Bathymodiolus_azoricus_symbiont: org05, Beggiatoa_alba: org06, Candidatus_Endoriftia_persephone: org07, Candidatus_Ruthia_magnifica: org08, Candidatus_Thiobios_zoothamnicoli_str._Belize_G43: org09, Candidatus_Thiodiazotropha_endoloripes: org10, Candidatus_Thiodiazotropha_endolucinida: org11, Candidatus_Thioglobus_autotrophica: org12, Candidatus_Thioglobus_singularis: org13, Candidatus_Thiosymbion_oneisti: org14, Candidatus_Vesicomyosocius_okutanii: org15, Crysomallon_squamiferum_symbiont: org16, Ectothiorhodospira_haloalkaliphila: org17, Ectothiorhodospira_sp._PHS-1: org18, Hydrogenovibrio_crunogenus: org19, Hydrogenovibrio_halophilus: org20, Hydrogenovibrio_kuenenii: org21, Hydrogenovibrio_marinus: org22, Lamprocystis_purpurea: org23, Marichromatium_purpuratum: org24, ODIII6: org25, Sedimenticola_thiotaurini: org26, Solemya_velum_symbiont: org27, SUP05: org28, Thioalkalivibrio_nitratireducens: org29, Thioalkalivibrio_thiocyanodenitrificans: org30, Thiobacillus_denitrificans: org31, Thiofilum_flexile: org32, Thioflavicoccus_mobilis: org33, Thiolapillus_brandeum: org34, Thiolinea_disciformis: org35, Thiomicrorhabdus_chilensis: org36, Thiomicrospira_aerophila: org37, Thiomicrospira_cyclica: org38, Thiorhodococcus_drewsii: org39, Thiorhodospira_sibirica: org40, Thiorhodovibrio_sp._970: org41, Thiosocius_teredinicola: org42, Thiothrix_lacustris: org43, Thiothrix_nivea: org44;

 set speciespartition = species;
 unlink topology=(all);
 prset topologypr = speciestree;
 prset brlenspr = clock:speciestree;
 prset aamodel=fixed(lg);
 prset popvarpr=variable;
 prset popsizepr=lognormal(4.6,2.3);
 mcmc ngen=10000000 samplefreq=1000;
 sumt;

END;

As you can see I have 23 partitions (23 molecular loci) with 44 organisms in each one. I was wondering if the problem was concerning some hidden characters in the nexus text. But I wrote the same nexus code in emacs, gedit and nano and I got the same error every time. When I ran the nexus block without the prset parameters the runs commenced perfectly. So, I am pretty sure that the error is on the prior prset popvarpr for some reason.

Thanks for the help kusalananda,

aloliveira86 commented 5 years ago

Hello,

Just an update. I tried to run the same example dataset as provided in the mrbayes manual with the exact command lines (https://github.com/biouno/biology-data/blob/master/mrbayes/finch.nex) and the coalescent analysis ran perfectly without the errors. This led me to conclude that there is something fishy about my nexus, but still does not answer my question on why this specific parameter is giving me errors and not the others.

aloliveira86 commented 5 years ago

Just another piece of information: I am dealing with protein sequences. Maybe that has something to do with the problem.

nylander commented 5 years ago

Dear aloliveira86,

You are right that it would be better if the error message would be precise. In the best of worlds...

Closing this (since it works on other data) and may reopen if we can find time to repeat the issue, with a data set (that kusalananda asked for earlier).