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

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,732评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,496评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,264评论 0 338
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,807评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,806评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,675评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,029评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,683评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 41,704评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,666评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,773评论 1 332
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,413评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,016评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,978评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,204评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,083评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,503评论 2 343

推荐阅读更多精彩内容

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