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

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

admixtools's Issues

Issue with qpDstat

Hi All,

I have problem running qpDstat.

I am using this ((/home/apps/AdmixTools-master/bin/qpDstat -p parfile.par [-l lo] [-h hi] > GenomeD2)) in my terminal and after a while the run terminates. I cannot see any error except the word (killed).

I have done it for several times but still get the same word and the output file showing only the parameters I have used which you can see below:

/home/apps/AdmixTools-master/bin/qpDstat: parameter file: parfile.par

THE INPUT PARAMETERS

##PARAMETER NAME: VALUE
genotypename: /home/foo/ABBA-BABA/GenomeD.ped.eigenstratgeno
snpname: /home/foo/ABBA-BABA/GenomeD.ped.snp
indivname: /home/foo/ABBA-BABA/GenomeD.ped.ind
poplistname: /home/foo/ABBA-BABA/pop_list

qpDstat version: 711

Any kind of help will be appreciated,

Thanks,

Ahmed

install problem

Hi all,
I got problems during compiling. Anyone know how to solve this problem?

liu194@DeepPhylo:~/AdmixTools/src$ make all
mkdir -p /home/liu194/AdmixTools/src/admixlib
mkdir -p /home/liu194/AdmixTools/src/admixtables
mkdir -p /home/liu194/AdmixTools/src/admixinclude
mkdir -p /home/liu194/AdmixTools/src/../bin
cp .h /home/liu194/AdmixTools/src/admixinclude
cp nicksrc/
.h /home/liu194/AdmixTools/src/admixinclude
ar -r libnick.a strsubs.o sortit.o vsubs.o statsubs.o linsubs.o getpars.o xsearch.o gauss.o gds.o
ranlib libnick.a
cp libnick.a /home/liu194/AdmixTools/src/admixlib/nicklib.a
gcc -I/home/liu194/AdmixTools/src/admixinclude -g -lm -o qp3Pop qp3Pop.o qpsubs.o mcio.o ldsubs.o admutils.o egsubs.o regsubs.o /home/liu194/AdmixTools/src/admixlib/nicklib.a
qpsubs.o: In function getpdata': /home/liu194/AdmixTools/src/qpsubs.c:143: undefined reference to sqrt'
qpsubs.o: In function getcolx': /home/liu194/AdmixTools/src/qpsubs.c:336: undefined reference to sqrt'
qpsubs.o: In function dofancy': /home/liu194/AdmixTools/src/qpsubs.c:401: undefined reference to sqrt'
qpsubs.o: In function yll': /home/liu194/AdmixTools/src/qpsubs.c:450: undefined reference to log'
qpsubs.o: In function ridoutlier': /home/liu194/AdmixTools/src/qpsubs.c:713: undefined reference to sqrt'
qpsubs.o: In function crho': /home/liu194/AdmixTools/src/qpsubs.c:1683: undefined reference to sqrt'
qpsubs.o: In function wjackestx': /home/liu194/AdmixTools/src/qpsubs.c:2709: undefined reference to sqrt'
qpsubs.o: In function wjackvestx': /home/liu194/AdmixTools/src/qpsubs.c:3216: undefined reference to sqrt'
qpsubs.o: In function printnorm': /home/liu194/AdmixTools/src/qpsubs.c:3618: undefined reference to sqrt'
mcio.o: In function nextmesh': /home/liu194/AdmixTools/src/mcio.c:701: undefined reference to ceil'
mcio.o: In function getgenos': /home/liu194/AdmixTools/src/mcio.c:1439: undefined reference to ceil'
mcio.o: In function outpack': /home/liu194/AdmixTools/src/mcio.c:2336: undefined reference to ceil'
mcio.o: In function ineigenstrat': /home/liu194/AdmixTools/src/mcio.c:2494: undefined reference to ceil'
mcio.o: In function inpack': /home/liu194/AdmixTools/src/mcio.c:2727: undefined reference to ceil'
mcio.o:/home/liu194/AdmixTools/src/mcio.c:3298: more undefined references to ceil' follow mcio.o: In function killhir2':
/home/liu194/AdmixTools/src/mcio.c:4175: undefined reference to sqrt' mcio.o: In function inpack2':
/home/liu194/AdmixTools/src/mcio.c:4335: undefined reference to ceil' mcio.o: In function genoopenit':
/home/liu194/AdmixTools/src/mcio.c:4689: undefined reference to ceil' ldsubs.o: In function zdip0':
/home/liu194/AdmixTools/src/ldsubs.c:488: undefined reference to sqrt' ldsubs.o: In function calccorr':
/home/liu194/AdmixTools/src/ldsubs.c:574: undefined reference to sqrt' /home/liu194/AdmixTools/src/ldsubs.c:575: undefined reference to sqrt'
/home/liu194/AdmixTools/src/ldsubs.c:585: undefined reference to log' /home/liu194/AdmixTools/src/ldsubs.c:586: undefined reference to sqrt'
admutils.o: In function xxlog2': /home/liu194/AdmixTools/src/admutils.c:527: undefined reference to log'
admutils.o: In function kurtosis': /home/liu194/AdmixTools/src/admutils.c:1020: undefined reference to sqrt'
regsubs.o: In function regressit': /home/liu194/AdmixTools/src/regsubs.c:73: undefined reference to log'
regsubs.o: In function regressitall': /home/liu194/AdmixTools/src/regsubs.c:86: undefined reference to pow'
regsubs.o: In function calcgh': /home/liu194/AdmixTools/src/regsubs.c:338: undefined reference to sqrt'
regsubs.o: In function zlike': /home/liu194/AdmixTools/src/regsubs.c:368: undefined reference to log'
/home/liu194/AdmixTools/src/regsubs.c:368: undefined reference to log' regsubs.o: In function hgrad':
/home/liu194/AdmixTools/src/regsubs.c:618: undefined reference to pow' /home/liu194/AdmixTools/src/admixlib/nicklib.a(vsubs.o): In function vsqrt':
/home/liu194/AdmixTools/src/nicksrc/vsubs.c:75: undefined reference to sqrt' /home/liu194/AdmixTools/src/admixlib/nicklib.a(vsubs.o): In function vlog':
/home/liu194/AdmixTools/src/nicksrc/vsubs.c:106: undefined reference to log' /home/liu194/AdmixTools/src/admixlib/nicklib.a(vsubs.o): In function vexp':
/home/liu194/AdmixTools/src/nicksrc/vsubs.c:126: undefined reference to exp' /home/liu194/AdmixTools/src/admixlib/nicklib.a(vsubs.o): In function corr':
/home/liu194/AdmixTools/src/nicksrc/vsubs.c:427: undefined reference to sqrt' /home/liu194/AdmixTools/src/admixlib/nicklib.a(vsubs.o): In function corrx':
/home/liu194/AdmixTools/src/nicksrc/vsubs.c:456: undefined reference to sqrt' /home/liu194/AdmixTools/src/admixlib/nicklib.a(vsubs.o): In function nnint':
/home/liu194/AdmixTools/src/nicksrc/vsubs.c:780: undefined reference to lrint' /home/liu194/AdmixTools/src/admixlib/nicklib.a(vsubs.o): In function rndit':
/home/liu194/AdmixTools/src/nicksrc/vsubs.c:1244: undefined reference to nearbyint' /home/liu194/AdmixTools/src/admixlib/nicklib.a(vsubs.o): In function NPlog2':
/home/liu194/AdmixTools/src/nicksrc/vsubs.c:1352: undefined reference to log' /home/liu194/AdmixTools/src/admixlib/nicklib.a(vsubs.o): In function logfac':
/home/liu194/AdmixTools/src/nicksrc/vsubs.c:1364: undefined reference to lgamma' /home/liu194/AdmixTools/src/admixlib/nicklib.a(vsubs.o): In function log2fac':
/home/liu194/AdmixTools/src/nicksrc/vsubs.c:1418: undefined reference to lgamma' /home/liu194/AdmixTools/src/admixlib/nicklib.a(vsubs.o): In function addlog':
/home/liu194/AdmixTools/src/nicksrc/vsubs.c:1441: undefined reference to exp' /home/liu194/AdmixTools/src/nicksrc/vsubs.c:1442: undefined reference to log'
/home/liu194/AdmixTools/src/admixlib/nicklib.a(vsubs.o): In function ipow2': /home/liu194/AdmixTools/src/nicksrc/vsubs.c:1476: undefined reference to pow'
/home/liu194/AdmixTools/src/admixlib/nicklib.a(vsubs.o): In function pow10': /home/liu194/AdmixTools/src/nicksrc/vsubs.c:1482: undefined reference to exp'
/home/liu194/AdmixTools/src/admixlib/nicklib.a(vsubs.o): In function vpow10': /home/liu194/AdmixTools/src/nicksrc/vsubs.c:1491: undefined reference to exp'
/home/liu194/AdmixTools/src/admixlib/nicklib.a(vsubs.o): In function vlog10': /home/liu194/AdmixTools/src/nicksrc/vsubs.c:1499: undefined reference to log10'
/home/liu194/AdmixTools/src/admixlib/nicklib.a(vsubs.o): In function hlife': /home/liu194/AdmixTools/src/nicksrc/vsubs.c:1934: undefined reference to log'
/home/liu194/AdmixTools/src/admixlib/nicklib.a(vsubs.o): In function isprime': /home/liu194/AdmixTools/src/nicksrc/vsubs.c:2222: undefined reference to sqrt'
/home/liu194/AdmixTools/src/admixlib/nicklib.a(statsubs.o): In function nordis': /home/liu194/AdmixTools/src/nicksrc/statsubs.c:57: undefined reference to exp'
/home/liu194/AdmixTools/src/nicksrc/statsubs.c:58: undefined reference to sqrt' /home/liu194/AdmixTools/src/admixlib/nicklib.a(statsubs.o): In function ntail':
/home/liu194/AdmixTools/src/nicksrc/statsubs.c:86: undefined reference to erfc' /home/liu194/AdmixTools/src/nicksrc/statsubs.c:92: undefined reference to exp'
/home/liu194/AdmixTools/src/nicksrc/statsubs.c:93: undefined reference to sqrt' /home/liu194/AdmixTools/src/admixlib/nicklib.a(statsubs.o): In function zzprob':
/home/liu194/AdmixTools/src/nicksrc/statsubs.c:113: undefined reference to sqrt' /home/liu194/AdmixTools/src/nicksrc/statsubs.c:113: undefined reference to log'
/home/liu194/AdmixTools/src/nicksrc/statsubs.c:116: undefined reference to sqrt' /home/liu194/AdmixTools/src/nicksrc/statsubs.c:119: undefined reference to log'
/home/liu194/AdmixTools/src/admixlib/nicklib.a(statsubs.o): In function medchi': /home/liu194/AdmixTools/src/nicksrc/statsubs.c:175: undefined reference to sqrt'
/home/liu194/AdmixTools/src/admixlib/nicklib.a(statsubs.o): In function ks2': /home/liu194/AdmixTools/src/nicksrc/statsubs.c:245: undefined reference to sqrt'
/home/liu194/AdmixTools/src/admixlib/nicklib.a(statsubs.o): In function probks': /home/liu194/AdmixTools/src/nicksrc/statsubs.c:273: undefined reference to exp'
/home/liu194/AdmixTools/src/admixlib/nicklib.a(statsubs.o): In function conchiv': /home/liu194/AdmixTools/src/nicksrc/statsubs.c:323: undefined reference to sqrt'
/home/liu194/AdmixTools/src/admixlib/nicklib.a(statsubs.o): In function z2x2': /home/liu194/AdmixTools/src/nicksrc/statsubs.c:373: undefined reference to sqrt'
/home/liu194/AdmixTools/src/admixlib/nicklib.a(statsubs.o): In function zprob': /home/liu194/AdmixTools/src/nicksrc/statsubs.c:494: undefined reference to log'
/home/liu194/AdmixTools/src/admixlib/nicklib.a(statsubs.o): In function setzptable': /home/liu194/AdmixTools/src/nicksrc/statsubs.c:530: undefined reference to log'
/home/liu194/AdmixTools/src/admixlib/nicklib.a(statsubs.o): In function znewt': /home/liu194/AdmixTools/src/nicksrc/statsubs.c:551: undefined reference to exp'
/home/liu194/AdmixTools/src/nicksrc/statsubs.c:551: undefined reference to sqrt' /home/liu194/AdmixTools/src/admixlib/nicklib.a(statsubs.o): In function mleg':
/home/liu194/AdmixTools/src/nicksrc/statsubs.c:609: undefined reference to log' /home/liu194/AdmixTools/src/nicksrc/statsubs.c:617: undefined reference to log'
/home/liu194/AdmixTools/src/nicksrc/statsubs.c:627: undefined reference to log' /home/liu194/AdmixTools/src/nicksrc/statsubs.c:637: undefined reference to log'
/home/liu194/AdmixTools/src/admixlib/nicklib.a(statsubs.o): In function psi': /home/liu194/AdmixTools/src/nicksrc/statsubs.c:662: undefined reference to log'
/home/liu194/AdmixTools/src/admixlib/nicklib.a(statsubs.o):/home/liu194/AdmixTools/src/nicksrc/statsubs.c:725: more undefined references to log' follow /home/liu194/AdmixTools/src/admixlib/nicklib.a(statsubs.o): In function bessi1':
/home/liu194/AdmixTools/src/nicksrc/statsubs.c:781: undefined reference to exp' /home/liu194/AdmixTools/src/nicksrc/statsubs.c:781: undefined reference to sqrt'
/home/liu194/AdmixTools/src/admixlib/nicklib.a(statsubs.o): In function logbessi0': /home/liu194/AdmixTools/src/nicksrc/statsubs.c:807: undefined reference to log'
/home/liu194/AdmixTools/src/nicksrc/statsubs.c:821: undefined reference to log' /home/liu194/AdmixTools/src/nicksrc/statsubs.c:823: undefined reference to log'
/home/liu194/AdmixTools/src/admixlib/nicklib.a(statsubs.o): In function bessi0': /home/liu194/AdmixTools/src/nicksrc/statsubs.c:862: undefined reference to exp'
/home/liu194/AdmixTools/src/nicksrc/statsubs.c:862: undefined reference to sqrt' /home/liu194/AdmixTools/src/admixlib/nicklib.a(statsubs.o): In function li2':
/home/liu194/AdmixTools/src/nicksrc/statsubs.c:916: undefined reference to log' /home/liu194/AdmixTools/src/nicksrc/statsubs.c:916: undefined reference to log'
/home/liu194/AdmixTools/src/admixlib/nicklib.a(statsubs.o): In function hwstat': /home/liu194/AdmixTools/src/nicksrc/statsubs.c:962: undefined reference to sqrt'
/home/liu194/AdmixTools/src/admixlib/nicklib.a(statsubs.o): In function bprob': /home/liu194/AdmixTools/src/nicksrc/statsubs.c:978: undefined reference to log'
/home/liu194/AdmixTools/src/nicksrc/statsubs.c:978: undefined reference to log' /home/liu194/AdmixTools/src/admixlib/nicklib.a(statsubs.o): In function gammprob':
/home/liu194/AdmixTools/src/nicksrc/statsubs.c:993: undefined reference to log' /home/liu194/AdmixTools/src/nicksrc/statsubs.c:994: undefined reference to log'
/home/liu194/AdmixTools/src/admixlib/nicklib.a(statsubs.o): In function binlogtail': /home/liu194/AdmixTools/src/nicksrc/statsubs.c:1078: undefined reference to log'
/home/liu194/AdmixTools/src/admixlib/nicklib.a(statsubs.o):/home/liu194/AdmixTools/src/nicksrc/statsubs.c:1134: more undefined references to log' follow /home/liu194/AdmixTools/src/admixlib/nicklib.a(statsubs.o): In function xlgamma':
/home/liu194/AdmixTools/src/nicksrc/statsubs.c:1168: undefined reference to lgamma' /home/liu194/AdmixTools/src/nicksrc/statsubs.c:1173: undefined reference to log'
/home/liu194/AdmixTools/src/nicksrc/statsubs.c:1174: undefined reference to log' /home/liu194/AdmixTools/src/admixlib/nicklib.a(statsubs.o): In function rtlchsq':
/home/liu194/AdmixTools/src/nicksrc/statsubs.c:1194: undefined reference to sqrt' /home/liu194/AdmixTools/src/nicksrc/statsubs.c:1196: undefined reference to exp'
/home/liu194/AdmixTools/src/admixlib/nicklib.a(statsubs.o): In function pochisq': /home/liu194/AdmixTools/src/nicksrc/statsubs.c:1233: undefined reference to exp'
/home/liu194/AdmixTools/src/nicksrc/statsubs.c:1234: undefined reference to sqrt' /home/liu194/AdmixTools/src/nicksrc/statsubs.c:1242: undefined reference to log'
/home/liu194/AdmixTools/src/nicksrc/statsubs.c:1245: undefined reference to log' /home/liu194/AdmixTools/src/nicksrc/statsubs.c:1246: undefined reference to exp'
/home/liu194/AdmixTools/src/nicksrc/statsubs.c:1253: undefined reference to sqrt' /home/liu194/AdmixTools/src/admixlib/nicklib.a(statsubs.o): In function critchi':
/home/liu194/AdmixTools/src/nicksrc/statsubs.c:1289: undefined reference to log' /home/liu194/AdmixTools/src/nicksrc/statsubs.c:1293: undefined reference to sqrt'
/home/liu194/AdmixTools/src/admixlib/nicklib.a(statsubs.o): In function pof': /home/liu194/AdmixTools/src/nicksrc/statsubs.c:1346: undefined reference to sqrt'
/home/liu194/AdmixTools/src/nicksrc/statsubs.c:1349: undefined reference to atan' /home/liu194/AdmixTools/src/nicksrc/statsubs.c:1353: undefined reference to sqrt'
/home/liu194/AdmixTools/src/nicksrc/statsubs.c:1358: undefined reference to sqrt' /home/liu194/AdmixTools/src/admixlib/nicklib.a(statsubs.o): In function ltlg1':
/home/liu194/AdmixTools/src/nicksrc/statsubs.c:1446: undefined reference to log' /home/liu194/AdmixTools/src/nicksrc/statsubs.c:1447: undefined reference to log'
/home/liu194/AdmixTools/src/nicksrc/statsubs.c:1449: undefined reference to exp' /home/liu194/AdmixTools/src/admixlib/nicklib.a(statsubs.o): In function rtlg2':
/home/liu194/AdmixTools/src/nicksrc/statsubs.c:1486: undefined reference to log' /home/liu194/AdmixTools/src/nicksrc/statsubs.c:1487: undefined reference to log'
/home/liu194/AdmixTools/src/nicksrc/statsubs.c:1489: undefined reference to exp' /home/liu194/AdmixTools/src/admixlib/nicklib.a(statsubs.o): In function twdensx':
/home/liu194/AdmixTools/src/nicksrc/statsubs.c:1543: undefined reference to log' /home/liu194/AdmixTools/src/nicksrc/statsubs.c:1544: undefined reference to log'
/home/liu194/AdmixTools/src/nicksrc/statsubs.c:1545: undefined reference to sqrt' /home/liu194/AdmixTools/src/nicksrc/statsubs.c:1547: undefined reference to exp'
/home/liu194/AdmixTools/src/admixlib/nicklib.a(statsubs.o): In function twtailx': /home/liu194/AdmixTools/src/nicksrc/statsubs.c:1559: undefined reference to log'
/home/liu194/AdmixTools/src/nicksrc/statsubs.c:1560: undefined reference to log' /home/liu194/AdmixTools/src/nicksrc/statsubs.c:1561: undefined reference to sqrt'
/home/liu194/AdmixTools/src/nicksrc/statsubs.c:1563: undefined reference to exp' /home/liu194/AdmixTools/src/admixlib/nicklib.a(statsubs.o): In function twnorm':
/home/liu194/AdmixTools/src/nicksrc/statsubs.c:1597: undefined reference to sqrt' /home/liu194/AdmixTools/src/nicksrc/statsubs.c:1597: undefined reference to sqrt'
/home/liu194/AdmixTools/src/nicksrc/statsubs.c:1599: undefined reference to sqrt' /home/liu194/AdmixTools/src/nicksrc/statsubs.c:1599: undefined reference to sqrt'
/home/liu194/AdmixTools/src/nicksrc/statsubs.c:1600: undefined reference to pow' /home/liu194/AdmixTools/src/admixlib/nicklib.a(statsubs.o): In function dirmult':
/home/liu194/AdmixTools/src/nicksrc/statsubs.c:1853: undefined reference to lgamma' /home/liu194/AdmixTools/src/nicksrc/statsubs.c:1854: undefined reference to lgamma'
/home/liu194/AdmixTools/src/nicksrc/statsubs.c:1856: undefined reference to lgamma' /home/liu194/AdmixTools/src/nicksrc/statsubs.c:1857: undefined reference to lgamma'
/home/liu194/AdmixTools/src/admixlib/nicklib.a(statsubs.o): In function betai': /home/liu194/AdmixTools/src/nicksrc/statsubs.c:1898: undefined reference to lgamma'
/home/liu194/AdmixTools/src/admixlib/nicklib.a(statsubs.o):/home/liu194/AdmixTools/src/nicksrc/statsubs.c:1898: more undefined references to lgamma' follow /home/liu194/AdmixTools/src/admixlib/nicklib.a(statsubs.o): In function betai':
/home/liu194/AdmixTools/src/nicksrc/statsubs.c:1898: undefined reference to log' /home/liu194/AdmixTools/src/nicksrc/statsubs.c:1899: undefined reference to log'
/home/liu194/AdmixTools/src/nicksrc/statsubs.c:1897: undefined reference to exp' /home/liu194/AdmixTools/src/admixlib/nicklib.a(statsubs.o): In function weightjackx':
/home/liu194/AdmixTools/src/nicksrc/statsubs.c:2172: undefined reference to sqrt' /home/liu194/AdmixTools/src/admixlib/nicklib.a(statsubs.o): In function calcfc':
/home/liu194/AdmixTools/src/nicksrc/statsubs.c:2232: undefined reference to cos' /home/liu194/AdmixTools/src/nicksrc/statsubs.c:2233: undefined reference to sqrt'
/home/liu194/AdmixTools/src/nicksrc/statsubs.c:2243: undefined reference to cos' /home/liu194/AdmixTools/src/admixlib/nicklib.a(statsubs.o): In function setbino':
/home/liu194/AdmixTools/src/nicksrc/statsubs.c:2307: undefined reference to exp' /home/liu194/AdmixTools/src/admixlib/nicklib.a(statsubs.o): In function dither':
/home/liu194/AdmixTools/src/nicksrc/statsubs.c:2362: undefined reference to sqrt' /home/liu194/AdmixTools/src/admixlib/nicklib.a(statsubs.o): In function exx':
/home/liu194/AdmixTools/src/nicksrc/statsubs.c:2408: undefined reference to exp' /home/liu194/AdmixTools/src/nicksrc/statsubs.c:2412: undefined reference to exp'
/home/liu194/AdmixTools/src/admixlib/nicklib.a(linsubs.o): In function bal': /home/liu194/AdmixTools/src/nicksrc/linsubs.c:32: undefined reference to sqrt'
/home/liu194/AdmixTools/src/admixlib/nicklib.a(linsubs.o): In function choldc': /home/liu194/AdmixTools/src/nicksrc/linsubs.c:276: undefined reference to sqrt'
/home/liu194/AdmixTools/src/admixlib/nicklib.a(gauss.o): In function gauss': /home/liu194/AdmixTools/src/nicksrc/gauss.c:26: undefined reference to log'
/home/liu194/AdmixTools/src/nicksrc/gauss.c:26: undefined reference to sqrt' /home/liu194/AdmixTools/src/admixlib/nicklib.a(gds.o): In function randev1':
/home/liu194/AdmixTools/src/nicksrc/gds.c:42: undefined reference to sqrt' /home/liu194/AdmixTools/src/nicksrc/gds.c:49: undefined reference to log'
/home/liu194/AdmixTools/src/nicksrc/gds.c:49: undefined reference to log' /home/liu194/AdmixTools/src/admixlib/nicklib.a(gds.o): In function randev0':
/home/liu194/AdmixTools/src/nicksrc/gds.c:65: undefined reference to exp' /home/liu194/AdmixTools/src/nicksrc/gds.c:70: undefined reference to pow'
/home/liu194/AdmixTools/src/nicksrc/gds.c:74: undefined reference to log' /home/liu194/AdmixTools/src/nicksrc/gds.c:75: undefined reference to log'
/home/liu194/AdmixTools/src/nicksrc/gds.c:81: undefined reference to log' /home/liu194/AdmixTools/src/admixlib/nicklib.a(gds.o): In function ranexp':
/home/liu194/AdmixTools/src/nicksrc/gds.c:101: undefined reference to log' /home/liu194/AdmixTools/src/admixlib/nicklib.a(gds.o): In function poidev':
/home/liu194/AdmixTools/src/nicksrc/gds.c:164: undefined reference to exp' /home/liu194/AdmixTools/src/nicksrc/gds.c:176: undefined reference to sqrt'
/home/liu194/AdmixTools/src/nicksrc/gds.c:177: undefined reference to log' /home/liu194/AdmixTools/src/nicksrc/gds.c:178: undefined reference to lgamma'
/home/liu194/AdmixTools/src/nicksrc/gds.c:182: undefined reference to tan' /home/liu194/AdmixTools/src/nicksrc/gds.c:185: undefined reference to floor'
/home/liu194/AdmixTools/src/nicksrc/gds.c:186: undefined reference to lgamma' /home/liu194/AdmixTools/src/nicksrc/gds.c:186: undefined reference to exp'
/home/liu194/AdmixTools/src/admixlib/nicklib.a(gds.o): In function ranpoiss1': /home/liu194/AdmixTools/src/nicksrc/gds.c:432: undefined reference to exp'
/home/liu194/AdmixTools/src/admixlib/nicklib.a(gds.o): In function raninvwis': /home/liu194/AdmixTools/src/nicksrc/gds.c:557: undefined reference to sqrt'
/home/liu194/AdmixTools/src/nicksrc/gds.c:565: undefined reference to sqrt' /home/liu194/AdmixTools/src/admixlib/nicklib.a(gds.o): In function rant':
/home/liu194/AdmixTools/src/nicksrc/gds.c:680: undefined reference to sqrt' /home/liu194/AdmixTools/src/nicksrc/gds.c:684: undefined reference to sqrt'
/home/liu194/AdmixTools/src/admixlib/nicklib.a(gds.o): In function samppow': /home/liu194/AdmixTools/src/nicksrc/gds.c:710: undefined reference to log'
/home/liu194/AdmixTools/src/nicksrc/gds.c:710: undefined reference to log' /home/liu194/AdmixTools/src/nicksrc/gds.c:714: undefined reference to log'
/home/liu194/AdmixTools/src/nicksrc/gds.c:714: undefined reference to log' /home/liu194/AdmixTools/src/nicksrc/gds.c:724: undefined reference to exp'
/home/liu194/AdmixTools/src/admixlib/nicklib.a(gds.o): In function ranhprob': /home/liu194/AdmixTools/src/nicksrc/gds.c:821: undefined reference to exp'
/home/liu194/AdmixTools/src/nicksrc/gds.c:838: undefined reference to exp' /home/liu194/AdmixTools/src/nicksrc/gds.c:839: undefined reference to exp'
/home/liu194/AdmixTools/src/nicksrc/gds.c:839: undefined reference to `exp'
collect2: ld returned 1 exit status
make: *** [qp3Pop] Error 1

Qpdstat error msg

I have previously run qpdstat with no problem. Now with a new dataset I got the following error:

fatalx:
(ineigenstrat) mismatch line length 478 5253
Aborted (core dumped)

And the output file contains this error:

/home/d/ADMIXTOOLS1/qpDstat: parameter file: pardstat1

THE INPUT PARAMETERS

##PARAMETER NAME: VALUE
indivname: MASTER_HiCov27.ind
snpname: MASTER_HiCov27.snp
genotypename: MASTER_HiCov27.geno
popfilename: list_dstat

qpDstat version: 711

(ineigenstrat) bad line 1019420 ::1121212121110211

Any ideas as to what the problem is?

Thanks

mac install issue

I have problem installing the software with the following environment:
macOS 10.12.6
openblas 0.2.20
/usr/local/Cellar/gsl/2.4
Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/usr/include/c++/4.2.1
Apple LLVM version 8.1.0 (clang-802.0.42)

Error message:
cc -L./nicksrc -L/usr/local/opt/openblas/lib -L/usr/local/opt/gsl/lib qpff3base.o nicksrc/libnick.a qpgsubs.o qpsubs.o mcio.o admutils.o egsubs.o regsubs.o ldsubs.o -lgsl -lopenblas -lm -lnick -o qpff3base
cc -c -g -p -Wimplicit -I./ -I./nicksrc -I/usr/local/opt/openblas/include -I/usr/local/opt/gsl/include -c -o rolloffp.o rolloffp.c
clang: warning: argument unused during compilation: '-p' [-Wunused-command-line-argument]
rolloffp.c:789:23: error: non-void function 'cntit1' should return a value [-Wreturn-type]
if (cupt -> ignore) return ;
^
rolloffp.c:808:23: error: non-void function 'cntit2' should return a value [-Wreturn-type]
if (cupt -> ignore) return ;
^
rolloffp.c:809:24: error: non-void function 'cntit2' should return a value [-Wreturn-type]
if (cupt2 -> ignore) return ;
^
3 errors generated.
make: *** [rolloffp.o] Error 1

Rolloff - fatalx: too few snps

It shows too few snps; numsnps: 0 first and then shows numsnps as 753k. Any idea what might be wrong?

## rolloff.  Version 1100

parameter file: ped-eigen.par
genotypename: ./files/chr21_eur_natam_bgi_hli.geno
snpname: ./files/chr21_eur_natam_bgi_hli.snp
indivname: ./files/chr21_eur_natam_bgi_hli.ind
poplistname: ./files/pop.ref
admixlist: ./files/pop.target
binsize: 0.001
maxdis: 0.8
seed: 7
runmode: 1
zdipcorrmode: YES
checkmap: YES/
seed: 7
chithresh:     6.000
./files/chr21_eur_natam_bgi_hli.snp: genetic distance set from physical distance
snp order check fail; snp list not ordered: ./files/chr21_eur_natam_bgi_hli.snp (processing continues)    1 10113 1011278 
zzz 0 394075
snp order check fail; snp list not ordered: ./files/chr21_eur_natam_bgi_hli.snp (processing continues)    1 10204 1020428 
zzz 1 394076
snp order check fail; snp list not ordered: ./files/chr21_eur_natam_bgi_hli.snp (processing continues)    1 10214 1021403 
zzz 2 394077
snp order check fail; snp list not ordered: ./files/chr21_eur_natam_bgi_hli.snp (processing continues)    1 10388 1038818 
zzz 3 394078
snp order check fail; snp list not ordered: ./files/chr21_eur_natam_bgi_hli.snp (processing continues)    1 10398 1039813 
zzz 4 394079
snp order check fail; snp list not ordered: ./files/chr21_eur_natam_bgi_hli.snp (processing continues)    1 10548 1054842 
zzz 5 394080
snp order check fail; snp list not ordered: ./files/chr21_eur_natam_bgi_hli.snp (processing continues)    1 10559 1055892 
zzz 6 394081
snp order check fail; snp list not ordered: ./files/chr21_eur_natam_bgi_hli.snp (processing continues)    1 10775 1077546 
zzz 7 394082
snp order check fail; snp list not ordered: ./files/chr21_eur_natam_bgi_hli.snp (processing continues)    1 11097 1109721 
zzz 8 394083
genotypename:  ./files/chr21_eur_natam_bgi_hli.geno
fatalx:
too few snps; numsnps: 0
valid snps: 753136
group 0 EUR
group 1 AMR
number admixed: 120 number of references: 2
numsnps: 753136  numindivs: 319

Outgroup choosing for Outgroup F3 Statistics

Hi,
I have a ancient goat sample and want to know which modern goat group it most close to by using Outgroup F3 Statistics.But my outgroup had a long divergence time with them,so the F3_result is greater than 1.Does it may have some effect to my judge?Is my ancient goat most close to the modern goat group with the max F3_result?
Thanks!

qp3Pop report no data for many population groups

Hi all,

I want to do three-population admixture test, but when I specified the parameters (in eigenstrat format, which can be used to run qpDstat smoothly) and run qp3Pop, the results are all no data. I do not know why. Hope your help!

Thanks
Best
Zhuqing

Using sliding window to run admixtools to detect unusual regions

Hi,

There are many examples using sliding windows to detect introgression regions using D statistic. So, I wander that, could I run qp3Pop to detect introgression regions with sliding windows? If so, does qp3Pop have more power to detect introgression regions compared to D_statistic?

Thanks!

qpAdm sometimes copies admixture proportions in other lines

Hello!

Sometimes qpAdm will give me identical admixture proportions between different models, and even forego forcing some to 0. (see part of results below).
I am fairly sure the chi square statistics are accurate for the model, I just don't get the admixture proportions.

fixed pat  wt  dof     chisq       tail prob
    00000  0     4     2.925        0.570392     0.006    -0.022     0.557     0.048     0.411  infeasible
    00001  1     5   101.589     2.44391e-20    -4.084     0.558     0.092     4.434     0.000  infeasible
    00010  1     5     3.026        0.696022    -4.084     0.558     0.092     4.434     0.000  infeasible
    00100  1     5    83.532     1.52896e-16    -4.084     0.558     0.092     4.434     0.000  infeasible

Clearly in the latter 2 models, the final component shouldn't be forced to 0, and instead the other components should.

Is this a problem with my use, or an internal problem?
Cheers

License conflict

Looking at the Makefile AdmixTools links with the GNU scientific library, which is released under the GPL. As a derived work AdmixTools would also have to be released under the GPL, but the "SOFTWARE COPYRIGHT NOTICE AGREEMENT" at the bottom of the README is in conflict with the GPL (your "agreement" prohibits commercial use whereas the GPL does not permit restrictions on use).

Please adjust the license.

F3 test detect somewhat ancient gene flow

Dear @bumblenick

I have both wild and domesticated populations. From the analysis of inferred ancestral components (using admixture software), I found some wild individuals contained domesticate components (about 50%). So I want to use the three-population test to test whether these individuals have gene flow from the domesticated populations. But the results are all non-negative, meanwhile, I also do this at the individual level, the results are same as the population level. But from the results, I can see the f_3 values for these admixtured individuals (SRR1576679,BS1,ERR340348) are smaller than the unadmixtured individuals (ERR340329,ERR340333,ERR340335,ERR340341) when do analysis at individual level. I guess this admixture event may be ancient (about several thousands generations ago). So I want to know can I get some more information from the following results when the f_3 value is non-negative and can three-population test detect ancient gene flow? Thanks.

snps: 16016002
Source 1 Source 2 Target f_3 std. err Z SNPs
result: ERR340334 A14 BS1 0.079671 0.005448 14.624 12914067
result: ERR340334 A14 ERR340329 0.602950 0.036776 16.395 13012058
result: ERR340334 A14 ERR340333 0.404647 0.025341 15.968 13052431
result: ERR340334 A14 ERR340335 0.334453 0.020576 16.255 13053033
result: ERR340334 A14 ERR340341 0.487972 0.026363 18.510 12994993
result: ERR340334 A14 ERR340348 0.106602 0.006818 15.636 12944510
result: ERR340334 A14 SRR1576679 0.084376 0.004683 18.016 12857869

Best
Zhuqing

bad chrom error - fstats

Dear all,
I have been trying to used Admixtools to calculate fstatistics between several individuals. I have two questions concerning the runs:

  1. can I calculate the fstats for species instead of individuals? DO I set it up in the .ind file, changing the POP column for each species name?
  2. I am using capture sequence data and the reference used to map the reads is a set of contigs, so when I try to run the analysis I get this error:
    fatalx:
    bad chrom: 625_mc1r
    Aborted

    Is there any option I can use to accept the different "chromosome" names I have in my files?

Thanks in advance!

Release archive 5.1 does not build convertf nor mergeit

hello,

releaase archive does not build convertf nor mergeit while git tree will.

after issuing make all and make install in both git cloned tree and untared release-v5.1 content of bin directories differs

git clone bin directory

bigmess:/tmp/AdmixTools > \ls bin 
convertf  expfit.sh  qp3Pop   qpAdm    qpDpart  qpF4ratio  qpWave     qpreroot   wtjack.pl
dowtjack  mergeit    qp4diff  qpBound  qpDstat  qpGraph    qpff3base  rexpfit.r

untared release archive.

bigmess:/tmp/AdmixTools-5.1 > \ls bin      
dowtjack   qp3Pop   qpAdm    qpDpart  qpF4ratio  qpWave     qpreroot   wtjack.pl
expfit.sh  qp4diff  qpBound  qpDstat  qpGraph    qpff3base  rexpfit.r

easy to fix, because it's just a deifference in src/Makefile, see

-- /tmp/AdmixTools-git/src/Makefile    2018-11-16 10:42:52.830661146 +0100
+++ /ltmp/AdmixTools-5.1/src/Makefile  2018-09-27 18:27:42.000000000 +0200
@@ -21,7 +21,7 @@
 ND = nicksrc
 NLIB = $(ND)/libnick.a
 
-PROGS= qp3Pop qpDstat qpF4ratio qpAdm qpWave qp4diff dowtjack expfit.sh  qpBound qpGraph qpreroot qpff3base qpDpart convertf mergeit ##  gcount kimf
+PROGS= qp3Pop qpDstat qpF4ratio qpAdm qpWave qp4diff dowtjack expfit.sh  qpBound qpGraph qpreroot qpff3base qpDpart ##  gcount kimf
 ## rolloff* convertf mergeit from .../o2src
 
 PROGS2 = rexpfit.r  wtjack.pl 

qpGraph: free(): invalid next size (fast)

During a run of qpGraph, we got the following error:

...
starting analysis
number of initial random trials: 10792
*** glibc detected *** qpGraph: free(): invalid next size (fast): 0x00000000152d14d0 ***
======= Backtrace: =========
/lib/x86_64-linux-gnu/libc.so.6(+0x7da26)[0x2b0949deda26]
qpGraph[0x40a684]
qpGraph[0x404f51]
/lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xed)[0x2b0949d917ed]
qpGraph[0x4023a9]
======= Memory map: ========
00400000-00462000 r-xp 00000000 00:14 18410012                           /software/hgi/pkglocal/admixtools-5.0/bin/qpGraph
00661000-00662000 rw-p 00061000 00:14 18410012                           /software/hgi/pkglocal/admixtools-5.0/bin/qpGraph
00662000-00665000 rw-p 00000000 00:00 0 
011a0000-35a9f000 rw-p 00000000 00:00 0                                  [heap]
2b0948720000-2b0948742000 r-xp 00000000 08:06 251870234                  /lib/x86_64-linux-gnu/ld-2.15.so
2b0948742000-2b0948744000 rw-p 00000000 00:00 0 
2b0948942000-2b0948943000 r--p 00022000 08:06 251870234                  /lib/x86_64-linux-gnu/ld-2.15.so
2b0948943000-2b0948945000 rw-p 00023000 08:06 251870234                  /lib/x86_64-linux-gnu/ld-2.15.so
2b0948948000-2b0948f35000 r-xp 00000000 00:14 32105401                   /software/hgi/pkglocal/lapack-3.6.1/lib/liblapack.so.3.6.1
2b0948f35000-2b0949135000 ---p 005ed000 00:14 32105401                   /software/hgi/pkglocal/lapack-3.6.1/lib/liblapack.so.3.6.1
2b0949135000-2b0949138000 rw-p 005ed000 00:14 32105401                   /software/hgi/pkglocal/lapack-3.6.1/lib/liblapack.so.3.6.1
2b0949138000-2b0949184000 rw-p 00000000 00:00 0 
2b0949188000-2b09491df000 r-xp 00000000 00:14 32105398                   /software/hgi/pkglocal/lapack-3.6.1/lib/libblas.so.3.6.1
2b09491df000-2b09493de000 ---p 00057000 00:14 32105398                   /software/hgi/pkglocal/lapack-3.6.1/lib/libblas.so.3.6.1
2b09493de000-2b09493df000 rw-p 00056000 00:14 32105398                   /software/hgi/pkglocal/lapack-3.6.1/lib/libblas.so.3.6.1
2b09493e0000-2b09495f8000 r-xp 00000000 00:14 33164881                   /software/hgi/pkglocal/gsl-1.16/lib/libgsl.so.0.17.0
2b09495f8000-2b09497f7000 ---p 00218000 00:14 33164881                   /software/hgi/pkglocal/gsl-1.16/lib/libgsl.so.0.17.0
2b09497f7000-2b09497fa000 r--p 00217000 00:14 33164881                   /software/hgi/pkglocal/gsl-1.16/lib/libgsl.so.0.17.0
2b09497fa000-2b094980a000 rw-p 0021a000 00:14 33164881                   /software/hgi/pkglocal/gsl-1.16/lib/libgsl.so.0.17.0
2b094980a000-2b094980b000 rw-p 00000000 00:00 0 
2b0949810000-2b0949849000 r-xp 00000000 00:14 7763642                    /software/hgi/pkglocal/gsl-1.16/lib/libgslcblas.so.0.0.0
2b0949849000-2b0949a48000 ---p 00039000 00:14 7763642                    /software/hgi/pkglocal/gsl-1.16/lib/libgslcblas.so.0.0.0
2b0949a48000-2b0949a49000 r--p 00038000 00:14 7763642                    /software/hgi/pkglocal/gsl-1.16/lib/libgslcblas.so.0.0.0
2b0949a49000-2b0949a4a000 rw-p 00039000 00:14 7763642                    /software/hgi/pkglocal/gsl-1.16/lib/libgslcblas.so.0.0.0
2b0949a6a000-2b0949a6b000 rw-p 00000000 00:00 0 
2b0949a70000-2b0949b6b000 r-xp 00000000 08:06 251870238                  /lib/x86_64-linux-gnu/libm-2.15.so
2b0949b6b000-2b0949d6a000 ---p 000fb000 08:06 251870238                  /lib/x86_64-linux-gnu/libm-2.15.so
2b0949d6a000-2b0949d6b000 r--p 000fa000 08:06 251870238                  /lib/x86_64-linux-gnu/libm-2.15.so
2b0949d6b000-2b0949d6c000 rw-p 000fb000 08:06 251870238                  /lib/x86_64-linux-gnu/libm-2.15.so
2b0949d70000-2b0949f24000 r-xp 00000000 08:06 251870225                  /lib/x86_64-linux-gnu/libc-2.15.so
2b0949f24000-2b094a123000 ---p 001b4000 08:06 251870225                  /lib/x86_64-linux-gnu/libc-2.15.so
2b094a123000-2b094a127000 r--p 001b3000 08:06 251870225                  /lib/x86_64-linux-gnu/libc-2.15.so
2b094a127000-2b094a129000 rw-p 001b7000 08:06 251870225                  /lib/x86_64-linux-gnu/libc-2.15.so
2b094a129000-2b094a12e000 rw-p 00000000 00:00 0 
2b094a130000-2b094a24b000 r-xp 00000000 00:14 2038973                    /software/hgi/pkglocal/gcc-4.9.1/lib64/libgfortran.so.3.0.0
2b094a24b000-2b094a44a000 ---p 0011b000 00:14 2038973                    /software/hgi/pkglocal/gcc-4.9.1/lib64/libgfortran.so.3.0.0
2b094a44a000-2b094a44c000 rw-p 0011a000 00:14 2038973                    /software/hgi/pkglocal/gcc-4.9.1/lib64/libgfortran.so.3.0.0
2b094a44c000-2b094a44d000 rw-p 00000000 00:00 0 
2b094a450000-2b094a466000 r-xp 00000000 00:14 31989922                   /software/hgi/pkglocal/gcc-4.9.1/lib64/libgcc_s.so.1
2b094a466000-2b094a665000 ---p 00016000 00:14 31989922                   /software/hgi/pkglocal/gcc-4.9.1/lib64/libgcc_s.so.1
2b094a665000-2b094a666000 rw-p 00015000 00:14 31989922                   /software/hgi/pkglocal/gcc-4.9.1/lib64/libgcc_s.so.1
2b094a668000-2b094a6a5000 r-xp 00000000 00:14 2038965                    /software/hgi/pkglocal/gcc-4.9.1/lib64/libquadmath.so.0.0.0
2b094a6a5000-2b094a8a4000 ---p 0003d000 00:14 2038965                    /software/hgi/pkglocal/gcc-4.9.1/lib64/libquadmath.so.0.0.0
2b094a8a4000-2b094a8a5000 rw-p 0003c000 00:14 2038965                    /software/hgi/pkglocal/gcc-4.9.1/lib64/libquadmath.so.0.0.0
2b094a8a5000-2b094b0a8000 rw-p 00000000 00:00 0 
7ffdf588c000-7ffdf58ae000 rw-p 00000000 00:00 0                          [stack]
7ffdf58e0000-7ffdf58e1000 r-xp 00000000 00:00 0                          [vdso]
ffffffffff600000-ffffffffff601000 r-xp 00000000 00:00 0                  [vsyscall]
Aborted

Using gdb, I've tracked this down to the free (ww2) call at the end of initvmix:
https://github.com/DReichLab/AdmixTools/blob/master/src/qpGraph.c#L2183

how to explain the D-stastics result

Dear @bumblenick
in D-stastics README file, what's the meaning of "If the Z-score is +ve, then the gene flow occured either between W and Y or X and Z
If the Z-score is -ve, then the gene flow occured either between W and Z or X and Y."
and I got the result : W X Y Z 0.0027(Dstat) 1.496337525(Z score) 335725(BABA) 7196699(ABBA), so W and Y or X and Z had gene flow? thankyou

Extension of model-based clustering methods

@bumblenick
accounting for differential drift between populations.
Currently available programs such as ADMIXTURE and STRUCTURE are sensitive to differential drift so I wonder if perhaps something using formal statistics like QpAdm(or perhaps that new method) but at the same being able to create genetic clusters like ADMIXTURE is possible. Or something being able to test genetic drift on separate model-based genetic components detected in a given sample, not the whole genome like current programs are doing. I think that would be particularly useful for Paleolithic specimens who according to ADMIXTURE were extremely "mixed". Is that because they weren't fully genetically differentiated yet? Which may complicate correctly detecting their relation to even Mesolithic samples such as WHGs let alone younger populations.

https://genetiker.wordpress.com/

How to performe D-stats without chromosome information?

I have a "de novo" assembly, and when trying to use qpDstats the columns of chromosome information in the snp file is necesary to run the program. I tried to complete the columned with NA and it is not possible. How can I solve this? If completing the chromosome number randomly the results can chage. I am not sure how to proceed.

Thanks

Agostina

rolloff outputs gmon.out

Hi,
I am running admixtools 3.0, downloaded June 29, 2015. I'm running this on Fedora Linux. When I run ROLLOFF, the log file looks OK after completion, but the only output file is "gmon.out". What is this file, and what is going on?
Thanks,
Juan

bad chrom

Hi there,

I would like to use convertf to convert from vcf to eigenstrat to test hybridization using ADMIXTOOLS. The problem is, that my chromosome IDs don't refer to actual chromosomes but to scaffolds.

When I run converf I get an error saying:
warning (mapfile): bad chrom: 100

I realized that when I set all chromosomes to 1, sort the variants and remove those that are duplicate, convertf works. But I dont want to loose the actual snp order. Also I'd prefer not to remove duplicate variants...

Is there any way to circumvent this and to be able to generate an eigenstrat file without having to change the chrom IDs?

Thanks in advance!

qpAdm p-values

Is it advisable to set a p-value threshold according to chi sq, and not to unilaterally reject models with p-values < 0.05, or can we reject models with p<0.05 regardless of chi sq values?

output explanation

Hello !
I can run AdmixTools smoothly , but I don't what does the values in the output mean ;for example f_3 value ans Z value in qp3Pop.log . I read the README.3PopTest file , It doesn't answer my question , where else can I get the information ?

Example data directory

Hi there,
Would it be possible to get the AdmixTools/data/ directory uploaded to the git repo? The log files in AdmixTools/examples/ are referencing ../data/allmap, and it would be very useful to be able to see the input files and run the examples for troubleshooting purposes.
Thanks!
-Steve

f2 from qpgraph with NULL as outgroup

Hi All,

I'm wondering what is the scale of f2 in qpgraph output? I set outgroup as NULL to turn off normalization but the resulting f2 seems to be normalized by heterozygosity somewhere. I tried to compute f2 and Fst myself, and my Fst agrees with qpgraph but f2 doens't.

I'm very grateful for the help.

Chi-Chun

Feature request: More population differentiation analysis methods and statistics

@bumblenick
Such as Fst, Gst, G'st, G''st, Rst, Фst etc.
Hello, this program is very good but it'd very helpful if it could support more differentiation analysis methods. I think especially useful would be ASD(Allele Sharing Distance), TVD(Total Variation Distance) and Est. since as far as I know no programs support these statistics currently in easy to use form.

Total Variation Difference is described here
https://www.ncbi.nlm.nih.gov/pmc/articles/PMC4915815/

https://www.ncbi.nlm.nih.gov/pubmed/25788095

Asd
https://www.ncbi.nlm.nih.gov/pmc/articles/PMC2869072/

Est
http://journals.plos.org/plosone/article?id=10.1371/journal.pone.0160413

http://www.biorxiv.org/content/early/2015/10/09/028753

please release executable files

Note that v5.0 release. Great!

However, it is really hard to compile at a no-root-privilege server or a no-web server. Executable files may get more users.

Haploid setting?

Hi
Is it possible to run qpGraph with a haploid setting? I can see a reference to "haploid" in the qpGraph.c file (on line 1774). Is it as simple as to change the 0 to a 1?

Thanks in advance

genetic position in .snp file

I am working with VCF files. I am able to convert between different formats (VCF <--> PLINK <--> EIGENSTRAT). But the .snp file generated in this process has genetic position values all 0. Is there any way I can populate these? Perhaps using the genetic maps files?

Some issue about the software

I meet some problem when I used qpDstat.
Some of my genotype data:
292229222299999999999999999999999999999999999999101919999999999999
999229229999299999292999292929992199090092222929222929222229922229
999229229991299999222229291209991222222222222229222222222222222229
999229229992229229222299222229992229222221111019222222222222222222
999229229992229229222222222229992229222222222229222220191112222222
SNP data:
scaffold_0:25599 0 0 25599 C T
scaffold_0:26840 0 0 26840 C T
scaffold_0:27901 0 0 27901 C A
scaffold_0:27953 0 0 27953 T A
scaffold_0:27992 0 0 27992 G A
individual data:
GSA1 U GSA
GSA2 U GSA
GSA3 U GSA
GSA4 U GSA
GSA5 U GSA
GSA6 U GSA
GSA7 U GSA
GSA8 U GSA
GSA9 U GSA
Besides, my genotype data have 786 scaffolds. When I run the commond qpDstat -p Dsta_par, it tells some problems:
qpDstat: parameter file: Dsta_par

THE INPUT PARAMETERS

##PARAMETER NAME: VALUE
genotypename: 66inds_SNP.eigenstratgeno
snpname: 66inds_SNP.snp
indivname: 66inds_SNP.ind
popfilename: list_pop1

qpDstat version: 755

warning: bad chrom: scaffold_0:14883 0 0 14883 C T
warning: bad chrom: scaffold_0:15074 0 0 15074 G T
warning: bad chrom: scaffold_0:15222 0 0 15222 C T
warning: bad chrom: scaffold_0:25526 0 0 25526 C T
warning: bad chrom: scaffold_0:25579 0 0 25579 C T
warning: bad chrom: scaffold_0:25599 0 0 25599 C T
warning: bad chrom: scaffold_0:26840 0 0 26840 C T
warning: bad chrom: scaffold_0:27901 0 0 27901 C A
warning: bad chrom: scaffold_0:27953 0 0 27953 T A
warning: bad chrom: scaffold_0:27992 0 0 27992 G A
Segmentation fault (core dumped)

Please tell me what's wrong with my data?
Thank you very much.

Segmentation fault - qp3pop and qpF4ratio

I am getting and error saying: "Segmentation fault" with a dataset of 20 million SNPs, and I didn't encounter this error before with smaller data sets. Is it because of the size of the file? I was checking the source code and I couldn't find anything related with segmentation...

qpF4ratio

Hi,

In qpF4ratio, alpha = f4(A,O; X,C)/ f4(A,O; B, C). Is it ok that i use the same population for A and B?

Thanks a lot!

The results from F4-ratio and D-statistic are different

Dear @bumblenick

I have a few questions about the results from F4-ratio (qpF4ratio) and D-statistic (qpDstat). Can I detect introgression between two populations using F4-ratio on a genome-wide scale? I ran these two methods for a same dataset, as a result, the qpF4ratio detected EUR has about 1.1% introgression from IBEX1, but the qpDstat told me the IBEX1 share more derived allele with AFR. the topology among these five populations is following,
image
results from qpF4ratio version: 300

 result:       BEZ2   Outgroup        EUR      IBEX1  :       BEZ2   Outgroup        AFR      IBEX1     0.988603     0.000951   1039.104
 result:       BEZ2   Outgroup        AFR      IBEX1  :       BEZ2   Outgroup        EUR      IBEX1     1.011527     0.000973   1039.104

results from qpDstat version: 701

result:   Outgroup      IBEX1        EUR        AFR      0.0045     0.001616     2.816 39371  39014 5123960

Can you help interpret this contradict results, many thanks!

Best Wishes
zhuqing

consistent results between High density SNPs and thinned SNPs

Hi @bumblenick

I want to know whether the thinning process is necessary before running admixtools when using high density SNPs. I just care about the accurate of the results.
I have run F3, F4 and D-statistics using about 40M SNPs without pruning and 13M SNPs with pruning by LD. When running with 40M SNPs, it also runs fast, and the result is almost consistent with the thinned SNPs. So I want to know, If I just want to run above statistics for a small number of population, can I get a more reasonable result when using all SNPs?

Best
Zhuqing

qp3pop // warning: dubious parameter

Hello,
I've got a problem in my parameter, in the log output file it begin by "warning: dubious parameter"
I can't find where is the problem. I got the result at the end for qp3pop, but don't know if it's serious problem this warning.
Maybe someone can help....

the parfile :
parameter file: parqp3
DIR: /home/mferrand/
SSS: ALL
genotypename: /home/mferrand/ALL.geno
snpname: /home/mferrand/ALL.snp
indivname: /home/mferrand/ALL.ind
popfilename: /home/mferrand/list_qp3test.txt

I have my 3 files in the good format (I hope)
ALL.geno
1000000
1000000
0001000
etc...

ALL.snp
N-0001 1 0.31 10015031
N-0002 1 0.31 10039272
N-0003 1 0.31 10048150
etc...

ALL.ind
"N9" "0" "N9"
"N5" "0" "N5"
"D1" "0" "D1"
"T1" "0" "T1"
"D22" "0" "D22"
"N1" "0" "N1"
"Col0" "0" "Col0"

**the popfilename: ** list_qp3test.txt :
"T1" "N1" "D1"
"D22" "N9" "D1"
"N1" "N9" "D1"
etc...

**then the logfile give = **
parameter file: parqp3.txt
**warning: dubious parameter, please check the parameter name parameter
THE INPUT PARAMETERS
PARAMETER NAME: VALUE
parameter file: parqp3Pop
DIR: /home/mferrand/
SSS: ALL
genotypename: /home/mferrand/ALL.geno
snpname: /home/mferrand/ALL.snp
indivname: /home/mferrand/ALL.ind
popfilename: /home/mferrand/list_qp3test.txt
qp3Pop version: 204
nplist: 56
number of blocks for block jackknife: 68
snps: 54984
Source 1 Source 2 Target f_3 std. err Z SNPs
result: "T1" "N1" "D1" -0.196412 0.015795 -12.435 29533
result: "D22" "N9" "D1" -0.234678 0.008221 -28.547 26423
result: "N1" "N9" "D1" -0.196241 0.018510 -10.602 29550
Etc...

Thanks in advance !

qpAdm source file is missing

Hi,

Build dies with error
make: *** No rule to make target 'qpAdm.o', needed by 'qpAdm'. Stop.

I appears that a source file (qpAdm.c?) is missing from the repository.

The same appears to be true for the source file for target qpWave.o.

Regards,

Bernt

D-statistics (qpDstat)

Hello
In my log result I only have the value "Dstat" and "Z"
but no BABA et ABBA ...
and "best" notation are on which criteria ?
can help me please ?
thanks in advance.

Should have :
result: Pop1 (W) Pop2 (X) : Pop3 (Y) Pop4 (Z) D-stat Z BABA ABBA #_of_SNPs_that_all_populations_have_data

my out file :
qpDstat version: 450
0 "N1" 1
1 "N9" 1
2 "N5" 1
3 "T1" 1
4 "D1" 1
5 "D22" 1
jackknife block size: 0.050
snps: 54984 indivs: 6
number of blocks for jackknife: 68
D stat Z
result: "N1" "N9" : "N5" "T1" -0.0998 -1.083 best
result: "N1" "N5" : "N9" "T1" -0.3463 -5.492
result: "N1" "T1" : "N9" "N5" -0.2576 -3.761
result: "N1" "N9" : "N5" "D1" -0.1446 -1.591 best
result: "N1" "N5" : "N9" "D1" -0.3724 -6.114
result: "N1" "D1" : "N9" "N5" -0.2441 -3.408
etc....

Ubuntu installation error and solution

I was trying to install v5.1 on a ubuntu system and I kept getting this error:

cc -L./nicksrc qpAdm.o nicksrc/libnick.a qpsubs.o mcio.o ldsubs.o admutils.o egsubs.o regsubs.o f4rank.o eigsubs.o eigx.o -lgsl -lopenblas -lm -lnick -o qpAdm
eigx.o: In function eigx_': /home/owens/bin/AdmixTools-5.1/src/eigx.c:94: undefined reference to dspev_'
eigx.o: In function eigxv_': /home/owens/bin/AdmixTools-5.1/src/eigx.c:118: undefined reference to dspev_'
eigx.o: In function cdc_': /home/owens/bin/AdmixTools-5.1/src/eigx.c:136: undefined reference to dpotrf_'
eigx.o: In function inverse_': /home/owens/bin/AdmixTools-5.1/src/eigx.c:173: undefined reference to dgetrf_'
/home/owens/bin/AdmixTools-5.1/src/eigx.c:180: undefined reference to dgetri_' eigx.o: In function solve_':
/home/owens/bin/AdmixTools-5.1/src/eigx.c:206: undefined reference to dgetrf_' /home/owens/bin/AdmixTools-5.1/src/eigx.c:212: undefined reference to dgetrs_'
eigx.o: In function geneigsolve_': /home/owens/bin/AdmixTools-5.1/src/eigx.c:230: undefined reference to dsygv_'
collect2: error: ld returned 1 exit status

This happened despite installing and updating GSL, openblas, gfortran, and lapack.
Based on this post about a related program (DReichLab/EIG#8) I tried
make all LDLIBS="-llapack"
This seemed to fix the error, and it installed fine.

Including a note about this might be useful in the install readme, and I'm posting this issue to help anyone else with the same issue.

fatalx :: avoid coredump

Would you mind using exit(X) instead of abort() in nicksrc/strsubs.c

with X obviously different from 0

this way error will be raised and no core dump generated.
if core is important for debug purpose, some #define will allow to toggle fatalx beetween exit() and abort()

regards

Eric

qpAdm: Option missing from documentation

The option "chrom: 23" to run qpAdm on the X chromosome, as well as the default behaviour of excluding SNPs on the X/Y chromosomes, are not described in the qpAdm README.

qpGraph showing worst f statistic with repeated populations

Dear Nick,

I'm trying to work out a model with complex admixtures starting with a simple one and adding nodes. My starting point was based on a D calculation that wasn't significant, using qpDstat. But when I plot the qpGraph, I get f statistics with repeated populations. Is this normal behaviour?
I'm attaching the qpGraph below.
Many thanks in advance

NonSigModel

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.