Skip to content

Perform a Posterior Predictive test to validate phylogenetic inference done with MrBayes and ExaBayes

License

Notifications You must be signed in to change notification settings

svicario/TreePosteriorPredictor

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

31 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

image

TreePosteriorPredictor

Perform a Posterior Predictive test to validate phylogenetic inference done with MrBayes and ExaBayes

The project includes the following files:

  • jsonify.py -- it transform the the output from mrBayes or Exabayes in a json format
  • PosteriorSimulator.py -- it parse the json file and use evolver from PAML package to simulate new data set, then each data partition of each data set is scored using the maximum likelihood statistics. An XML that describe the difference between observed and simulated data is given in standardouput
  • evolver -- software compiled for macosx 10.9.2. details in README_PAML
  • README_PAML -- all details for the distribution of PAML suite and the included evolver software
  • Folder with protein model in PAML format
  • README.md -- this file

Dependency

The project need the evolved program see README_PAML for details on this software.
The project was written in Python 2.7. backward compatibility but should span from 2.4 and on, but was not tested.
The following module were used:

Jsonify

There are 6 inputs that need to be passed using the unix cmd line style here the details:

-j jsonoutput
-i nexus input
-a alignment in phylip format (for exabayes in case the exabayes call was done using binary alignment)
-p namerun
-b burnin
-s sample size 
-m boolean 0 or 1 the input is mrbayes (otherwise exabayes)

Limitation of Jsonify

The program correctly represent partitioned model in which one type of data (DNA, Protein or Codon) is present in the multiple sequences alignment (MSA). MSA with mixed type may not correctly represented.

At the moment protein model with fixed parameters are represented with a common name in the field "shape" within the "matrix" section. Future version will spell out actual value of all parameters to avoid name ambiguity

The program do not represent model with parameters changing value across the tree

PosteriorSimulator

There are the following options:

-j jsoninput path
-e path to  evolver
-i input MSA
-f input MSA format (all format accepted by biopython)

Example of use

MrBayes example

cd example/mrbayes
python  ../../Jsonify.py -j prova.json -i Limenitidinae6.nex -p Limenitidinae6.nex -b 0 -s 100 -m 1
python ../../PosteriorSimulator.py -s prova.json -i Limenitidinae6.nex -f nexus

ExaBayes example

cd example/exabayes
python ../../Jsonify.py   -j prova.json -b 10 -m 0 -s 10 -p myRun
python ../../PosteriorSimulator.py  -j prova.json -i aln.phy -f phylip

in case of use of binary alignment to inform jsnoify is possible to use also the option -a and -d. This option override the alignment file definition within the file Exabayes_info.myRun.

python ../../Jsonify.py   -j prova.json -b 10 -m 0 -s 10 -p myRun -a aln.phy -d DNA

About

Perform a Posterior Predictive test to validate phylogenetic inference done with MrBayes and ExaBayes

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Languages