mcpField
A
alterlab-nf-core-sarek

alterlab-nf-core-sarek

github.com/alterlab-ieu数据与数据库7858 次安装5 周前更新
代码仓库

关于 alterlab-nf-core-sarek

alterlab-nf-core-sarek 是用于驱动 nf-core/sarek 的生物信息学技能,将短读长 FASTQ 处理为变异 VCF。适合需要可复现胚系或体细胞变异分析的研究者,并提供无 Nextflow 时的 GATK4 手动流程参考。

主要功能

  1. 01FASTQ 到 VCF 的分析流程
  2. 02胚系与体细胞变异检测
  3. 03显式选择变异调用工具
  4. 04样本表生成与校验
  5. 05支持中间步骤续跑

适用场景

  1. 01对 WGS 或 WES 短读长数据进行变异检测
  2. 02分析配对肿瘤与正常样本
  3. 03从 BAM 或 CRAM 恢复并继续流程

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/alterlab-ieu/alterlab-academic-skills --skill alterlab-nf-core-sarek

安装后在 Claude Code 中输入/alterlab-nf-core-sarek确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

evals/
evals.json
references/
caller_accuracy.md
manual_gatk4.md
samplesheet_schema.md
usage_3.10.0.md
scripts/
make_samplesheet.py

详细介绍

nf-core/sarek — FASTQ 到 VCF 变异检测

从原始 reads 到变异的工作流运行入口:运行 Nextflow nf-core/sarek 流水线(固定为 -r 3.10.0) 处理生殖系或体细胞短读长 FASTQ,完成比对、GATK4 重复标记和碱基质量重校准,以及 SNV/indel 检测,随后将生成的 VCF 交给套件中的数据库和解析技能进行解读。

此技能是套件中基于 Python 库的生物信息学技能的命令行/工作流对应方案。用于原始数据到 VCF 这一步;已有 VCF 后,则使用库技能(alterlab-pysam、alterlab-tiledbvcf)。

何时使用此技能

当用户想要执行以下操作时,触发此技能:

  • 从 FASTQ 转到 VCF——对全基因组(WGS)或全外显子组(WES)短读长数据进行变异检测。
  • 运行生殖系 SNV/indel 检测(一个或多个正常样本)。
  • 运行体细胞/肿瘤-正常检测(配对的肿瘤和正常样本,或仅肿瘤样本)。
  • 特别使用 nf-core/sarek,或想要可复现的“GATK 最佳实践比对到 VCF”流水线,而不想手动编写每个步骤。
  • 从中间的 --step 恢复运行(已有 BAM/CRAM,只需进行重校准或变异检测)。
不适用——将相关请求转到这里
用户实际想要的是……转到
在 Python 中解析/筛选/读取已有 VCF/BAM(pysam/htslib)alterlab-pysam
存储/查询大型多样本变异存储(TileDB-VCF 数组)alterlab-tiledbvcf
解读已检测变异的临床意义(致病/良性)alterlab-clinvar
查询已检测变异的人群等位基因频率alterlab-gnomad
查询体细胞突变目录/癌症普查alterlab-cosmic
RNA-seq 转录本/基因定量(salmon/kallisto),而不是 DNA 变异alterlab-rnaseq-quant
16S/ITS 扩增子/微生物组 FASTQ → 特征表alterlab-qiime2-amplicon
序列同源性/相似性搜索(BLAST+、DIAMOND)alterlab-blast
空间转录组邻域/SVG 分析alterlab-squidpy-spatial
根据计数数据进行差异表达统计alterlab-pydeseq2

如果用户没有工作流引擎,且无法安装 Nextflow 和容器,不要拒绝——改用手动 GATK4 配方(见下文/references/manual_gatk4.md)。

第一大正确性陷阱:sarek 的默认 caller 是 Strelka

根据 3.10.0 用法文档,未设置 --tools 时,sarek 只会运行预处理,然后运行 Strelka。它不会默认使用 GATK HaplotypeCaller 或 DeepVariant。务必显式设置 --tools,以符合用户意图:

意图传入参数
GATK4 最佳实践生殖系检测--tools haplotypecaller
最高生殖系 F1(CNN)--tools deepvariant
体细胞配对肿瘤/正常检测--tools mutect2(通常为 mutect2,strelka)
跨队列联合生殖系分型--tools haplotypecaller --joint_germline
GPU 加速的生殖系检测(需要 NVIDIA GPU 配置)--tools parabricks_haplotypecaller

(根据 3.10.0 架构)--tools 接受:deepvariant、freebayes、 haplotypecaller、parabricks_haplotypecaller、mutect2、lofreq、mpileup、 muse、strelka、sentieon_*、结构变异 caller(manta、tiddit、 indexcov)、CNV/纯度工具(ascat、cnvkit、controlfreec)、质控工具 (ngscheckmate、msisensorpro)、varlociraptor,以及注释工具 (snpeff、vep、snpsift、bcfann)。caller 的选择会显著影响精确率和召回率——参见 references/caller_accuracy.md 中的 nf-core 基准测试(Hanssen 等,2024)。

