Snakemake:在一个规则中的每个输入文件之前插入样本名称

Btakacs

我正在尝试为生物信息学工具FMAP创建规则文件。https://github.com/jiwoongbio/FMAP

我一直在为FMAP_table.pl脚本创建规则这是我目前的规则:

rule fmap_table:
    input:
        expand(str(CLASSIFY_FP/"mapping"/"{sample}_abundance.txt"), sample=Samples.keys())
    output:
        str(CLASSIFY_FP/'mapping'/'abundance_table.txt')
    shell:
        """
        perl /media/data/FMAP/FMAP_table.pl {input} > {output}
        """

我希望列名仅包含样本名称,而不包含整个路径。可以在这样的脚本中完成

perl FMAP_table.pl [options] [name1=]abundance1.txt [[name2=]abundance2.txt [...]] > abundance_table.txt 

我的问题是,如何为每个样本文件选择样本名称,样本路径并在两者之间添加=。

我的样本就是这样命名的SAMPLE111_S1_abundance.txt这是我想自动实现的格式:

perl /media/data/FMAP/FMAP_table.pl SAMPLE111_S1 = SAMPLE111_S1_abundance.txt SAMPLE112_S2 = SAMPLE112_S2.abundance.txt [etc.] > abundance.txt"

谢谢

马尔马杜克

我可能会添加一个参数来构建它,也许还会在外部构建dict中的文件名:

FMAP_INPUTS = {sample: str(CLASSIFY_FP/"mapping"/"{sample}_abundance.txt")
               for sample in Samples.keys()}

rule fmap:
    input: FMAP_INPUTS.values()
    output:
        str(CLASSIFY_FP/'mapping'/'abundance_table.txt')
    params:
        names=" ".join(f"{s}={f}" for s,f in FMAP_INPUTS.items())
    shell:
        """
        perl /media/data/FMAP/FMAP_table.pl {params.names} > {output}
        """

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Snakemake:在一个规则中的每个输入文件之前插入样本名称

来自分类Dev

在继续下一个规则之前,如何让Snakemake将所有样本应用到单个规则?

来自分类Dev

一次运行Snakemake规则一个样本

来自分类Dev

Snakemake管道运行规则1的一个实例以生成多个文件,然后每个文件运行规则2的一个实例

来自分类Dev

完全缺少snakemake中的规则输入文件

来自分类Dev

在csv文件中的第一个逗号之前插入一个空格

来自分类Dev

从SnakeMake中的另一个.smk文件获取输入函数

来自分类Dev

批量添加基本名称到另一个文件

来自分类Dev

从一个路径中提取多个文件的基本名称

来自分类Dev

编写一个 Python 程序,在列表的每个元素之前插入一个元素

来自分类Dev

如何使用R创建唯一的样本(每个元素仅出现在一个样本中)?

来自分类Dev

如何为txt文件中的每个名称创建一个整数?

来自分类Dev

jQuery在div中的最后一个元素之前插入

来自分类Dev

从大查询中的每个组中随机抽取一个样本

来自分类Dev

从熊猫数据框中获取随机样本,但每个值仅获取一个

来自分类Dev

在每个子文件夹中创建一个带有特定名称的空文件的文件夹

来自分类Dev

从文本文件中读取行并为每行中的每个名称创建一个文本文件

来自分类Dev

从文本文件中读取行并为每行中的每个名称创建一个文本文件

来自分类Dev

htaccess-一个文件中包含多个规则

来自分类Dev

创建一个udev规则,该规则使用SYMLINK名称中来自父代的信息

来自分类Dev

如何编写一个删除给定目录中除具有给定名称的文件之外的每个文件的oneliner?

来自分类Dev

MongoDB为另一个集合中的每个文档插入一个文档

来自分类Dev

如何在模式(标记)之前将文件的内容插入另一个文件?

来自分类Dev

如何将基本名和文件路径组合到一个专用列表-R中?

来自分类Dev

使用jQuery获取每个html输入的最后一个括号名称

来自分类Dev

从 django 中的用户输入写入一个 csv 文件:每个字符都出现在一个新行上

来自分类Dev

在每个文件中仅搜索一个

来自分类Dev

Linux Perl-一个打印其脚本名称的脚本?

来自分类Dev

如何获取另一个应用程序的版本名称

Related 相关文章

  1. 1

    Snakemake:在一个规则中的每个输入文件之前插入样本名称

  2. 2

    在继续下一个规则之前,如何让Snakemake将所有样本应用到单个规则?

  3. 3

    一次运行Snakemake规则一个样本

  4. 4

    Snakemake管道运行规则1的一个实例以生成多个文件,然后每个文件运行规则2的一个实例

  5. 5

    完全缺少snakemake中的规则输入文件

  6. 6

    在csv文件中的第一个逗号之前插入一个空格

  7. 7

    从SnakeMake中的另一个.smk文件获取输入函数

  8. 8

    批量添加基本名称到另一个文件

  9. 9

    从一个路径中提取多个文件的基本名称

  10. 10

    编写一个 Python 程序,在列表的每个元素之前插入一个元素

  11. 11

    如何使用R创建唯一的样本(每个元素仅出现在一个样本中)?

  12. 12

    如何为txt文件中的每个名称创建一个整数?

  13. 13

    jQuery在div中的最后一个元素之前插入

  14. 14

    从大查询中的每个组中随机抽取一个样本

  15. 15

    从熊猫数据框中获取随机样本,但每个值仅获取一个

  16. 16

    在每个子文件夹中创建一个带有特定名称的空文件的文件夹

  17. 17

    从文本文件中读取行并为每行中的每个名称创建一个文本文件

  18. 18

    从文本文件中读取行并为每行中的每个名称创建一个文本文件

  19. 19

    htaccess-一个文件中包含多个规则

  20. 20

    创建一个udev规则,该规则使用SYMLINK名称中来自父代的信息

  21. 21

    如何编写一个删除给定目录中除具有给定名称的文件之外的每个文件的oneliner?

  22. 22

    MongoDB为另一个集合中的每个文档插入一个文档

  23. 23

    如何在模式(标记)之前将文件的内容插入另一个文件?

  24. 24

    如何将基本名和文件路径组合到一个专用列表-R中?

  25. 25

    使用jQuery获取每个html输入的最后一个括号名称

  26. 26

    从 django 中的用户输入写入一个 csv 文件:每个字符都出现在一个新行上

  27. 27

    在每个文件中仅搜索一个

  28. 28

    Linux Perl-一个打印其脚本名称的脚本?

  29. 29

    如何获取另一个应用程序的版本名称

热门标签

归档