如何在 Ruffus 管道中使用子目录

How to use subdirectories with Ruffus pipelines

Ruffus 管道文档似乎假定一个人的代码和数据位于同一目录中。所有示例都有输入和输出文件说明符,没有任何相对路径。如果要转换的文件不在当前目录中,应该如何修改下面的语法?

@transform(map_dna_sequence,                   # Input = previous stage
        suffix(".sam"),                    #         suffix = .sam
        ".bam")  

Ruffus的lastest version可以输出到新的目录:

@transform(map_dna_sequence,           # Input = previous stage
    suffix(".sam"),                    #         suffix = .sam
    ".bam",
    output_dir = "/path/to/a/new_directory")  

否则,您可以使用 formatter() or regex 而不是 suffix 来更改目录。这两个都相当强大,但语法更复杂...

顺便说一句,在 ruffus 新闻组上 post 也是个好主意。