【发布时间】:2021-08-25 11:57:29
【问题描述】:
作为我正在构建的 Snakemake 管道的一部分,我必须使用一个不允许我指定输出文件的文件路径或名称的程序。
例如在工作目录workdir/ 中运行程序时,它会产生以下输出:
workdir/output.txt
我的蛇形规则看起来像这样:
rule NAME:
input: "path/to/inputfile"
output: "path/to/outputfile"
shell: "somecommand {input} {output}"
因此,每次运行规则 NAME 时,我都会在 snakemake 工作目录中获得一个附加文件 output.txt,如果规则 NAME 多次运行或并行运行,则会覆盖该文件。
我知道影子规则,添加shadow: "full" 可以让我简单地忽略output.txt 文件。但是,我想保留output.txt 并将其保存在与outputfile 相同的目录中。有没有办法实现这一点,无论是使用影子指令还是其他方式?
我还认为我可以在 somecommand 前面加上 cd 命令,但是在将其他规则链接到规则 NAME 的输出时,我可能会在下游遇到其他问题。
【问题讨论】:
标签: snakemake