bcftools变异操作与表达式 - SpiralKernel/bioinfo-wiki GitHub Wiki

bcftools变异操作与表达式

更新:2026-10-14;状态:可用;验证范围:bcftools1.22与HTSlib1.22人工VCF/SAM案例已执行;真实检测性能及其他专业软件未实测。

bcftools处理VCF/BCF,安装环境、字段层级和表达式语义决定操作能否按预期执行。

环境与下载

先按R与Python路径文件与项目组织下载项目并进入根目录。这里的命令面向Linux或macOS;Windows可使用已配置的Linux环境/WSL,不能把Linux二进制直接当Windows Python包安装。

已有Conda时可在终端建立独立环境;还没有Conda时按Miniforge官方安装选择系统/架构,再回到这里。安装步骤按官方资料整理,本轮实际用源码隔离编译,未实测所有系统的Conda安装。

conda create -n variants -c conda-forge -c bioconda bcftools=1.22 python=3.12
conda run -n variants bcftools --version
conda run -n variants bcftools +fill-tags -h
conda run -n variants python examples/variant_extraction_demo.py

+fill-tags是本例需要的插件。报“plugin not found”先核对插件是否与该bcftools环境匹配;源码安装可按官方说明设置BCFTOOLS_PLUGINS,不能拿另一版本插件混用。Python的.venv不会自动安装这个C工具。

常见子命令

view筛选/子集/格式转换,norm标准化,sort排序,index索引,query导出字段,filter标记或掩蔽,+fill-tags重算指定统计。merge合并不同样本,concat拼接兼容的相同样本记录片段;两者不代替重新分型。

-Oz输出BGZF压缩VCF,-Ov普通VCF,-Ob压缩BCF;普通gzip文件不自动具备随机区间索引。使用-r/-R前检查排序、压缩和索引。

表达式先看层级

INFO是记录级,FMT/FORMAT是样本级。FMT/DP>=8 & FMT/GQ>=20要求同一样本满足;&&可以让不同样本分别满足。两者不是可随意替换的写法,详见变异位点过滤与基因型掩蔽。

本例工具版本为1.22,不称为最新版本。可执行案例和实际输出见人工VCF贯通变异分类与提取。依据:安装、Bioconda包、表达式教程。