这是我的snakemake
个工作流程中的一个部分:
对于某些数据集,规则bagel2bf偶尔会失败,但我不希望它在整个snakemake
次运行中失败.
我如何调整工作流,以便如果规则bagel2bf中有退出代码1,它将跳过依赖于其输出的规则(可能还会打印一条警告消息)?
以下是规则的代码:
rule install_bagel2:
output:
directory("bagel2_software/"),
shell:
"git clone https://github.com/hart-lab/bagel.git {output}"
rule convert_count_table:
input:
"count/counts-aggregated.tsv"
output:
"count/counts-aggregated-bagel2.tsv"
params:
fa=fasta,
resources:
runtime=config["resources"]["stats"]["time"]
conda:
"envs/stats.yaml"
script:
"scripts/convert_count_table.py"
rule bagel2fc:
input:
"bagel2_software/",
"count/counts-aggregated-bagel2.tsv",
output:
"bagel2/{bcomparison}/{bcomparison}.foldchange"
resources:
runtime=config["resources"]["stats"]["time"]
conda:
"envs/stats.yaml"
log:
"logs/bagel2/fc/{bcomparison}.log"
script:
"scripts/bagel2fc.py"
rule bagel2bf:
input:
"bagel2_software/",
"bagel2/{bcomparison}/{bcomparison}.foldchange",
output:
"bagel2/{bcomparison}/{bcomparison}.bf"
params:
species=config["lib_info"][library]["species"],
resources:
runtime=config["resources"]["stats"]["time"]
conda:
"envs/stats.yaml"
log:
"logs/bagel2/bf_{bcomparison}.log"
script:
"scripts/bagel2bf.py"
rule bagel2pr:
input:
"bagel2_software/",
"bagel2/{bcomparison}/{bcomparison}.bf",
output:
report("bagel2/{bcomparison}/{bcomparison}.pr", caption="report/bagel2.rst", category="BAGEL2")
params:
species=config["lib_info"][library]["species"]
resources:
runtime=config["resources"]["stats"]["time"]
conda:
"envs/stats.yaml"
log:
"logs/bagel2/pr_{bcomparison}.log"
script:
"scripts/bagel2pr.py"
rule plot_bf:
input:
"bagel2/{bcomparison}/{bcomparison}.bf"
output:
report("bagel2_plots/{bcomparison}/{bcomparison}.bf.pdf", caption="report/bagel2_plots.rst", category="BAGEL2 plots", subcategory="{bcomparison}", labels={"Comparison":"{bcomparison}", "Figure":"BF plot"})
conda:
"envs/stats.yaml"
script:
"scripts/plot_bf.py"
rule plot_pr:
input:
"bagel2/{bcomparison}/{bcomparison}.pr"
output:
report("bagel2_plots/{bcomparison}/{bcomparison}.pr.pdf", caption="report/bagel2_plots.rst", category="BAGEL2 plots", subcategory="{bcomparison}", labels={"Comparison":"{bcomparison}", "Figure":"Precision-recall plot"})
conda:
"envs/stats.yaml"
script:
"scripts/plot_pr.py"