使用 PLINK 把 vcf 的0/0,0/1,1/1转为字母格式的基因型(比如AA,AG,GG)

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变成GG1|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.pedrecode.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

感谢小可爱们多年来的陪伴, 我与你们一起成长~

posted @ 2021-09-10 20:38  橙子牛奶糖  阅读(826)  评论(5编辑  收藏  举报