写在前面:当学习某一重要文件格式时,更需要对此格式对应软件工具进行全面的学习(如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-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.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 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
-
