约定大于配置(Convention over configuration)
rule make_b_files: input: bam=expand( "results/hisat2/{sample.sample_name}/hisat2.bam", sample=samples.itertuples(), ), input1 = "results/MASTS/{group}/{condition1}.txt" output: b1 = "results/MASTS/{group}/{condition1}-{condition2}.txt" # b1 = "results/MASTS/{group}/{condition1}-{condition2}.txt" params: file1 = lambda w, input:[cond1_bam for cond1_bam in input.bam if w.condition1 in cond1_bam], # if cond1_bam.startswith("pass2/"+CONDITION1) file2 = lambda w, input:[cond2_bam for cond2_bam in input.bam if w.condition1 in cond2_bam] run: with open(output.b1,'w') as file1: file1.write(",".join(params.file1)) # with open(output.b2,'w') as file2: # file2.write(",".join(params.file2))