ADMIXTURE Segmentatio fault
3
0
Entering edit mode
3.5 years ago
pmc.sa ▴ 40

Hi everyone,

I was trying to run ADMIXTURE using a merged vcf file with 82 samples. I pruned the data using a set of plink command:

plink --vcf 82_samples.vcf.gz --make-bed --double-id

plink --bfile 82_samples --indep-pairwise 50 5 0.5 --out 82_samples_pruned
plink --bfile plink --extract 82_samples_pruned.prune.in --make-bed --out 82_samples_pruned

Then I edited the .bim file ADMIXTURE does not accept chromosome names that are not human chromosomes using an awk command:

awk '{$1=0;print $0}' 82_samples_pruned.bim > 82_samples_pruned.bim.tmp

After this, I ran ADMIXTURE using k=2,3,4,5 with a for loop:

for i in {2..5}; do  admixture --cv 82_samples_pruned.bed $i > log${i}.out; done

But I'm geting a Segmentation Fault error.

The log file for k=2 has the following information:

****                   ADMIXTURE Version 1.3.0                  ****
****                    Copyright 2008-2015                     ****
****           David Alexander, Suyash Shringarpure,            ****
****                John  Novembre, Ken Lange                   ****
****                                                            ****
****                 Please cite our paper!                     ****
****   Information at www.genetics.ucla.edu/software/admixture  ****

Cross-validation will be performed.  Folds=5.
Random seed: 43
Point estimation method: Block relaxation algorithm
Convergence acceleration algorithm: QuasiNewton, 3 secant conditions
Point estimation will terminate when objective function delta < 0.0001
Estimation of standard errors disabled; will compute point estimates only.
Size of G: 82x35511617

Can anyone help me?

Thanks in advance,
Pedro

admixture plink vcf • 4.9k views
ADD COMMENT
3
Entering edit mode

Using the 32-bit version of the admixture worked for me in WSL.

ADD REPLY
0
Entering edit mode

Can confirm! Gihanjay you're a legend! Thank you so much!

ADD REPLY
0
Entering edit mode

How to change to 32 bit version? Thank you

ADD REPLY
0
Entering edit mode

Hi Little, sorry for the delay.

You can download the latest version of ADMIXTURE from https://github.com/NovembreLab/admixture, and then run the "admixture32" file that comes within the "admixture_linux-1.3.0" folder.

Hope it helps!

ADD REPLY
0
Entering edit mode

thank u !!!!!!!

ADD REPLY
2
Entering edit mode

Could it be due to memory issues. Most of time segmentation fault are related to memory issues.

ADD REPLY
0
Entering edit mode

Can you try these suggestions?

ADD REPLY
0
Entering edit mode

Hi.

I've tried running the time command but I can't seem to be able to. I'm getting the "command not found" error and I think it's because the executable either doesn't have this name or isn't there.

$ time -v echo hello
bash: -v: command not found

real    0m0.001s
user    0m0.000s
sys     0m0.001s
ADD REPLY
0
Entering edit mode

Check the mentioned post replies, please

ADD REPLY
1
Entering edit mode
9 months ago

Hello! Maybe this little thing will be useful to someone. I also encountered a problem "Segmentation fault (core dumped)". Installing admixture32 helped me. But I didn’t immediately understand that to run version 32, the command should look like this

admixture32 hapmap3.bed 3

not

admixture hapmap3.bed 3

With best regards, Olesya

ADD COMMENT
0
Entering edit mode
3.4 years ago
pgolik • 0

First check your syslog (might require sudo):

grep admixture /var/log/syslog

If you see something that looks like

admixture[26825] vsyscall attempted with vsyscall=none ...

Try this:

  1. Edit your /etc/default/grub file
  2. Add vsyscall=emulate to the line that starts with GRUB_CMDLINE_LINUX_DEFAULT (example: GRUB_CMDLINE_LINUX_DEFAULT="vga=normal nomodeset vsyscall=emulate")
  3. Run update-grub
  4. Reboot and try admixture again. This fixed it for me. It's an option in the Linux kernel that is disabled by default on new distributions (happened to me following Debian update from 9 to 10).
ADD COMMENT
0
Entering edit mode
4 months ago

Hello,

I encountered the same problem of getting segmentation faults only when trying to compute bootstraps with ADMIXTURE v1.30. I figured out the problem comes at least in part from chromosome names in the input files. For some reason, it seems ADMIXTURE expects chromosome names that correspond to the standard code for human karyotype. See plink doc for details.

Using admixture32 as suggested in this thread did not work for me.

I work with a fragmented assembly of >200 contigs, so I replaced my chromosome names by "fake" numbers expected for the human karyotype (1,2,3...23).

Of course this is not an ideal solution but it did the trick.

ADD COMMENT
0
Entering edit mode

Etienne DVRK, but if you have >200 contigs how does numbers 1-23 help? What do you enter as the names for the other contigs?

ADD REPLY

Login before adding your answer.

Traffic: 1936 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