首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >两个名称不一致的变量作为Snakemake规则的输入

两个名称不一致的变量作为Snakemake规则的输入
EN

Stack Overflow用户
提问于 2018-02-07 17:30:04
回答 1查看 305关注 0票数 1

如果命名不一致,并且它们都在同一个文件夹中,那么如何将输入数据对成对,以获取snakemake中的规则?例如,如果我想使用每对样本作为每条规则的输入:

  • PT1 T5
  • S6 T7
  • S1 T20

在本例中,我希望有3对PT1 & T5、S6 & T7、S1 & T20,所以首先,我想创建3个文件夹:

  • PT1vsT5
  • S6vsT7
  • S1vsT20

然后用manta进行分析,并相应地将结果输出到这3个文件夹中。

在下面的管道中,我希望生殖线样本成为每一行中的第一个元素(PT1、S6、S1)和肿瘤第二个元素(T5、T7、T20)。

代码语言:javascript
复制
rule all:
 input:
      expand("/{samples_g}vs{samples_t}", samples_g = GERMLINE, samples_t = TUMOR),
      expand("/{samples_g}vs{samples_t}/runWorkflow.py", samples_g = GERMLINE, samples_t = TUMOR),

# Create folders
rule folders:
  output: "./{samples_g}vs{samples_t}"
  shell: "mkdir {output}"

# Manta configuration
rule manta_config:  
  input:
       g = BAMPATH + "/{samples_g}.bam",
       t = BAMPATH + "/{samples_t}.bam"
  output:
       wf = "{samples_g}vs{samples_t}/runWorkflow.py"
  params:
       ref = IND,
       out_dir = "{samples_g}vs{samples_t}/runWorkflow.py"
  shell:
       "python configManta.py --normalBam {input.g} --tumorBam {input.t} --referenceFasta {params.ref} --runDir {params.out_dir} "

我可以使用包含对的.txt作为输入,然后使用循环吗?如果是这样的话,我该怎么做呢?否则怎么做呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-02-08 09:24:44

您可以使用任何适当的python代码“手动”生成输入或输出文件列表。例如,您可以按照以下步骤生成第一个输入列表:

代码语言:javascript
复制
In [1]: GERMLINE = ("PT1", "S6", "S1")

In [2]: TUMOR = ("T5", "T7", "T20")

In [3]: ["/{}vs{}".format(sample_g, sample_t) for (sample_g, sample_t) in zip(GERMLINE, TUMOR)]
Out[3]: ['/PT1vsT5', '/S6vsT7', '/S1vsT20']

因此,这将适用于以下方面:

代码语言:javascript
复制
rule all:
    input:
        ["/{}vs{}".format(sample_g, sample_t) for (sample_g, sample_t) in zip(GERMLINE, TUMOR)],
        ["/{}vs{}/runWorkflow.py".format(sample_g, sample_t) for (sample_g, sample_t) in zip(GERMLINE, TUMOR)],

(请注意,我将sample_gsample_t放在单数形式中,因为在这种情况下,这些变量代表单个示例名,而不是几个示例的列表,这听起来更符合逻辑)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48669935

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档