Coder Social home page Coder Social logo

mp-est's Introduction

MP-EST (v3.0): Maximum Pseudo-likelihood Estimation of Species Trees

Install OS Version Release Date Downloads License

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

MP-EST estimates species trees (topology and branch lengths in coalescent units) from a set of gene trees by maximizing a pseudo-likelihood function. The input data of MP-EST are rooted gene trees. Unlike previous versions, MP-EST3.0 uses the command line interface, i.e., no control file is needed for running MP-EST3.0.

New features in version 3.0

  1. MP-EST3.0 can build an NJst tree and use it as the initial tree to find the MP-EST tree.

  2. MP-EST3.0 can convert short branches (<1e-06) to polytomies in the gene trees.

  3. MP-EST3.0 can take polytomy gene trees as input to estimate species trees.

  4. MP-EST3.0 can calculate triplet/quartet distances among gene trees

  5. MP-EST3.0 outputs species-tree-gene-tree concordance scores for each internal node of the MP-EST tree.

Installation

There are two ways to install MP-EST:

1. Install from bioconda

MP-EST is available as a package on bioconda. With conda or mamba already installed and your channels set up for bioconda, simply type the following to install:

conda create -n mp-est-env
conda activate mp-est-env
conda install mp-est

This will create a new environment and activate it and then install mp-est from bioconda. Alternateively, you could install in an environment you've already created.

If you use mamba instead of conda, just replace conda with mamba above.

2. Compile from source code

To compile the program from source code, type make and hit return under the directory src.

Usage

Run the program

./mpest -i testgenetree

Help

./mpest -h

Usage: mpest [-i inputfile] [-n #] [-s #] [-u NAME] [-h] [-B|-C|-L|-N|-P|-Q|-T|]
-i: NAME = name of input file in nexus format. Input gene trees must be rooted; polytomy trees are allowed.
-n: # = number of runs [default = 1].
-s: # = seed for random number generator [default = system generated].
-u: NAME = name of user tree file.
-c: # = convert short branches (<#) to polytomies in gene trees.
-h: help message [default = random].
-B: optimize branch lengths of a fixed species tree provided through usertree option -u.
-L: calculate loglikelihood of a species tree provided through usertree option -u.
-N: build NJst tree.
-P: calculate partitions for gene trees.
-Q: calculate pairwise quartet distances among gene trees. Polytomy (unrooted or rooted) gene trees are allowed.
-T: calculate pairwise triple distances of gene trees. Polytomy rooted gene trees are allowed.\

Ouput files

There are two output files; testgenetree_besttree.tre and testgenetree_output.tre. The trees updated in the algorithm are saved in testgenetree_output.tre, while the mpest tree is saved in testgenetree_besttree.tre. If multiple runs are specified in the control file, testgenetree_besttree.tre contains multiple mpest trees.

Citation

Liu, L., L. Yu, S.V. Edwards. A maximum pseudo-likelihood approach for estimating species trees under the coalescent model. BMC Evol. Biol. 2010, 10:302.

Old versions

Old versions MP-EST are available at https://github.com/lliu1871/oldversion

mp-est's People

Contributors

lliu1871 avatar gwct avatar

Stargazers

zhangwenda avatar  avatar Kuoi avatar Andrew Gene Brown avatar Dylan avatar zhenpeng yu avatar JoaoPSVieira avatar Dié Tang avatar  avatar  avatar  avatar  avatar

Watchers

James Cloos avatar  avatar  avatar zhangwenda avatar

Forkers

swofford gwct

mp-est's Issues

error compiling mp-est 2.0

Hello,

I am facing errors using mp-est 2.0, at the compilation step .
I am running on the platform of linux, First I instlall mp-est 2.0 by git clone https://github.com/lliu1871/mp-est.git, and then I go into the directory of src, set ARCHITECTURE to unix in the makefile and set COLLAPSEBRLENS to -1.0 in the mpest.h. Finally I make in the directory of src and I get the error:
gcc -DUNIX_VERSION -O3 -Wall -Wno-uninitialized -lm mpest.o tool.o /lib/libm.so -o mpest
/lib/libm.so: error adding symbols: File in wrong format
collect2: error: ld returned 1 exit status
make: *** [: mpest] Error 1
Thank you in advance for any advice regarding the error。

Issues Running MP-EST (v3.0)

Good afternoon,

I am having trouble running MP-EST v 3.0 both on my institution's linux cluster and on the research group's mac. Both times I am able to run the test dataset without any issues. It appears I have set up the nexus file in the same manner as the test file but my file will not run.

The error I am encountering is a segmentation fault and I can not find any specific reason relating to this software for it. I would like to run the analysis on 261 gene trees run in IQTree and rooted with Newick utilities. The number of taxa varies between in the gene trees varies between 98 to 80. Would this cause the analysis not to run?

Thank you in advance,
Zoë

Error running mp-est 2.0

Hello,

I am facing errors using mp-est 2.0, both at the compilation step and also if I opt to use the provided binary.

My computer runs macOS Sierra 10.12.6 and the following are my steps for respective errors:

Error 1: compilation

  1. Download source files from github
  2. Go into folder with makefile, ensure that Architecture is 'mac'
make: *** No rule to make target '-lm', needed by 'mpest'. Stop.

Do you have any advice for the lines in the makefile that should be inspected to allow for compilation?

Error 2: use provided binary

As compilation was unsuccessful, I tried using the given binary file in the 'mac' folder. It worked on the test dataset. When I run my dataset (546 gene trees, 67 samples, 10 species) however, I run into a segmentation error.

Segmentation fault: 11

I have tried multiple solutions but have yet to resolve either of the issues. In the second issue for example, I tried to increase the stack memory limit but it did not improve the situation. I was unable to find solutions specific to mp-est and would like to check in with you to see if you have alternative suggestions.

Thank you in advance for any advice regarding these errors, should it be version incompatibility or otherwise.

Best,
Hui Zhen

mp-est 2.1 couldn't analysis more than 100 species

Hi Liang,
I have gene trees consisted by 106 species. When I run the mp-est v2.1, the segment fault occured. I applied mp-est v2.0 using the same control file and gene tree files without error.
Besides, I have another question that mp-est required the root binary gene tree. There are some tree didn't meet this requirment. While astral software didn't report this issue, I want to compare the results of two softwares with the same input data sets.
Best wishes,
Zhiyang

Segmentation fault when run mp-est v 1.5

Hi prof Liu,

When I run mp-est, it comes out this error.
mpest control
Maximum Pseudo-likelihood Estimation of Species Trees (MPEST_1.5)

                                 by

                              Liang Liu

                      Department of Statistics
                        University of Georgia
                             [email protected]

             Distributed under the GNU General Public License

Segmentation fault

Is it because my input file is 1.2 Gb size (a total of 268,500 trees, its quite large), so it comes out this error?
Because when I use head -n 1000 to reduce the input tree size, it can run normally.
So is there the maximum size of input trees?

Best wishes,
Zhengyang Niu

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.