You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

RNA-seq数据FastQC与Trimming的Snakemake脚本语法错误排查及资源咨询

语法错误修复

核心问题:Shell命令未加引号

Snakemake要求shell:块内的命令必须用引号(单/双引号均可)包裹,否则会触发Python语法错误。你的第38行(fastqc规则的shell命令)、fastqc_trimmed规则的shell命令都缺少引号,另外trimmomatic规则的shell末尾多了一个多余的单引号,需要一并修正。

修正后的fastqc规则

rule fastqc:
    input:
        f"{config['data']}/{{sample}}_1.fastq.gz",
        f"{config['data']}/{{sample}}_2.fastq.gz"
    output:
        f"{config['data']}/fastqc/{{sample}}_1_fastqc.html",
        f"{config['data']}/fastqc/{{sample}}_1_fastqc.zip",
        f"{config['data']}/fastqc/{{sample}}_2_fastqc.html",
        f"{config['data']}/fastqc/{{sample}}_2_fastqc.zip"
    params:
       threads = 4  # 根据你的系统调整
    shell:
        'fastqc -t {params.threads} {input}'

修正后的trimmomatic规则(移除末尾多余单引号)

rule trimmomatic:
    input:
        f"{config['data']}/{{sample}}_1.fastq.gz",
        f"{config['data']}/{{sample}}_2.fastq.gz"
    output:
        f"{config['data']}/trimmed/{{sample}}_1P.fastq.gz",
        f"{config['data']}/trimmed/{{sample}}_1U.fastq.gz",
        f"{config['data']}/trimmed/{{sample}}_2P.fastq.gz",
        f"{config['data']}/trimmed/{{sample}}_2U.fastq.gz"
    params:
        threads = 4,
        adapters = "contams_forward_rev.fa",  # 更新为实际路径
        minlen = 36,  # 根据需求调整
        leading = 3,
        trailing = 3,
        slidingwindow = "4:20"
    shell:
        'trimmomatic PE -threads {params.threads} \
        {input[0]} {input[1]} \
        {output[0]} {output[1]} {output[2]} {output[3]} \
        ILLUMINACLIP:{params.adapters}:2:30:10 LEADING:{params.leading} TRAILING:{params.trailing} \
        SLIDINGWINDOW:{params.slidingwindow} MINLEN:{params.minlen}'

修正后的fastqc_trimmed规则

rule fastqc_trimmed:
    input:
        f"{config['data']}/trimmed/{{sample}}_1P.fastq.gz",
        f"{config['data']}/trimmed/{{sample}}_2P.fastq.gz"
    output:
        f"{config['data']}/trimmed_fastqc/{{sample}}_1_fastqc.html",
        f"{config['data']}/trimmed_fastqc/{{sample}}_1_fastqc.zip",
        f"{config['data']}/trimmed_fastqc/{{sample}}_2_fastqc.html",
        f"{config['data']}/trimmed_fastqc/{{sample}}_2_fastqc.zip"
    params:
        threads = 4  # 根据你的系统调整
    shell:
       'fastqc -t {params.threads} {input}'

额外修正:配置文件格式

你的config.json开头缺少左大括号{,修正后应为:

{
    "data": "/mnt/scratch2/users/fastq_files/fastq/snakemake",
    "genome": "/mnt/scratch2/users/fastq_files/fastq/snakemake/Homo_sapiens.GRCh38.dna.primary_assembly.fa.gz",
    "samples": ["SRR10203569", "SRR10203570", "SRR10203571", "SRR10203572", "SRR10203573", "SRR10203574", "SRR10203575"]
}

Snakemake学习资源

  • 官方入门教程:覆盖基础规则编写、通配符使用、配置文件管理等核心功能,适合从零开始学习
  • 官方示例库:包含RNA-seq、ChIP-seq等多种组学分析的完整Snakefile示例,可直接参考修改
  • 生物信息学实战教程:聚焦组学数据分析场景,讲解从质控到下游分析的全流程Snakemake实现
  • 进阶技巧文档:学习规则依赖优化、集群调度集成、参数化配置等高级功能,提升流程效率

内容的提问来源于stack exchange,提问作者bioinfonext

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.14 04:12:13