Невозможно выполнить bash-скрипт в Snakemake

Это мой первый вопрос по Snakemake, так как существующие ресурсы и форумы очень помогли мне решить большинство моих проблем.

Проблема, с которой я столкнулся в настоящее время, заключается в том, что я не могу заставить bash-скрипт выполняться в Snakemake, хотя я смог выполнить тот же bash-скрипт просто отлично в командной строке

Вот как я успешно запускаю скрипт bash в командной строке

bash scripts/genome_coverage.sh -m results/mapped_reads -o final_out.txt

Но когда я запускаю его в Snakemake, я получаю ошибку.

Вот правило в Snakefile, соответствующее исполняемому скрипту bash

rule genome_coverage:
    input:
        "results/mapped_reads"
    output:
        "genome_coverage.txt"
    script:
        "scripts/genome_coverage.sh -m {input} -o {output}"

И это ошибка, которую я получаю. Я не знаю, что я делаю здесь не так

Error in rule genome_coverage:
    jobid: 16
    output: genome_coverage.txt
RuleException:
NameError in line 153 of /Illumina-mRNA/Snakefile:
The name 'input' is unknown in this context. Please make sure that you defined that variable. Also note that braces not used for variable access have to be escaped by repeating them, i.e. {{print $1}}

Всего 1 ответ


Вам нужно заменить script на shell :

rule genome_coverage:
    input:
        "results/mapped_reads"
    output:
        "genome_coverage.txt"
    shell:
        "scripts/genome_coverage.sh -m {input} -o {output}"

Есть идеи?

10000