Невозможно выполнить bash скрипт в Snakemake - PullRequest
1 голос
/ 25 марта 2020

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

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

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

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

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

Вот правило в файле Snake, соответствующее исполняемому сценарию 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 Ответ

3 голосов
/ 25 марта 2020

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

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