NgsAdmix
This will contain the program called NGSadmix, which is a very nice tool for finding admixture. It is based on genotype likelihoods or genotype probabilities. It is a fancy multithreaded c/c++ program
Installation
wget popgen.dk/software/NGSadmix/ngsadmix32.cpp g++ ngsadmix32.cpp -O3 -lpthread -lz -o NGSadmix
Input Files
The current input files are the widely used beagle inputfiles, or beagle imputed outputfiles [1]. We recommend ANGSD for easy transformation of Next-generation sequencing data to beagle format.
Options
./NGSadmix Arguments: -likes Beagle likelihood filename -K Number of ancestral populations Optional: -fname Ancestral population frequencies -qname Admixture proportions -outfiles Prefix for output files -printInfo print ID and mean maf for the SNPs that were analysed Setup: -seed Seed for initial guess in EM -P Number of threads -method If 0 no acceleration of EM algorithm -misTol Tolerance for considering site as missing Stop chriteria: -tolLike50 Loglikelihood difference in 50 iterations -tol Tolerance for convergence -dymBound Use dymamic boundaries (1: yes (default) 0: no) -maxiter Maximum number of EM iterations Filtering -minMaf Minimum minor allele frequency -minLrt Minimum likelihood ratio value for maf>0 -minInd Minumum number of informative individuals
Output Files
Program outputs 3 files.
- PREFIX.log
- PREFIX.fopt.gz
- PREFIX.qopt
- The log file contains log information of the run. Commandline used for running the program, what the likelihood is every 50 iterations, and finally how long it took to do the run.
- The fopt.gz file is an compressed file, which contains an estimate of the frequency for each site for all populations.
- The qopt file contains the admixture proportions for all individuals.
Examples of the output files are found below.
Log file
Contents of the file log file
-> Dumping file: tskSim/tsk6GL.beagle.s1.log -> Dumping file: tskSim/tsk6GL.beagle.s1.filter Input: lname=tskSim/tsk6GL.beagle nPop=3, fname=(null) qname=(null) outfiles=tskSim/tsk6GL.beagle.s1 Setup: seed=1 nThreads=10 method=1 Convergence: maxIter=2000 tol=0.000000 tolLike50=0.010000 dymBound=0 Filters: misTol=0.050000 minMaf=0.000000 minLrt=0.000000 minInd=0 Input file has dim: nsites=100000 nind=75 Input file has dim (AFTER filtering): nsites=100000 nind=75 iter[start] like is=9299805.984931 iter[50] like is=-6531138.892608 thres=0.002800 iter[100] like is=-6528710.773349 thres=0.001289 iter[150] like is=-6528405.896951 thres=0.001211 iter[200] like is=-6528306.803820 thres=0.000420 iter[250] like is=-6528277.160993 thres=0.000546 iter[300] like is=-6528271.925055 thres=0.000033 iter[350] like is=-6528271.177692 thres=0.000008 iter[400] like is=-6528270.876315 thres=0.000005 iter[450] like is=-6528270.772894 thres=0.000140 iter[500] like is=-6528270.747721 thres=0.000002 iter[550] like is=-6528270.740654 thres=0.000002 Convergence achived because log likelihooditer difference for 50 iteraction is less than 0.010000 best like=-6528270.740654 after 550 iterations -> Dumping file: tskSim/tsk6GL.beagle.s1.qopt -> Dumping file: tskSim/tsk6GL.beagle.s1.fopt.gz [ALL done] cpu-time used = 671.82 sec [ALL done] walltime used = 114.00 sec
fopt file
Contents of the fopt file
... 0.75331646167520038837 0.51190946588401886608 0.50134051056701267601 0.99999999900000002828 0.80165850924934911603 0.97470665326916294813 0.99999999900000002828 0.89560828888972687789 0.88062641752218895341 0.99999999900000002828 0.99999999900000002828 0.86109994249930577048 0.70560445653074521655 0.78994686954000448154 0.93076614062025020413 0.99999999900000002828 0.88878537780630872955 0.92662857068149151463 0.05322676762098016434 0.22871739860812340117 0.17394852600322696645 0.00000000100000000000 0.27428885137150410545 0.19029599645013275944 0.57086006389212373691 0.42232596591112880891 0.74080063581586474974 0.77359733910003525281 0.47380864146016693494 0.72073560889718923939 0.49946404159405927148 0.21684946347150244050 0.15201985942558055021 0.41802171086717271331 0.55490556205954566504 0.85691127728452165524 0.77095213528720529794 0.60074618451005279418 0.70219544996184157792 0.26517850405564091787 0.48500265408436060710 0.85432254709914456914 0.80055081986260245852 0.74423201242010783574 0.87110476762969968334 0.30563054476851375663 0.05233529475348827620 0.25911912824038613179 0.51084997710733415222 0.62263692178557350498 0.50738250264097506381 0.64790272562679740442 0.91230541484222271720 0.73015721390331478347 0.07124629651164265942 0.37896482494356753534 0.29218012479334326548 0.00000000100000000000 0.26969100790961914038 0.28395781874856029781 0.97074775756045073027 0.79093498372643300520 0.64006920058897498471 0.64661948716978157048 0.84130009558421925409 0.76730057769159087933 0.86990900887920663553 0.79410745692063922085 0.69416721874359499367 0.34956069940263900797 0.27773038429396151860 0.25923476721423144298 0.77739744690560164120 0.51272232330145017798 0.53888718200036844763 0.35431569298041332150 0.20022780744715171219 0.43176580786072032980 0.91858160919413811563 0.99999999900000002828 0.93584179237779097082 0.90339823126358831384 0.94729687041528465308 0.84358671720630329371 0.87068129661127857677 0.65267891763324525911 0.59315740612546075106 0.24102496839012735319 0.42777100607917967201 0.39594098602469629533 0.99999999900000002828 0.99999999900000002828 0.78549330115836857313 0.15386277372522660922 0.18035502891341426146 0.26583557049163752950 0.22456748943597096280 0.25110807159057474403 0.17244618960511531869 0.74816053649164548922 0.54769319158907958656 0.44532166240679449398 0.76350303696805599252 0.86547244122202959815 0.94111974586621383043 0.40940400475566068872 0.67767095908245833513 0.40793761498610620064 0.85389765162910868934 0.78901563183853873351 0.93614065916219291186 0.54108661985898742763 0.61895909938546000983 0.88522763262549941654 0.99051495581855464323 0.78855843624128341141 0.77646441702623147929 0.51133721761171413434 0.74521610846562824637 0.32689774480116673416 0.66618479413060949224 0.67891474309775079465 0.80762116232856140385 0.81793598261160704865 0.77752326447671193943 0.95349025244041396565 0.82120324647844433752 0.99999999900000002828 0.89800731971059466474 ...
log
- v32 june 25-2013; modified code such that it now compiles on OSX
- v31 june 24-2013; First public version.