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
相关产品推荐
相关产品推荐

