首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >snakemake中的命令行

snakemake中的命令行
EN

Stack Overflow用户
提问于 2020-10-20 08:27:25
回答 1查看 38关注 0票数 0

我希望使用以下命令行在文件夹中创建一个BAM文件列表:

代码语言:javascript
复制
 ls *.bam > bam_list

但是,我想把它整合到snakemake中。怎么做?这是我试过的,但没有用:

代码语言:javascript
复制
rule bam_list:
    input:
         inlist ="dup/{sample}.bam"
    output:
         outlist = "dup/bam_list"
    shell:
         """
         ls {input.inlist} > {output.outlist}
         """

输出bam_list如下所示:

代码语言:javascript
复制
  bob.bam
  anne.bam
  john.bam
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-10-20 08:30:46

您可以完全跳过输入:

代码语言:javascript
复制
rule bam_list:
    output:
         outlist = "dup/bam_list"
    shell:
         """
         ls *.bam > {output.outlist}
         """

编辑

代码语言:javascript
复制
rule bam_list:
    input:
        rules.previous.output
    output:
         outlist = "dup/bam_list"
    params:
        indir = lambda wildcards, input: os.path.dirname(input[0])
    shell:
         """
         ls {params.indir}*.bam > {output.outlist}
         """

对于更复杂的逻辑,您可能需要使用输入函数。

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

https://stackoverflow.com/questions/64441294

复制
相关文章

相似问题

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