我正在使用带有表格配置的Snakemake。该表是一排行,我首先从一个非常大的示例概览中取出。生成的sample.tsv有很多列。我在Snakefile中的某处读取了这样的示例文件:
samples = pd.read_table('samples.tsv').set_index('samples', drop=False)
当我运行snakemake时:
snakemake --cluster-config cluster.json --cluster "qsub -l nodes={cluster.nodes}:ppn={cluster.ppn}" --jobs 256
我收到以下错误:
16:51 nlv24077@kiato ~/temp/test_snakemake > run_snakemake.sh
Building DAG of jobs...
MissingInputException in line 6 of /home/nlv24077/temp/test_snakemake/rseqc.smk:
Missing input files for rule bam_stat:
analyzed/I7_index.STAR.genome.sorted.bam
奇怪的是I7_index
是我的样本表中的列名之一。为什么使用列名称作为样本名称?
编辑:
我这样叫样品:
rule bcl2fastq:
input:
config['bcl_dir']
output:
expand([os.path.join(fastq_dir, '{sample}_R1_001.fastq.gz'),
os.path.join(fastq_dir, '{sample}_R2_001.fastq.gz')],
sample=samples)
threads: 6
shell:
'''
# Run bcl2fastq
...
我应该使用的地方:
rule bcl2fastq:
input:
config['bcl_dir']
output:
expand([os.path.join(fastq_dir, '{sample}_R1_001.fastq.gz'),
os.path.join(fastq_dir, '{sample}_R2_001.fastq.gz')],
sample=samples['samples'])
threads: 6
shell:
'''
# Run bcl2fastq
...
感谢JeeYem。