Code Monkey home page Code Monkey logo

admixtools's Introduction

ADMIXTOOLS version 7.0.2  6/22/21 (for Linux and Mac)

See README.INSTALL for installation info. 

The ADMIXTOOLS package implements 5 methods described in 
Patterson et al. (2012) Ancient Admixture in Human History. Details of the methods and algorithm can be found in this paper.

A user guide for qpAdm is now available in the supplementary materials for "Assessing the Performance of qpAdm:  A Statistical Tool for Studying Population Admixture" by Harney et al. (2020). 
https://gsajournals.figshare.com/articles/dataset/Supplemental_Material_for_Harney_et_al_2020/13403225?file=26425355
https://doi.org/10.25386/genetics.13403225.v2

The package contains 6 programs: 
convertf: See README.CONVERTF for documentation of programs for converting file formats.
qp3Pop: See README.3PopTest for details of running f_3 test. This test can be used as a format test of admixture with 3 populations.
qpBound: See README.3PopTest for details of running qpBound. This test can be used for estimating bounds on the admixture proportions, given 3 populations (2 reference and one target).
qpDstat: See README.Dstatistics for details of running D-statistics. This is a formal test of admixture with 4 populations.
qpF4Ratio: See README.F4RatioTest for details of running F4 ratio estimation. This program computes the admixture proportion by taking the ratio of two f4 tests.
rolloff:  See README.ROLLOFF/ README.ROLLOFF_OUTPUT for details for running rolloff. This program can be used for dating admixture events.
 
Executables and source code:
----------------------------
All C executables are in the bin/ directory.

We have placed source code for all C executables in the src/ directory, 
for users who wish to modify and recompile our programs.  For example, to
recompile the programs, type
"cd src"
"make clobber"
"make install"      

If you are building on a Mac, you will need gsl and openblas installed. 
"brew install gsl"
"brew install openblas"
Uncomment the lines in src/Makefile that modify the CFLAGS and LDFLAGS. 

If these packages are not in standard directories, you can specify the 
appropriate include and library directories with the CFLAGS and LDFLAGS 
make variables. 
For example, on the Harvard Medical School O2 cluster, the command is:
'make CFLAGS="-I/n/app/openblas/0.2.19/include -I/n/app/gsl/2.3/include" LDFLAGS="-L/n/app/openblas/0.2.19/lib -L/n/app/gsl/2.3/lib/"'
On Mac OSX:
'make CFLAGS="-I/usr/local/opt/openblas/include -I/usr/local/opt/gsl/include" LDFLAGS="-L/usr/local/opt/openblas/lib -L/usr/local/opt/gsl/lib"'

If you have issues with missing lapacke symbols, for example "undefined reference to `LAPACKE_dlange'", run make with the corresponding additional libraries linked:
'make LDLIBS="-llapacke"' on Linux Mint 18. 
Similarly for Ubuntu, for "undefined reference to dspev_"
'make LDLIBS="-llapack"'

For questions about building this software: 
Matthew Mah <[email protected]>

If you have trouble compiling and running our code, try compiling and
running the examples in the examples/ directory. Download the example
datasets from https://reich.hms.harvard.edu/sites/reich.hms.harvard.edu/files/inline-files/AdmixTools_Example_Data.tar_.gz
and untar in the root AdmixTools directory, creating a subdirectory called ./data. 

"cd examples"
"./mklog"

If you are unable to run the examples successfully, please contact
your system administrator for help, as this is probably systems issue which is
beyond our scope. 

Nick Patterson
<[email protected]>


*** NEW ***
1)
version 7.0 has numerous upgrades.
a) Two new executables --qpfstats qpfmv allow precomputation of f-statistic basis.
This can greatly reduce computation costs.
b) qpAdm, qpWave, qpGraph support qpfstats output as input.
*** This is a much improved way of running with allsnps: YES.    ***
c)  A new experimental feature of qpGraph (halfscore: YES) allows
 comparison of 2 phylogenies + a (weak) goodness of fit score.  Be careful
 if running with a large number of populations and consider reducing block size say
 blgsize: .005

Version 7.0.2 has important bugfixes to qpfstats.  See README.qpfstats  

2)
Note that several of the new ideas implemented in version 7.0 were developed collaboratively with Robert Maier, who has implemented them along with the great majority of other ADMIXTOOLS functionality in R:
See https://github.com/uqrmaie1/admixtools
Executables run fast, and it has features not available in this C version, such as interactive exploration of graph phylogenies.
A manuscript describing the algorithmic ideas and providing documentation of the methods is in preparation.





*** Fairly NEW *** 
Lightweight onlline documentation added, thanks to Eric Deveaud                             
<executable>  or <executable> -h  to get brief documentation or

*** Fairly NEW ***  
Alter number of chromosomes:   
numchrom:  <zzz>
zzz should be the autosome number (default 22 -- the number for humans) 

Custom block numbers (for jackknife) 
blockname:  <bbb> 
bbb should contain a list of snps 1 / line followed by a block number (integer) 
block number should be at least 1.  -1 -> snp ignored.  If this option is used 
snps not in list will be ignored. 

----------------------------
SOFTWARE COPYRIGHT NOTICE AGREEMENT
This software and its documentation are copyright (2010) by Harvard University 
and The Broad Institute. All rights are reserved. This software is supplied 
without any warranty or guaranteed support whatsoever. Neither Harvard 
University nor The Broad Institute can be responsible for its use, misuse, or 
functionality. The software may be freely copied for non-commercial purposes, 
provided this copyright notice is retained.

admixtools's People

Contributors

matthewmah avatar bumblenick 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.