生信软件14 - bcftools提取和注释VCF文件关键信息

bcftools可用于变异信息的描述性统计,计算,过滤和格式转换。

1. 显示VCF文件的头信息

bcftools view -h sample.vcf

##fileformat=VCFv4.2
##FILTER=<ID=PASS,Description="All filters passed">
##bcftoolsVersion=1.5+htslib-1.5
##bcftoolsCommand=mpileup -f /public/analysis/ucsc.hg19.fasta -Ou /public/analysis/result/sample.bam
##reference=file:///public/analysis/ucsc.hg19.fasta
##contig=<ID=chr1,length=249250621>
##contig=<ID=chr2,length=243199373>
##contig=<ID=chr3,length=198022430>
....

1. 构建VCF文件索引

# 对于分析依赖与vcf索引文件,进行以下操作生成.idx索引
bcftools index sample.vcf

bcftools index sample.vcf.gz

2. 压缩VCF为gz压缩文件

# 2线程输出.vcf.gz压缩文件
bcftools view sample.vcf -Oz -o sample.vcf.gz --threads 2 	

-Oz 表示输出格式为压缩文件gz格式;
-o 后边跟压缩文件名字;
–threads 2 表示2个线程并行压缩vcf文件

3. 压缩VCF为gz压缩文件

# 不压缩vcf
 bcftools sort sample.vcf -o sample.vcf.gz -O v

 bcftools sort sample.vcf -o sample.vcf.gz -O z

# -O 参数
# z: compressed VCF
#  v: uncompressed VCF

3. 提取VCF的等位基因和基因型信息

# 生成A/G的基因型
bcftools query -f '%CHROM %ID %POS %REF %ALT [ %TGT]\n' sample.vcf -o sample.extract.txt
%CHROM 染色体列
%ID 变异位点名称
%POS 变异位点位置
%REF 参考等位基因
%ALT 变异等位基因
%TGT 字符格式如A/G的基因型;%GT为0/1格式的基因型

A/G的基因型结果

# 生成0/1格式的基因型
bcftools query -f '%CHROM %ID %POS %REF %ALT [ %GT]\n' sample.vcf -o sample.extract.txt

0/1格式的基因型结果

4. 变异位点的统计

统计VCF文件的基本信息,比如突变位点的总数,不同类型突变位点的个数等。

# 统计命令
bcftools stats sample.vcf > sample.stas

# 安装plot-vcfstats 依赖库
# pip install matplotlib
# 生成pdf文件还需要pdf-latex, ubuntu使用下列命令安装
# sudo apt-get install texlive-full 

# 统计可视化,输出值statistics文件夹
plot-vcfstats sample.stas -p statistics

statistics信息

5. 替换染色体名称

在这里插入图片描述

# 输出.gz格式
bcftools annotate --rename-chrs chrom_name.txt old.vcf -Oz -o new.vcf.gz --threads 4

6. 使用数据库注释VCF文件

# 注释指定字段
## INFO/TAG可以写TAG
## FORMAT/TAG可以写FMT/TAG

# 注释前需创建.vcf.gz文件索引, annoteate.vcf.gz 为注释压缩结果文件
bcftools index dbsnp.vcf.gz
bcftools annotate -a dbsnp.vcf.gz -c ID annoteate.vcf.gz
# gzip -d annoteate.vcf.gz

bcftools index 1000g.vcf.gz 
bcftools annotate -a 1000g.vcf.gz -c AF annoteate.vcf.gz
bcftools annotate -a 1000g.vcf.gz -c INFO/AF annoteate.vcf.gz

# 使用INFO列的所有字段
bcftools annotate -a 1000g.vcf.gz -c INFO annoteate.vcf.gz
# 使用INFO列除了指定TAG的所有字段
bcftools annotate -a 1000g.vcf.gz -c ^INFO/TAG annoteate.vcf.gz
# 重命名注释
bcftools annotate -a 1000g.vcf.gz -c 1000G_AF:=AF annoteate.vcf.gz
bcftools annotate -a 1000g.vcf.gz -c FMT/AD:=FMT/DV annoteate.vcf.gz

-c 指定使用注释文件中的列

`plink` 是一款广泛用于遗传学数据分析软件包,特别是对于关联研究(association studies)中的单核苷酸多态性(SNP)数据。当你有 VCF (Variant Call Format) 格式的基因变异数据时,你可以用 `plink` 来进行各种预处理、过滤、统计分析等操作。 以下是一些基本步骤来使用 `plink` 处理 VCF 数据: 1. 安装 plink bcftools (plink依赖于bcftools): 如果你还没有安装,首先确保从官网(https://www.cog-genomics.org/plink/1.9/)下载并安装最新版本的 `plink` `bcftools`。 2. 解压VCF文件: 使用 `bcftools view` 或 `tabix` 命令解压大文件以便 `plink` 可以读取。例如: ``` tabix -p vcf input.vcf.gz ``` 3. 将 VCF 转换为 PLINK 输入格式: 使用 `plink --vcf input.bcf --make-bed`,这将创建一个`.bed`, `.bim` `.fam` 文件,分别是样本表、标记定义家庭关系文件。 ```shell plink --vcf input.bcf --make-bed --biallelic-only --geno 0.1 --recode ``` `-geno 0.1` 表示保留频率大于 0.1 的等位基因。 4. 数据过滤: 对于删除低质量样本或标记,使用 `plink --exclude` 或 `--maf x.y`,其中 `x.y` 是你选择的最小 Minor Allele Frequency (MAF)。 5. 进行遗传相关性计算: 例如,要计算关联分析,使用 `plink --assoc` 或 `--ld` 来找出与某些特定标记相关的关联或计算遗传相关性。 6. 导出结果: 结果通常会输出到文本文件,如关联系数(`assoc.txt`)、LD矩阵 (`r2.ld`) 等。 记得每次运行 `plink` 命令后,都要检查输出日志(`*.log` 文件),以了解是否有错误或警告息。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

生信与基因组学

每一份鼓励是我坚持下去动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值