snakemake如何连接不同的rule
我在stackoverflow中问了一个问题, 获得了答案, 对snakemake的理解也加深了一步....经验所得
每一个snakemake的rule都要有input,output, 里面的内容交叉的地方, 是确定不同rule的依赖, 比如rule1的输出文件(output)b.bed, b.bim, b.fam..., 如果作为rule2的输入文件(input), 那么rule1和rule2就可以关联了.
rule all是定义最后的输出文件, 比如rule2的最后输出文件是c.raw, 那么也写为c.raw即可...., 这里fule cfile输出的是c.log和c.raw, 因此rule all中的input也写为c.log和c.raw
2, rule bfile, 这里的input是a.map和a.ped, output...是b.bed,b.bim,b.fam, 这三个文件也要写, 因为是下一个rule的input文件, 建立依赖关系.
3, rule cfile中建立input, 是上一个rule bfile的输出, 这样就建立的依赖