我想使用STAR生成基因组索引。 bash代码在终端中有效,但我想将其转换为snakefile。
这是bash代码:
STAR --runThreadN 4 --runMode genomeGenerate --genomeDir star --genomeFastaFiles Drosophila_melanogaster.BDGP6.22.dna.toplevel.fa --sjdbGTFfile bdgp6/Drosophila_melanogaster.BDGP6.95.gtf
运行bash代码后,它将在star目录中生成一个以上的文件。其中一个文件称为genomeParameters.txt
,我需要此文件以供进一步使用。
在snakemake中:
rule index:
input:
fasta = "Drosophila_melanogaster.BDGP6.22.dna.toplevel.fa"
gtf = "bdgp6/Drosophila_melanogaster.BDGP6.95.gtf"
output:
"star"
shell:
" STAR --runThreadN 4 --runMode genomeGenerate --genomeDir {output} --genomeFastaFiles {input.fasta} --sjdbGTFfile {input.gtf}"
错误:
SyntaxError in line 10 of /data/storix2/student/Thema11/dme/projectThema11/generateGenomeIndex:
Command must be given as string after the shell keyword. (generateGenomeIndex, line 10)
答案 0 :(得分:0)
在第一个输入文件后需要逗号:
input:
fasta = "Drosophila_melanogaster.BDGP6.22.dna.toplevel.fa",
gtf = "bdgp6/Drosophila_melanogaster.BDGP6.95.gtf"
但是,您看到的错误不是缺少逗号时通常会收到的错误。我想知道命令开头的空格是否引起了问题。您也可以尝试将其删除:
shell:
"STAR --runThreadN 4 --runMode genomeGenerate --genomeDir {output} --genomeFastaFiles {input.fasta} --sjdbGTFfile {input.gtf}"