写在前面:当学习某一重要文件格式时,更需要对此格式对应软件工具进行全面的学习(如sam/bam——samtools)。在多次花时间写脚本处理文件之后发现,80%左右的任务其实只需要对应工具的某个子命令再加上合适的参数即可解决。故为提升效率,处理VCF文件之前先好好将对应工具vcftools学习一遍
VCFTOOLS基本说明
vcftools为专门处理vcf/bcf文件而生,此工具能处理VCF数据包括:过滤(filter), ;变异位点的基本统计;数据格式的转换;多个vcf文件的比较(compare files);集合运算。
目前常用版本v0.1.16。官方网站[https://vcftools.github.io/index.html]
vcftools [ --vcf/gzvcf/bcf FILE ] [ --out OUTPUT PREFIX ] [ FILTERING OPTIONS ] [ OUTPUT OPTIONS ]
输入参数
--vcf
-
--gzvcf
输入gz压缩的vcf文件 --bcf
输出
-
-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-all
FILTER列除了PASS保留,其余都过滤 -
--keep-filtered
,--remove-filtered
保留或去除特定FILTER标签。可多次使用。
-
-
根据vcf第八列INFO进行过滤
--keep-INFO
-
--remove-INFO
根据INFO列的指定tag进行过滤
-
根据ALLEL进行过滤
-
--maf
,--max-maf
Minor 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.8 -
--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 INT
LD计算的最大SNP数目,即LD-window。--ld-window-min
最小数目 -
--ld-window-bp INT
LD计算窗口的实际物理距离。--ld-window-bp-min
-
--min-r2
小于r2相关系数值将不被展示 -
--interchrom-hap-r2
,--interchrom-geno-r2
跨染色体的r2值计算。
-
-
Ts/Tv计算(transition/transversion )
-
TsTv INT
计算INT值内的TsTv值,输出TsTv文件 -
TsTv-summary
TsTv值计算统计。 -
--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-step
FSTc滑动窗口计算,重测序一般2kb-10kb
-
-
其它计算
-
--het
Calculates a measure of heterozygosity on a per-individual basis. -
--hardy
每个位点的哈温平衡计算的Pvalue。 -
--TajimaD INT
Tajima’s D 计算 -
--indv-freq-burden
:calculates the number of variants within each individual of a specific frequency. -
--LROH
Long 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中 -
--singletons
detailing the location of singletons -
--hapcount BED
output the number of unique haplotypes within user specified bins. -
--mendel PED
report mendel errors identified in trios. -
--extract-FORMAT-info <STRING>
提取format列中的指定TAG -
--get-INFO <string>
提取INFO列中信息
-
输出格式转换
-
输出参数
-
--recode
输出.recode.vcf新文件 -
--recode-INFO-all
保留所有的INFO信息
-
-
格式转换
-
--012
012矩阵文件 -
--IMPUTE
impute文件 -
--ldhat-geno
--ldhat
LDhat格式。 -
--BEAGLE-GL
,--BEAGLE-PL
-
--plink
,--plink-tped
,--chrom-map
PLINK格式
-
两个VCF文件的比较操作
-
另外一个VCF文件的输入
-
--diff
,--gzdiff
,--diff-bcf
FILE -
--not-chr
不同的chr跳过
-
-
比较参数
-
--diff-site
Outputs the sites that are common / unique to each file -
--diff-indv
不同的个体样本 -
--diff-site-discordance
,--diff-indv-discordance
calculates discordance on a site by site basis. -
--diff-indv-map <filename>
指定ID文件进行比较 -
--diff-discordance-matrix
calculates a discordance matrix -
--diff-switch-error
calculates phasing errors
-