Giter VIP home page Giter VIP logo

cecileane / hybrid-lambda Goto Github PK

View Code? Open in Web Editor NEW

This project forked from hybridlambda/hybrid-lambda

0.0 1.0 0.0 2.96 MB

Hybrid-Lambda is a software package that can simulate gene trees within a rooted species network or a rooted species tree under the Kingman's coalescent or Lambda coalescent process.

Home Page: http://hybridlambda.github.io/

License: GNU General Public License v3.0

Shell 0.67% Makefile 0.03% C++ 98.56% C 0.55% R 0.05% M4 0.14%

hybrid-lambda's Introduction

Hybrid-Lambda

Hybrid-Lambda is a software package that can simulate gene trees within a rooted species network or a rooted species tree under the coalescent process. The main feature of this program is that users can choose to use the standard Kingman coalescent process, which produces bifurcating genealogies, or two other Lambda coalescent processes, which produce multifurcating genealo- gies. The other feature is that hybrid sim uses extended Newick formatted strings to make it easier to represent hybridization events between species.

travis CircleCI

DOCUMENTATION

Download

INSTALLATION

User only

To install hybrid-Lambda, simply type make within the directory src/:

cd src/
make

For developers

To install hybrid-Lambda, first install the following packages and libraries

on Debian/Ubuntu based systems:

apt-get install build-essential autoconf autoconf-archive libcppunit-dev libboost-all-dev doxygen graphviz

on Mac OS:

port install automake autoconf autoconf-archive cppunit boost doxygen graphviz

then type the following commands:

./bootstrap
make

ASSUMPTION

Input network files are written in extended newick format.

Citation

hybrid-Lambda is described in the manuscript

Sha Zhu, James H Degnan, Sharyn J Goldstien, Bjarki Eldon. Hybrid-Lambda: simulation of multiple merger and Kingman gene genealogies in species networks and species trees. BMC Bioinformatics 2015, 16:292 doi: http://doi:10.1186/s12859-015-0721-y.

LICENCE

You can freely use all code in this project under the conditions of the GNU GPL Version 3 or later.

HOW IT WORKS

Program parameters and options:

Options Useage
-h or -help Help. List the following content.
-spcu STR Input the species network/tree string through command line or a file. Branch lengths of the INPUT are in coalescent unit.
-spng STR Input the species network/tree string through command line or a file. Branch lengths of the INPUT are in number of generation.
-pop STR/FLT Population sizes are defined by a single numerical constant, or a string which specifies the population size on each branch. The string can be input through command line or a file. By default, population size 10,000 is used.
-mm STR/FLT Multiple merger parameters are defined by a single numerical constant, or a string which speifies the parameter on each branch. The string can be input through command line or a file. By default, Kingman coalescent is used.
-S INT INT ... Specify the number of samples for each taxon.
-num INT The number of gene trees will be simulated.
-seed INT User define random seed
-mu FLT User defined constant mutation rate per locus. By default mutation rate 0.00005 is used.
-o STR [option] Specify the file name prefix for simulated gene trees. Prefix is set as "OUT" by default, When options are not specified, only output trees with branch lengths are in coalescent unit.
-sim_mut_unit Convert the simulated gene tree branch lengths to mutation unit.
-sim_num_gener Convert the simulated gene tree branch lengths to number of generations.
-sim_num_mut Simulate numbers of mutations on each branch of simulated gene trees.
-sim_Si_num Generate a table, which includes the number of segregating sites and the total branch length of the gene tree, as well as the TMRCA.
-f Generate a topology frequency table of a set of input trees or simulated gene trees.
-gt STR Specify the FILE NAME of trees to analyse tree topology frequencies.
-seg Generate segregating site data.
-mt STR Specify the FILE NAME of trees to generate segregating site data. Tree branch lengths indicate number of mutations on the branch.
-mono Generate a frequency table of monophyletic, paraphyletic and polyphyletic trees.
-plot/-dot [option] Use LaTEX(-plot) or Dot (-dot) to draw the input (defined by -spcu) network(tree).
-branch Branch lengths will be labelled in the figure.

Examples:

hybrid-Lambda -spcu '((1:1,2:1):1,3:2);' -num 3 -seed 2 -o example1
hybrid-Lambda -spcu trees/4_tax_sp_nt1_para -o example2 -num 2 -mu 0.00003 -sim mut unit -sim num mut
hybrid-Lambda -spcu '((1:1,2:1):1,3:2);' -num N -pop 25000 -sim num gener
hybrid-Lambda -spng '(A:50000,B:50000)r;' -pop '(A:50000,B:50000)r:40000;'
hybrid-Lambda -spcu '((((A:1.1,B:1.1):2.1,a:2.2):1.1,13D:.2):.3,4:.3);' -S 2 4 3 6 5
hybrid-Lambda -spcu '(A:1,B:1)r;' -mm '(A:1.9,B:.2)r:2;' -S 3 4
hybrid-Lambda -spcu trees/7_tax_sp_nt1_para -dot -branch
hybrid-Lambda -spcu trees/4_tax_sp1 -num 1000 -o GENE_TREE_FILE -f
hybrid-Lambda -spcu trees/4_tax_sp1 -num 1000 -o GENE_TREE_FILE -fF FRENQUENCY_FILE
hybrid-Lambda -spcu '((1:1,2:1):1,3:2);' -num 1000 -o GENE -fF OUTPUT
hybrid-Lambda -gt GENE_coal_unit -f
hybrid-Lambda -spcu '(A:5,B:5)r;'-mono -num 100 -mm .1 -S 4 4

hybrid-lambda's People

Contributors

shajoezhu avatar

Watchers

 avatar

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.