如题,如何从vcf文件中快速提取基因型Genotype,得到基因型表格文件?
vcf作为标准的存储变异的文件格式。虽是标准格式,但可扩展性极强,变异属性可随意添加,真是很妙的设计!其实vcf格式和vcftools软件文章发表也不过13年而已。
基因型矩阵,类似于HapMap格式,市场上大多数芯片也是这种。比如,需要从vcf文件中提取:Chrom、Pos、Ref、Alt和GT信息。
有以下几种思路。
自定义脚本
自己写脚本,如果vcf中Format只有GT,那直接Linux命令行即可。不然可能要写个小脚本提取GT。当然可从GitHub查找相关脚本,相信有很多,各种语言都有,随便一搜如:https://github.com/avengerpb/vcf2hapmap;https://github.com/krishnam/vcf2hmp。
或者直接问ChatGPT,多给几次prompt,很快就能达到目的。秉着“尽量避免重复造轮子”原则,很多生信工具本身就可进行提取。
bcftools等
bcftools、vcftools、bedtools、samtools等生信工具功能十分全面,大多数生信分析都能凭借它们完成,关键是你对它们真正熟练吗?比如bcftools小编之前就写过一篇推文:如何快速简化vcf信息?
bcftools annotate \
--remove QUAL,FILTER,INFO,^FORMAT/GT \
snp.pass.vcf.gz -Oz -o snp.simply.vcf.gz
tassel
Ed Buckler Lab开发的tassel为植物生信分析量身打造。
## 添加 -sortPositions 参数,以便在转换之前进行位点排序
run_pipeline.pl -Xms10g -Xmx100g \
-vcf in.vcf.gz \
-sortPositions -export out.hmp.txt \
-exportType HapmapDiploid
当然,exportType输出类型可有很多,如下:
Hapmap
HapmapDiploid
HDF5
VCF
Plink
Phylip_Seq
Phylip_Inter
Fasta
Text
ReferenceProbablity
Depth
SqrMatrix
SqrMatrixRaw (for MultiBLUP)
SqrMatrixBin (for MultiBLUP)
Phenotype
PlinkPhenotype
Table
GATK
当然,也少不了GATK。
gatk VariantsToTable \
-R genome.fa \
-V in.vcf.gz \
-F CHROM -F POS -F REF -F ALT -GF GT \
-O vcf2table
结果:
以上不同方法得到的结果文件略有出入,比如基因型为碱基或数值、GT是否分等位基因、缺失值表示等,这要根据大家的目的进行调整。总之,这里只是提供一点想法,有了思路,水到渠成。
标签:基因型,GT,vcf,gz,生信,bcftools From: https://www.cnblogs.com/miyuanbiotech/p/18250239