vcftools使用2024-03-17

vcftools主要处理vcf/bcf文件,包括:过滤(filter) ;变异位点的基本统计;数据格式的转换;多个vcf文件的比较(compare files);集合运算等。 

#安装

#傻瓜式安装

conda install -c bioconda vcftools

#安装2

官网下载(https://vcftools.github.io/examples.html),下载最新版本,

wget https://github.com/vcftools/vcftools  或者

git clone https://github.com/vcftools/vcftools.git

tar -xvf vcfools.0.X.XX.tar.gz

export PERL5LIB=/path/to/your/vcftools-directory/src/perl/

cd vcftools/

./configure

make

make install

#使用

vcftools [ --vcf/gzvcf/bcf FILE ] [ --out OUTPUT PREFIX ] [ FILTERING OPTIONS ] [ OUTPUT OPTIONS ]

输入参数

--vcf         输入常规vcf文件

--gzvcf        输入gz压缩的vcf文件

--bcf         输入二进制的vcf文件

输出参数

-out    输出文件

--stdout/-c    标准输入,可后接管道操作

--temp    指定输出目录

过滤参数

根据位置进行过滤

--chr,--not-chr    指定过滤选择某染色体,可多次使用

--from-bp INT,--to-bp,    需和--chr一起使用,指定区域

--positions FILE,--exclude-positions    接tab分割的多个坐标位置文件

--bed FILE,--exclude-bed    根据BED文件进行过滤

根据指定ID位点过滤

--snp    根据vcf文件第三列ID列的snp名进行过滤。

--snps FILE,--exclude    根据ID文件进行过滤

变异类型过滤

--keep-only-indels

--remove-indels    即保留或去除SNP,留下INDEL。

根据VCF文件第七列FILTER进行过滤

--remove-filterer-allFILTER列除了PASS保留,其余都过滤

--keep-filtered,--remove-filtered保留或去除特定FILTER标签。可多次使用。

根据vcf第八列INFO进行过滤

--keep-INFO

--remove-INFO根据INFO列的指定tag进行过滤

根据ALLEL进行过滤

--maf,--max-mafMinor Allele Frequency    二等位基因频率进行过滤,常为--maf 0.05,保留大于0.05的

--non-ref-af,--non-ref-ac.... 保留都是ALT变异的位点。

--mac INT,--max-mac保留Minor Allel Count数大于INT数的位点

--min-alleles 2,--max-alleles 2筛选保留含有2个ALT变异的位点。常用。

根据基因型GENOTYPE数值进行过滤

--min-meanDP,--max-meanDP根据平均覆盖深度进行过滤。--min-meanDP 3

--hwe    哈温平衡检测,根据pvalue值进行过滤,保留值以内的。--hwe 0.01

--max-missing    常用,缺失率,0为接受完全缺失,1为接受数据全都存在。一般0.1或者0.2

--max-missing-count INT缺失的个体数目超过INT,即被过滤。

--phased  删除unpased位点

--minQ  保留Quality值大于INT的位点。

对样品个体进行过滤

--indv,--remove-indv  保留或删除指定样本

--keep FILE,--remove  保留/删除多个体的文件

--max-indv INT  随机保留INT数目的样本。

基因型过滤

--remove-filtered-geno-all,--remove-filtered-geno保留/删除 FILTER FLAG的位点。

--minGQ删除GQ值低于数值的位点

--minDP,--maxDP保留覆盖率min~max范围内的位点。

计算统计参数

输出变异位点的计算统计

--freq,--freq2输出每个等位基因位点的频率。

--counts,位点数目的统计

位点覆盖深度Depth统计

depth输出每个个体的平均覆盖度,以idepth文件展示

--site-depth,--site-mean-depth每个位点的所有个体深度

--geno-depth每个基因型的覆盖深度文件

LD计算(Linkage Disequilibrium)

--hap-r2同时输出r^2值, D值和D’值。传统LD值计算方法,输出hap.ld

--geno-r2,方法同PLINK软件,计算squared correlation coefficient,输出geno.ld

--geno-chisq,

--hap-r2-positions FILE,--geno-r2-positions FILE和已有文件中的点做LD计算

--ld-window INTLD计算的最大SNP数目,即LD-window。--ld-window-min最小数目

--ld-window-bp INTLD计算窗口的实际物理距离。--ld-window-bp-min

--min-r2小于r2相关系数值将不被展示

--interchrom-hap-r2,--interchrom-geno-r2跨染色体的r2值计算。

Ts/Tv计算(transition/transversion )

TsTv INT计算INT值内的TsTv值,输出TsTv文件

TsTv-summaryTsTv值计算统计。

--TsTv-by-count,--TsTv-by-qual计算tstv率。

--FILTER-summary添加到T值到FILTER列中

核酸多样性统计

--site-pi计算所有位点的多样性值

--window-pi,--window-pi-step计算窗口中的核酸多样性值

FST计算

--weir-fst-pop FILE:file must contain a list of individuals (one individual per line) from the VCF file that correspond to one population,可多次,生成weir.fst文件

--fst-window-size,--fst-window-stepFSTc滑动窗口计算,重测序一般2kb-10kb

其它计算

--hetCalculates a measure of heterozygosity on a per-individual basis.

--hardy每个位点的哈温平衡计算的Pvalue。

--TajimaD INTTajima’s D 计算

--indv-freq-burden:calculates the number of variants within each individual of a specific frequency.

--LROHLong Runs of Homozygosity

--relatedness,--relatedness2计算relatedness statistic

--site-quality提取VCF文件中每个位点的QUAL信息

--missing-indv计算每个样本的缺失率,输出imiss

--missing-site计算每个位点的缺失率。

--SNPdensity INT一定窗口内的SNP数目和频率

--kept-sites,--remove-sites通过过滤的位点到另一文件kept.sites文件,removed.sites中

--singletonsdetailing the location of singletons

--hapcount BEDoutput the number of unique haplotypes within user specified bins.

--mendel PEDreport mendel errors identified in trios.

--extract-FORMAT-info <STRING>提取format列中的指定TAG

--get-INFO <string>提取INFO列中信息

输出格式转换

输出参数

--recode输出.recode.vcf新文件

--recode-INFO-all保留所有的INFO信息

格式转换

--012012矩阵文件

--IMPUTEimpute文件

--ldhat-geno--ldhatLDhat格式。

--BEAGLE-GL,--BEAGLE-PL

--plink,--plink-tped,--chrom-mapPLINK格式

两个VCF文件的比较操作

另外一个VCF文件的输入

--diff,--gzdiff,--diff-bcfFILE

--not-chr不同的chr跳过

比较参数

--diff-siteOutputs the sites that are common / unique to each file

--diff-indv不同的个体样本

--diff-site-discordance,--diff-indv-discordancecalculates discordance on a site by site basis.

--diff-indv-map <filename>指定ID文件进行比较

--diff-discordance-matrixcalculates a discordance matrix

--diff-switch-errorcalculates phasing errors

vcftools去除或保留vcf文件中的样品

vcftools可以去除或保留vcf文件中的样品,用到的选项为--indv 和 --remove-indv,指定要从vcf文件中保留或删除的样品。 可以多次使用此选项来指定多个样品。

具体用法如下:

只保留1和10号两个样品,执行以下代码:

vcftools  --vcf  in.vcf  --recode  --recode-INFO-all  --stdout  --indv  1  --indv  10  > out.vcf

删除1号样品,执行以下代码:

vcftools  --vcf  in.vcf  --recode  --recode-INFO-all  --stdout  --remove-indv  1  > out.vcf

如果样品较多,也可将样品保存到文件 id.txt 中,每行为一个样品ID,格式如下:

1

105

然后使用下面两个选项对vcf文件保留或者删除样品。

--keep  <filename>   保留样品

--remove  <filename>   删除样品

代码如下:

vcftools  --vcf  in.vcf  --recode  --recode-INFO-all  --stdout  --keep  id.txt  > out.vcf


参考:https://www.jianshu.com/p/938d0903e312

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 写在前面:当学习某一重要文件格式时,更需要对此格式对应软件工具进行全面的学习(如sam/bam——samtools...
    little_sandy阅读 37,107评论 0 20
  • 写在前面:当学习某一重要文件格式时,更需要对此格式对应软件工具进行全面的学习(如sam/bam——samtools...
    Dawn_WangTP阅读 9,184评论 0 33
  • 1.vcftools是一种可以对VCF文件和BCF文件进行格式转换及过滤的工具。 2.输入参数 –vcf 支持...
    AsuraPrince阅读 2,655评论 0 1
  • vcftools是一种可以对VCF文件和BCF文件进行格式转换及过滤的工具,其中很多过滤及计算功能我们可以自己使用...
    oddxix阅读 40,196评论 6 42
  • vcftools是用来处理vcf和bcf文件的工具集,功能涵盖了过滤,数据格式转换,一些指标的统计计算,vcf文件...
    TOP生物信息阅读 23,803评论 2 21