我有.fam,.bed和.bim文件,其中包含少数人的标记。我需要将其转换为VCF文件。
有人可以帮助创建VCF文件。有没有可以做到这一点的开源工具?
答案 0 :(得分:2)
您可以使用plink2(https://www.cog-genomics.org/plink2/)使用以下命令执行此操作:
plink --bfile {prefix} --recode vcf bgz --out [prefix]
请点击此处了解更多选项:https://www.cog-genomics.org/plink2/data#recode 然而,这不会产生格式正确的VCF,因为plink2不保留关于参考等位基因的信息,而VCF格式期望第一个等位基因是参考等位基因。 Indel的编码也经常不同,但没有关于如何以plink格式编码的指南。
对于更高级的方式来执行转换,“bedtools getfasta”和“bcftools norm”的组合可以帮助您克服上述缺点。
答案 1 :(得分:1)
您可以尝试PlinkSeq,或查看此帖子: http://bhoom.wordpress.com/2012/04/06/convert-plink-format-to-vcf/
简而言之,帖子列出了将plink文件转换为vcf格式的用户代码:
#!/bin/sh
##-- SCRIPT PARAMETER TO MODIFY--##
PLINKFILE=csOmni25
REF_ALLELE_FILE=csOmni25.refAllele
NEWPLINKFILE=csOmni25Ref
PLINKSEQ_PROJECT=csGWAS
## ------END SCRIPT PARAMETER------ ##
#1. convert plink/binary to have the specify reference allele
plink --noweb --bfile $PLINKFILE --reference-allele $REF_ALLELE_FILE --make-bed --out $NEWPLINKFILE
#2. create plink/seq project
pseq $PLINKSEQ_PROJECT new-project
#3. load plink file into plink/seq
pseq $PLINKSEQ_PROJECT load-plink --file $NEWPLINKFILE --id $NEWPLINKFILE
#4. write out vcf file, as of today 4/6/2012 using vcftools version 0.1.8, although the documentation says that you can write out a compressed vcf format using --format BGZF option, vcftools doesn't recognize what this option is. So, I invented my own solution
pseq $PLINKSEQ_PROJECT write-vcf | gzip > $NEWPLINKFILE.vcf.gz