Looping over plink files
0
1
Entering edit mode
6.1 years ago
paolo002 ▴ 160

Hi, I have .bed .bim. fam files for various chromosomes of some individuals and I would like merge with other plink files of some other individuals again for each chromosomes I would like to write a loop that does the merging automatically for all the files in just one command line Something like this:

for file in /home/users/chrs/*.{bed,bid,fam};
do plink --bfile filename1.chr$ --bmerge filename2.chr$.bed filename2.chr$.bim filename2.chr$.fam --out filename1_filename2_merged;
done

Here $ means any number from 1 to 22 for each files of the chromosomes.

Any help will be highly appreciated,thanks

Bash shell Linux • 4.8k views
ADD COMMENT
0
Entering edit mode

you need another inner loop: for j in seq 1 22

ADD REPLY
0
Entering edit mode

I see, but about the $ sign, it is ok to write like this?will it take any number from 1 to 22 ?

ADD REPLY
0
Entering edit mode
for j in $(seq 1 22); do echo chr$j; done
ADD REPLY
0
Entering edit mode

Hi, sorry, I tried the two loops but it did not work, can you be more specific please?

ADD REPLY
0
Entering edit mode

Could you write what did you try?

ADD REPLY
0
Entering edit mode

I see,I have got it Thanks

ADD REPLY
0
Entering edit mode

Did you try --merge-list option from plink ? You can merge all the chormosomes for one file using this and do a for loop to merge with other files. http://zzz.bwh.harvard.edu/plink/dataman.shtml#mergelist

ADD REPLY
1
Entering edit mode

I see, yes, I know about that option but I have not tried it. I will do that then. Cheers

ADD REPLY

Login before adding your answer.

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