我正在使用 snakemake 设计一个 RNAseq 数据分析管道。虽然我已经设法做到了这一点,但我想让我的管道尽可能具有适应性,并使其能够在同一次分析中处理单读取 (SE) 数据或双端 (PE) 数据,而不是在一次运行中分析 SE 数据,在另一次运行中分析 PE 数据。
我的管道应该是这样设计的:
注意:A 的所有规则都有 1 个输入和 1 个输出,B 的所有规则都有 2 个输入和 2 个输出,它们各自的命令如下所示:
somecommand -i {input} -o {output}somecommand -i1 {input1} -i2 {input2} -o1 {output1} -o2 {output2}注2:除了输入/输出的不同外,集合A和B的所有规则都具有相同的命令、参数/等...
换句话说,我希望我的管道能够根据样本在规则集 A 或规则集 B 的执行之间切换,或者通过在开始时在配置文件中提供样本信息(样本 1 是SE,样本 2 是 PE……这是事先知道的)或要求snakemake 计算数据集下载后的文件数,以便为每个样本选择合适的下一组规则。如果你看到另一种方式来做到这一点,欢迎你告诉我们。
我想过使用检查点、输入函数和 …