我有一个 .fam、.bed 和 .bim 文件,其中包含少数人的标记。我需要将其转换为 VCF 文件。
有人可以帮助创建一个 VCF 文件。有没有可以做到这一点的开源工具?
我有一个 .fam、.bed 和 .bim 文件,其中包含少数人的标记。我需要将其转换为 VCF 文件。
有人可以帮助创建一个 VCF 文件。有没有可以做到这一点的开源工具?
您可以使用以下命令对 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 格式期望第一个等位基因是参考等位基因。Indels 的编码也经常不同,尽管没有关于如何以 plink 格式编码它们的指南。
对于执行转换的更高级方法,“bedtools getfasta”和“bcftools norm”的组合可以帮助您克服上述缺点。
您可以尝试 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