file.vcf文件如下所示,包含两个样本、四个变异位点:
#CHROM POS ID REF ALT QUAL FILTER INFO FORMAT ID1 ID2
chr1 123 rs1 G A . PASS . GT 0|0 1|0
chr1 124 rs2 C A . PASS . GT 1|1 1|1
chr1 125 rs3 G T . PASS . GT 0|0 0|0
chr1 126 rs4 G A . PASS . GT 1|1 1|1
现在我想把数字基因型变成字母基因型,比如对于rs1 ,我希望0|0变成GG,1|0变成AG;
对于此需求,要用到compound-genotypes
参数;
废话不多说,直接给命令:
plink --vcf file.vcf --recode compound-genotypes --out recode
注意,这里的plink是 1.9 版本哦(https://s3.amazonaws.com/plink1-assets/plink_linux_x86_64_20210606.zip);
运行完以上命令后,会得到 recode.ped 和 recode.map 两个文件;
recode.ped文件如下所示:
ID1 ID1 0 0 0 -9 GG AA GG AA
ID2 ID2 0 0 0 -9 AG AA GG AA
recode.map文件如下所示:
chr1 rs1 0 123
chr1 rs2 0 124
chr1 rs3 0 125
chr1 rs4 0 126
督促我写下这篇教程的原因是,我今天搜遍了我的博客(https://www.cnblogs.com/chenwenyan/) 、用了很多关键词,都找不到相应的参数,但是我清楚记得PLINK是有这个功能的。如果我以前有记录,今天就不需要大费周章寻找了,可见记录是一件多么重要的事;
我知道很多人看不上这种没有技术含量的教程,但这些小技巧有时候能帮人省下很多不必要的coding时间;
致谢橙子牛奶糖(陈文燕),请用参考模版:We thank the blogger (orange_milk_sugar, Wenyan Chen) for XXX
感谢小可爱们多年来的陪伴, 我与你们一起成长~