PDA

View Full Version : How to run Admixtools



Bas
09-30-2017, 11:32 PM
I was wondering if someone could give a step by step guide on how to run Admixtools?

I've downloaded Admixtools from github and have Linux Mint (18.2 cinnamon) installed on a USB and can boot from that, but have no idea on what to do next. Do I need to download anything else apart from Admixtools?

Any help would be much appreciated!

anglesqueville
10-02-2017, 07:35 AM
I was wondering if someone could give a step by step guide on how to run Admixtools?

I've downloaded Admixtools from github and have Linux Mint (18.2 cinnamon) installed on a USB and can boot from that, but have no idea on what to do next. Do I need to download anything else apart from Admixtools?

Any help would be much appreciated!

Which executable program inside admixtools do you want to run? In any case you need a parameters file ( models are the texte files which name begins with "par" in one of the subfolders of admixtools, don't recall which one; for example "parqpAdm"). You have to adapt the parameters file to the genetic datas you want to use ( always in EIGENSTRAT format) , and place it in the "bin"-folder. You have of course to rewrite the files needed by the program you want to run ( for example "left" and "right" for qpAdm) Once you have done that, it's very simple. You open a terminal, go to the "bin" folder ( for me: cd genetic/asmixtools5/bin), and write a command line ( for example for qpAdm) :" ./qpAdm -p parqpAdm".
Using admixtools is elementary. The difficult thing is what happens before: converting, pruning, merging, etc. For all that you'll need to dowload programs like Plink, vcftools, eigensoft ( and perhaps others, depending on what you want to do).
note: I have no real experience of using linux from a usb. I have myself installed my linux ( now fedora25) on a virtual machine.

Bas
10-02-2017, 04:24 PM
Thankyou for your reply anglesqueville. I wanted to run D-stats and as I said, had Linux Mint on USB.

I booted Mint and copied Admixtools from another USB and pasted that on the Mint desktop. So far, so good. Then I opened a terminal in the src folder and typed:

make clobber
make all

After 'make clobber' it looked ok. And if I remember correctly, the next step after 'make all' this would have been 'make install'. Unfortunately,at the 'make all' command, I got a string of error messages, (coming from the /nicksrc folder I think) each with a different number (bolded below to highlight) saying:

'home/mint/Desktop/AdmixTools-1.0.1/src/nicksrc/gds.c:672: undefined....'

and after this, right at the end of the output:

collect2: error: ld returned 1 exit status
Makefile:76: recipe for target 'qp3Pop' failed
make: *** [qp3Pop] Error 1
[email protected] -/Desktop/AdmixTools-1.0.1/src $

I feel I am quite close but have no idea to overcome this problem.

Here's an image of the screen-sorry for the potato quality...:P

19112

anglesqueville
10-02-2017, 06:50 PM
I don't want to be pessimistic, but I was quite unable to install admixtools on ubuntu, mint, even scientific linux. I had problems with the version of the compilater. That said, make sure you have the following biblios ( openblas and lapack):

openblas-threads64_-0.2.19-4.el7.x86_64
openblas-serial64_-0.2.19-4.el7.x86_64
openblas-openmp64-0.2.19-4.el7.x86_64
openblas-openmp-0.2.19-4.el7.x86_64
openblas-threads-0.2.19-4.el7.x86_64
openblas-threads64-0.2.19-4.el7.x86_64
openblas-0.2.19-4.el7.x86_64
openblas-openmp64_-0.2.19-4.el7.x86_64
openblas-serial64-0.2.19-4.el7.x86_64
openblas-devel-0.2.19-4.el7.x86_64
openblas-static-0.2.19-4.el7.x86_64
openblas-Rblas-0.2.19-4.el7.x86_64
blas-devel-3.4.2-5.el7.x86_64
lapack-devel-3.4.2-5.el7.x86_64
lapack64-3.4.2-5.el7.x86_64
blas64-3.4.2-5.el7.x86_64
blas64-devel-3.4.2-5.el7.x86_64
lapack64-devel-3.4.2-5.el7.x86_64
lapack64-static-3.4.2-5.el7.x86_64
lapack-static-3.4.2-5.el7.x86_64

MacUalraig
10-02-2017, 07:02 PM
If you want to pm me the full output not just the bit you screenshot I might be able to give you some 'pointers' (C joke sorry).

anglesqueville
10-02-2017, 07:19 PM
Sounds like it can't find all the headers - log and exp are in math.h which the author has included in ranmath.h. Presumably you aren't a C programmer?

Not at all.

MacUalraig
10-02-2017, 08:15 PM
Not at all.

Sorry, I rewrote that after you quoted me and it was for bas who I've pmd. But UNIX and C are so intertwined its commonly assumed if you are using one you know the other. Usually make fails due to not finding headers or libraries.

Dubhthach
10-02-2017, 08:30 PM
Just gave this a shot on my laptop which is running Fedora Rawhide (eg. what is basically going to be Fedora 28)


[[email protected] src]$ cat /etc/redhat-release
Fedora release 28 (Rawhide)
[[email protected] src]$ uname -a
Linux lugh 4.14.0-0.rc2.git3.1.fc28.x86_64 #1 SMP Thu Sep 28 18:41:33 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
[[email protected] src]$



[[email protected] AdmixTools-master]$ cd src
[[email protected] src]$ make clobber
rm -f *.o
rm -f *junk*
rm -f core
make -C nicksrc clean
make[1]: Entering directory '/home/dubhthach/Downloads/AdmixTools/AdmixTools-master/src/nicksrc'
rm -f *.o
rm -f libnick.a
make[1]: Leaving directory '/home/dubhthach/Downloads/AdmixTools/AdmixTools-master/src/nicksrc'
rm -f qp3Pop qpDstat qpF4ratio qpAdm qpWave rolloff convertf dowtjack expfit.sh grabpars qpBound qpGraph qpreroot qpff3base rolloffp qpDpart
rm -rf /home/dubhthach/Downloads/AdmixTools/AdmixTools-master/src/admixtables
rm -f tables
rm -f ../bin/*



[[email protected] src]$ make install
make -C nicksrc
make[1]: Entering directory '/home/dubhthach/Downloads/AdmixTools/AdmixTools-master/src/nicksrc'
cc -c -g -p -Wimplicit -I./ -c -o strsubs.o strsubs.c
cc -c -g -p -Wimplicit -I./ -c -o sortit.o sortit.c
cc -c -g -p -Wimplicit -I./ -c -o vsubs.o vsubs.c
cc -c -g -p -Wimplicit -I./ -c -o statsubs.o statsubs.c
cc -c -g -p -Wimplicit -I./ -c -o linsubs.o linsubs.c
cc -c -g -p -Wimplicit -I./ -c -o getpars.o getpars.c
cc -c -g -p -Wimplicit -I./ -c -o xsearch.o xsearch.c
cc -c -g -p -Wimplicit -I./ -c -o gauss.o gauss.c
cc -c -g -p -Wimplicit -I./ -c -o gds.o gds.c
ar -r libnick.a strsubs.o sortit.o vsubs.o statsubs.o linsubs.o getpars.o xsearch.o gauss.o gds.o
ar: creating libnick.a
ranlib libnick.a
make[1]: Leaving directory '/home/dubhthach/Downloads/AdmixTools/AdmixTools-master/src/nicksrc'
cc -c -g -p -Wimplicit -I./ -I./nicksrc -c -o qp3Pop.o qp3Pop.c
cc -c -g -p -Wimplicit -I./ -I./nicksrc -c -o qpsubs.o qpsubs.c
cc -c -g -p -Wimplicit -I./ -I./nicksrc -c -o mcio.o mcio.c
cc -c -g -p -Wimplicit -I./ -I./nicksrc -c -o ldsubs.o ldsubs.c
cc -c -g -p -Wimplicit -I./ -I./nicksrc -c -o admutils.o admutils.c
cc -c -g -p -Wimplicit -I./ -I./nicksrc -c -o egsubs.o egsubs.c
cc -c -g -p -Wimplicit -I./ -I./nicksrc -c -o regsubs.o regsubs.c
cc -L./nicksrc qp3Pop.o nicksrc/libnick.a qpsubs.o mcio.o ldsubs.o admutils.o egsubs.o regsubs.o -lgsl -lopenblas -lm -lnick -o qp3Pop
cc -c -g -p -Wimplicit -I./ -I./nicksrc -c -o qpDstat.o qpDstat.c
cc -L./nicksrc qpDstat.o nicksrc/libnick.a qpsubs.o mcio.o ldsubs.o admutils.o egsubs.o regsubs.o -lgsl -lopenblas -lm -lnick -o qpDstat
cc -c -g -p -Wimplicit -I./ -I./nicksrc -c -o qpF4ratio.o qpF4ratio.c
cc -L./nicksrc qpF4ratio.o nicksrc/libnick.a qpsubs.o mcio.o ldsubs.o admutils.o egsubs.o regsubs.o -lgsl -lopenblas -lm -lnick -o qpF4ratio
cc -c -g -p -Wimplicit -I./ -I./nicksrc -c -o qpAdm.o qpAdm.c
cc -c -g -p -Wimplicit -I./ -I./nicksrc -c -o f4rank.o f4rank.c
cc -c -g -p -Wimplicit -I./ -I./nicksrc -c -o eigsubs.o eigsubs.c
cc -c -g -p -Wimplicit -I./ -I./nicksrc -c -o eigx.o eigx.c
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
cc -c -g -p -Wimplicit -I./ -I./nicksrc -c -o qpWave.o qpWave.c
cc -L./nicksrc qpWave.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 qpWave
cc -c -g -p -Wimplicit -I./ -I./nicksrc -c -o rolloff.o rolloff.c
cc -L./nicksrc rolloff.o nicksrc/libnick.a qpsubs.o mcio.o ldsubs.o admutils.o egsubs.o regsubs.o -lgsl -lopenblas -lm -lnick -o rolloff
cc -c -g -p -Wimplicit -I./ -I./nicksrc -c -o convertf.o convertf.c
cc -c -g -p -Wimplicit -I./ -I./nicksrc -c -o h2d.o h2d.c
cc -c -g -p -Wimplicit -I./ -I./nicksrc -c -o exclude.o exclude.c
cc -L./nicksrc convertf.o nicksrc/libnick.a mcio.o admutils.o egsubs.o h2d.o exclude.o -lgsl -lopenblas -lm -lnick -o convertf
cc -c -g -p -Wimplicit -I./ -I./nicksrc -c -o dowtjack.o dowtjack.c
cc -L./nicksrc dowtjack.o nicksrc/libnick.a -lgsl -lopenblas -lm -lnick -o dowtjack
sed -e "s&BBBIN&/home/dubhthach/Downloads/AdmixTools/AdmixTools-master/src/../bin&" < expfit.templ > expfit.sh
chmod +x expfit.sh
cc -c -g -p -Wimplicit -I./ -I./nicksrc -c -o grabpars.o grabpars.c
cc -L./nicksrc grabpars.o nicksrc/libnick.a -lgsl -lopenblas -lm -lnick -o grabpars
cc -c -g -p -Wimplicit -I./ -I./nicksrc -c -o qpBound.o qpBound.c
cc -L./nicksrc qpBound.o nicksrc/libnick.a qpsubs.o mcio.o ldsubs.o admutils.o egsubs.o regsubs.o -lgsl -lopenblas -lm -lnick -o qpBound
cc -c -g -p -Wimplicit -I./ -I./nicksrc -c -o qpGraph.o qpGraph.c
cc -c -g -p -Wimplicit -I./ -I./nicksrc -c -o gslqp.o gslqp.c
cc -c -g -p -Wimplicit -I./ -I./nicksrc -c -o qpgsubs.o qpgsubs.c
cc -L./nicksrc qpGraph.o nicksrc/libnick.a gslqp.o qpgsubs.o qpsubs.o mcio.o ldsubs.o admutils.o egsubs.o regsubs.o -lgsl -lopenblas -lm -lnick -o qpGraph
cc -c -g -p -Wimplicit -I./ -I./nicksrc -c -o qpreroot.o qpreroot.c
cc -L./nicksrc qpreroot.o qpgsubs.o qpsubs.o mcio.o ldsubs.o admutils.o egsubs.o regsubs.o -lgsl -lopenblas -lm -lnick -o qpreroot
cc -c -g -p -Wimplicit -I./ -I./nicksrc -c -o qpff3base.o qpff3base.c
cc -L./nicksrc 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 -c -o rolloffp.o rolloffp.c
rolloffp.c: In function ‘cntit1’:
rolloffp.c:789:23: warning: ‘return’ with no value, in function returning non-void
if (cupt -> ignore) return ;
^~~~~~
rolloffp.c:783:8: note: declared here
double cntit1(double *xc, SNP *cupt, Indiv **indm, int numindivs, int t)
^~~~~~
rolloffp.c: In function ‘cntit2’:
rolloffp.c:808:23: warning: ‘return’ with no value, in function returning non-void
if (cupt -> ignore) return ;
^~~~~~
rolloffp.c:802:8: note: declared here
double cntit2(double *xc, SNP *cupt, SNP *cupt2, Indiv **indm, int numindivs, int t)
^~~~~~
rolloffp.c:809:24: warning: ‘return’ with no value, in function returning non-void
if (cupt2 -> ignore) return ;
^~~~~~
rolloffp.c:802:8: note: declared here
double cntit2(double *xc, SNP *cupt, SNP *cupt2, Indiv **indm, int numindivs, int t)
^~~~~~
cc -L./nicksrc rolloffp.o nicksrc/libnick.a qpsubs.o mcio.o ldsubs.o admutils.o egsubs.o regsubs.o -lgsl -lopenblas -lm -lnick -o rolloffp
cc -c -g -p -Wimplicit -I./ -I./nicksrc -c -o qpDpart.o qpDpart.c
cc -L./nicksrc qpDpart.o nicksrc/libnick.a qpsubs.o mcio.o ldsubs.o admutils.o egsubs.o regsubs.o -lgsl -lopenblas -lm -lnick -o qpDpart
mkdir -p /home/dubhthach/Downloads/AdmixTools/AdmixTools-master/src/admixtables
echo "tables made" > tables
cp twtable /home/dubhthach/Downloads/AdmixTools/AdmixTools-master/src/admixtables
mkdir -p ../bin
cp qp3Pop qpDstat qpF4ratio qpAdm qpWave rolloff convertf dowtjack expfit.sh grabpars qpBound qpGraph qpreroot qpff3base rolloffp qpDpart ../bin
cp rexpfit.r wtjack.pl ../bin



[[email protected] src]$ ls -lh ../bin
total 7.8M
-rwxrwxr-x. 1 dubhthach dubhthach 429K Oct 2 21:25 convertf
-rwxrwxr-x. 1 dubhthach dubhthach 262K Oct 2 21:25 dowtjack
-rwxrwxr-x. 1 dubhthach dubhthach 1.7K Oct 2 21:25 expfit.sh
-rwxrwxr-x. 1 dubhthach dubhthach 145K Oct 2 21:25 grabpars
-rwxrwxr-x. 1 dubhthach dubhthach 564K Oct 2 21:25 qp3Pop
-rwxrwxr-x. 1 dubhthach dubhthach 612K Oct 2 21:25 qpAdm
-rwxrwxr-x. 1 dubhthach dubhthach 569K Oct 2 21:25 qpBound
-rwxrwxr-x. 1 dubhthach dubhthach 564K Oct 2 21:25 qpDpart
-rwxrwxr-x. 1 dubhthach dubhthach 580K Oct 2 21:25 qpDstat
-rwxrwxr-x. 1 dubhthach dubhthach 569K Oct 2 21:25 qpF4ratio
-rwxrwxr-x. 1 dubhthach dubhthach 636K Oct 2 21:25 qpff3base
-rwxrwxr-x. 1 dubhthach dubhthach 674K Oct 2 21:25 qpGraph
-rwxrwxr-x. 1 dubhthach dubhthach 608K Oct 2 21:25 qpreroot
-rwxrwxr-x. 1 dubhthach dubhthach 595K Oct 2 21:25 qpWave
-rw-rw-r--. 1 dubhthach dubhthach 4.7K Oct 2 21:25 rexpfit.r
-rwxrwxr-x. 1 dubhthach dubhthach 572K Oct 2 21:25 rolloff
-rwxrwxr-x. 1 dubhthach dubhthach 571K Oct 2 21:25 rolloffp
-rwxr-xr-x. 1 dubhthach dubhthach 2.4K Oct 2 21:25 wtjack.pl



Some warnings but it basically built it without any issues, now if I recall I had built this before when the laptop was on Fedora 25, as I had done a 'upgrade' to dev release (eg. rawhide) it's probable I already had all the various component packages (rpm's) installed.

anglesqueville
10-02-2017, 08:30 PM
Sorry, I rewrote that after you quoted me and it was for bas who I've pmd. But UNIX and C are so intertwined its commonly assumed if you are using one you know the other. Usually make fails due to not finding headers or libraries.

OK. I told that I was not (at all) a C programmer, but it's not quite true. I'm mainly too lasy for C. About admixtools, that worked for me (on fedora25) after I had installed lapack, blas and openblas. That said I seem to recall that the linux executables of qpAdm, qpDstat etc are directly downloadable on github. Bas may try to download them and simply copy them in the directory of admixtools, right?
edit: incidentally, the "thanks" icon is missing at the end of the last post. So... thanks Dubhthach :first:

Bas
10-02-2017, 10:28 PM
I don't want to be pessimistic, but I was quite unable to install admixtools on ubuntu, mint, even scientific linux. I had problems with the version of the compilater. That said, make sure you have the following biblios ( openblas and lapack):

openblas-threads64_-0.2.19-4.el7.x86_64
openblas-serial64_-0.2.19-4.el7.x86_64
openblas-openmp64-0.2.19-4.el7.x86_64
openblas-openmp-0.2.19-4.el7.x86_64
openblas-threads-0.2.19-4.el7.x86_64
openblas-threads64-0.2.19-4.el7.x86_64
openblas-0.2.19-4.el7.x86_64
openblas-openmp64_-0.2.19-4.el7.x86_64
openblas-serial64-0.2.19-4.el7.x86_64
openblas-devel-0.2.19-4.el7.x86_64
openblas-static-0.2.19-4.el7.x86_64
openblas-Rblas-0.2.19-4.el7.x86_64
blas-devel-3.4.2-5.el7.x86_64
lapack-devel-3.4.2-5.el7.x86_64
lapack64-3.4.2-5.el7.x86_64
blas64-3.4.2-5.el7.x86_64
blas64-devel-3.4.2-5.el7.x86_64
lapack64-devel-3.4.2-5.el7.x86_64
lapack64-static-3.4.2-5.el7.x86_64
lapack-static-3.4.2-5.el7.x86_64

Thanks, I actually just tried to get it to build on Fedora 25 as per what Dubhthach did in this thread: http://www.anthrogenica.com/showthread.php?9823-Admixtools-amp-Ubuntu/page2

It gave me the following error messages saying that it cannot find -llapack and -lblas which are the files that you just mentioned.

What would the commands be to download all of the files you mentioned? Can I write a command to download all of them at once? I've also attached a pic of what I got19116

anglesqueville
10-03-2017, 06:25 AM
Bas, on fedora 25 the command to install and manage packages is DNF. When I search something related to DNF I use https://doc.fedora-fr.org/wiki/DNF,_le_gestionnaire_de_paquets_de_Fedora#Recherch er_un_paquet , but it's in french. Try https://dnf.readthedocs.io/en/latest/index.html

Bas
10-08-2017, 01:30 AM
Bas, on fedora 25 the command to install and manage packages is DNF. When I search something related to DNF I use https://doc.fedora-fr.org/wiki/DNF,_le_gestionnaire_de_paquets_de_Fedora#Recherch er_un_paquet , but it's in french. Try https://dnf.readthedocs.io/en/latest/index.html

Thanks so much. Been a bit busy but finally managed to install blas and lapack on Fedora 25. But then I ran into another problem at the 'make all' stage: :frusty:

gcc -I/home/liveuser/AdmixTools-1.0.1/src/admixinclude -g -pg -lm -o qpAdm qpAdm.o qpsubs.o mcio.o ldsubs.o admutils.o egsubs.o regsubs.o f4rank.o eigsubs.o eigx.o /home/liveuser/AdmixTools-1.0.1/src/admixlib/nicklib.a -llapack -lblas
make: *** No rule to make target 'qpWave.o', needed by 'qpWave'. Stop.

Below is the full output. Does anyone have any idea of what the problem is?


[[email protected] ~]# cd /home/liveuser/AdmixTools-1.0.1/src
[[email protected] src]# make clobber
rm -f *.o
rm -f *junk*
rm -f core
rm -f libnick.a
rm -f qp3Pop qpDstat qpF4ratio rolloff convertf dowtjack expfit.sh grabpars qpBound qpAdm qpWave
rm -f nicksrc/*.o
rm -rf /home/liveuser/AdmixTools-1.0.1/src/admixlib
rm -rf /home/liveuser/AdmixTools-1.0.1/src/admixtables
rm -rf /home/liveuser/AdmixTools-1.0.1/src/admixinclude
rm -f /home/liveuser/AdmixTools-1.0.1/src/admixlib/nicklib.a tables
rm -f ../bin/*
[[email protected] src]# make all
mkdir -p /home/liveuser/AdmixTools-1.0.1/src/admixlib
mkdir -p /home/liveuser/AdmixTools-1.0.1/src/admixtables
mkdir -p /home/liveuser/AdmixTools-1.0.1/src/admixinclude
mkdir -p /home/liveuser/AdmixTools-1.0.1/src/../bin
cp *.h /home/liveuser/AdmixTools-1.0.1/src/admixinclude
cp nicksrc/*.h /home/liveuser/AdmixTools-1.0.1/src/admixinclude
echo "tables made" > tables
cp twtable /home/liveuser/AdmixTools-1.0.1/src/admixtables
cc -c -g -p -I/home/liveuser/AdmixTools-1.0.1/src/admixinclude -Wimplicit -c -o strsubs.o nicksrc/strsubs.c
cc -c -g -p -I/home/liveuser/AdmixTools-1.0.1/src/admixinclude -Wimplicit -c -o sortit.o nicksrc/sortit.c
cc -c -g -p -I/home/liveuser/AdmixTools-1.0.1/src/admixinclude -Wimplicit -c -o vsubs.o nicksrc/vsubs.c
cc -c -g -p -I/home/liveuser/AdmixTools-1.0.1/src/admixinclude -Wimplicit -DTWTAB=\"/home/liveuser/AdmixTools-1.0.1/src/admixtables/twtable\" -o statsubs.o nicksrc/statsubs.c
cc -c -g -p -I/home/liveuser/AdmixTools-1.0.1/src/admixinclude -Wimplicit -c -o linsubs.o nicksrc/linsubs.c
cc -c -g -p -I/home/liveuser/AdmixTools-1.0.1/src/admixinclude -Wimplicit -c -o getpars.o nicksrc/getpars.c
cc -c -g -p -I/home/liveuser/AdmixTools-1.0.1/src/admixinclude -Wimplicit -c -o xsearch.o nicksrc/xsearch.c
cc -c -g -p -I/home/liveuser/AdmixTools-1.0.1/src/admixinclude -Wimplicit -c -o gauss.o nicksrc/gauss.c
cc -c -g -p -I/home/liveuser/AdmixTools-1.0.1/src/admixinclude -Wimplicit -c -o gds.o nicksrc/gds.c
ar -r libnick.a strsubs.o sortit.o vsubs.o statsubs.o linsubs.o getpars.o xsearch.o gauss.o gds.o
ar: creating libnick.a
ranlib libnick.a
cp libnick.a /home/liveuser/AdmixTools-1.0.1/src/admixlib/nicklib.a
cc -c -g -p -I/home/liveuser/AdmixTools-1.0.1/src/admixinclude -Wimplicit -c -o qp3Pop.o qp3Pop.c
qp3Pop.c: In function ‘main’:
qp3Pop.c:208:20: warning: ‘return’ with no value, in function returning non-void
if (nplist == 0) return ;
^~~~~~
qp3Pop.c:129:5: note: declared here
int main(int argc, char **argv)
^~~~
cc -c -g -p -I/home/liveuser/AdmixTools-1.0.1/src/admixinclude -Wimplicit -c -o qpsubs.o qpsubs.c
cc -c -g -p -I/home/liveuser/AdmixTools-1.0.1/src/admixinclude -Wimplicit -c -o mcio.o mcio.c
cc -c -g -p -I/home/liveuser/AdmixTools-1.0.1/src/admixinclude -Wimplicit -c -o ldsubs.o ldsubs.c
cc -c -g -p -I/home/liveuser/AdmixTools-1.0.1/src/admixinclude -Wimplicit -c -o admutils.o admutils.c
cc -c -g -p -I/home/liveuser/AdmixTools-1.0.1/src/admixinclude -Wimplicit -c -o egsubs.o egsubs.c
cc -c -g -p -I/home/liveuser/AdmixTools-1.0.1/src/admixinclude -Wimplicit -c -o regsubs.o regsubs.c
gcc -I/home/liveuser/AdmixTools-1.0.1/src/admixinclude -g -pg -lm -o qp3Pop qp3Pop.o qpsubs.o mcio.o ldsubs.o admutils.o egsubs.o regsubs.o /home/liveuser/AdmixTools-1.0.1/src/admixlib/nicklib.a
cc -c -g -p -I/home/liveuser/AdmixTools-1.0.1/src/admixinclude -Wimplicit -c -o qpDstat.o qpDstat.c
gcc -I/home/liveuser/AdmixTools-1.0.1/src/admixinclude -g -pg -lm -o qpDstat qpDstat.o qpsubs.o mcio.o ldsubs.o admutils.o egsubs.o regsubs.o /home/liveuser/AdmixTools-1.0.1/src/admixlib/nicklib.a
cc -c -g -p -I/home/liveuser/AdmixTools-1.0.1/src/admixinclude -Wimplicit -c -o qpF4ratio.o qpF4ratio.c
gcc -I/home/liveuser/AdmixTools-1.0.1/src/admixinclude -g -pg -lm -o qpF4ratio qpF4ratio.o qpsubs.o mcio.o ldsubs.o admutils.o egsubs.o regsubs.o /home/liveuser/AdmixTools-1.0.1/src/admixlib/nicklib.a
cc -c -g -p -I/home/liveuser/AdmixTools-1.0.1/src/admixinclude -Wimplicit -c -o rolloff.o rolloff.c
rolloff.c: In function ‘cntit1’:
rolloff.c:926:23: warning: ‘return’ with no value, in function returning non-void
if (cupt -> ignore) return ;
^~~~~~
rolloff.c:920:8: note: declared here
double cntit1(double *xc, SNP *cupt, Indiv **indm, int numindivs, int t)
^~~~~~
rolloff.c: In function ‘cntit2’:
rolloff.c:945:23: warning: ‘return’ with no value, in function returning non-void
if (cupt -> ignore) return ;
^~~~~~
rolloff.c:939:8: note: declared here
double cntit2(double *xc, SNP *cupt, SNP *cupt2, Indiv **indm, int numindivs, int t)
^~~~~~
rolloff.c:946:24: warning: ‘return’ with no value, in function returning non-void
if (cupt2 -> ignore) return ;
^~~~~~
rolloff.c:939:8: note: declared here
double cntit2(double *xc, SNP *cupt, SNP *cupt2, Indiv **indm, int numindivs, int t)
^~~~~~
gcc -I/home/liveuser/AdmixTools-1.0.1/src/admixinclude -g -pg -lm -o rolloff rolloff.o qpsubs.o mcio.o ldsubs.o admutils.o egsubs.o regsubs.o /home/liveuser/AdmixTools-1.0.1/src/admixlib/nicklib.a
cc -c -g -p -I/home/liveuser/AdmixTools-1.0.1/src/admixinclude -Wimplicit -c -o convertf.o convertf.c
cc -c -g -p -I/home/liveuser/AdmixTools-1.0.1/src/admixinclude -Wimplicit -c -o h2d.o h2d.c
cc -c -g -p -I/home/liveuser/AdmixTools-1.0.1/src/admixinclude -Wimplicit -c -o exclude.o exclude.c
gcc -I/home/liveuser/AdmixTools-1.0.1/src/admixinclude -g -pg -lm -o convertf convertf.o mcio.o admutils.o egsubs.o h2d.o exclude.o /home/liveuser/AdmixTools-1.0.1/src/admixlib/nicklib.a
cc -c -g -p -I/home/liveuser/AdmixTools-1.0.1/src/admixinclude -Wimplicit -c -o dowtjack.o dowtjack.c
gcc -I/home/liveuser/AdmixTools-1.0.1/src/admixinclude -g -pg -lm -o dowtjack dowtjack.o /home/liveuser/AdmixTools-1.0.1/src/admixlib/nicklib.a
sed -e "s&BBBIN&/home/liveuser/AdmixTools-1.0.1/src/../bin&" < expfit.templ > expfit.sh
chmod +x expfit.sh
cc -c -g -p -I/home/liveuser/AdmixTools-1.0.1/src/admixinclude -Wimplicit -c -o grabpars.o grabpars.c
gcc -I/home/liveuser/AdmixTools-1.0.1/src/admixinclude -g -pg -lm -o grabpars grabpars.o /home/liveuser/AdmixTools-1.0.1/src/admixlib/nicklib.a
cc -c -g -p -I/home/liveuser/AdmixTools-1.0.1/src/admixinclude -Wimplicit -c -o qpBound.o qpBound.c
gcc -I/home/liveuser/AdmixTools-1.0.1/src/admixinclude -g -pg -lm -o qpBound qpBound.o qpsubs.o mcio.o ldsubs.o admutils.o egsubs.o regsubs.o /home/liveuser/AdmixTools-1.0.1/src/admixlib/nicklib.a
cc -c -g -p -I/home/liveuser/AdmixTools-1.0.1/src/admixinclude -Wimplicit -c -o qpAdm.o qpAdm.c
cc -c -g -p -I/home/liveuser/AdmixTools-1.0.1/src/admixinclude -Wimplicit -c -o f4rank.o f4rank.c
cc -c -g -p -I/home/liveuser/AdmixTools-1.0.1/src/admixinclude -Wimplicit -c -o eigsubs.o eigsubs.c
cc -c -g -p -I/home/liveuser/AdmixTools-1.0.1/src/admixinclude -Wimplicit -c -o eigx.o eigx.c
gcc -I/home/liveuser/AdmixTools-1.0.1/src/admixinclude -g -pg -lm -o qpAdm qpAdm.o qpsubs.o mcio.o ldsubs.o admutils.o egsubs.o regsubs.o f4rank.o eigsubs.o eigx.o /home/liveuser/AdmixTools-1.0.1/src/admixlib/nicklib.a -llapack -lblas
make: *** No rule to make target 'qpWave.o', needed by 'qpWave'. Stop.

anglesqueville
10-08-2017, 06:39 AM
Bas, since the beginning I'm wondering why you want to recompile from the source. Everything useful is available on github, without any recompilation ( unless you have a special reason to recompile). You download all the directory from github:
19198
Then you open the subdirectory "2 releases", and download all the executables you want to work with ( qpAdm, qpDstat, etc).
19199
Once in fedora, you copy the directory "admixtools-master" where you want ( and likely rename it), open inside a new directory ( with a pratical name, for example "bin" as usualy the executables are in a "bin" directory), and copy the executables ( qpAdm, etc) inside. And the job is done. To run a program ( for ex qpAdm), you just need to have the parameters file ( "parqpAdm") and the auxiliary files ( "left" and "right" for qpAdm) inside the bin directory. If I recall the par files are in the "examples" directory.

Bas
10-09-2017, 05:12 PM
Bas, since the beginning I'm wondering why you want to recompile from the source. Everything useful is available on github, without any recompilation ( unless you have a special reason to recompile). You download all the directory from github:
19198
Then you open the subdirectory "2 releases", and download all the executables you want to work with ( qpAdm, qpDstat, etc).
19199
Once in fedora, you copy the directory "admixtools-master" where you want ( and likely rename it), open inside a new directory ( with a pratical name, for example "bin" as usualy the executables are in a "bin" directory), and copy the executables ( qpAdm, etc) inside. And the job is done. To run a program ( for ex qpAdm), you just need to have the parameters file ( "parqpAdm") and the auxiliary files ( "left" and "right" for qpAdm) inside the bin directory. If I recall the par files are in the "examples" directory.

I see, I shouldn't have been doing that, such a silly mistake! Well I followed your steps, copied in an example parfile from examples folder (parqpDstat) opened a new terminal and run with the correct directory but got the following error message

$ /home/liveuser/AdmixTools-master/bin/qpDstat -p parqpDstat [-l lo] [-h hi] >logfile
fatalx:
can't open file ../data//allmap.snp of type r
error info: No such file or directory
Aborted (core dumped)

The bin folder only had the 'parqpDstat' file and the 'qpDstat' executable when I tried to run. And I didn't have the example data downloaded either. This allmap.snp file is contained in the separate 'example data' file of course. Does this error mean that the example data folder also needs to be a directory,in the bin file along with the executable and parfile or in 'AdmixTools-master' folder? Or that I should actually make the parfile myself?

The contents of the parqpDstat file are the following:


DIR: ../data/
SSS: allmap
indivname: DIR/SSS.ind
snpname: DIR/SSS.snp
genotypename: DIR/SSS.geno
poplistname: list_qpDstat

anglesqueville
10-09-2017, 06:18 PM
Or that I should actually make the parfile myself? Of course you have to rewrite the parfiles, with the paths to the eigenstrat files you want to use, their names, the names of the auxiliary files, depending on the program you sant to use.
The auxiliary files ( for ex. "left" and "right" for qpAdm) must be in the same folder as the executable ( "bin" ).

Bas
10-11-2017, 09:59 PM
Thanks so much for all your help Anglesqueville, I think I'm almost there with being able to run example parfiles. Will try Friday or Saturday.

Bas
10-13-2017, 08:57 PM
Success! :biggrin1:

anglesqueville
10-13-2017, 09:30 PM
Success! :biggrin1:

Congrats, and welcome in the Admixtools Amateur Community!:beerchug: