VCFtools安装和简单试用
日期:2022-1-21
1. 下载安装VCFtools
在官网(https://vcftools.github.io/index.html)下载VCFtools安装包,下载地址链接为https://vcftools.github.io/downloads.html
,该网页内界面如下所示,方框内为下载按钮。如果点击的是View On GitHub
需要进入release中寻找最新版本(https://github.com/vcftools/vcftools/releases/tag/v0.1.16)。
2. 安装TAR包
在下载vcftools-0.1.16.tar.gz
压缩包后,放到服务器家目录bin中(~/bin),安装代码如下:
tar zxvf ./vcftools-0.1.16.tar.gz
cd vcftools-0.1.16/
./configure --prefix=`pwd`
make && make install
至此安装完成,可以使用全路径软件 ~/bin/vcftools-0.1.16/bin/vcftools
,或者将路径添加到系统PATH变量中(PATH=/home/cfc424/bin/miniconda3/bin:$PATH)。
3. 使用Conda安装
使用Conda可以快速安装VCFtools,使用mamba下载速度更快,可以通过search指定版本:
mamba search vcftools
mamba install vcftools=0.1.16
4. VCFtools使用实例
(1)VCFtools帮助文档和VCF基本信息统计
该软件处理速度快,输入输出文件适应性好,是生物信息学必备工具之一。安装完测试软件是否能够运行:
打印命令和基本信息查看:
vcftools
## 输出该软件的版本信息、作者和软件的公布时间以及说明文档的网络地址。
VCFtools (0.1.16)
© Adam Auton and Anthony Marcketta 2009
Process Variant Call Format files
For a list of options, please go to:
https://vcftools.github.io/man_latest.html
Alternatively, a man page is available, type:
man vcftools
Questions, comments, and suggestions should be emailed to:
vcftools-help@lists.sourceforge.net
VCF基本信息统计:
vcftools --vcf input_data.vcf
## 输出为样本数和变异位点数目
After filtering, kept 112 out of 112 Individuals
After filtering, kept 322711 out of a possible 322711 Sites
Run Time = 1.00 seconds
值得注意的是,从0.1.12版本开始,VCFtools已经支持标准输出作为输入,方便pipe运行命令:
zcat input_data.vcf.gz | ./vcftools --vcf - ## 读入的VCF信息为标准输入的解压缩版本
VCF文件过滤,筛选Chr1区间内的变异信息(chr1:1000000-2000000):
vcftools --vcf input_data.vcf --chr 1 --from-bp 1000000 --to-bp 2000000
## 输出结果
out.recode.vcf ## 输出文件
out.log ## log信息
## --out制定输出文件的前缀
vcftools --vcf input_data.vcf --chr 1\
--from-bp 1000000 --to-bp 2000000 --recode --out subset ##
## 打印到屏幕,使用命令more查看
vcftools --vcf input_data.vcf --chr 1 --from-bp 1000000 --to-bp 2000000 --recode --stdout | more
## 标准输出重定向保存目标文件到制定目录及文件名
vcftools --vcf input_data.vcf --chr 1 --from-bp 1000000 --to-bp 2000000 \
--recode -c > /home/usr/data/subset.vcf
## 标准输出重定向并直接压缩VCF文件为gz格式
vcftools --vcf input_data.vcf --chr 1 --from-bp 1000000 --to-bp 2000000 \
--recode -c | bgzip -c > /home/usr/data/subset.vcf.gz
将VCF格式转换为BCF格式:
vcftools --vcf input_data.vcf --recode-bcf --recode-INFO-all --out converted_output
比较两个VCF文件,输出两个文件共有的SNP和样本的结果:
## 第一个参数正常指定,第二参数指定为--diff, --gzdiff 或者--diff-bcf
vcftools --vcf input_data.vcf --diff other_data.vcf --recode --out compare
计算Allele Frequency:
vcftools --vcf input_data.vcf --freq --out output
提取测序深度
vcftools --vcf input_data.vcf --depth -c > depth_summary.txt
vcftools --vcf input_data.vcf --site-depth --max-missing 1.0 --out site_depth_summary ## SNP中不允许样本基因型缺失
计算LD:
vcftools --vcf input_data.vcf --hap-r2 --ld-window-bp 50000 --out ld_window_50000
计算Fst:
## 单点SNP Fst值
vcftools --vcf input_data.vcf --weir-fst-pop population_1.txt --weir-fst-pop population_2.txt --out pop1_vs_pop2
## sliding window Fst值(滑动窗口,窗口10kb,步长5kb)
vcftools --vcf input_data.vcf --window-pi 10000 --window-pi-step 5000 --out pop1_vs_pop2 &
转换成Plink格式:
vcftools --vcf input_data.vcf --plink --chr 1 --out output_in_plink
(2)VCFtools在处理群体SNP数据时高效便捷
VCFtools允许输入文件共三种:VCF、BCF、GZ压缩格式的VCF
,下面的例子为群体SNP VCF数据过滤(此时已将vcftools路径添加PATH环境变量中):
vcftools --gzvcf test.vcf.gz\ ## 输入压缩形式的vcf
--remove-indels \ ## 移除indel变异,保留SNP变异
--max-missing 0.5\ ## SNP样本缺失率不能超过50%
##(设置为1,代表完全不允许缺失;0.8代表允许20%缺失。)
--maf 0.05\ ## 次等位基因频率不能低于0.05
--min-alleles 2\ ## 次等位基因个数
--max-alleles 2\ ## 主要等位基因个数
--keep test.line.txt\ ## 保留样本文件list
--snps test.snps.txt\ ## 保留SNP文件list
--recode --recode-INFO-all\ ##重新编码成vcf文件
--out SNPs_only ##输出文件的前缀(保存文件为SNPs_only.recode.vcf)
以上,更多方法有待后续添加。