Мне нужно запустить правило создания змеи в кластере, поэтому для некоторых правил мне нужны некоторые инструменты и библиотека, необходимые для загрузки, тогда как эти инструменты независимы / исключают другие правила. В этом случае, как я могу указать это в своем правиле змеиного мейкера. Например, для rule score
мне нужно module load r/3.5.1
и export R_lib =/user/tools/software
в настоящее время, я запускаю эти строки отдельно в командной строке перед запуском snakemake. Но было бы замечательно, если бы в правиле был способ сделать это как env
.
- Вопрос
У меня есть следующее правило:
rule score:
input:
count=os.path.join(config['general']['paths']['outdir'], 'count_expression', '{sample}.tsv'),
libsize=os.path.join(config['general']['paths']['outdir'], 'count_expression', '{sample}.size_tsv')
params:
result_dir=os.path.join(config['general']['paths']['outdir'], 'score'),
cancertype=config['general']['paths']['cancertype'],
sample_id=expand('{sample}',sample=samples['sample'].unique())
output:
files=os.path.join(config['general']['paths']['outdir'], 'score', '{sample}_bg_scores.tsv', '{sample}_tp_scores.tsv')
shell:
'mkdir -p {params.result_dir};Rscript {config[general][paths][tool]} {params.result_dir} {params.cancertype} {params.sample_id} {input.count} {input.libsize}'
Мое реальное поведение для приведенного выше фрагмента кода:
shell:
mkdir -p /cluster/user/snakemake_test/results_april30/score;Rscript /cluster/home/user/Projects/R_scripts/scoretool.R /cluster/user/snakemake_test/results_april30/score DMC GNMS4 MRT5T /cluster/projects/test/results/exp/MRT5T.tsv /cluster/projects/test/results/Exp/MRT5T.size.tsv
Принимая во внимание, что ожидаемое поведение:
shell:
mkdir -p /cluster/user/snakemake_test/results_april30/score;Rscript /cluster/home/user/Projects/R_scripts/scoretool.R /cluster/user/snakemake_test/results_april30/score DMC MRT5T /cluster/projects/test/results/exp/MRT5T.tsv /cluster/projects/test/results/Exp/MRT5T.size.tsv
и для второго образца
shell:
mkdir -p /cluster/user/snakemake_test/results_april30/score;Rscript /cluster/home/user/Projects/R_scripts/scoretool.R /cluster/user/snakemake_test/results_april30/score DMC GNMS4 /cluster/projects/test/results/exp/GNMS4.tsv /cluster/projects/test/results/Exp/GNMS4.ize.tsv
мне нужна переменная sample_d
['GNMS4', 'MRT5T']
должна быть взята отдельно, а не вместе в одной командной строке оболочки.