流水线(如何运行)

1. 构建样本表

sarek 的输入是 CSV。--step mapping 必需的列: patient、sample、lane、fastq_1、fastq_2。可选列:sex(XX/XY, 默认 NA)和 status(0 = 正常,1 = 肿瘤,默认 0)——status 用于告知 sarek 一对样本是否为体细胞样本。

使用辅助工具从 FASTQ 目录生成有效的样本表(它会配对 R1/R2、 填写 lane,并在消耗计算资源前验证架构):

uv run python skills/bioinformatics/alterlab-nf-core-sarek/scripts/make_samplesheet.py \
    --fastq-dir ./fastq --patient PATIENT_01 --sample TUMOR_01 \
    --status 1 --sex XY --out samplesheet.csv

运行前,追加更多行(例如,使用 --status 0 --append 添加匹配的正常样本)。 所有列、BAM/CRAM 重新输入行和肿瘤-正常示例,请参阅 references/samplesheet_schema.md。

2. 运行流程(固定版本)
nextflow run nf-core/sarek -r 3.10.0 \
    -profile docker \
    --input samplesheet.csv \
    --outdir ./results \
    --genome GATK.GRCh38 \
    --tools haplotypecaller \
    --aligner bwa-mem2
  • 始终保留 -r 3.10.0 ——不固定版本的运行会漂移到不同的流程版本。
  • -profile 必填:针对本地环境,使用 docker、singularity、apptainer 或 conda (集群还会添加 test、机构配置等)。
  • --genome GATK.GRCh38 会选择 iGenomes/GATK GRCh38 参考基因组,并自动使用其 捆绑的 BQSR 已知位点(dbSNP、Mills/1000G indels)。
  • --aligner 选项:bwa-mem(默认)、bwa-mem2、dragmap、sentieon-bwamem、 parabricks(GPU)。
  • 对于 WES/靶向 panel,同时传入 --wes 和 --intervals targets.bed:--intervals 限定变异检测的区域,而 --wes 会将工具切换为靶向测序设置。未传入 --wes 运行的外显子组数据也会顺利完成, 但会使用针对 WGS 调优的阈值。
  • 使用 --step(默认 mapping,之后依次为 markduplicates、 prepare_recalibration、recalibrate、variant_calling、annotate)和 Nextflow 的 -resume,从流程中途恢复运行。

预处理遵循 GATK 最佳实践:比对 → MarkDuplicates → BaseRecalibrator/ApplyBQSR(BQSR)→ 变异检测。详情和所有标志参数: references/usage_3.10.0.md。

3. 解读输出 VCF

各调用工具生成的 VCF 位于 results/variant_calling/<tool>/ 下。然后:

  • 使用 alterlab-pysam 解析 / 过滤。
  • 使用 alterlab-tiledbvcf 大规模存储 / 查询(多样本)。
  • 注释临床意义 → alterlab-clinvar;人群频率 → alterlab-gnomad;体细胞目录 → alterlab-cosmic。
备选方案:手动运行 GATK4(不使用 Nextflow)

如果用户无法运行 Nextflow + 容器,则手动运行等效的 GATK4 最佳实践流程:bwa-mem2 mem → gatk MarkDuplicates → gatk BaseRecalibrator + gatk ApplyBQSR(使用 dbSNP + Mills/1000G 已知 位点)→ gatk HaplotypeCaller -ERC GVCF → gatk GenotypeGVCFs。完整命令 序列和资源包路径见 references/manual_gatk4.md。

报告前自检

  • 是否明确设置了 --tools?除非用户确实需要 Strelka,否则绝不要让运行落入其默认设置。
  • 是否固定了版本(-r 3.10.0)、选定了 -profile,且 Nextflow 版本是否 >=25.10.4(3.10.0 版本所需)?
  • 对于体细胞分析请求,样本表是否包含 status 1 的肿瘤样本 和 同一 patient 下 status 0 的正常样本?
  • 对于 WES/靶向 panel,是否同时提供了 --wes 和 --intervals <capture.bed>?
  • 运行结束后,是否将 VCF 解读交给了正确的相关技能,而不是在此处重新推导变异含义?

参考资料

  • references/usage_3.10.0.md — 固定版本的运行命令、配置方案、--step/--aligner 选项、--wes + --intervals 的搭配、BQSR 预处理;内容源自 3.10.0 使用文档。
  • references/samplesheet_schema.md — 完整的 CSV 列规范、BAM/CRAM 重新输入、 肿瘤-正常示例。
  • references/caller_accuracy.md — 选择 --tools,总结 nf-core 基准测试(Hanssen et al., 2024, NAR Genomics & Bioinformatics)。
  • references/manual_gatk4.md — 不使用 Nextflow 时的 GATK4 最佳实践备选方案。

AlterLab Academic Skills 套件的一部分。

评论

支持 Markdown