Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >bcftools 高级用法

bcftools 高级用法

作者头像
用户7625144
发布于 2023-03-06 06:56:47
发布于 2023-03-06 06:56:47
1.9K0
举报
文章被收录于专栏:生信开发者生信开发者

查看bcftools安装路径

which bcftools

导出插件所需的环境编辑

export BCFTOOLS_PLUGINS=/bi/software/bcftools-1.16/plugins;

查看插件环境变量

echo ${BCFTOOLS_PLUGINS}

反向过滤 ( https://samtools.github.io/bcftools/bcftools.html#expressions )

bcftools view -e ‘CHROM~”M” || CHROM~”_” || QUAL<30 || MAX(FMT/GQ)<20 || MAX(FMT/DP)<8 || AVG(FMT/DP)<5 || (COUNT(FMT/GT="het")>10 && MAX(FMT/AD[*:1]/FMT/DP[*])<0.2) || MAX(FMT/AD[*:1]/FMT/DP[*]) < 0.1’ /bi/8.xuxiong/EQA2022/20221019/All.raw.vcf.gz | less -S `

正向过滤

bcftools view -i ‘N_ALT=1 & AVG(FMT/DP)>8 & MIN(FMT/DP)>5 & MIN(FMT/GQ)>15 & QUAL > 30 & MAX(FORMAT/AD[*:1]/FORMAT/DP[*]) > 0.1 ‘ /bi/8.xuxiong/EQA2022/20221019/All.raw.QCflt.vcf.gz | less -S

取交集

bcftools isec /bi/8.xuxiong/EQA2022/20221019/All.raw.QCflt.vcf.gz /bi/8.xuxiong/work/WES/CYP21A2_CYP21A1P_SMN1_SMN2_HBA1_HBA2_diff.vcf.gz -n =2 -w 1 -Oz -o /bi/8.xuxiong/EQA2022/20221019/All.sp.homologous.vcf.gz ; tabix -fp vcf /bi/8.xuxiong/EQA2022/20221019/All.sp.homologous.vcf.gz ;

取差集

bcftools isec /bi/8.xuxiong/EQA2022/20221019/All.raw.QCflt.vcf.gz /bi/8.xuxiong/work/WES/CYP21A2_CYP21A1P_SMN1_SMN2_HBA1_HBA2_diff.vcf.gz -n ~10 -w 1 -Oz -o /bi/8.xuxiong/EQA2022/20221019/All.sp.nonHomo.vcf.gz; tabix -fp vcf /bi/8.xuxiong/EQA2022/20221019/All.sp.nonHomo.vcf.gz;

bcftools isec -n~10 -c none -w 1 /bi/8.xuxiong/EQA2022/20221019/All.vt.vcf.gz /bi/8.xuxiong/database/Variants.with.local.blacklist.V20211010.vcf.gz -Oz -o All.blacklist.QCflt.vcf.gz; tabix -fp vcf All.blacklist.QCflt.vcf.gz;

正向过滤 选当批次人群频率高频位点

bcftools view -Ov -i ‘(AF>=0.5 && AN>=12) || (AF>=0.2 && AN>=30) || (AF>=0.1 && AN>=100)’ /bi/8.xuxiong/EQA2022/20221019/All.blacklist.QCflt.vcf.gz -Oz -o All.blacklist.QCflt.Batch_common.vcf.gz; tabix -fp vcf All.blacklist.QCflt.Batch_common.vcf.gz;

挑选IMPACT synonymous_variant及以上的位点,需先经VEP注释,IMPACT 顺序为/bi/database/VEPseverity.txt ,运行插件前需导出环境变量( export BCFTOOLS_PLUGINS=/bi/software/bcftools-1.6/plugins; )也可加入~/.bashrc

bcftools +split-vep -S /bi/database/VEPseverity.txt -s all:synonymous_variant+ -x /bi/8.xuxiong/EQA2022/20221019/All.vep.vcf -Oz -o All.MoreSeverity.vcf.gz; tabix -fp vcf All.MoreSeverity.vcf.gz;

挑选IMPACT coding_sequence_variant及以下的位点,需先经VEP注释

bcftools +split-vep -S /bi/database/VEPseverity.txt -s all:coding_sequence_variant- -x /bi/8.xuxiong/EQA2022/20221019/All.vep.vcf -Oz -o All.modifier.vcf.gz; tabix -fp vcf All.modifier.vcf.gz;

取交集(需要取交集的文件需要预先排序并建索引)

bcftools isec /bi/8.xuxiong/EQA2022/20221019/All.sp.nonHomo.vcf.gz /bi/8.xuxiong/database/ClinVar.HGMD.Local.SpliceAI.whitelist.V20211010.vcf.gz -n =2 -w 1 -Ov | less -S

取并集,需两个vcf均有索引,且排序(需要合并的文件需要预先排序并建索引)

bcftools concat -a /bi/8.xuxiong/EQA2022/20221019/All.sp.homologous.vcf.gz /bi/8.xuxiong/EQA2022/20221019/All.sp.nonHomo.vcf.gz -Ov|less -S

按家系拆分joint calling的vcf文件

bcftools +split /bi/8.xuxiong/EQA2022/20221019/All.vep.flt.vcf -Ov -o . -G pedGroupsVEP.tsv;

按样本拆分出joint calling的vcf文件所有样本vcf文件

bcftools query -l /bi/8.xuxiong/EQA2022/20221019/All.vep.flt.vcf | bcftools +split -S /dev/stdin -Oz -o . /bi/8.xuxiong/EQA2022/20221019/All.vep.flt.vcf

根据/bi/database/gene_region.bed.gz(需先 tabix -fp bed /bi/database/gene_region.bed.gz 建立索引)注释vcf文件,添加到INFO/GENE

bcftools annotate -a /bi/database/gene_region.bed.gz -c CHROM,FROM,TO,GENE -H ‘##INFO=<id=gene,number=1,type=string,description="gene less=""></id=gene,number=1,type=string,description="gene>

将注释上基因后的vcf按-f格式转成tsv格式

bcftools annotate -a /bi/database/gene_region.bed.gz -c CHROM,FROM,TO,GENE -H ‘##INFO=<id=gene,number=1,type=string,description="gene bcftools="" query="" -f="" less=""></id=gene,number=1,type=string,description="gene>

计算每个样本每个位点的VAF,并转成tsv格式

bcftools +fill-tags All.raw.QCflt.vcf — -t FORMAT/VAF |bcftools query -H -f ‘%CHROM\t%POS\t%REF\t%ALT[\t%VAF]\n’|less -S

(bcftools +fill-tags /bi/8.xuxiong/EQA2022/20221019/All.sp.nonHomo.flt.vcf.gz — -t FORMAT/VAF |bcftools query -H -f ‘[\t%VAF]\n’|head -n 1|perl -ne ‘s/^#\s*|[\d+]|:VAF//g;print “chr\tstart\tend\tallele\t$_”;’; \ bcftools +fill-tags /bi/8.xuxiong/EQA2022/20221019/All.sp.nonHomo.flt.vcf.gz — -t FORMAT/VAF |bcftools query -f ‘%CHROM\t%POS\t%END\t%REF/%ALT[\t%VAF]\n’) | less -S

仅挑选指定WES22070248.bam的vcf

bcftools view -s WES22070248.bam /bi/8.xuxiong/EQA2022/20221019/All.vep.flt.vcf|less -S

仅挑选指定WES22070248.bam的vcf,且 过滤掉纯合野生型和no call的位点,仅挑选INFO中的CSQ字段,left-align indel、去重、uniq

bcftools view -s WES22070248.bam /bi/8.xuxiong/EQA2022/20221019/All.vep.flt.vcf|bcftools view -e ‘FMT/GT[0]==”RR” || FMT/GT[0]==”mis”‘ | bcftools annotate -x ^INFO/CSQ |bcftools norm -d none|less -S

列出所有样本

bcftools query -l /bi/8.xuxiong/EQA2022/20221019/All.vep.flt.vcf

按指定格式设置位点的ID,在前面增加’+’,将保留原有的ID

bcftools annotate —set-id ‘%CHROM-%POS-%REF-%FIRST_ALT’ /bi/8.xuxiong/EQA2022/20221019/All.raw.QCflt.vcf|less -S bcftools annotate —set-id +’%CHROM-%POS-%REF-%FIRST_ALT’ /bi/8.xuxiong/EQA2022/20221019/All.raw.QCflt.vcf|less -S

仅挑选 INFO/AF、INFO/AC、INFO/AN字段输出vcf

bcftools annotate -x ^INFO/AF,^INFO/AC,^INFO/AN /bi/8.xuxiong/EQA2022/20221019/All.raw.QCflt.vcf|less -S

解压 vcf.gz(zcat) ,向vcf文件header增加contig信息(awk),将染色体按指定的映射关系重命名(bcftools annotate —rename-chrs )且仅挑选INFO/CLASS字段,按指定格式输出(bcftools query -f ),统计最后一列排序后输出频数

zcat ~/data/database/2021Q4/HGMD_Pro_2021.4_hg19.vcf.gz | \ awk ‘/^##contig/ {next} /^#CHROM/ {printf(“##contig= bcftools annotate —rename-chrs /bi/database/chr-names.txt -x ^INFO/CLASS | \ bcftools query -f “%CHROM\t%POS\t%ID\t%REF\t%ALT\t%QUAL\t%FILTER\t%INFO/CLASS\n”| \ awk -F”\t” ‘{print $NF}’|sort|uniq -c

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-11-15,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 生信开发者 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
奇怪,HaplotypeCaller中AD之和不等于DP
在基因组分析中,处理流程从上游测序数据到下游突变分析,中间的关键就是call突变。
生信菜鸟团
2022/04/08
2.3K0
奇怪,HaplotypeCaller中AD之和不等于DP
bcftools学习笔记(二)
本篇主要介绍annotate, concat, merge, isec, stats这五个命令。
生信修炼手册
2020/05/11
5.5K2
bcftools学习笔记(二)
vcf文件
VCF 是生物信息分析中非常重要的一种格式。主要用来描述基因组突变的信息,无论是检测出来的 SNP,indel,cnv,还是 SV,都可以存储格式都为 vcf 格式。从比对生成的 bam 文件中,将潜在变异信息筛选出来,就是 vcf 格式。vcf 是一种列表格式,里面包含很多的内容。需要掌握每一列的信息,并能使用相对应的软件对 vcf 进行处理。处理 VCF 格式软件主要包括 bcftools,vcftools,gatk,python pyvcf,plink 等。
生信喵实验柴
2023/09/04
2.2K0
vcf文件
Variant 分析阶段小结2- 变异寻找碎碎念
写在前面:『思考问题的熊』专栏上次更新还要追溯到4月19号的 Variant 分析阶段小结1-基础碎碎念,过去接近一个月的时间里我分别经历了两次长途出差和电脑无法连接特定网络的持续尴尬。特定网络正是所有以 qq.com 结尾的网站,当然包括微信公众平台,所以文章都编辑不了。身体和心理的双重袭击让我只能选择围笑:)
生信技能树
2018/07/27
4.2K0
Variant 分析阶段小结2- 变异寻找碎碎念
vcf2maf—从VCF到MAF,解锁基因突变的秘密
vcf2maf 是由 Cyriac Kandoth 主导开发的一款用于将 VCF (Variant Call Format) 文件转换为 MAF (Mutation Annotation Format) 文件的生信分析工具。广泛应用于癌症基因组研究中的变异数据处理,其具有以下特性:
生信菜鸟团
2024/06/12
2.7K0
vcf2maf—从VCF到MAF,解锁基因突变的秘密
安装VEP及其注释数据库
为了其它相关软件的顺利运行,我们根据教程来设置默认的安装目录及变量环境:Ensembl's VEP , If you don't have VEP installed, then follow this gist.
生信技能树
2018/07/27
4.6K0
annovar注释的进阶使用
菜鸟团公众号肯定讲过annovar的使用了。比如Nickier的vcf文件的注释及ANNOVAR的使用。
生信菜鸟团
2022/05/24
3.9K0
如何合并多个体细胞突变检测工具的输出结果
在肿瘤基因组数据分析方法中,很多文章会使用多个软件 call 突变,然后进行合并,常用见的方法就是多个软件得到的结果中,一个突变在两个或两个以上的软件检测到即保留,认为其可信度较高。合并策略通常有两种:取交集(只保留两个工具都检测到的变异)或取并集(保留任一工具检测到的变异)。但是不同的突变检测工具,得到的 vcf 文件并不完全一致,因为不同工具定义的 format tag 不太一致。所以直接进行合并可能导致格式有问题。这里简单简介一种比较粗暴的vcf 取交集的方法。主要是针对体细胞突变检测工具 Mutect2 和 Strelka2 的结果。
生信菜鸟团
2025/08/09
630
如何合并多个体细胞突变检测工具的输出结果
bcftools其实很好用
*Filter variants per region (in this example, print out only variants mapped to chr1 and chr2)
用户7625144
2020/10/27
1.4K1
SNP注释
人类基因组测序数据分析得到的变异位点,如 SNV、INDEL 等,只是给出了位点信息,不便于解读。需要经过注释。注释主要包括基因定位、人群频率计算、进化保守性预测、蛋白功能影响预测等分析,才能用于遗传分析和解读。
生信喵实验柴
2023/09/04
9650
SNP注释
Bioinfo|bedtools-操作VCF文件
初步设想在Bioinfo板块中分享一些常见的生信分析软件的使用,原则就是有现成的轮子就不去自己造了。
生信补给站
2020/08/06
2.7K0
开箱即用版本 满分室间质评之GATK Somatic SNV+Indel+CNV+SV(2024-04-30更新)
测试数据来自2017年卫计委室间质评提供的bed文件(pipeline会自动下载)和测试数据,修改命名以匹配pipeline输入端,也可以替换为自己的数据文件,因为室间质评目前参考基因组还停留在hg19版本,所以本流程仍然使用hg19(GRCH37),如果要切换到hg38,可以将version_reference变量值设置为hg38,project_bed设置为Illumina_pt2_hg38.bed。pipeline会使用hg38(GRCH38)版本和对应的bed文件。
SliverWorkspace
2023/10/07
1.4K0
开箱即用版本 满分室间质评之GATK Somatic SNV+Indel+CNV+SV(2024-04-30更新)
体细胞突变检测分析流程-系列1( WES&Panel)
Sentieon 致力于解决生物信息数据分析中的速度与准确度瓶颈,通过算法的深度优化和企业级的软件工程,大幅度提升NGS数据处理的效率、准确度和可靠性。
INSVAST
2023/07/26
4730
体细胞突变检测分析流程-系列1( WES&Panel)
融合基因鉴定以及GATK寻找突变
上周的癌症样本全转录组数据的融合基因鉴定中我们拿到数据进行一系列比对过滤后使用star完成了基因组比对,并通过设置参数拿到了Chimeric.out.junction文件以便star-fusion进行融合基因的鉴定
生信菜鸟团
2023/09/08
2.4K1
融合基因鉴定以及GATK寻找突变
把vcf文件转换为maf格式,肿瘤外显子上游分析教程到此为止
可能还有一些教程我漏掉了,毕竟这些年发布了近万篇教程了,大家直接我去我博客,生信菜鸟团就可以搜索,去我们的论坛,生信技能树里面也可以搜到。
生信技能树
2018/07/27
6.1K0
把vcf文件转换为maf格式,肿瘤外显子上游分析教程到此为止
VEP — 高效的变异注释工具
Ensembl Variant Effect Predictor (VEP) 是由欧洲生物信息研究所(European Bioinformatics Institute, EMBL-EBI)开发的一个高效的基因变异注释工具。VEP是一个强大的工具,其具有以下特性:
生信菜鸟团
2024/04/11
2.5K0
VEP — 高效的变异注释工具
variant calling还在用GATK?deepvariant又快又准
deepvariant(A universal SNP and small-indel variant caller using deep neural networks. Nature Biotechnology 36, 983–987 (2018). )为谷哥开源的基于机器学习的变异分析工具,今年年初有篇scientific report上的文献( https://www.nature.com/articles/s41598-022-05833-4 ),对GATK与deepvariant做了详细的比较,有兴趣的可自行阅读下这篇文献。
用户7625144
2023/03/06
1.5K1
variant calling还在用GATK?deepvariant又快又准
用 VEP 注释突变数据
•gcc, g++ and make•Perl version 5.10 or above recommended (tested on 5.10, 5.14, 5.18, 5.22, 5.26)•Perl packages:•Archive::Zip•DBD::mysql•DBI
生信菜鸟团
2020/04/28
6.3K0
SAIGE用户手册笔记1
群体遗传学领域,看起来华人(中国人)至少是占据前线的,至少很多软件的一作就是中国人的名字,至少活主要是我们干的。当然,也有很多华人(国人)大牛开发了史诗级别的软件,向勤劳的华夏人致敬!SAIGE 这个软件也是如此。最新更新了1.0版,一起来学习下新的软件文档。
用户1075469
2022/04/15
2.1K2
SAIGE用户手册笔记1
【生信文献200篇】87 VCF注释及可视化工具
Variant Call Format(VCF)是存储基因序列突变信息的文本格式,包括单碱基突变(SNP), 插入/缺失(InDel), 拷贝数变异和结构变异等。
生信菜鸟团
2021/12/13
4.3K0
【生信文献200篇】87 VCF注释及可视化工具
相关推荐
奇怪,HaplotypeCaller中AD之和不等于DP
更多 >
交个朋友
加入腾讯云官网粉丝站
蹲全网底价单品 享第一手活动信息
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档