Giter Club home page Giter Club logo

nbisweden / mrbayes Goto Github PK

View Code? Open in Web Editor NEW
229.0 48.0 78.0 46.39 MB

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:

Home Page: http://NBISweden.github.io/MrBayes/

License: GNU General Public License v3.0

Makefile 1.78% C 96.60% M4 0.21% Shell 1.41%
phylogenetics bayesian-inference markov-chain-monte-carlo research-tool bioinformatics

mrbayes's Introduction

Hi,

This is the GitHub repository for MrBayes, a program used for Bayesian
inference of phylogeny.


Build instructions, very very short version (would install MrBayes as
"/usr/local/bin/mb" on a Unix system):

    git clone --depth=1 https://github.com/NBISweden/MrBayes.git
    cd MrBayes
    ./configure
    make && sudo make install

    Refer to the document called "INSTALL" for further information.


Current repository directory layout:

    .
    ├── autotools      : Files relating to the build system
    ├── doc
    │   └── manual     : The manual
    ├── examples       : Example input data sets
    └── src            : C source code


The MrBayes web site is available at

    http://mrbayes.net/


Historical releases are tagged with "v3.2.0" (etc.) from release 3.2.0
onwards.

The 'master' branch contains releases.

The 'develop' branch should hopefully, at all times, contain working
development code that at least compiles.  Apart from simple fixes, new
development happens on feature branches off the 'develop' branch, and
are merged back into 'develop' when finished.  This more or less follows
the "git-flow" branching model.

The 'gh-pages' branch contains the web site (only).

The 'testing' branch contains testing data files (only).

