Snakemake解复用的最佳实践

时间:2016-12-14 05:57:13

标签: snakemake

我对最佳做法有疑问。具体来说,关于从illumina测序中解复用读数的最佳snakemake模式。我们的工作流程需要解复用多个测序通道,然后将它们组合在一个分析中。显然,我们知道泳道和样品名称,但样品名称在泳道中并不相同。只有一条车道,人们可以做类似的事情:

SAMPLES = [...]
rule demux:
    input:
        reads="lanes/lanename.fastq.gz",
        key="keys/lanename.txt"
    output:
        reads=expand("reads/{sample}.fastq.gz", sample=SAMPLES)
    ...

然而,对于多个通道,我不想使用函数作为输出规则。如何将以下内容转化为可能的内容:

LANES = {
    "lane1": ["S1", "S2"],
    "lane2": ["S3", "S4"],
    "lane3": ["S5", "S6"],
}

rule demux:
    input:
        reads="lanes/{lane}.fastq.gz",
        key="keys/{lane}.txt"
    output:
        reads=lambda wc: expand("reads/{sample}.fastq.gz", sample=LANES[wc.lane])
...

请原谅我以前是否已经回答,或者是否有一些明显的方法我不知道。

干杯, 凯文

0 个答案:

没有答案