蛇形中的命令行

用户3224522

我想使用以下命令行在文件夹中创建 BAM 文件列表:

 ls *.bam > bam_list

但是,我想将它集成到snakemake中。这个怎么做?这是我尝试过的,但不起作用:

rule bam_list:
    input:
         inlist ="dup/{sample}.bam"
    output:
         outlist = "dup/bam_list"
    shell:
         """
         ls {input.inlist} > {output.outlist}
         """

输出 bam_list 如下所示:

  bob.bam
  anne.bam
  john.bam
马腾-vd-桑德

您可以完全跳过输入:

rule bam_list:
    output:
         outlist = "dup/bam_list"
    shell:
         """
         ls *.bam > {output.outlist}
         """

编辑

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}
         """

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

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章