After release 3.2.6 (November 2015), MrBayes entered "maintenance mode",
and its care has been passed over to NBIS (National Bioinformatics
Infrastructure Sweden, http://nbis.se/).  The original development
team is still involved with the program, but any future releases will
probably be geared more towards bug-fixes rather than addition of new
features.

With kind regards,
    Andreas (Kusalananda) Kähäri, and
    Johan Nylander
    NBIS

mrbayes's People

Contributors

ayresdl avatar kusalananda avatar larget avatar msuchard avatar nylander avatar pablovaldes avatar ronquist avatar zhangchicool avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

mrbayes's Issues

Core dump using beagle and covarion model (was "3.2.6 cannot use beagle")

Division 1 has 716 unique site patterns
Initializing conditional likelihoods

  Using BEAGLE resource 2 for division 1: (non-threaded)
     Rsrc Name : GeForce GTX 1070 (OpenCL 1.2 CUDA)
     Impl Name : OpenCL-Single
     Flags: PROCESSOR_GPU PRECISION_SINGLE COMPUTATION_SYNCH EIGEN_REAL
            SCALING_MANUAL SCALERS_RAW VECTOR_NONE THREADING_NONE

mb: mbbeagle.c:182: InitBeagleInstance: Assertion `j==1' failed.
Aborted
This is my nexus file.

#NEXUS
1 begin mrbayes;
2 execute data.nex;
3 set usebeagle=yes beagledevice=gpu;
4 set beagleprecision=single beaglescaling=dynamic;
5 outgroup M1_P.cathayana;
6 lset nst=6 nucmodel=4by4 rates = gamma ngammacat=4 covarion=yes;
7 prset ratepr=variable;
8 mcmcp nruns=2 temp=0.2 ngen=5000000 samplefreq=5000 printfreq=1000 save brlens=yes filename=cp52;
9 report tree=brlens;
10 mcmc;
11 end;
If I delete line 3 and 4, i.e., not use beagle, it works. And I could successfully use beagle in BEAST 2.
Could you please tell me how to edit my nexus file to use beagle? It is too slow to only use CPU for my data.

Mrbayes: 3.2.6
Beagle: 2.1.2
System: Linux Workstation 4.9.0-3-amd64 #1 SMP Debian 4.9.25-1 (2017-05-02) x86_64 GNU/Linux

Allow for > 10 states for standard data

sourceforge feature request 9: allow for > 10 states for standard data

It would be great to be able to change standard data coding from 0-9 to something that allows more than 10 character states.

inverted branches

Transferred fom https://sourceforge.net/p/mrbayes/bugs/1652/

Created: 2017-10-22
Creator: Natali Gomes Bordon

Good evening

In the consensus tree the branches are inverted. I do not know what is happening. I have reviewed the analyzes several times and the alignment is correct. Attached to tree with inverted branches.

Thank you so much

1 Attachments
capturar

More pointer issues

For two statements, one in utils.c and one in model.c, I get the warning

warning: ordered comparison between pointer and zero

In utils.c:

utils.c:5378:49: warning: ordered comparison between pointer and zero
      ('int *' and 'int') is an extension [-Wpedantic]
                if (pt->nEvents[i*pt->nNodes+j] > 0)
                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^ ~

Looking at what pt->nEvents[i*pt->nNodes+j] actually is we see that pt is a PolyTree *. PolyTree is in turn defined in bayes.h as a struct and its nEvents member is an int **. The comparison is therefore between an int * and zero. This is a bug, but I'm not sure what was intended in the code, so I can't fix it.

In model.c:

model.c:17896:48: warning: ordered comparison between pointer and zero
      ('int *' and 'int') is an extension [-Wpedantic]
        else if (activeParams[P_MIXTURE_RATES] > 0)
                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^ ~

Here, activeParams is a global variable in model.c of type int *[]. This means that here, too, we have a comparison between an int * and zero. This is a bug.

mpirun does not run the parallel version

Hi All,

I am running mpi version of mrbayes on a cluster, but when I use the standard command, unlike on my own laptop, it gives me some weird output. I don't really know what is going on, but, it seems that instead of running one of every 32 chains (16 chains for each run) on one core, it is running 16 chains (or 32, I'm not sure) on each core.

  • I think this is the case because of the following reasons:
  1. When the mrbayes start-up message comes up it "does not acknowledge a parallel version", like it does on my laptop. The following image is what I get when I run it on cluster:

image)

This is what I get on my laptop:

image

  1. The program runs either once with the taxa list being unusually very very long, with each taxon repeated many times, or it runs many times (and subsequently I get the uploaded image above and the follow-up matrix reading many many times), before it gets to the standard active parameter section. Either case is dependent on how I run the program though (please see below). Also the order of taxa is weird. It looks like the following:

image

and the following:

image

  1. Once it does get to the active parameters similarly everything that I would see once on the screen, I see multiple times, including the log-likelihood for each chain in each run. See the image:

image

  1. Finally, each generation is printed multiple times (probably equivalent to the number of cores), i.e. I get:
    5000 [xxxxx] (xxxx) (xxxx) (xxxxx) (xxxx) (xxxxx).. time
    multiple times.
    The running time for appx. 1000 seqs, each 1000 residues long, on 10mil gens is predicted by mb to be about 13000 hours on most chains, and 30000 on chain!
  • There are few different things in the way the program is installed and executed at home and the cluster, however:
  1. mpirun and everything necessary for running parallel mb, on the cluster, was installed by the systems administrator. On my laptop I obviously installed everything with sudo, so I didn't have to set any paths, which brings me to the second difference.

  2. On laptop, All I do is mpirun -np 8 mb <file> , whereas on the cluster the following is what goes in my script:

set path = ( $path /usr/lib64/openmpi/bin ) setenv LD_LIBRARY_PATH /usr/local/lib /usr/lib64/openmpi/bin/mpirun -np 2 /biol/programs/bin/mb primates.nex

After getting the weird results, I did however change the way I ran mb. So instead of using:
../bin/mb

I used:
../bin/mb_3.2.6_64bit_mpi

But instead of mb running many times, it ran once, but everything was repeated many times.

I would really appreciate any help about this.

Cheers,
Pej.

Memory leaks

There are a few memory leaks in MrBayes:

  • Memory allocated in AllocTaxa() for speciespartitionId[i] is not freed.
  • Memory allocated in AllocateTree() for t, t->nodes, and t->allDownPass is not freed.

This was found with Valgrind running the example in bug #28 reported by @zhangchicool and may be a side-effect of that bug.

Update manual entry

Transferred from https://sourceforge.net/p/mrbayes/bugs/1658/
Created: 2018-04-18
Creator: Alexei Kassian

Hi all. In the current version of the manual, p.5-6, the default value for the 'coding' command is given as 'ALL' (the same in the built-in help). Actually the default value is 'VARIABLE'. Moreover 'ALL' is unavailable under some conditions (such as, e.g., DATATYPE=RESTRICTION).
Thanks for the great prog.

Native AVX and FMA code

I have added native AVX and FMA code for the 4by4 nucleotide models. It would be straightforward to add native AVX and FMA code for the other models. Particularly the AA-model would probably benefit from this code (when not using the beagle library).

Data parallelization

MrBayes currently uses MPI to run different chains in parallel on different processors. However, data sets are becoming a lot larger now with respect to number of sites, so it is becoming important also to distribute likelihood computations on data across processors. This would require some programming but it is not a huge challenge.

Six state limit for ordered morphological characters

Transferred fom https://sourceforge.net/p/mrbayes/bugs/1651/

Created: 2017-06-06
Creator: Steven Heritage

Hello,

Our lab uses MrBayes regularly and we find the flexibility and reliability of the software makes it the premium choice for phylogenetic inference. You’ve done a very nice job over the years and we truly appreciate it! These days, our most common type of analysis involves combined DNA and morphological data from living and fossil taxa. However, we often hit a limitation which (to our knowledge) is not mentioned in the MrBayes documentation. The MrBayes team may not consider it a “bug” but it has caused much frustration in our group and I’m sure other users have experienced it too.

In version 3.2.6, morphological data can be coded in ten states (0-9). However, if a morphological character is set as ordered, the limit is six states (0-5). Our data sets have hundreds of ordered morphological characters, many of which are scored with more than six states.

In order to proceed with analysis, we have to recode characters. For instance, if an ordered character is scored with eight discrete states (0-7), we must recode that character using four states where: 0=(old 0&1), 1=(old 2&3), 2=(old 4&5), 3=(old 6&7). This is not ideal and almost certainly loses phylogenetic information. In some cases rare fossils are already represented by limited data and it’s a shame to effectively mask some distinguishing character scores during recoding.

Another situation arises when we use “intermediate scoring” rather than “polymorphic scoring” to code for ordered morphological characters. This method is common in paleontological data sets like ours. For instance, if there are five discrete states for a character and those occur on an ordinal scale, we use the scores 0, 2, 4, 6 & 8 to represent the discrete states. If specimens for a taxon are polymorphic for those states, we code that taxon with an intermediate score… for example 0&2 are coded as 1. This method retains some phylogenetic information that would be effectively ignored during tree search if we instead used polymorphic state combinations in the range of 0-4. However, to get data to work with MrBayes we must recode these types of characters as follows: 0=(old 0), 0&1=(old 1), 1=(old 2), 1&2=(old 3), 2=(old 4), 2&3=(old 5), 3=(old 6), 3&4=(old 7), 4=(old 8).

These workarounds to the “six state limit for ordered characters” are operative but in many cases omit (and mask) phylogenetic signal that could be useful during inference. In a recent data set, we gained ~5,000 polymorphic-scored cells in a labor intensive recoding effort.

In a future version, would you please consider lifting the six state limit for ordered morphological characters? This would be so helpful! Other likelihood based software (RAxML for example) has no limit on ordered characters and allows 36 morphological states (0-9, A-Z). Lifting this limitation (and even expanding the number of possible states up to 20 or more) would contribute to a nice list of features that, in our opinion, makes MrBayes the best phylogenetic inference platform to analyze diverse data sets.

Thanks again for the great software!

Cheers,
Steven

Flushing standard input

There are four instances in the source code where we

fflush(stdin);

The C standard says that flushing an input stream has an undefined behaviour.

The POSIX standard says that flushing an input stream is okay, if that stream is seekable.

The standard input stream is generally not seekable.

This is invoking undefined behaviour and should be fixed.

Note: Removing these calls has no effect on Unix.

Error in reading partitions file

Hi!
During the tutorial in the "Partitioned Analysis" chapter, after writing the cynmix-command.nex as following:

#NEXUS
begin mrbayes;
   execute cynmix.nex;
   charset morphology = 1-166;
   charset COI = 167-1244;
   charset EF1a = 1245-1611;
   charset LWRh = 1612-2092;
   charset 28S = 2093-3246;
   partition favored = 5: morphology, COI, EF1a, LWRh, 28S;
   set partition = favored;
end;

I typed:

MrBayes > execute cynmix-command.nex

An error message appears:

Could not find command "6"
      The error occurred when reading char. 1-1 on line 2
      in the file 'cynmix-command.nex'

   Returning execution to command line ...

   Error in command "Execute"

Only adding set partition = favored at the end of cynmix.nex would run the data file as expected, but never running it through cynmix-command.nex.

This is release 3.2.7

Regards

Error in sumt vstat file

The sumt vstat file erroneously outputs the PSRF values for each of the runs instead of presenting them for the ensemble sample just once. This causes a mismatch with the header, which causes problems with reading the file in R etc.

Dynamic scaling

Scaling of likelihoods take a surprisingly large amount of time when using the standard 4by4 nucleotide models. Maxim added dynamic scaling code for the Beagle implementation but not for the native likelihoood calculators, which are faster. The dynamic scaling code adjusts the rescaling frequency so that you do not rescale likelihoods more often than needed to avoid numerical exceptions and achieve a reasonable level of precision. For typical-size trees and the 4by4 model, no rescaling is often needed. I added the infrastructure needed to support dynamic scaling for both Beagle and native calculators in December last year. In principle, it should be straightforward now to rewrite Maxim's dynamic scaling code (which is not so pretty C code) so that it works for both Beagle and native likelihood calculators.

nswaps has no effect (easy fix)

Transferred from https://sourceforge.net/p/mrbayes/bugs/1654/
Created: 2017-11-08
Creator: thomas fisher-york

In mcmc.c, the outer pair of brackets in the following were missing, so only attempted swap once, independent of what chainParams.numSwaps was set to:

for (j = 0; j<chainParams.numSwaps; j++)
{ // Add this pair of brackets
GetSwappers (&swapA, &swapB, i);
if (AttemptSwap (swapA, swapB, seed) == ERROR)
{
MrBayesPrint ("%s Unsuccessful swap of states\n", spacer);
if defined (MPI_ENABLED)
nErrors++;
else
return ERROR;
endif
}
} // Add this pair of brackets

Segmentation fault when quitting

With the attached example:

  1. run mrbayes: ./mb
  2. run command: exe test.nex
  3. quite: q
    --> Segmentation fault: 11

It seems FreeModel() in model.c is to blame, especially line 12378 with
for (j = 0; i < numGlobalChains; ++j)
in which i seems should be j. But changing it didn't solve the issue...

test.nex.zip

SafeRealloc()

I've merged the feature/utils_cleanup branch with develop just now.

The SafeRealloc() function went in as it was (returning tmp, not ptr!). Can you see any issues with how it is implemented now? I'm uneasy about returning NULL if the requested size is zero as this signals a failure to allocate memory.

We could just document it as the behaviour though.

Thoughts?

Problems with new configure

I see that the new configure file is quite different from the old one. The changes are good for the most part, I am sure. I certainly appreciate the better and more elegantly formatted help info, among other things. However, I found two issues:

  1. The Beagle test files on my system. The old configure.in detected my beagle installation correctly and compiled the beagle version with no problem.
  2. The debug option is gone. Is there a reason for this? I used it often.

mrbayes running without errors but not output

Hi there:
I used Mrbayes to test whether I should use strict or relaxed clock model for 22 taxa and 526315 bp DNA data set. I did run regular mrbayes with default setting successfully and I got consensus tree and other files. However, when I run strict or relaxed clock model, it was running after 1000 or 2000 generation without error but not product output. The setting is as follows and I also attached the screenshot.

The setting for the partition and relax clock test as follows:

could you please help me?

Thank you very much and I appreciate your time.

All the best,

Runhua

begin mrbayes;
set autoclose=yes nowarn=yes;
charset GTRI = 1 - 20559;
charset GTRIG = 20560 - 355374;
charset HKYIG = 355375 - 449942;
charset SYMIG = 449943 - 460498;
charset GTRG = 460499 - 474974;
charset K2PIG = 474975 - 476413;
charset HKYI = 476414 - 501085;
charset HKYG = 501086 - 514953;
charset SYMG = 514954 - 517932;
charset K2P = 517933 - 518303;
charset K2PI = 518304 - 521647;
charset SYMI = 521648 - 524790;
charset HKY = 524791 - 526315;
partition partial = 13: GTRI, GTRIG, HKYIG, SYMIG, GTRG, K2PIG, HKYI, HKYG, SYMG, K2P, K2PI, SYMI, HKY;
set partition = partial;
lset applyto=(1) nst=6 rates=propinv;
lset applyto=(2) nst=6 rates=invgamma;
lset applyto=(3) nst=2 rates=invgamma;
lset applyto=(4) nst=6 rates=invgamma;
prset applyto=(4) statefreqpr=fixed(equal);
lset applyto=(5) nst=6 rates=gamma;
lset applyto=(6) nst=2 rates=invgamma;
prset applyto=(6) statefreqpr=fixed(equal);
lset applyto=(7) nst=2 rates=propinv;
lset applyto=(8) nst=2 rates=gamma;
lset applyto=(9) nst=6 rates=gamma;
prset applyto=(9) statefreqpr=fixed(equal);
lset applyto=(10) nst=2;
prset applyto=(10) statefreqpr=fixed(equal);
lset applyto=(11) nst=2 rates=propinv;
prset applyto=(11) statefreqpr=fixed(equal);
lset applyto=(12) nst=6 rates=propinv;
prset applyto=(12) statefreqpr=fixed(equal);
lset applyto=(13) nst=2;
prset applyto=(all) ratepr=variable;
unlink statefreq=(all) revmat=(all) shape=(all) pinvar=(all) tratio=(all);
outgroup WEST;
prset brlenspr = clock:uniform;
prset clockvarpr = igr;
mcmcp nruns=2 ngen=10000000 samplefreq=1000 nchains=4 savebrlens=yes filename=250geneCFpartmbrelax.nex;
mcmc;
END;

screenshot from 2017-02-01 15-01-03

Failure to configure properly in pre-lease 3.2.7 and on `develop` and `master` branches

God kväll from beautiful Tovertop and the BIG4 bioinformatics workshop!

I would like to report some interesting behavior of the configure scripts. First of all, I am unable to configure the master branch or the develop branch on an Ubuntu system:

viktor@aurascens:/media/viktor/www2/main/vsenderov.backup/BIG4_Stockholm_Workshop/MrBayes/MrBayesGithub$ uname -a
Linux aurascens 4.4.0-38-generic #57-Ubuntu SMP Tue Sep 6 15:42:33 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
viktor@aurascens:/media/viktor/www2/main/vsenderov.backup/BIG4_Stockholm_Workshop/MrBayes/MrBayesGithub$ git checkout develop
M       Makefile.in
M       aclocal.m4
M       configure
M       doc/Makefile.in
M       doc/tutorial/Makefile.in
M       examples/Makefile.in
M       src/Makefile.in
Switched to branch 'develop'
Your branch is up-to-date with 'origin/develop'.
viktor@aurascens:/media/viktor/www2/main/vsenderov.backup/BIG4_Stockholm_Workshop/MrBayes/MrBayesGithub$ ./configure
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... no
checking for mawk... mawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking build system type... x86_64-unknown-linux-gnu
checking host system type... x86_64-unknown-linux-gnu
./configure: line 3048: syntax error near unexpected token `test'
./configure: line 3048: `AX_PROG_CC_MPI(test "x$with_mpi" != "xno",'
viktor@aurascens:/media/viktor/www2/main/vsenderov.backup/BIG4_Stockholm_Workshop/MrBayes/MrBayesGithub$ ./configure
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... no
checking for mawk... mawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking build system type... x86_64-unknown-linux-gnu
checking host system type... x86_64-unknown-linux-gnu
./configure: line 3048: syntax error near unexpected token `test'
./configure: line 3048: `AX_PROG_CC_MPI(test "x$with_mpi" != "xno",'

So I decided to download the pre-release 3.2.7. The version number after starting MrBayes is MrBayes vpre-3.2.7 x86_64 . Now, if I configure without specifying anything about FMA and AVX I get the following output:

viktor@aurascens:/media/viktor/www2/main/vsenderov.backup/BIG4_Stockholm_Workshop/MrBayes/mrbayes-pre-3.2.7$ ./configure
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... no
checking for mawk... mawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking build system type... x86_64-unknown-linux-gnu
checking host system type... x86_64-unknown-linux-gnu
checking for style of include used by make... GNU
checking whether to compile using MPI... no
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking whether gcc understands -c and -o together... yes
checking dependency style of gcc... gcc3
checking for sqrt in -lm... yes
checking how to run the C preprocessor... gcc -E
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking for pkg-config... /usr/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
configure: Trying to locate Beagle in '/usr/local'
checking libhmsbeagle/beagle.h usability... no
checking libhmsbeagle/beagle.h presence... no
checking for libhmsbeagle/beagle.h... no
checking for beagleCreateInstance in -lhmsbeagle... no
configure: WARNING: Failed to locate Beagle, falling back on pkg-config
checking for BEAGLE... no
checking for a readline compatible library... -lreadline
checking readline.h usability... no
checking readline.h presence... no
checking for readline.h... no
checking readline/readline.h usability... yes
checking readline/readline.h presence... yes
checking for readline/readline.h... yes
checking whether readline supports history... yes
checking history.h usability... no
checking history.h presence... no
checking for history.h... no
checking readline/history.h usability... yes
checking readline/history.h presence... yes
checking for readline/history.h... yes
checking float.h usability... yes
checking float.h presence... yes
checking for float.h... yes
checking limits.h usability... yes
checking limits.h presence... yes
checking for limits.h... yes
checking for memory.h... (cached) yes
checking for stdlib.h... (cached) yes
checking for string.h... (cached) yes
checking for size_t... yes
checking for stdbool.h that conforms to C99... yes
checking for _Bool... yes
checking for C compiler vendor... gnu
checking for a sed that does not truncate output... /bin/sed
checking for C compiler version... 5.4.0
checking CFLAGS for maximum warnings... -Wall
checking for x86 cpuid  output... unknown
checking for x86-AVX xgetbv  output... unknown
checking for x86 cpuid 0x00000000 output... d:756e6547:6c65746e:49656e69
checking for x86 cpuid 0x80000000 output... 80000008:0:0:0
checking for x86 cpuid 0x00000001 output... 306c3:7100800:7ffafbff:bfebfbff
checking for x86 cpuid 0x00000007 output... 0:27ab:0:0
checking for x86 cpuid 0x80000001 output... 0:0:21:2c100800
checking for x86-AVX xgetbv 0x00000000 output... 7:0
checking whether RDRND is supported by the processor... yes
checking whether RDRND is supported by the processor and OS... yes
checking whether C compiler accepts -mrdrnd... yes
checking whether BMI1 is supported by the processor... yes
checking whether BMI1 is supported by the processor and OS... yes
checking whether C compiler accepts -mbmi... yes
checking whether BMI2 is supported by the processor... yes
checking whether BMI2 is supported by the processor and OS... yes
checking whether C compiler accepts -mbmi2... yes
checking whether ADX is supported by the processor... no
checking whether MPX is supported by the processor... no
checking whether PREFETCHWT1 is supported by the processor... no
checking whether ABM is supported by the processor... yes
checking whether ABM is supported by the processor and OS... yes
checking whether C compiler accepts -mabm... yes
checking whether MMX is supported by the processor... yes
checking whether MMX is supported by the processor and OS... yes
checking whether C compiler accepts -mmmx... yes
checking whether SSE is supported by the processor... yes
checking whether SSE is supported by the processor and OS... yes
checking whether C compiler accepts -msse... yes
checking whether SSE2 is supported by the processor... yes
checking whether SSE2 is supported by the processor and OS... yes
checking whether C compiler accepts -msse2... yes
checking whether SSE3 is supported by the processor... yes
checking whether SSE3 is supported by the processor and OS... yes
checking whether C compiler accepts -msse3... yes
checking whether SSSE3 is supported by the processor... yes
checking whether SSSE3 is supported by the processor and OS... yes
checking whether C compiler accepts -mssse3... yes
checking whether SSE4.1 is supported by the processor... yes
checking whether SSE4.1 is supported by the processor and OS... yes
checking whether C compiler accepts -msse4.1... yes
checking whether SSE4.2 is supported by the processor... yes
checking whether SSE4.2 is supported by the processor and OS... yes
checking whether C compiler accepts -msse4.2... yes
checking whether SSE4a is supported by the processor... no
checking whether SHA is supported by the processor... no
checking whether AES is supported by the processor... yes
checking whether AES is supported by the processor and OS... yes
checking whether C compiler accepts -maes... yes
checking whether AVX is supported by the processor... yes
checking whether AVX is supported by the processor and OS... yes
checking whether C compiler accepts -mavx... yes
checking whether FMA3 is supported by the processor... yes
checking whether FMA3 is supported by the processor and OS... yes
checking whether C compiler accepts -mfma... yes
checking whether FMA4 is supported by the processor... no
checking whether XOP is supported by the processor... no
checking whether AVX2 is supported by the processor... yes
checking whether AVX2 is supported by the processor and OS... yes
checking whether C compiler accepts -mavx2... yes
checking whether AVX512-F is supported by the processor... no
checking whether AVX512-CD is supported by the processor... no
checking whether AVX512-PF is supported by the processor... no
checking whether AVX512-ER is supported by the processor... no
checking whether AVX512-VL is supported by the processor... no
checking whether AVX512-BW is supported by the processor... no
checking whether AVX512-DQ is supported by the processor... no
checking whether AVX512-IFMA is supported by the processor... no
checking whether AVX512-VBMI is supported by the processor... no
checking for stdlib.h... (cached) yes
checking for GNU libc compatible malloc... yes
checking for stdlib.h... (cached) yes
checking for GNU libc compatible realloc... yes
checking for floor... yes
checking for memset... yes
checking for pow... yes
checking for sqrt... yes
checking for strchr... yes
checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: creating Makefile
config.status: creating doc/Makefile
config.status: creating doc/tutorial/Makefile
config.status: creating examples/Makefile
config.status: creating src/Makefile
config.status: creating src/config.h
config.status: src/config.h is unchanged
config.status: executing depfiles commands

Now I build the system:

viktor@aurascens:/media/viktor/www2/main/vsenderov.backup/BIG4_Stockholm_Workshop/MrBayes/mrbayes-pre-3.2.7$ make
Making all in src
make[1]: Entering directory '/media/viktor/www2/main/vsenderov.backup/BIG4_Stockholm_Workshop/MrBayes/mrbayes-pre-3.2.7/src'
make  all-am
make[2]: Entering directory '/media/viktor/www2/main/vsenderov.backup/BIG4_Stockholm_Workshop/MrBayes/mrbayes-pre-3.2.7/src'
gcc -DHAVE_CONFIG_H -I.    -mmmx -msse -msse2 -msse3 -mssse3 -msse4.1 -msse4.2 -maes -mavx -mfma -mavx2 -mrdrnd -mbmi -mbmi2 -mabm  -O3 -DNDEBUG -std=c99 -pedantic  -Wall -MT mb-bayes.o -MD -MP -MF .deps/mb-bayes.Tpo -c -o mb-bayes.o `test -f 'bayes.c' || echo './'`bayes.c
mv -f .deps/mb-bayes.Tpo .deps/mb-bayes.Po
gcc -DHAVE_CONFIG_H -I.    -mmmx -msse -msse2 -msse3 -mssse3 -msse4.1 -msse4.2 -maes -mavx -mfma -mavx2 -mrdrnd -mbmi -mbmi2 -mabm  -O3 -DNDEBUG -std=c99 -pedantic  -Wall -MT mb-best.o -MD -MP -MF .deps/mb-best.Tpo -c -o mb-best.o `test -f 'best.c' || echo './'`best.c
mv -f .deps/mb-best.Tpo .deps/mb-best.Po
gcc -DHAVE_CONFIG_H -I.    -mmmx -msse -msse2 -msse3 -mssse3 -msse4.1 -msse4.2 -maes -mavx -mfma -mavx2 -mrdrnd -mbmi -mbmi2 -mabm  -O3 -DNDEBUG -std=c99 -pedantic  -Wall -MT mb-command.o -MD -MP -MF .deps/mb-command.Tpo -c -o mb-command.o `test -f 'command.c' || echo './'`command.c
mv -f .deps/mb-command.Tpo .deps/mb-command.Po
gcc -DHAVE_CONFIG_H -I.    -mmmx -msse -msse2 -msse3 -mssse3 -msse4.1 -msse4.2 -maes -mavx -mfma -mavx2 -mrdrnd -mbmi -mbmi2 -mabm  -O3 -DNDEBUG -std=c99 -pedantic  -Wall -MT mb-likelihood.o -MD -MP -MF .deps/mb-likelihood.Tpo -c -o mb-likelihood.o `test -f 'likelihood.c' || echo './'`likelihood.c
likelihood.c: In function ‘CondLikeDown_Gen_SSE’:
likelihood.c:404:22: warning: ‘preLikeLV[3]’ may be used uninitialized in this function [-Wmaybe-uninitialized]
     CLFlt           *preLikeLV[4];
                      ^
likelihood.c:404:22: warning: ‘preLikeLV[2]’ may be used uninitialized in this function [-Wmaybe-uninitialized]
likelihood.c:404:22: warning: ‘preLikeLV[1]’ may be used uninitialized in this function [-Wmaybe-uninitialized]
likelihood.c:404:22: warning: ‘preLikeLV[0]’ may be used uninitialized in this function [-Wmaybe-uninitialized]
likelihood.c:403:22: warning: ‘preLikeRV[3]’ may be used uninitialized in this function [-Wmaybe-uninitialized]
     CLFlt           *preLikeRV[4];
                      ^
likelihood.c:403:22: warning: ‘preLikeRV[2]’ may be used uninitialized in this function [-Wmaybe-uninitialized]
likelihood.c:403:22: warning: ‘preLikeRV[1]’ may be used uninitialized in this function [-Wmaybe-uninitialized]
likelihood.c:403:22: warning: ‘preLikeRV[0]’ may be used uninitialized in this function [-Wmaybe-uninitialized]
likelihood.c: In function ‘CondLikeDown_NY98_SSE’:
likelihood.c:1751:22: warning: ‘preLikeLV[3]’ may be used uninitialized in this function [-Wmaybe-uninitialized]
     CLFlt           *preLikeLV[4];
                      ^
likelihood.c:1751:22: warning: ‘preLikeLV[2]’ may be used uninitialized in this function [-Wmaybe-uninitialized]
likelihood.c:1751:22: warning: ‘preLikeLV[1]’ may be used uninitialized in this function [-Wmaybe-uninitialized]
likelihood.c:1751:22: warning: ‘preLikeLV[0]’ may be used uninitialized in this function [-Wmaybe-uninitialized]
likelihood.c:1750:22: warning: ‘preLikeRV[3]’ may be used uninitialized in this function [-Wmaybe-uninitialized]
     CLFlt           *preLikeRV[4];
                      ^
likelihood.c:1750:22: warning: ‘preLikeRV[2]’ may be used uninitialized in this function [-Wmaybe-uninitialized]
likelihood.c:1750:22: warning: ‘preLikeRV[1]’ may be used uninitialized in this function [-Wmaybe-uninitialized]
likelihood.c:1750:22: warning: ‘preLikeRV[0]’ may be used uninitialized in this function [-Wmaybe-uninitialized]
likelihood.c: In function ‘CondLikeRoot_Gen_SSE’:
likelihood.c:2429:22: warning: ‘preLikeAV[3]’ may be used uninitialized in this function [-Wmaybe-uninitialized]
     CLFlt           *preLikeAV[4];
                      ^
likelihood.c:2429:22: warning: ‘preLikeAV[2]’ may be used uninitialized in this function [-Wmaybe-uninitialized]
likelihood.c:2429:22: warning: ‘preLikeAV[1]’ may be used uninitialized in this function [-Wmaybe-uninitialized]
likelihood.c:2429:22: warning: ‘preLikeAV[0]’ may be used uninitialized in this function [-Wmaybe-uninitialized]
likelihood.c:2428:22: warning: ‘preLikeLV[3]’ may be used uninitialized in this function [-Wmaybe-uninitialized]
     CLFlt           *preLikeLV[4];
                      ^
likelihood.c:2428:22: warning: ‘preLikeLV[2]’ may be used uninitialized in this function [-Wmaybe-uninitialized]
likelihood.c:2428:22: warning: ‘preLikeLV[1]’ may be used uninitialized in this function [-Wmaybe-uninitialized]
likelihood.c:2428:22: warning: ‘preLikeLV[0]’ may be used uninitialized in this function [-Wmaybe-uninitialized]
likelihood.c:2427:22: warning: ‘preLikeRV[3]’ may be used uninitialized in this function [-Wmaybe-uninitialized]
     CLFlt           *preLikeRV[4];
                      ^
likelihood.c:2427:22: warning: ‘preLikeRV[2]’ may be used uninitialized in this function [-Wmaybe-uninitialized]
likelihood.c:2427:22: warning: ‘preLikeRV[1]’ may be used uninitialized in this function [-Wmaybe-uninitialized]
likelihood.c:2427:22: warning: ‘preLikeRV[0]’ may be used uninitialized in this function [-Wmaybe-uninitialized]
likelihood.c: In function ‘CondLikeRoot_NY98_SSE’:
likelihood.c:4252:22: warning: ‘preLikeAV[3]’ may be used uninitialized in this function [-Wmaybe-uninitialized]
     CLFlt           *preLikeAV[4];
                      ^
likelihood.c:4252:22: warning: ‘preLikeAV[2]’ may be used uninitialized in this function [-Wmaybe-uninitialized]
likelihood.c:4252:22: warning: ‘preLikeAV[1]’ may be used uninitialized in this function [-Wmaybe-uninitialized]
likelihood.c:4252:22: warning: ‘preLikeAV[0]’ may be used uninitialized in this function [-Wmaybe-uninitialized]
likelihood.c:4251:22: warning: ‘preLikeLV[3]’ may be used uninitialized in this function [-Wmaybe-uninitialized]
     CLFlt           *preLikeLV[4];
                      ^
likelihood.c:4251:22: warning: ‘preLikeLV[2]’ may be used uninitialized in this function [-Wmaybe-uninitialized]
likelihood.c:4251:22: warning: ‘preLikeLV[1]’ may be used uninitialized in this function [-Wmaybe-uninitialized]
likelihood.c:4251:22: warning: ‘preLikeLV[0]’ may be used uninitialized in this function [-Wmaybe-uninitialized]
likelihood.c:4250:22: warning: ‘preLikeRV[3]’ may be used uninitialized in this function [-Wmaybe-uninitialized]
     CLFlt           *preLikeRV[4];
                      ^
likelihood.c:4250:22: warning: ‘preLikeRV[2]’ may be used uninitialized in this function [-Wmaybe-uninitialized]
likelihood.c:4250:22: warning: ‘preLikeRV[1]’ may be used uninitialized in this function [-Wmaybe-uninitialized]
likelihood.c:4250:22: warning: ‘preLikeRV[0]’ may be used uninitialized in this function [-Wmaybe-uninitialized]
mv -f .deps/mb-likelihood.Tpo .deps/mb-likelihood.Po
gcc -DHAVE_CONFIG_H -I.    -mmmx -msse -msse2 -msse3 -mssse3 -msse4.1 -msse4.2 -maes -mavx -mfma -mavx2 -mrdrnd -mbmi -mbmi2 -mabm  -O3 -DNDEBUG -std=c99 -pedantic  -Wall -MT mb-mbbeagle.o -MD -MP -MF .deps/mb-mbbeagle.Tpo -c -o mb-mbbeagle.o `test -f 'mbbeagle.c' || echo './'`mbbeagle.c
mv -f .deps/mb-mbbeagle.Tpo .deps/mb-mbbeagle.Po
gcc -DHAVE_CONFIG_H -I.    -mmmx -msse -msse2 -msse3 -mssse3 -msse4.1 -msse4.2 -maes -mavx -mfma -mavx2 -mrdrnd -mbmi -mbmi2 -mabm  -O3 -DNDEBUG -std=c99 -pedantic  -Wall -MT mb-mcmc.o -MD -MP -MF .deps/mb-mcmc.Tpo -c -o mb-mcmc.o `test -f 'mcmc.c' || echo './'`mcmc.c
mv -f .deps/mb-mcmc.Tpo .deps/mb-mcmc.Po
gcc -DHAVE_CONFIG_H -I.    -mmmx -msse -msse2 -msse3 -mssse3 -msse4.1 -msse4.2 -maes -mavx -mfma -mavx2 -mrdrnd -mbmi -mbmi2 -mabm  -O3 -DNDEBUG -std=c99 -pedantic  -Wall -MT mb-model.o -MD -MP -MF .deps/mb-model.Tpo -c -o mb-model.o `test -f 'model.c' || echo './'`model.c
model.c: In function ‘SetModelInfo’:
model.c:17924:48: warning: ordered comparison of pointer with integer zero [-Wpedantic]
         else if (activeParams[P_MIXTURE_RATES] > 0)
                                                ^
mv -f .deps/mb-model.Tpo .deps/mb-model.Po
gcc -DHAVE_CONFIG_H -I.    -mmmx -msse -msse2 -msse3 -mssse3 -msse4.1 -msse4.2 -maes -mavx -mfma -mavx2 -mrdrnd -mbmi -mbmi2 -mabm  -O3 -DNDEBUG -std=c99 -pedantic  -Wall -MT mb-proposal.o -MD -MP -MF .deps/mb-proposal.Tpo -c -o mb-proposal.o `test -f 'proposal.c' || echo './'`proposal.c
proposal.c: In function ‘Move_ParsFossilSPRClock’:
proposal.c:9486:25: warning: variable ‘rateMult’ set but not used [-Wunused-but-set-variable]
     divFactor, nStates, rateMult, v_approx, minV;
                         ^
proposal.c: In function ‘Move_ParsSPRClock’:
proposal.c:11892:82: warning: variable ‘rateMult’ set but not used [-Wunused-but-set-variable]
                 cumulativeProb, warpFactor, sum1, sum2, ran, divFactor, nStates, rateMult, v_approx, minV;
                                                                                  ^
mv -f .deps/mb-proposal.Tpo .deps/mb-proposal.Po
gcc -DHAVE_CONFIG_H -I.    -mmmx -msse -msse2 -msse3 -mssse3 -msse4.1 -msse4.2 -maes -mavx -mfma -mavx2 -mrdrnd -mbmi -mbmi2 -mabm  -O3 -DNDEBUG -std=c99 -pedantic  -Wall -MT mb-sumpt.o -MD -MP -MF .deps/mb-sumpt.Tpo -c -o mb-sumpt.o `test -f 'sumpt.c' || echo './'`sumpt.c
mv -f .deps/mb-sumpt.Tpo .deps/mb-sumpt.Po
gcc -DHAVE_CONFIG_H -I.    -mmmx -msse -msse2 -msse3 -mssse3 -msse4.1 -msse4.2 -maes -mavx -mfma -mavx2 -mrdrnd -mbmi -mbmi2 -mabm  -O3 -DNDEBUG -std=c99 -pedantic  -Wall -MT mb-utils.o -MD -MP -MF .deps/mb-utils.Tpo -c -o mb-utils.o `test -f 'utils.c' || echo './'`utils.c
utils.c: In function ‘PrintPolyNodes’:
utils.c:5396:49: warning: ordered comparison of pointer with integer zero [-Wpedantic]
                 if (pt->nEvents[i*pt->nNodes+j] > 0)
                                                 ^
mv -f .deps/mb-utils.Tpo .deps/mb-utils.Po
gcc -mmmx -msse -msse2 -msse3 -mssse3 -msse4.1 -msse4.2 -maes -mavx -mfma -mavx2 -mrdrnd -mbmi -mbmi2 -mabm  -O3 -DNDEBUG -std=c99 -pedantic  -Wall   -o mb mb-bayes.o mb-best.o mb-command.o mb-likelihood.o mb-mbbeagle.o mb-mcmc.o mb-model.o mb-proposal.o mb-sumpt.o mb-utils.o  -lm  -lreadline
make[2]: Leaving directory '/media/viktor/www2/main/vsenderov.backup/BIG4_Stockholm_Workshop/MrBayes/mrbayes-pre-3.2.7/src'
make[1]: Leaving directory '/media/viktor/www2/main/vsenderov.backup/BIG4_Stockholm_Workshop/MrBayes/mrbayes-pre-3.2.7/src'
Making all in doc
make[1]: Entering directory '/media/viktor/www2/main/vsenderov.backup/BIG4_Stockholm_Workshop/MrBayes/mrbayes-pre-3.2.7/doc'
Making all in tutorial
make[2]: Entering directory '/media/viktor/www2/main/vsenderov.backup/BIG4_Stockholm_Workshop/MrBayes/mrbayes-pre-3.2.7/doc/tutorial'
make[2]: Nothing to be done for 'all'.
make[2]: Leaving directory '/media/viktor/www2/main/vsenderov.backup/BIG4_Stockholm_Workshop/MrBayes/mrbayes-pre-3.2.7/doc/tutorial'
make[2]: Entering directory '/media/viktor/www2/main/vsenderov.backup/BIG4_Stockholm_Workshop/MrBayes/mrbayes-pre-3.2.7/doc'
make[2]: Nothing to be done for 'all-am'.
make[2]: Leaving directory '/media/viktor/www2/main/vsenderov.backup/BIG4_Stockholm_Workshop/MrBayes/mrbayes-pre-3.2.7/doc'
make[1]: Leaving directory '/media/viktor/www2/main/vsenderov.backup/BIG4_Stockholm_Workshop/MrBayes/mrbayes-pre-3.2.7/doc'
Making all in examples
make[1]: Entering directory '/media/viktor/www2/main/vsenderov.backup/BIG4_Stockholm_Workshop/MrBayes/mrbayes-pre-3.2.7/examples'
make[1]: Nothing to be done for 'all'.
make[1]: Leaving directory '/media/viktor/www2/main/vsenderov.backup/BIG4_Stockholm_Workshop/MrBayes/mrbayes-pre-3.2.7/examples'
make[1]: Entering directory '/media/viktor/www2/main/vsenderov.backup/BIG4_Stockholm_Workshop/MrBayes/mrbayes-pre-3.2.7'
make[1]: Nothing to be done for 'all-am'.
make[1]: Leaving directory '/media/viktor/www2/main/vsenderov.backup/BIG4_Stockholm_Workshop/MrBayes/mrbayes-pre-3.2.7'

But now the version that I have built seems to have some AVX or FMA related problem. When I try to run the primates.nex example, I get a segmentation fault:

viktor@aurascens:/media/viktor/www2/main/vsenderov.backup/BIG4_Stockholm_Workshop/MrBayes/mrbayes-pre-3.2.7/src$ ./mb


                            MrBayes vpre-3.2.7 x86_64

                      (Bayesian Analysis of Phylogeny)

              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.


MrBayes > execute ../examples/primates.nex

   Executing file "../examples/primates.nex"
   DOS line termination
   Longest line length = 920
   Parsing file
   Expecting NEXUS formatted file
   Reading data block
      Allocated taxon set
      Allocated matrix
      Defining new matrix with 12 taxa and 898 characters
      Data is Dna
      Data matrix is not interleaved
      Gaps coded as -
      Taxon  1 -> Tarsius_syrichta
      Taxon  2 -> Lemur_catta
      Taxon  3 -> Homo_sapiens
      Taxon  4 -> Pan
      Taxon  5 -> Gorilla
      Taxon  6 -> Pongo
      Taxon  7 -> Hylobates
      Taxon  8 -> Macaca_fuscata
      Taxon  9 -> M_mulatta
      Taxon 10 -> M_fascicularis
      Taxon 11 -> M_sylvanus
      Taxon 12 -> Saimiri_sciureus
      Successfully read matrix
      Setting default partition (does not divide up characters)
      Setting model defaults
      Seed (for generating default start values) = 1476110503
      Setting output file names to "../examples/primates.nex.run<i>.<p|t>"
   Exiting data block
   Reached end of file

MrBayes >  lset nst=6 rates=invgamma

   Setting Nst to 6
   Setting Rates to Invgamma
   Successfully set likelihood model parameters

MrBayes > mcmc ngen=20000 samplefreq=100

   Setting number of generations to 20000
   Setting sample frequency to 100
   Running Markov chain
   MCMC stamp = 5629761637
   Seed = 1995364499
   Swapseed = 1476110503
   Model settings:

      Data not partitioned --
         Datatype  = DNA
         Nucmodel  = 4by4
         Nst       = 6
                     Substitution rates, expressed as proportions
                     of the rate sum, have a Dirichlet prior
                     (1.00,1.00,1.00,1.00,1.00,1.00)
         Covarion  = No
         # States  = 4
                     State frequencies have a Dirichlet prior
                     (1.00,1.00,1.00,1.00)
         Rates     = Invgamma
                     The distribution is approximated using 4 categories.
                     Shape parameter is exponentially
                     distributed with parameter (1.00).
                     Proportion of invariable sites is uniformly dist-
                     ributed on the interval (0.00,1.00).

   Active parameters:

      Parameters
      ---------------------
      Revmat              1
      Statefreq           2
      Shape               3
      Pinvar              4
      Ratemultiplier      5
      Topology            6
      Brlens              7
      ---------------------

      1 --  Parameter  = Revmat
            Type       = Rates of reversible rate matrix
            Prior      = Dirichlet(1.00,1.00,1.00,1.00,1.00,1.00)

      2 --  Parameter  = Pi
            Type       = Stationary state frequencies
            Prior      = Dirichlet

      3 --  Parameter  = Alpha
            Type       = Shape of scaled gamma distribution of site rates
            Prior      = Exponential(1.00)

      4 --  Parameter  = Pinvar
            Type       = Proportion of invariable sites
            Prior      = Uniform(0.00,1.00)

      5 --  Parameter  = Ratemultiplier
            Type       = Partition-specific rate multiplier
            Prior      = Fixed(1.0)

      6 --  Parameter  = Tau
            Type       = Topology
            Prior      = All topologies equally probable a priori
            Subparam.  = V

      7 --  Parameter  = V
            Type       = Branch lengths
            Prior      = Unconstrained:GammaDir(1.0,0.1000,1.0,1.0)



   The MCMC sampler will use the following moves:
      With prob.  Chain will use move
         0.93 %   Dirichlet(Revmat)
         0.93 %   Slider(Revmat)
         0.93 %   Dirichlet(Pi)
         0.93 %   Slider(Pi)
         1.85 %   Multiplier(Alpha)
         1.85 %   Slider(Pinvar)
         9.26 %   ExtSPR(Tau,V)
         9.26 %   ExtTBR(Tau,V)
         9.26 %   NNI(Tau,V)
         9.26 %   ParsSPR(Tau,V)
        37.04 %   Multiplier(V)
        12.96 %   Nodeslider(V)
         5.56 %   TLMultiplier(V)

   Division 1 has 413 unique site patterns
   Initializing conditional likelihoods
   Using standard FMA likelihood calculator for division 1 (single-precision)
   Initializing invariable-site conditional likelihoods

   Initial log likelihoods and log prior probs for run 1:
Segmentation fault (core dumped)

This problem disappears when I disable FMA and AVX during configuration:

viktor@aurascens:/media/viktor/www2/main/vsenderov.backup/BIG4_Stockholm_Workshop/MrBayes/mrbayes-pre-3.2.7$ ./configure --disable-fma --disable-avx
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... no
checking for mawk... mawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking build system type... x86_64-unknown-linux-gnu
checking host system type... x86_64-unknown-linux-gnu
checking for style of include used by make... GNU
checking whether to compile using MPI... no
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking whether gcc understands -c and -o together... yes
checking dependency style of gcc... gcc3
checking for sqrt in -lm... yes
checking how to run the C preprocessor... gcc -E
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking for pkg-config... /usr/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
configure: Trying to locate Beagle in '/usr/local'
checking libhmsbeagle/beagle.h usability... no
checking libhmsbeagle/beagle.h presence... no
checking for libhmsbeagle/beagle.h... no
checking for beagleCreateInstance in -lhmsbeagle... no
configure: WARNING: Failed to locate Beagle, falling back on pkg-config
checking for BEAGLE... no
checking for a readline compatible library... -lreadline
checking readline.h usability... no
checking readline.h presence... no
checking for readline.h... no
checking readline/readline.h usability... yes
checking readline/readline.h presence... yes
checking for readline/readline.h... yes
checking whether readline supports history... yes
checking history.h usability... no
checking history.h presence... no
checking for history.h... no
checking readline/history.h usability... yes
checking readline/history.h presence... yes
checking for readline/history.h... yes
checking float.h usability... yes
checking float.h presence... yes
checking for float.h... yes
checking limits.h usability... yes
checking limits.h presence... yes
checking for limits.h... yes
checking for memory.h... (cached) yes
checking for stdlib.h... (cached) yes
checking for string.h... (cached) yes
checking for size_t... yes
checking for stdbool.h that conforms to C99... yes
checking for _Bool... yes
checking for C compiler vendor... gnu
checking for a sed that does not truncate output... /bin/sed
checking for C compiler version... 5.4.0
checking CFLAGS for maximum warnings... -Wall
checking for x86 cpuid  output... unknown
checking for x86-AVX xgetbv  output... unknown
checking for x86 cpuid 0x00000000 output... d:756e6547:6c65746e:49656e69
checking for x86 cpuid 0x80000000 output... 80000008:0:0:0
checking for x86 cpuid 0x00000001 output... 306c3:7100800:7ffafbff:bfebfbff
checking for x86 cpuid 0x00000007 output... 0:27ab:0:0
checking for x86 cpuid 0x80000001 output... 0:0:21:2c100800
checking for x86-AVX xgetbv 0x00000000 output... 7:0
checking whether RDRND is supported by the processor... yes
checking whether RDRND is supported by the processor and OS... yes
checking whether C compiler accepts -mrdrnd... yes
checking whether BMI1 is supported by the processor... yes
checking whether BMI1 is supported by the processor and OS... yes
checking whether C compiler accepts -mbmi... yes
checking whether BMI2 is supported by the processor... yes
checking whether BMI2 is supported by the processor and OS... yes
checking whether C compiler accepts -mbmi2... yes
checking whether ADX is supported by the processor... no
checking whether MPX is supported by the processor... no
checking whether PREFETCHWT1 is supported by the processor... no
checking whether ABM is supported by the processor... yes
checking whether ABM is supported by the processor and OS... yes
checking whether C compiler accepts -mabm... yes
checking whether MMX is supported by the processor... yes
checking whether MMX is supported by the processor and OS... yes
checking whether C compiler accepts -mmmx... yes
checking whether SSE is supported by the processor... yes
checking whether SSE is supported by the processor and OS... yes
checking whether C compiler accepts -msse... yes
checking whether SSE2 is supported by the processor... yes
checking whether SSE2 is supported by the processor and OS... yes
checking whether C compiler accepts -msse2... yes
checking whether SSE3 is supported by the processor... yes
checking whether SSE3 is supported by the processor and OS... yes
checking whether C compiler accepts -msse3... yes
checking whether SSSE3 is supported by the processor... yes
checking whether SSSE3 is supported by the processor and OS... yes
checking whether C compiler accepts -mssse3... yes
checking whether SSE4.1 is supported by the processor... yes
checking whether SSE4.1 is supported by the processor and OS... yes
checking whether C compiler accepts -msse4.1... yes
checking whether SSE4.2 is supported by the processor... yes
checking whether SSE4.2 is supported by the processor and OS... yes
checking whether C compiler accepts -msse4.2... yes
checking whether SSE4a is supported by the processor... no
checking whether SHA is supported by the processor... no
checking whether AES is supported by the processor... yes
checking whether AES is supported by the processor and OS... yes
checking whether C compiler accepts -maes... yes
checking whether AVX is supported by the processor... yes
checking whether AVX is supported by the processor and OS... yes
checking whether C compiler accepts -mavx... yes
checking whether FMA3 is supported by the processor... yes
checking whether FMA3 is supported by the processor and OS... yes
checking whether C compiler accepts -mfma... yes
checking whether FMA4 is supported by the processor... no
checking whether XOP is supported by the processor... no
checking whether AVX2 is supported by the processor... yes
checking whether AVX2 is supported by the processor and OS... yes
checking whether C compiler accepts -mavx2... yes
checking whether AVX512-F is supported by the processor... no
checking whether AVX512-CD is supported by the processor... no
checking whether AVX512-PF is supported by the processor... no
checking whether AVX512-ER is supported by the processor... no
checking whether AVX512-VL is supported by the processor... no
checking whether AVX512-BW is supported by the processor... no
checking whether AVX512-DQ is supported by the processor... no
checking whether AVX512-IFMA is supported by the processor... no
checking whether AVX512-VBMI is supported by the processor... no
checking for stdlib.h... (cached) yes
checking for GNU libc compatible malloc... yes
checking for stdlib.h... (cached) yes
checking for GNU libc compatible realloc... yes
checking for floor... yes
checking for memset... yes
checking for pow... yes
checking for sqrt... yes
checking for strchr... yes
checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: creating Makefile
config.status: creating doc/Makefile
config.status: creating doc/tutorial/Makefile
config.status: creating examples/Makefile
config.status: creating src/Makefile
config.status: creating src/config.h
config.status: executing depfiles commands
viktor@aurascens:/media/viktor/www2/main/vsenderov.backup/BIG4_Stockholm_Workshop/MrBayes/mrbayes-pre-3.2.7$ make
Making all in src
make[1]: Entering directory '/media/viktor/www2/main/vsenderov.backup/BIG4_Stockholm_Workshop/MrBayes/mrbayes-pre-3.2.7/src'
make  all-am
make[2]: Entering directory '/media/viktor/www2/main/vsenderov.backup/BIG4_Stockholm_Workshop/MrBayes/mrbayes-pre-3.2.7/src'
gcc -DHAVE_CONFIG_H -I.    -mmmx -msse -msse2 -msse3 -mssse3 -msse4.1 -msse4.2 -maes -mavx -mfma -mavx2 -mrdrnd -mbmi -mbmi2 -mabm  -O3 -DNDEBUG -std=c99 -pedantic  -Wall -MT mb-bayes.o -MD -MP -MF .deps/mb-bayes.Tpo -c -o mb-bayes.o `test -f 'bayes.c' || echo './'`bayes.c
mv -f .deps/mb-bayes.Tpo .deps/mb-bayes.Po
gcc -DHAVE_CONFIG_H -I.    -mmmx -msse -msse2 -msse3 -mssse3 -msse4.1 -msse4.2 -maes -mavx -mfma -mavx2 -mrdrnd -mbmi -mbmi2 -mabm  -O3 -DNDEBUG -std=c99 -pedantic  -Wall -MT mb-best.o -MD -MP -MF .deps/mb-best.Tpo -c -o mb-best.o `test -f 'best.c' || echo './'`best.c
mv -f .deps/mb-best.Tpo .deps/mb-best.Po
gcc -DHAVE_CONFIG_H -I.    -mmmx -msse -msse2 -msse3 -mssse3 -msse4.1 -msse4.2 -maes -mavx -mfma -mavx2 -mrdrnd -mbmi -mbmi2 -mabm  -O3 -DNDEBUG -std=c99 -pedantic  -Wall -MT mb-command.o -MD -MP -MF .deps/mb-command.Tpo -c -o mb-command.o `test -f 'command.c' || echo './'`command.c
mv -f .deps/mb-command.Tpo .deps/mb-command.Po
gcc -DHAVE_CONFIG_H -I.    -mmmx -msse -msse2 -msse3 -mssse3 -msse4.1 -msse4.2 -maes -mavx -mfma -mavx2 -mrdrnd -mbmi -mbmi2 -mabm  -O3 -DNDEBUG -std=c99 -pedantic  -Wall -MT mb-likelihood.o -MD -MP -MF .deps/mb-likelihood.Tpo -c -o mb-likelihood.o `test -f 'likelihood.c' || echo './'`likelihood.c
likelihood.c: In function ‘CondLikeDown_Gen_SSE’:
likelihood.c:404:22: warning: ‘preLikeLV[3]’ may be used uninitialized in this function [-Wmaybe-uninitialized]
     CLFlt           *preLikeLV[4];
                      ^
likelihood.c:404:22: warning: ‘preLikeLV[2]’ may be used uninitialized in this function [-Wmaybe-uninitialized]
likelihood.c:404:22: warning: ‘preLikeLV[1]’ may be used uninitialized in this function [-Wmaybe-uninitialized]
likelihood.c:404:22: warning: ‘preLikeLV[0]’ may be used uninitialized in this function [-Wmaybe-uninitialized]
likelihood.c:403:22: warning: ‘preLikeRV[3]’ may be used uninitialized in this function [-Wmaybe-uninitialized]
     CLFlt           *preLikeRV[4];
                      ^
likelihood.c:403:22: warning: ‘preLikeRV[2]’ may be used uninitialized in this function [-Wmaybe-uninitialized]
likelihood.c:403:22: warning: ‘preLikeRV[1]’ may be used uninitialized in this function [-Wmaybe-uninitialized]
likelihood.c:403:22: warning: ‘preLikeRV[0]’ may be used uninitialized in this function [-Wmaybe-uninitialized]
likelihood.c: In function ‘CondLikeDown_NY98_SSE’:
likelihood.c:1751:22: warning: ‘preLikeLV[3]’ may be used uninitialized in this function [-Wmaybe-uninitialized]
     CLFlt           *preLikeLV[4];
                      ^
likelihood.c:1751:22: warning: ‘preLikeLV[2]’ may be used uninitialized in this function [-Wmaybe-uninitialized]
likelihood.c:1751:22: warning: ‘preLikeLV[1]’ may be used uninitialized in this function [-Wmaybe-uninitialized]
likelihood.c:1751:22: warning: ‘preLikeLV[0]’ may be used uninitialized in this function [-Wmaybe-uninitialized]
likelihood.c:1750:22: warning: ‘preLikeRV[3]’ may be used uninitialized in this function [-Wmaybe-uninitialized]
     CLFlt           *preLikeRV[4];
                      ^
likelihood.c:1750:22: warning: ‘preLikeRV[2]’ may be used uninitialized in this function [-Wmaybe-uninitialized]
likelihood.c:1750:22: warning: ‘preLikeRV[1]’ may be used uninitialized in this function [-Wmaybe-uninitialized]
likelihood.c:1750:22: warning: ‘preLikeRV[0]’ may be used uninitialized in this function [-Wmaybe-uninitialized]
likelihood.c: In function ‘CondLikeRoot_Gen_SSE’:
likelihood.c:2429:22: warning: ‘preLikeAV[3]’ may be used uninitialized in this function [-Wmaybe-uninitialized]
     CLFlt           *preLikeAV[4];
                      ^
likelihood.c:2429:22: warning: ‘preLikeAV[2]’ may be used uninitialized in this function [-Wmaybe-uninitialized]
likelihood.c:2429:22: warning: ‘preLikeAV[1]’ may be used uninitialized in this function [-Wmaybe-uninitialized]
likelihood.c:2429:22: warning: ‘preLikeAV[0]’ may be used uninitialized in this function [-Wmaybe-uninitialized]
likelihood.c:2428:22: warning: ‘preLikeLV[3]’ may be used uninitialized in this function [-Wmaybe-uninitialized]
     CLFlt           *preLikeLV[4];
                      ^
likelihood.c:2428:22: warning: ‘preLikeLV[2]’ may be used uninitialized in this function [-Wmaybe-uninitialized]
likelihood.c:2428:22: warning: ‘preLikeLV[1]’ may be used uninitialized in this function [-Wmaybe-uninitialized]
likelihood.c:2428:22: warning: ‘preLikeLV[0]’ may be used uninitialized in this function [-Wmaybe-uninitialized]
likelihood.c:2427:22: warning: ‘preLikeRV[3]’ may be used uninitialized in this function [-Wmaybe-uninitialized]
     CLFlt           *preLikeRV[4];
                      ^
likelihood.c:2427:22: warning: ‘preLikeRV[2]’ may be used uninitialized in this function [-Wmaybe-uninitialized]
likelihood.c:2427:22: warning: ‘preLikeRV[1]’ may be used uninitialized in this function [-Wmaybe-uninitialized]
likelihood.c:2427:22: warning: ‘preLikeRV[0]’ may be used uninitialized in this function [-Wmaybe-uninitialized]
likelihood.c: In function ‘CondLikeRoot_NY98_SSE’:
likelihood.c:4252:22: warning: ‘preLikeAV[3]’ may be used uninitialized in this function [-Wmaybe-uninitialized]
     CLFlt           *preLikeAV[4];
                      ^
likelihood.c:4252:22: warning: ‘preLikeAV[2]’ may be used uninitialized in this function [-Wmaybe-uninitialized]
likelihood.c:4252:22: warning: ‘preLikeAV[1]’ may be used uninitialized in this function [-Wmaybe-uninitialized]
likelihood.c:4252:22: warning: ‘preLikeAV[0]’ may be used uninitialized in this function [-Wmaybe-uninitialized]
likelihood.c:4251:22: warning: ‘preLikeLV[3]’ may be used uninitialized in this function [-Wmaybe-uninitialized]
     CLFlt           *preLikeLV[4];
                      ^
likelihood.c:4251:22: warning: ‘preLikeLV[2]’ may be used uninitialized in this function [-Wmaybe-uninitialized]
likelihood.c:4251:22: warning: ‘preLikeLV[1]’ may be used uninitialized in this function [-Wmaybe-uninitialized]
likelihood.c:4251:22: warning: ‘preLikeLV[0]’ may be used uninitialized in this function [-Wmaybe-uninitialized]
likelihood.c:4250:22: warning: ‘preLikeRV[3]’ may be used uninitialized in this function [-Wmaybe-uninitialized]
     CLFlt           *preLikeRV[4];
                      ^
likelihood.c:4250:22: warning: ‘preLikeRV[2]’ may be used uninitialized in this function [-Wmaybe-uninitialized]
likelihood.c:4250:22: warning: ‘preLikeRV[1]’ may be used uninitialized in this function [-Wmaybe-uninitialized]
likelihood.c:4250:22: warning: ‘preLikeRV[0]’ may be used uninitialized in this function [-Wmaybe-uninitialized]
mv -f .deps/mb-likelihood.Tpo .deps/mb-likelihood.Po
gcc -DHAVE_CONFIG_H -I.    -mmmx -msse -msse2 -msse3 -mssse3 -msse4.1 -msse4.2 -maes -mavx -mfma -mavx2 -mrdrnd -mbmi -mbmi2 -mabm  -O3 -DNDEBUG -std=c99 -pedantic  -Wall -MT mb-mbbeagle.o -MD -MP -MF .deps/mb-mbbeagle.Tpo -c -o mb-mbbeagle.o `test -f 'mbbeagle.c' || echo './'`mbbeagle.c
mv -f .deps/mb-mbbeagle.Tpo .deps/mb-mbbeagle.Po
gcc -DHAVE_CONFIG_H -I.    -mmmx -msse -msse2 -msse3 -mssse3 -msse4.1 -msse4.2 -maes -mavx -mfma -mavx2 -mrdrnd -mbmi -mbmi2 -mabm  -O3 -DNDEBUG -std=c99 -pedantic  -Wall -MT mb-mcmc.o -MD -MP -MF .deps/mb-mcmc.Tpo -c -o mb-mcmc.o `test -f 'mcmc.c' || echo './'`mcmc.c
mv -f .deps/mb-mcmc.Tpo .deps/mb-mcmc.Po
gcc -DHAVE_CONFIG_H -I.    -mmmx -msse -msse2 -msse3 -mssse3 -msse4.1 -msse4.2 -maes -mavx -mfma -mavx2 -mrdrnd -mbmi -mbmi2 -mabm  -O3 -DNDEBUG -std=c99 -pedantic  -Wall -MT mb-model.o -MD -MP -MF .deps/mb-model.Tpo -c -o mb-model.o `test -f 'model.c' || echo './'`model.c
model.c: In function ‘SetModelInfo’:
model.c:17924:48: warning: ordered comparison of pointer with integer zero [-Wpedantic]
         else if (activeParams[P_MIXTURE_RATES] > 0)
                                                ^
mv -f .deps/mb-model.Tpo .deps/mb-model.Po
gcc -DHAVE_CONFIG_H -I.    -mmmx -msse -msse2 -msse3 -mssse3 -msse4.1 -msse4.2 -maes -mavx -mfma -mavx2 -mrdrnd -mbmi -mbmi2 -mabm  -O3 -DNDEBUG -std=c99 -pedantic  -Wall -MT mb-proposal.o -MD -MP -MF .deps/mb-proposal.Tpo -c -o mb-proposal.o `test -f 'proposal.c' || echo './'`proposal.c
proposal.c: In function ‘Move_ParsFossilSPRClock’:
proposal.c:9486:25: warning: variable ‘rateMult’ set but not used [-Wunused-but-set-variable]
     divFactor, nStates, rateMult, v_approx, minV;
                         ^
proposal.c: In function ‘Move_ParsSPRClock’:
proposal.c:11892:82: warning: variable ‘rateMult’ set but not used [-Wunused-but-set-variable]
                 cumulativeProb, warpFactor, sum1, sum2, ran, divFactor, nStates, rateMult, v_approx, minV;
                                                                                  ^
mv -f .deps/mb-proposal.Tpo .deps/mb-proposal.Po
gcc -DHAVE_CONFIG_H -I.    -mmmx -msse -msse2 -msse3 -mssse3 -msse4.1 -msse4.2 -maes -mavx -mfma -mavx2 -mrdrnd -mbmi -mbmi2 -mabm  -O3 -DNDEBUG -std=c99 -pedantic  -Wall -MT mb-sumpt.o -MD -MP -MF .deps/mb-sumpt.Tpo -c -o mb-sumpt.o `test -f 'sumpt.c' || echo './'`sumpt.c
mv -f .deps/mb-sumpt.Tpo .deps/mb-sumpt.Po
gcc -DHAVE_CONFIG_H -I.    -mmmx -msse -msse2 -msse3 -mssse3 -msse4.1 -msse4.2 -maes -mavx -mfma -mavx2 -mrdrnd -mbmi -mbmi2 -mabm  -O3 -DNDEBUG -std=c99 -pedantic  -Wall -MT mb-utils.o -MD -MP -MF .deps/mb-utils.Tpo -c -o mb-utils.o `test -f 'utils.c' || echo './'`utils.c
utils.c: In function ‘PrintPolyNodes’:
utils.c:5396:49: warning: ordered comparison of pointer with integer zero [-Wpedantic]
                 if (pt->nEvents[i*pt->nNodes+j] > 0)
                                                 ^
mv -f .deps/mb-utils.Tpo .deps/mb-utils.Po
gcc -mmmx -msse -msse2 -msse3 -mssse3 -msse4.1 -msse4.2 -maes -mavx -mfma -mavx2 -mrdrnd -mbmi -mbmi2 -mabm  -O3 -DNDEBUG -std=c99 -pedantic  -Wall   -o mb mb-bayes.o mb-best.o mb-command.o mb-likelihood.o mb-mbbeagle.o mb-mcmc.o mb-model.o mb-proposal.o mb-sumpt.o mb-utils.o  -lm  -lreadline
make[2]: Leaving directory '/media/viktor/www2/main/vsenderov.backup/BIG4_Stockholm_Workshop/MrBayes/mrbayes-pre-3.2.7/src'
make[1]: Leaving directory '/media/viktor/www2/main/vsenderov.backup/BIG4_Stockholm_Workshop/MrBayes/mrbayes-pre-3.2.7/src'
Making all in doc
make[1]: Entering directory '/media/viktor/www2/main/vsenderov.backup/BIG4_Stockholm_Workshop/MrBayes/mrbayes-pre-3.2.7/doc'
Making all in tutorial
make[2]: Entering directory '/media/viktor/www2/main/vsenderov.backup/BIG4_Stockholm_Workshop/MrBayes/mrbayes-pre-3.2.7/doc/tutorial'
make[2]: Nothing to be done for 'all'.
make[2]: Leaving directory '/media/viktor/www2/main/vsenderov.backup/BIG4_Stockholm_Workshop/MrBayes/mrbayes-pre-3.2.7/doc/tutorial'
make[2]: Entering directory '/media/viktor/www2/main/vsenderov.backup/BIG4_Stockholm_Workshop/MrBayes/mrbayes-pre-3.2.7/doc'
make[2]: Nothing to be done for 'all-am'.
make[2]: Leaving directory '/media/viktor/www2/main/vsenderov.backup/BIG4_Stockholm_Workshop/MrBayes/mrbayes-pre-3.2.7/doc'
make[1]: Leaving directory '/media/viktor/www2/main/vsenderov.backup/BIG4_Stockholm_Workshop/MrBayes/mrbayes-pre-3.2.7/doc'
Making all in examples
make[1]: Entering directory '/media/viktor/www2/main/vsenderov.backup/BIG4_Stockholm_Workshop/MrBayes/mrbayes-pre-3.2.7/examples'
make[1]: Nothing to be done for 'all'.
make[1]: Leaving directory '/media/viktor/www2/main/vsenderov.backup/BIG4_Stockholm_Workshop/MrBayes/mrbayes-pre-3.2.7/examples'
make[1]: Entering directory '/media/viktor/www2/main/vsenderov.backup/BIG4_Stockholm_Workshop/MrBayes/mrbayes-pre-3.2.7'
make[1]: Nothing to be done for 'all-am'.
make[1]: Leaving directory '/media/viktor/www2/main/vsenderov.backup/BIG4_Stockholm_Workshop/MrBayes/mrbayes-pre-3.2.7'
viktor@aurascens:/media/viktor/www2/main/vsenderov.backup/BIG4_Stockholm_Workshop/MrBayes/mrbayes-pre-3.2.7$ cd src
viktor@aurascens:/media/viktor/www2/main/vsenderov.backup/BIG4_Stockholm_Workshop/MrBayes/mrbayes-pre-3.2.7/src$ ./mb


                            MrBayes vpre-3.2.7 x86_64

                      (Bayesian Analysis of Phylogeny)

              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.


MrBayes > execute ../examples/primates.nex

   Executing file "../examples/primates.nex"
   DOS line termination
   Longest line length = 920
   Parsing file
   Expecting NEXUS formatted file
   Reading data block
      Allocated taxon set
      Allocated matrix
      Defining new matrix with 12 taxa and 898 characters
      Data is Dna
      Data matrix is not interleaved
      Gaps coded as -
      Taxon  1 -> Tarsius_syrichta
      Taxon  2 -> Lemur_catta
      Taxon  3 -> Homo_sapiens
      Taxon  4 -> Pan
      Taxon  5 -> Gorilla
      Taxon  6 -> Pongo
      Taxon  7 -> Hylobates
      Taxon  8 -> Macaca_fuscata
      Taxon  9 -> M_mulatta
      Taxon 10 -> M_fascicularis
      Taxon 11 -> M_sylvanus
      Taxon 12 -> Saimiri_sciureus
      Successfully read matrix
      Setting default partition (does not divide up characters)
      Setting model defaults
      Seed (for generating default start values) = 1476110654
      Setting output file names to "../examples/primates.nex.run<i>.<p|t>"
   Exiting data block
   Reached end of file

MrBayes > lset nst=6 rates=invgamma

   Setting Nst to 6
   Setting Rates to Invgamma
   Successfully set likelihood model parameters

MrBayes > mcmc ngen=20000 samplefreq=100

   Setting number of generations to 20000
   Setting sample frequency to 100
   Running Markov chain
   MCMC stamp = 5431272189
   Seed = 644352225
   Swapseed = 1476110654
   Model settings:

      Data not partitioned --
         Datatype  = DNA
         Nucmodel  = 4by4
         Nst       = 6
                     Substitution rates, expressed as proportions
                     of the rate sum, have a Dirichlet prior
                     (1.00,1.00,1.00,1.00,1.00,1.00)
         Covarion  = No
         # States  = 4
                     State frequencies have a Dirichlet prior
                     (1.00,1.00,1.00,1.00)
         Rates     = Invgamma
                     The distribution is approximated using 4 categories.
                     Shape parameter is exponentially
                     distributed with parameter (1.00).
                     Proportion of invariable sites is uniformly dist-
                     ributed on the interval (0.00,1.00).

   Active parameters:

      Parameters
      ---------------------
      Revmat              1
      Statefreq           2
      Shape               3
      Pinvar              4
      Ratemultiplier      5
      Topology            6
      Brlens              7
      ---------------------

      1 --  Parameter  = Revmat
            Type       = Rates of reversible rate matrix
            Prior      = Dirichlet(1.00,1.00,1.00,1.00,1.00,1.00)

      2 --  Parameter  = Pi
            Type       = Stationary state frequencies
            Prior      = Dirichlet

      3 --  Parameter  = Alpha
            Type       = Shape of scaled gamma distribution of site rates
            Prior      = Exponential(1.00)

      4 --  Parameter  = Pinvar
            Type       = Proportion of invariable sites
            Prior      = Uniform(0.00,1.00)

      5 --  Parameter  = Ratemultiplier
            Type       = Partition-specific rate multiplier
            Prior      = Fixed(1.0)

      6 --  Parameter  = Tau
            Type       = Topology
            Prior      = All topologies equally probable a priori
            Subparam.  = V

      7 --  Parameter  = V
            Type       = Branch lengths
            Prior      = Unconstrained:GammaDir(1.0,0.1000,1.0,1.0)



   The MCMC sampler will use the following moves:
      With prob.  Chain will use move
         0.93 %   Dirichlet(Revmat)
         0.93 %   Slider(Revmat)
         0.93 %   Dirichlet(Pi)
         0.93 %   Slider(Pi)
         1.85 %   Multiplier(Alpha)
         1.85 %   Slider(Pinvar)
         9.26 %   ExtSPR(Tau,V)
         9.26 %   ExtTBR(Tau,V)
         9.26 %   NNI(Tau,V)
         9.26 %   ParsSPR(Tau,V)
        37.04 %   Multiplier(V)
        12.96 %   Nodeslider(V)
         5.56 %   TLMultiplier(V)

   Division 1 has 413 unique site patterns
   Initializing conditional likelihoods
   Using standard SSE likelihood calculator for division 1 (single-precision)
   Initializing invariable-site conditional likelihoods

   Initial log likelihoods and log prior probs for run 1:
      Chain 1 -- -8313.457486 -- 42.620562
      Chain 2 -- -8091.452425 -- 42.620562
      Chain 3 -- -8616.372338 -- 42.620562
      Chain 4 -- -8443.232348 -- 42.620562

   Initial log likelihoods and log prior probs for run 2:
      Chain 1 -- -8690.014317 -- 42.620562
      Chain 2 -- -8929.121980 -- 42.620562
      Chain 3 -- -9097.540960 -- 42.620562
      Chain 4 -- -8550.633825 -- 42.620562


   There are results from a previous run saved using the same filename(s).
   Do you want to overwrite these results? (yes/no): yes
   Enter yes or no: yes

   Overwriting file "../examples/primates.nex.mcmc"
   Overwriting file "../examples/primates.nex.run1.p"
   Overwriting file "../examples/primates.nex.run1.t"
   Overwriting file "../examples/primates.nex.run2.p"
   Overwriting file "../examples/primates.nex.run2.t"

   Using a relative burnin of 25.0 % for diagnostics

   Chain results (20000 generations requested):

       0 -- [-8313.457] (-8091.452) (-8616.372) (-8443.232) * [-8690.014] (-8929.122) (-9097.541) (-8550.634)
    1000 -- (-6101.868) [-6001.434] (-6109.854) (-6085.863) * [-5885.755] (-6007.576) (-5931.288) (-5972.903) -- 0:00:00
    2000 -- (-5931.308) [-5880.866] (-5986.220) (-5966.819) * (-5848.452) (-5880.515) (-5864.154) [-5836.429] -- 0:00:09
    3000 -- (-5825.284) [-5795.829] (-5882.558) (-5830.746) * (-5807.743) (-5798.834) (-5808.548) [-5771.606] -- 0:00:11
    4000 -- (-5759.272) [-5766.558] (-5795.408) (-5794.993) * (-5755.220) (-5767.363) (-5762.135) [-5749.060] -- 0:00:12
    5000 -- (-5742.262) [-5726.665] (-5759.148) (-5764.162) * (-5741.444) (-5759.927) (-5740.000) [-5734.159] -- 0:00:12

   Average standard deviation of split frequencies: 0.000000

    6000 -- (-5747.332) [-5721.931] (-5737.319) (-5740.739) * (-5727.579) (-5742.834) [-5726.464] (-5744.206) -- 0:00:09
    7000 -- (-5732.267) (-5728.911) (-5730.468) [-5729.768] * (-5733.824) (-5725.529) [-5730.119] (-5740.392) -- 0:00:09
    8000 -- (-5731.855) [-5726.589] (-5746.268) (-5727.590) * (-5729.004) (-5733.509) (-5725.825) [-5730.853] -- 0:00:09
    9000 -- (-5725.764) [-5723.277] (-5725.186) (-5729.060) * (-5727.799) (-5738.931) (-5733.385) [-5728.965] -- 0:00:08
   10000 -- (-5729.410) (-5731.058) [-5721.859] (-5731.102) * (-5724.367) (-5726.773) (-5731.481) [-5722.753] -- 0:00:08

   Average standard deviation of split frequencies: 0.000000

   11000 -- (-5729.095) [-5721.672] (-5731.174) (-5721.739) * (-5727.712) (-5723.771) [-5721.980] (-5725.096) -- 0:00:06
   12000 -- (-5725.151) [-5723.399] (-5725.823) (-5723.847) * (-5726.591) (-5729.599) [-5722.106] (-5725.185) -- 0:00:06
   13000 -- [-5717.067] (-5731.829) (-5725.570) (-5720.859) * (-5726.179) [-5720.482] (-5728.585) (-5728.908) -- 0:00:05
   14000 -- (-5727.955) (-5720.360) (-5724.191) [-5726.345] * (-5730.994) [-5726.004] (-5723.569) (-5724.928) -- 0:00:04
   15000 -- [-5720.429] (-5720.340) (-5723.023) (-5725.096) * (-5732.275) (-5727.926) [-5721.763] (-5729.021) -- 0:00:04

   Average standard deviation of split frequencies: 0.000689

   16000 -- (-5723.513) (-5728.635) (-5735.088) [-5717.299] * (-5729.867) (-5738.076) [-5725.160] (-5717.803) -- 0:00:03
   17000 -- [-5717.188] (-5733.865) (-5726.976) (-5728.190) * (-5741.826) (-5730.681) [-5722.555] (-5722.133) -- 0:00:02
   18000 -- (-5731.023) [-5731.236] (-5723.954) (-5730.556) * (-5730.046) [-5725.130] (-5722.516) (-5726.546) -- 0:00:01
   19000 -- [-5725.799] (-5727.795) (-5724.005) (-5722.184) * (-5720.884) (-5735.578) [-5723.059] (-5717.473) -- 0:00:00
   20000 -- (-5721.905) (-5734.297) [-5720.724] (-5723.341) * (-5727.130) (-5727.663) (-5725.625) [-5721.385] -- 0:00:00

   Average standard deviation of split frequencies: 0.000520

   Continue with analysis? (yes/no):

No segmentation fault!

We're suspecting that the configure script does not properly detect FMA or AVX on my system. Thought you should be aware of this issue!

Thanks for making such a nice and useful tool,

Regards,
Viktor

calculate root marginal asr?

Is there a way to get the marginal ASR at the root of a tree in mrbayes? I specified a topology constraint that includes all the taxa, including the outgroup, but the .pstat does not return the ASRs for the root. It does, however, if I constrain only the ingroup. Is there a different syntax needed? My mrbayes block is as follows:

begin mrbayes;
        outgroup Hemichordata;
        constraint ingroup = <taxon set ingroup>;
constraint all = <taxon set all>;
        set usebeagle=yes beaglesse=yes beaglescaling=always beagleopenmp=yes autoclose = yes nowarn = yes;
        lset coding = variable nst = mixed rates=gamma Ngammacat=6;
        unlink statefreq = ( all ) revmat = ( all ) shape = ( all ) pinvar = ( all );
        prset symdirihyperpr=fixed(infinity) applyto = ( all ) topologypr = constraints (all, ingroup);
        mcmcp ngen = 10000000 reweight=(0.1, 0.1) Nperts=10 relburnin = yes burninfrac = 0.5 printfreq = 1000 samplefreq = 1000 nchains = 1 savebrlens = yes;
        report Revmat=ratio;
        report ancstates=yes;
        mcmc;
        sump;
        sumt;
end;

Poor mixing / no convergence for covarion model

I'm running mrbayes 3.2.5. I'm having trouble with getting to convergence with the covarion model on. It seems to be caused by very poor mixing of the s(off->on) and s(on->off) parameter associated with the covarion parameter.

What happens during my run is that split frequencies slowly decrease to perhaps 0.02 where after they shoot off to 0.4 and never come down again. I tested this for 10 runs and in 4 of the cases the jump in split frequencies occurred. Setting covarion=off solves this problem (see split_freq_covarion_ON.png and split_freq_covarion_off.png). I then looked the traces for the different parameters using tracer. For the s(off->on) and s(on->off) parameter very poor mixing is seen even for the 6 runs that do convergence below a split frequency of 0.01 (see trace_s_off_to_on.png).
I've attached output files for two runs with covarion on. One of them makes it below 0.01, the other one doesn't. I've also attached the commands.nex file and a multiple alignment (msa.nexus) with gap encoding.

Thanks for looking into this and let me know if I can be of further help.
Chris

covarion_bug.zip
(https://sourceforge.net/p/mrbayes/bugs/1628)

Likelihood is inf using beagle for codon analysis

Using the attached data, the likelihood becomes "inf" in the middle of the run.
The version is MrBayes v3.2.4-svn(r966) x64, without MPI.
...
500 -- (-242117.045) [-233174.226] (-262217.042) (-267647.565) -- 364:15:44
510 -- (-241539.825) [-231941.219] (-262017.935) (-266845.694) -- 368:00:14
520 -- (-239139.057) [-231704.864] (inf) (-264470.317) -- 370:32:01
530 -- (-237672.824) [-231531.372] (inf) (-264321.214) -- 377:40:56
540 -- (-237663.203) [-230698.449] (inf) (-263448.747) -- 380:58:01
550 -- (-236721.796) [-230517.439] (inf) (-263288.403) -- 386:39:21
...
Change "beaglescaling=dynamic" to "beaglescaling=always" or disable beagle seems working fine.

all4.nex.zip
(https://sourceforge.net/p/mrbayes/bugs/1624)

Empty column in .p file with prset symdirihyperpr=fixed

Transferred from https://sourceforge.net/p/mrbayes/bugs/1657/

Created: 2018-04-06
Creator: Martin Smith

MrBayes 3.2.6 on Windows 10 is producing an additional header in the .p files (or an empty column, depending on how you look at it).

My feeling is that this is related to using the command

prset applyto=(1) symdirihyperpr=fixed(1.0);

This causes an error in command "Sump":

Expected 9 headers but found 10 headers

I've attached an example .p file and include the MrBayes block below.
I'd be happy to share the full matrix privately if that helps to reconstruct the error.

Comment (2018-04-11):
As a further observation, character 83 in the above matrix had four states (0, 1, 2, 3). Moving it from charset 1 to charset 2, such that it was not subject to the symdirihyperpr, meant that the pi_83 parameters did not need to be estimating, and all the columns were populated. Adding another character with three states (0, 1, 2) to charset 1 meant that three new columns were added to the pstat file, pi_66(0), pi_66(1), and pi_66(2). This leads me to suspect that the issue is that the m{1} column is not populated when some characters under the fixed symdidihyperpr have multiple states.

BEGIN MRBAYES;
set autoclose=yes nowarn=yes;
lset coding=variable rates=gamma;
prset brlenspr = unconstrained: gammadir(1, 0.326, 1, 1);
charset Neomorphic = 1 4 6 7 8 9 11 13 16 17 18 21 22 23 24 27 28 29 32 34 36 43 44 46 47 48 49 50 51 54 58 59 60 61 63 64 68 69 71 72 74 77 78 82 83 84 85 86 88 89 90 93 94 96;
charset Transformational = 2 3 5 10 12 14 15 19 20 25 26 30 31 33 35 37 38 39 40 41 42 45 52 53 55 56 57 62 65 66 67 70 73 75 76 79 80 81 87 91 92 95 97 98;
partition chartype2 = 2: Neomorphic, Transformational;
set partition = chartype2;
unlink shape=(all) pinvar=(all);
prset applyto=(1) symdirihyperpr=fixed(1.0);
prset applyto=(1) ratepr=variable;
outgroup Dailyatia;
mcmc ngen=1000000 samplefreq=500 nruns=4 nchains=8 burninfrac=0.1;
sumt burninf=0.1; [fine]
sump burninf=0.1; [errors]
END;
hyo.nex.run1.p.gz

Move test files

We need to move test file and other documents inte GitHub.

Location of these now?

SSE code (possibly) generates element in wrong order

From renqiang[at]nbjl.nankai.edu.cn:
[...] in the functions CondLikeDown_Bin() and CondLikeDown_Bin_SSE(), both are in the
file likelihood.c, while calculating clP, the sequence of accessing to elements in tiProbs (tiPL[] and tiPR[]) and conLikes (clL[] and clR[]) is different. I think this will result in a different clP between SSE algorithm and normal algorithm.

Continuous datatype

I tried to analyze continuous characters on MrBayes 3.1.2 and 3.2 on Windows XP and Windows 7.
The command file (attached to this message) is read without problems but when i start the chains the program closes.
Windows XP returns this error codes:
AppName: mrbayes.exe AppVer: 0.0.0.0 ModName: mrbayes.exe ModVer: 0.0.0.0 Offset: 000c08e0

continuous.nex.zip

FAST_LOG

The FAST_LOG macro used to be settable through configure --enable-fastlog (or similar), but is currently disabled unconditionally.

Do we want to add --enable-fastlog back into configure?

What does it actually do?

globalNSitesOfPat in Move_ParsSPR

The globalNSitesOfPat is the pointer of compressed chars of model m acrroding to the following initial statement.

globalNSitesOfPat = numSitesOfPat + (chainId[chain] % chainParams.numChains) * numCompressedChars + m->compCharStart;

But globalNSitesOfPat should be the pointer of all compressed chars of all models acrroding to the following statements.

nSitesOfPat = (CLFlt *) SafeCalloc (numCompressedChars, sizeof(CLFlt));
for (i=0; i<numCompressedChars; i++)
    nSitesOfPat[i] = globalNSitesOfPat[i];
nSites = nSitesOfPat + m->compCharStart;

To fix the bug which may cause segmentation fault and error result, I think the statement:

globalNSitesOfPat = numSitesOfPat + (chainId[chain] % chainParams.numChains) * numCompressedChars + m->compCharStart;

should be changed to:

globalNSitesOfPat = numSitesOfPat + (chainId[chain] % chainParams.numChains) * numCompressedChars

There are similar problems in other functions, but their relProposalProb are assigned to 0.0 in function SetUpMoveTypes, so they may be unused in Mrbayes 3.2.6.

starttree bug

Transferred fom https://sourceforge.net/p/mrbayes/bugs/1647/

Created: 2017-04-04
Creator: karen mendez

hi, I am using mrbayes-3.2.6

when i run a calibration file with a start tree i got:

No valid match for argument "usertree"
Invalid 'Starttree' argument ''. This is a bug -- please report.
Error when setting parameter "Starttree" (2)
the files is:

begin trees;
tree usertree = ;
end;

begin mrbayes;
startvals tau=usertree;
end;
...

mcmc ngen=1200000 nchains=4 printfreq=1000 samplefreq=1000 starttree=usertree nperts=2;

Birth-Death model parameterization

In previous versions of MrBayes we had the BD model parameterized so that you had a separate prior on tree age, and then given that prior a density on the tree given the BD parameters. Some years ago, it was changed to use Tanja's BD density that integrates out the age of the tree given a uniform prior from 0 to infinity. However, this is probably for many empirical problems a distribution that puts too much probability on really old trees. Also, it is inconsistent with the more recently added FBD model. So I think we should change the BD model implementation back so that it uses the conditional density, given the tree age, and then use a separate density on tree age, like we do for the FBD model. Would Chi be willing to look at this?

Bugs introduced into develop branch

I obviously did not check the new command processing code properly, so now there are some serious bugs that got incorporated into the develop branch.

The changes in the memory allocation code also revealed some problematic allocations that need to be fixed.

I should have a fix to these problems committed to develop within a few hours.

Wrong result doing "Identifying Positively Selected Sites" tutorial.

Doing the tutorial "Identifying Positively Selected Sites" from the Manual, the result I obtained is wrong and does not indicate positive natural selection. In the manual, pr+ (292,293,294) = 0.998 and omega (292,293,294) = 1.21 are shown; but the values I get are very different and do not indicate positive natural selection for this codon (pr + (292,293,294) = 0.00002 and omega (292,293,294) = 0.069757). I repeated the same analysis only changing the number of generations to 100,000 and got a similar wrong result.

My computer is an iMac 3.2 GHz Intel Core i5, 8GB 1600 MHz DDR3, NVIDIA GeForce GT 755M 1024 MB, with Yosemite OS X (version 10.10.5).

I installed the driver CUDA “cudadriver-7.5.21-macos.dmg”, and I installed MrBayes with MPI and BEAGLE through Homebrew (brew install homebrew/science/mrbayes --with-beagle --with-mpi). MrBayes version v3.2.5 x64 .

I think the problem is with BEAGLE because when I run the "showbeagle" command this produces two types of outputs and the two outputs appear to be erroneous.

In the attachment file you find:
Replicase_ngen_10000 folder: the data file "replicase.nex", all the output files, and the "Whole_out_of_the_run_1.log" file contains all the output of MrBayes program.
Replicase_ngen_100000 folder: the data file "replicase.nex", all the output files, and the "Whole_out_of_the_run_2.log" file contains all the output of MrBayes program when using 100,000 generations.
showbeagle1.txt: one of the two types outputs of MrBayes using showbeagle command.
showbeagle2.txt: the other output when using the showbeagle command of MrBayes.

Thanks for your time,
Contact e-mail: [email protected]

Wrong_result_NS.zip
(https://sourceforge.net/p/mrbayes/bugs/1636)

The readline library does not play well with MPI

Whenever MrBayes is compiled with an MPI C compiler (OpenMPI/MPICH), the readline library seems to stop working entirely (no command history within an interactive session, and no command tab-completion). I've seen other people have problem with this, so I don't think it's a bug in the actual MrBayes code. However, it's an issue, so I'll add it here.

feature/random_number_cleanup

@kusalananda : I have looked at the changes introduced in random_number_cleanup feature branch.

Replacing the existing random number generator with a system-provided generator is not a good idea in my view. There is no guarantee that a system-provided generator will produce the same series of random numbers on different machines even if the same seed is used, as far as I can tell. This could potentially be extremely frustrating when trying to reproduce bugs that occur very rarely during MCMC simulation.

In addition, I can find no information on the web on the new random() function. It does not appear to be part of the C standard. Presumably it is a recent non-standard addition to one of (or some of) the C libraries (it seems that it is a POSIX standard), or it is in the C++ standard and not in the C standard (I may be wrong; please inform me if so). We tend to avoid such non-standard functions in MrBayes.

There are also several serious problems with the new code in the MPI version. First, the series produced off of globalSeed, and used for everything but swaps (and run stamps), produces the same series of random numbers for each parallel chain, because the offset tactic ("seed = globalSeed + proc_id" in mcmc.c) used in the original code to produce unique series of random numbers for each processor now is defunct. So all parallel chains with the same temperature will do exactly the same thing, as far as I can tell. Even worse, the current MPI swap mechanism relies on all chains being able to generate exactly the same sequence of random numbers off of the swapSeed seed to be able to figure out how to swap values. Since no seed is used in the new RandomNumber function, the MPI version would surely crash pretty soon because different processors would be confused over how to swap values as they generate different swapA and swapB values (see GetSwappers and AttemptSwap functions in mcmc.c).

It is possible to address both the MPI swapping problem and the MPI identical random number sequence problems in several ways, using either system RNG's or user-specified RNG's like the one we use now in MrBayes. They will require a fair amount of programming however. There are several better RNG's available that could replace the current one, including for instance the Mersenne Twister, which I think is the one used in R, and many other statistics software packages, I think. I would rather do this than shift to a system-provided RNG. If it costs 10 % in performance, I would not be worried. I would take even worse hits before seriously considering a system-provided RNG.

There are several additional problems with this particular feature branch, which would have to be corrected before it were merged with the rest of the code. I am sure you are aware of these, but just for the record:

  1. The RandomNumber function in utils. c has an incorrect header comment, this needs to be corrected.
  2. RandomNumber function is not using its argument. The declaration of RandomNumber should be changed accordingly and no calls to the function should pass a non-used argument.
  3. A note about any change to the RandomNumber function should be added to the comment header of the RandomNumber function.
  4. The old code in the #if 0 block should be removed, or at least commented clearly.
  5. The swapSeed, runIDSeed and globalSeed would have to be merged and all the interface functionality changed to reflect this, for instance in the info output about the run, in the "set" command, in the help info for the "set" command etc.

/Fredrik

Segmentation Fault when setting constraints in a very large tree

I am using PASTIS to generate a very large tree for comparative analysis. If I run the file generated by PASTIS on mrbayes v.3.2.6, I get a Segmentation Fault Error. This has happened using both the serial and mpi versions on a Mac and a Linux cluster.

I believe this might be due to the number of tips in the phylogeny (>300K), since even a file with a very simple constraint (attached) reproduces the error, and there is no error if I use the same file with just a few tips. The chain starts if I use the uniform topology prior, and the error happens exactly when setting constraints as the topology prior. Is there any workaround this issue?

I am attaching both the nexus file that generates the error and the output log.

Thanks,
Bruno

constraint.zip
(https://sourceforge.net/p/mrbayes/bugs/1642)

New model for rate variation across sites

As many people have noted, the gamma model is not always an appropriate choice to model rate variation across sites. Adding an invariable rate category can help but is not necessarily a good idea. There is an interesting alternative that I would like to see in MrBayes, namely a k-mixture model where you simply specify k rate categories and estimate the rates of each category separately. This could be implemented easily in MrBayes if you constrain the category probabilities to be equal.

I suggest doing this such that you invoke the model with "rates=catrates". Number of categories is set as with the discrete gamma approximation. Rates in the categories are drawn from an ordered Dirichlet distribution (ordered to ensure identifiability).

MPI job stopped without warnings when sequences are large

I tested running mb commands as in 43ubuntu10_int_NEX2.nex attached. It was ok for a subset of my original file, 43ubuntu10_test2_nex_space.nex (nchar=120) (see mpirun.o3675846), but for my full 1GB file, the run was stuck in loading data matrix (see mpirun.o3675054 for the interactive output of the 1GB file, but nothing in an error file).
The 1GB file has ~280000 sequence blocks of 43 taxa (50 bp per block). The following is commands I submitted openmpi job in sun grid engine (University's cluster).
$-bash-4.1$ qsub -cwd -pe smp 4 -b y mpirun -np 8 --mca btl_tcp_if_include p120p2 mb -i 43ubuntu10_int_NEX2.nex
Your job 3675846 ("mpirun") has been submitted
I compiled mb source code with ./configure --with-beagle=no --enable-mpi=yes. I attached config.log file here. Thankyou for your clarification.
Regards, Weerachai

question.zip
(https://sourceforge.net/p/mrbayes/bugs/1633)

Type-punning and strict-aliasing

When compiling the code with gcc ("gcc version 4.2.1 20070719"), almost every call to SafeFree() generates the warning

warning: dereferencing type-punned pointer will break strict-aliasing rules

This is because the calls look like this:

SafeFree ((void **) &thing);

They were written this way because the SafeFree() function has the following definition:

void SafeFree (void **ptr)
{
    free (*ptr);

    (*ptr) = NULL;
}

However, the correct way of calling SafeFree() is

SafeFree ((void *) &thing);

... which doesn't make the compiler emit that warning (which only happens at optimization setting -O3 or higher with -Wall).

It still does the right thing, a void * can be made to point to anything, a void **, however, needs to point to a void *. Here's a short example program:

#include <stdio.h>
#include <stdlib.h>

void myfree(void **ptr)
{
    free(*ptr);
    *ptr = NULL;
}

int main(void)
{
    int *a, *b;

    a = malloc(100 * sizeof *a);
    b = malloc(100 * sizeof *b);

    printf("a at %p, b at %p\n", (void *)a, (void *)b);

    myfree((void **)&a);    /* line 19 */
    myfree((void *)&b);

    printf("a at %p, b at %p\n", (void *)a, (void *)b);

    return EXIT_SUCCESS;
}

Compiling and running:

$ cc --version
cc (GCC) 4.2.1 20070719
Copyright (C) 2007 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

$ cc -std=c99 -pedantic -Wall -O3 free-test.c
free-test.c: In function 'main':
free-test.c:19: warning: dereferencing type-punned pointer will break strict-aliasing rules

$ ./a.out
a at 0x578ae688400, b at 0x578fe7cf600
a at 0x0, b at 0x0

I suggest that we fix this in the affected calls to SafeFree(). I'm happy to do this.

Slightly more info about this warning: http://blog.qt.io/blog/2011/06/10/type-punning-and-strict-aliasing/

Topology moves under constraints

MrBayes samples topologies under a set of constraints.

I’ve been running analyses with a set of 10 sequences sampled from major amniote groups (example dummy dataset attached). I'm interested in comparing inferences and marginal likelihoods calculated under a series of constraints. However, I recently noticed that depending on how the constraints are set up, MrBayes seems to have trouble sampling different topologies. More specifically, it seems to turn off all topology proposals in some instances, despite the fact that the topology is not fully specified (see the attached amnioteDummyConstraints.mb file). Weirdly, however, if I run a steppingstone analysis with these constraints, topology does change every once in a while, but not very often. I noticed this because I performed two replicate runs that started with different topologies and they sampled very different trees for most of their respective runs, ending with rather different estimates of the marginal likelihood.

This doesn’t seem to happen with all constraints, only certain combinations. For the attached data, if I only specify the “birdsPos” constraint then topology moves remain on.

All of these behaviors seem to occur in both versions 3.2.2 and 3.2.5.

example.zip
(https://sourceforge.net/p/mrbayes/bugs/1627)

Problem with alpha_symdir output in 3.2.6 (and 3.2.5)

I'm hoping someone will help!
There is a bug (simple to solve I think) in the output of alpha_symdir when using standard data.
I have attached a ready-to-run file that explains the problem.

Briefly, if "prset symdirihyperpr=fixed(1)" is set to any numerical value, the estimated values for alpha_symdir are not written to the .p files, but the column header is. This throws an error when sump attempts to parse the file.

However, symdirihyperpr=fixed(infinity) or symdirihyperpr=exponential(1) or symdirihyperpr=uniform(0,10) all work fine.

Only when fixed is given a numeric value other than infinity is there a problem. The problem seems to be only in outputting results, not calculating them.

I'd really like to have this working. If someone can even just tell me where in the source code the error is, I'll try to fix it and re-compile. I've looked a bit, but I'm not much of a c programmer.

Best,
Dave Cannatella ([email protected])

CannatellaTest.nex.txt

Average standard deviation of split frequencies

Hi Professor,

When I was using mrbayes, I have something confusion and have 4 questions:

  1. As the two runs converge onto the stationary distribution, we expect the average standard deviation of split frequencies to approach zero, reflecting the fact that the two tree samples become increasingly similar. But my questions is if nruns>2(say, 3), whether the average standard deviation is presented as a total value reflecting the similarities among the three tree samples or presented as paired values reflecting the similarity of each pair tree samples among the 3?
  2. After a huge numbers of MCMC steps, it can be seen the average standard deviation of split frequencies indeed approach zero while the MCMC run. However, in a short run, it seems the change of the average standard deviation is not a continuous process, because I found the values always change among a limited number of discrete values, please see the example below. Please tell me why?
     13370000 -- [-47404.821] (-48001.334) (-47558.021) (-47754.843) * (-48142.756) (-47589.919) [-47437.287] (-47768.668) .. -- 1312:35:43

      Average standard deviation of split frequencies: 0.013077


      Average standard deviation of split frequencies: 0.013099

      13350000 -- [-47407.277] (-47991.074) (-47636.842) (-47701.000) * (-48105.463) (-47519.740) [-47416.206] (-47772.493) .. -- 1315:18:14

      Average standard deviation of split frequencies: 0.013099

      13360000 -- [-47399.334] (-47904.829) (-47615.648) (-47753.082) * (-48089.281) (-47605.298) [-47457.465] (-47766.188) .. -- 1313:57:47

      Average standard deviation of split frequencies: 0.013094

      13370000 -- [-47404.821] (-48001.334) (-47558.021) (-47754.843) * (-48142.756) (-47589.919) [-47437.287] (-47768.668) .. -- 1312:42:15

      Average standard deviation of split frequencies: 0.013077

      13350000 -- [-47407.277] (-47991.074) (-47636.842) (-47701.000) * (-48105.463) (-47519.740) [-47416.206] (-47772.493) .. -- 1315:27:56

      Average standard deviation of split frequencies: 0.013099

      13330000 -- [-47416.756] (-47985.223) (-47643.199) (-47761.140) * (-48088.912) (-47606.148) [-47467.146] (-47765.563) .. -- 1318:11:36

      Average standard deviation of split frequencies: 0.013099

      13350000 -- [-47407.277] (-47991.074) (-47636.842) (-47701.000) * (-48105.463) (-47519.740) [-47416.206] (-47772.493) .. -- 1315:32:09

      Average standard deviation of split frequencies: 0.013099

      13360000 -- [-47399.334] (-47904.829) (-47615.648) (-47753.082) * (-48089.281) (-47605.298) [-47457.465] (-47766.188) .. -- 1314:12:03

      Average standard deviation of split frequencies: 0.013094


      Average standard deviation of split frequencies: 0.013099
  1. Why in some step of MCMC there are multiple entries of average standard deviation of split frequencies but in other step there is only one entries? Please see example as below:
13350000 -- [-47407.277] (-47991.074) (-47636.842) (-47701.000) * (-48105.463) (-47519.740) [-47416.206] (-47772.493) .. -- 1314:47:30

      Average standard deviation of split frequencies: 0.013099


      Average standard deviation of split frequencies: 0.013099


      Average standard deviation of split frequencies: 0.013087


      Average standard deviation of split frequencies: 0.013094


      Average standard deviation of split frequencies: 0.013087


      Average standard deviation of split frequencies: 0.013094


      Average standard deviation of split frequencies: 0.013087


      Average standard deviation of split frequencies: 0.013099

      13330000 -- [-47416.756] (-47985.223) (-47643.199) (-47761.140) * (-48088.912) (-47606.148) [-47467.146] (-47765.563) .. -- 1317:50:45

      Average standard deviation of split frequencies: 0.013099


      Average standard deviation of split frequencies: 0.013094


      Average standard deviation of split frequencies: 0.013099

      13370000 -- [-47404.821] (-48001.334) (-47558.021) (-47754.843) * (-48142.756) (-47589.919) [-47437.287] (-47768.668) .. -- 1312:35:43

      Average standard deviation of split frequencies: 0.013077


      Average standard deviation of split frequencies: 0.013099

      13350000 -- [-47407.277] (-47991.074) (-47636.842) (-47701.000) * (-48105.463) (-47519.740) [-47416.206] (-47772.493) .. -- 1315:18:14

      Average standard deviation of split frequencies: 0.013099

      13360000 -- [-47399.334] (-47904.829) (-47615.648) (-47753.082) * (-48089.281) (-47605.298) [-47457.465] (-47766.188) .. -- 1313:57:47

      Average standard deviation of split frequencies: 0.013094

      13370000 -- [-47404.821] (-48001.334) (-47558.021) (-47754.843) * (-48142.756) (-47589.919) [-47437.287] (-47768.668) .. -- 1312:42:15
  1. Why the step went back? please see example in question 2 and 3.

By the way, my running sets are nruns=3 and nchains=4, and the MCMC was implemented under a parallel environment.

Thanks,

Jie

Can the MrBayes estimates of divergence time go out of prior bounds?

Dear users,

I tried to use MrBayes 3.2.6 (MPI) to date a fixed phylogeny. I set the priors as uniform with lower and/or upper bounds. But some of the resulting ages (including 95% HPD) present lower than the lower bound of priors. I paste my commands and the resulting chronogram afterward. Hope someone can help me. Thanks!

===== MB commands (passing data block) =====
[data set]

[tree topology]
begin trees;
tree huichong = [&R] ((((((((((((((RAP_Hysterothylacium_fabri,RAP_Hysterothylacium_spn),RAP_Hysterothylacium_aduncum),RAP_Hysterothylacium_reliquens),((RAP_Raphidascaris_longispicula,RAP_Raphidascaris_lophii),RAP_Hysterothylacium_longilabrum)),((RAP_Hysterothylacium_liparis,RAP_Hysterothylacium_sinense),RAP_Hysterothylacium_thalassini)),RAP_Raphidascaroides_nipponensis),(((((RAP_Raphidascaroides_moraveci,RAP_Raphidascaroides_brasiliensis),RAP_Hysterothylacium_pelagicum),RAP_Maricostula_tetrapteri),(RAP_Hysterothylacium_deardorffoverstreetorum,RAP_Raphidascaris_acus)),(((RAP_Hysterothylacium_amoyense,RAP_Hysterothylacium_zhoushanense),RAP_Goezia_pelagia),RAP_Iheringascaris_inquies))),(((((ASC_Baylisascaris_schroederi,ASC_Baylisascaris_ailuri),ASC_Baylisascaris_transfuga),(ASC_Baylisascaris_columnaris,ASC_Baylisascaris_procyonis)),((ASC_Ascaris_lumbricoides,ASC_Ascaris_suum),ASC_Parascaris_equorum)),ASC_Toxascaris_leonina)),((((ACA_Mawsonascaris_spn,ACA_Mawsonascaris_myliobatum),ACA_Mawsonascaris_zhoui),(ACA_Acanthocheilus_rotundatus,ACA_Pseudanisakis_rajae)),(((ASC_Toxocara_vitulorum,ASC_Toxocara_cati),ASC_Toxocara_canis),(ASC_Porrocaecum_depressum,ASC_Porrocaecum_reticulatum)))),(((((((((ANI_Anisakis_berlandi,ANI_Anisakis_simplex),ANI_Anisakis_pegreffii),ANI_Anisakis_ziphidarum),ANI_Anisakis_typica),((ANI_Anisakis_brevispiculata,ANI_Anisakis_paggiae),ANI_Anisakis_physeteris)),ANI_Terranova_caballeroi),((ANI_Pseudoterranova_azarasi,ANI_Pseudoterranova_cattani),ANI_Pseudoterranova_decipiens)),ANI_Pulchrascaris_chiloscyllii),(((((ANI_Contracaecum_ogmorhini,ANI_Contracaecum_rudolphii),ANI_Contracaecum_bioccai),ANI_Contracaecum_multipapillatum),ANI_Contracaecum_microcephalum),((ANI_Contracaecum_osculatum,ANI_Phocascaris_cystophorae),ANI_Contracaecum_radiatum)))),(((HETC_Dujardinascaris_gigantea,HETC_Ortleppascaris_sinensis),HETC_Krefftascaris_sharpiloi),HETC_Heterocheilus_tunicatus)),OGCOS_Oxyascaris_sp),OGCOS_Cruzia_americana),OGHETK_Ascaridia_galli);
end;

begin mrbayes;
charset ITS = 1-1382;
charset 28S = 1383-2152;
charset 18S = 2153-3908;
charset COICOII = 3909-4948 4949-5540;
charset 12S = 5541-6069;
partition matrices = 5: ITS, 28S, 18S, COICOII, 12S;
set partition = matrices;

lset applyto=(1) nst=6 rates=invgamma;
lset applyto=(2) nst=2 rates=invgamma;
lset applyto=(3) nst=2 rates=invgamma;
prset applyto=(3) statefreqpr=fixed(equal);
lset applyto=(4) nst=2 rates=invgamma;
lset applyto=(5) nst=6 rates=invgamma;

prset applyto=(all) ratepr=variable;
unlink statefreq=(all) revmat=(all) shape=(all) pinvar=(all) tratio=(all);

[all the constrained clades are monophyletic nodes in the tree above]
constraint RAP = RAP_Goezia_pelagia RAP_Hysterothylacium_aduncum RAP_Hysterothylacium_amoyense RAP_Hysterothylacium_deardorffoverstreetorum RAP_Hysterothylacium_fabri RAP_Hysterothylacium_liparis RAP_Hysterothylacium_longilabrum RAP_Hysterothylacium_pelagicum RAP_Hysterothylacium_reliquens RAP_Hysterothylacium_sinense RAP_Hysterothylacium_spn RAP_Hysterothylacium_thalassini RAP_Hysterothylacium_zhoushanense RAP_Iheringascaris_inquies RAP_Maricostula_tetrapteri RAP_Raphidascaris_acus RAP_Raphidascaris_longispicula RAP_Raphidascaris_lophii RAP_Raphidascaroides_brasiliensis RAP_Raphidascaroides_moraveci RAP_Raphidascaroides_nipponensis;
constraint ACA_Mawsonascaris = ACA_Mawsonascaris_myliobatum ACA_Mawsonascaris_spn ACA_Mawsonascaris_zhoui;
constraint ANI_Anisakis = ANI_Anisakis_berlandi ANI_Anisakis_brevispiculata ANI_Anisakis_paggiae ANI_Anisakis_pegreffii ANI_Anisakis_physeteris ANI_Anisakis_simplex ANI_Anisakis_typica ANI_Anisakis_ziphidarum;
constraint ANI_Pseudoterranova = ANI_Pseudoterranova_azarasi ANI_Pseudoterranova_cattani ANI_Pseudoterranova_decipiens;

calibrate
    RAP = unif(151.2,250.0)
    ACA_Mawsonascaris = unif(170.3,1E4) [**NOTE: I used 1E4 instead of unlimited upper bound. The resulting age of this node (MRCA) is only ~30 Mya!**]
    ANI_Anisakis = unif(33.9,52.4)
    ANI_Pseudoterranova = unif(28.5,50)
    ;
   
prset brlenspr=clock:uniform;
prset treeagepr = unif(0,541);
prset nodeagepr=calibrated;
prset ratepr=variable topologypr=fixed(huichong);
prset clockratepr=lognorm(-7,0.6);
prset clockvarpr=igr;
prset igrvarpr=exp(10);
   
set usebeagle=yes beagledevice=cpu beagleprecision=double;
set beaglescaling=dynamic beaglesse=yes;

mcmc ngen= 10000000 printfreq=1000 samplefreq=1000 nruns=4 nchains=5 savebrlens=yes;

end;

======== resulting tree (red box show the clade with wrong estimates)
image

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.