Expression recursion level exceeded Error in Admixture using mac computer
1
0
Entering edit mode
2.8 years ago

Hi all,

I'm using the ADMIXTURE’s cross-validation procedure in my mac terminal and it fails to run on my .bed file, giving the following output:

enter image description here

I used the following script a .txt file:

enter image description here

Then I called the txt file using the following command in the terminal: ./coots.CODE.multi.run.admix.A.txt I do also have the .bim and .fam files in the directory.

enter image description here

Any ideas would be greatly appreciated.

Thanks!

PD. Here is the script from the .txt file:

DATAFILE="COOT.5901Acat.fasta.INDEP"; OUTDIR=/Users/alexisdiaz/Desktop/popgen/admixture_analysis/admixture_macosx/results/; INPDIR=/Users/alexisdiaz/Desktop/popgen/admixture_analysis/admixture_macosx/; echo ${DATAFILE}; NUMRUNS=100; MINK=1; MAXK=10; mkdir $OUTDIR cd $OUTDIR echo "seq $MINK $MAXK" for K in $(seq $MINK $MAXK); do mkdir $K cd $K for T in $(seq $NUMRUNS); do N=$(date +%N | cut -b1-6 | sed -e "s/^0+//") S=$(($N+41217$K+17$T)) echo "/Users/alexisdiaz/Desktop/popgen/admixture_analysis/admixture_macosx/admixture --cv=10 -s $S $INPDIR/$DATAFILE.bed $K -j2" /Users/alexisdiaz/Desktop/popgen/admixture_analysis/admixture_macosx/admixture --cv=10 -s $S $INPDIR/$DATAFILE.bed $K -j2 |tee -a ../log.$K.out mv $DATAFILE.$K.Q $DATAFILE.$K.$T.Q mv $DATAFILE.$K.P $DATAFILE.$K.$T.P done; cd .. done;

admixture • 729 views
ADD COMMENT
0
Entering edit mode
2.8 years ago

I just solved this issue. This problem is specifically in regards to the date command. When I run the command on my linux machine with the parameter to provide some time in nanoseconds, I get the correct result, but when I run it on my mac, it does not have that option.

date +%s000 returns the number of seconds + current nanoseconds. So I slightly modified some lines on the command and then admixture run without issues.

    N=$(date +%s000 | cut -b1-6 | sed -e "s/^0\+//")
            #echo "This statement $T $N"
    S=$(($N+41217*$K+17*$T))
ADD COMMENT

Login before adding your answer.

Traffic: 3093 users visited in the last hour
Help About
FAQ
Access RSS
API
Stats

Use of this site constitutes acceptance of our User Agreement and Privacy Policy.

Powered by the version 2.3.6