vcftools是一種可以對VCF文件和BCF文件進行格式轉換及過濾的工具,其中很多過濾及計算功能我們可以自己使用perl或者python編寫腳本實現县遣,但都不如這個工具的運算速度快。
有些奇怪的是需要到網頁上查看他的使用參數茅茂,Linux上沒有參數查看
參考:vcftools使用手冊
基本參數
輸入參數
- –vcf <input_filename> 支持v4.0浇辜、v4.1或者v4.2版本的VCF文件
- –gzvcf <input_filename> 通過gzipped壓縮過的VCF文件
- –bcf <input_filename> BCF2文件
輸出參數
- –out <output_prefix> 輸出文件函荣,后面直接對輸出文件命名
- –stdout 可接管道符對輸出結果進行重新定向
- –temp <temporary_directory> 指定結果的輸出目錄
過濾參數
根據位置過濾
- –chr <chromosome>
- –not-chr <chromosome>
包含或排除匹配的染色體位點- –from-bp
- –to-bp
這兩個參數需要和–chr一起使用
指定要處理的一系列站點的下限和上限- –positions<filename>
- –exclude-positions <filename>
根據文件中的位置列表包括或排除一組位點。輸入文件的每一行應包含(制表符分隔的)染色體和位置
······
根據位點過濾
- –snp <string>字符串的名稱可以匹配dbSNP的數據锉桑,適合人類基因組排霉,該指令可多次使用</string>
- –snps<filename>
- -exclude <filename>
包括或排除文件中給出的SNP列表
變異類型過濾
- –keep-only-indels 只保留indel標記
- –remove-indels 刪除indel標記
根據flag過濾
- –remove-filtered-all Removes all sites with a FILTER flag other than PASS.
- –keep-filtered
- –remove-filtered
根據INFO過濾
- –keep-INFO<string>
- –remove-INFO<string>
根據ALLELE過濾
- –maf <float> MAF最小值過濾
- –max-maf <float> MAF最大值過濾
此處省去很多參數窍株,具體參見vcftools官網
根據基因型數值過濾
- –min-meanDP<float>
- –max-meanDP <float>根據測序深度進行過濾
- –hwe<float>
- –max-missing <float>完整度民轴,該參數介于0,1之間
根據材料過濾
- –indv
- –remove-indv
- –keep<filename></filename>
- –remove<filename></filename>
- –max-indv
基因型過濾參數
- –remove-filtered-geno-all 排除flag不為’.’和’PASS’的基因型
- –remove-filtered-geno <string>排除flag為string的基因型</string>
- –minGQ <float>排除GQ低于這個參數的基因型</float>
- –minDP<float></float>
- –maxDP<float></float>
計算統計
核算多樣性統計
- –site-pi 計算所有SNP
- –window-pi
- –window-pi-step
FST計算
- –weir-fst-pop<filename></filename>
- –fst-window-size
- –fst-window-step
其它計算
- –het
- –hardy
- –site-quality 主要用于提取VCF文件中每個位點的QUAL信```
- --missing-indv
- --missing-site 計算每個位點的缺失率
vcftools --vcf test.recode.vcf --missing-site --out ms
- –SNPdensity <integer>計算SNP在設定bin內的密度</integer>
...太多了詳情見參考手冊
輸出格式
- –recode
- –recode-bcf
- –recode-INFO
- –recode-INFO-all
- –contigs
格式轉換
- –012
- –IMPUTE
- –ldhat
- –ldhat-geno
- –BEAGLE-GL
- –BEAGLE-PL
- –plink
vcftools --vcf all.filter.vcf --plink --out aa ;
- –plink-tped
- –chrom-map
比較選項
- DIFF VCF FILE
- –diff<filename></filename>
- –gzdiff<filename></filename>
- –diff-bcf<filename></filename>
- –diff-site
- –diff-indv
- –diff-site-discordance
- –diff-indv-discordance
- –diff-indv-map<filename></filename>
- –diff-discordance-matrix
- –diff-switch-error
實例
1.輸出來自染色體1的輸入vcf文件中所有位點的等位基因頻率
vcftools --gzvcf input_file.vcf.gz --freq --chr 1 --out chr1_analysis
2.從輸入vcf文件輸出新的vcf文件球订,該文件刪除任何indel位點
vcftools --vcf input_file.vcf --remove-indels --recode --recode-INFO-all --out SNPs_only
3.輸出文件比較兩個vcf文件中的站點
vcftools --gzvcf input_file1.vcf.gz --gzdiff input_file2.vcf.gz --diff-site --out in1_v_in2
4.將新的vcf文件輸出到標準輸出后裸,沒有任何具有過濾器標記的位點,然后使用gzip壓縮它
vcftools --gzvcf input_file.vcf.gz --remove-filtered-all --recode --stdout | gzip -c > output_PASS_only.vcf.gz
5.為bcf文件中的每個站點輸出Hardy-Weinberg p值冒滩,該站點沒有任何缺失的基因型
vcftools --bcf input_file.bcf --hardy --max-missing 1.0 --out output_noMissing
6.在一系列位置輸出核苷酸多樣性
zcat input_file.vcf.gz | vcftools --vcf - --site-pi --positions SNP_list.txt --out nucleotide_diversity