所以我目前对使用Snakemake使用--export-cwl函数将某些snakemake管道转换为CWL感兴趣,但是我意识到这要求在配置文件中预定义所有输入文件名。这意味着该cwl工作流仅对当前的管道运行有用,并且不能导出为可以适应各种配置参数的更通用的管道(例如,我必须为每个单独的管道重新运行转换工具运行它经历过的一切)。这是Snakemake转换工具或CWL的限制吗?我对CWL不太熟悉,所以对它的内部运作了解得很少。还是我没有看到某些解决方法?
感谢您的帮助!
答案 0 :(得分:0)
实际上,-export-cwl当前导出工作流的当前配置实例,尤其是具体作业。实际上,它甚至直接在CWL中定义了作业的整个DAG(所有依赖关系推断都在Snakemake中进行)。这允许在基于CWL的系统上执行工作流程。从某种意义上说,它可以轻松地应用于新的数据集,它不允许直接将Snakemake工作流程移植到CWL。原因是CWL在聚合模式方面不如Snakemake强大(后者可以利用完整的Python来确定特定作业的输入文件)。
尽管如此,Snakemake和CWL团队都对增加通用出口感兴趣。这可能仅限于某些工作流程,或者取决于CWL的未来改进。任何帮助将不胜感激。