【发布时间】:2014-08-05 07:28:23
【问题描述】:
我有一个 .fam、.bed 和 .bim 文件,其中包含少数人的标记。我需要将其转换为 VCF 文件。
有人可以帮忙创建一个 VCF 文件吗?是否有任何开源工具可以做到这一点?
【问题讨论】:
-
您还想这样做吗?
标签: bioinformatics genetics bam vcf-variant-call-format bed
我有一个 .fam、.bed 和 .bim 文件,其中包含少数人的标记。我需要将其转换为 VCF 文件。
有人可以帮忙创建一个 VCF 文件吗?是否有任何开源工具可以做到这一点?
【问题讨论】:
标签: bioinformatics genetics bam vcf-variant-call-format bed
您可以使用以下命令对 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
【讨论】: