0

我有一个 .fam、.bed 和 .bim 文件,其中包含少数人的标记。我需要将其转换为 VCF 文件。

有人可以帮助创建一个 VCF 文件。有没有可以做到这一点的开源工具?

4

2 回答 2

4

您可以使用以下命令对 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”的组合可以帮助您克服上述缺点。

于 2015-04-06T19:34:50.343 回答
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
于 2014-09-18T04:05:36.320 回答