最后执行一定的规则

2024-04-27

我目前正在编写一个 Snakefile,它进行了大量的对齐后质量控制(CollectInsertSizeMetics, CollectAlignmentSummaryMetrics, CollectGcBiasMetrics,...)。 在 Snakefile 的最后,我运行 multiQC 将所有指标合并到一个 html 报告中。

我知道如果我使用规则A的输出作为规则B的输入,规则B只会在规则A完成后才会执行。 我的问题是 multiQC 的输入是一个目录,它从一开始就存在。在此目录内,multiQC 将搜索某些文件,然后创建报告。 如果我当前正在执行 Snakemake 文件,则将在执行所有质量控制之前执行 multiQC(例如fastqc需要相当长的时间),因此最终报告中缺少这些内容。

所以我的问题是,是否有一个选项,指定最后执行某个规则。 我知道我可以使用--wait-for-files等待某个特定的fastqc报告,但这似乎非常不灵活。

目前最后一条规则如下所示:

rule multiQC:
    input:
        input_dir = "post-alignment-qc"

    output:
        output_html="post-alignment-qc/multiQC/mutliqc-report.html"

    log:
        err='post-alignment-qc/logs/fastQC/multiqc_stderr.err'

    benchmark:
        "post-alignment-qc/benchmark/multiQC/multiqc.tsv"

    shell:
         "multiqc -f -n {output.output_html} {input.input_dir} 2> {log.err}"

任何帮助表示赞赏!


你可以输入multiqc规则由各个 QC 规则生成的文件。这样,一旦所有这些文件可用,multiqc 将启动:

samples = ['a', 'b', 'c']
    
rule collectInsertSizeMetrics:
        input:
            '{sample}.bam',
        output:
            'post-alignment-qc/{sample}.insertSizeMetrics.txt' # <- Some file produced by CollectInsertSizeMetrics
        shell: 
            "CollectInsertSizeMetics {input} > {output}"
    
    rule CollectAlignmentSummaryMetrics:
        output: 
            'post-alignment-qc/{sample}.CollectAlignmentSummaryMetrics.txt'

    rule multiqc:
        input:
            expand('post-alignment-qc/{sample}.insertSizeMetrics.txt', sample=samples),
            expand('post-alignment-qc/{sample}.CollectAlignmentSummaryMetrics.txt', sample=samples),
        shell:
            "multiqc -f -n {output.output_html} post-alignment-qc 2> {log.err}"
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

最后执行一定的规则 的相关文章

  • Snakemake - 尝试使用 global_wildcards 时出现问题(类型错误:预期的 str,得到列表)

    我是 Snakemake 的新手 也不是 Python 专家 所以答案可能非常明显 我的工作流程中的所有内容在我的测试中都运行良好 直到我尝试使用glob 通配符为了将我的所有 fastq gz 文件从一个目录 FASTQDIR 转换为 f
  • Snakemake:如何记录由 script 指令执行的 python 脚本?

    有没有什么方法可以轻松保存来自snakemake规则执行python脚本的日志script指示 该脚本使用的库已经有一些集成的日志记录 我想存储它们的日志 我不想使用shell or run指令 因为在使用 python 脚本时它们都不太舒
  • 使用 git 进行贡献

    所以我在github上克隆了一个项目并修复了补丁 因为这是我第一次使用 git 工作 所以我试图找出将其放到网上的最佳方法 在 github 上查看我自己的 克隆的 存储库后 发现只有一个分支 master 我创建了一个分支 myfix 现
  • 在到期日期前“x”天启动 Sharepoint 工作流程

    我想在 Sharepoint 列表上创建工作流程 它应该发送通知电子邮件 问题是我希望此工作流程基于到期日期 在到期日期前 30 天发送电子邮件 并且我不创建或更新任何新的列表项 我知道只有在更改 创建任何项目时才能创建工作流程 但我在网上
  • make 总是重建 Makefile 目标

    我重新设计了大部分Makefile我的论文项目的文件 以便正确反映工作流程 为项目子目录中目标之间的依赖关系创建 make 规则 https stackoverflow com questions 23910056 creating mak
  • Git“实时服务器”最佳实践

    我和我的合作伙伴一直在尝试从影响公众可查看的文件的存储库中推送和拉取的想法 而不是将存储库存储在隐藏位置 并在我们认为文件可以使用时仅通过 FTP 传输文件 虽然能够直接推送到 实时站点 将非常方便 但我想知道这会产生什么负面影响 如果有的
  • 是否可以只用一名协调员启动一些 oozie 工作流程?

    我不确定是否可以使用这个好工具来实现我想要的目的 我有很多工作流程 这些工作流程可以是依赖的 也可以是非依赖的 示例 workflow1 工作流程 xml job properties workflow2 工作流程 xml job prop
  • JQuery 中的网络图/流程图[关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • Snakemake 中“未给出通配符错误值”

    我正在尝试使用 Snakemake 制作一个简单的管道 从网络上下载两个文件 然后将它们合并到一个输出中 我认为可行的是以下代码 dwn lnks 1 https molb7621 github io workshop downloads
  • 如何快速识别 Snakemake 中的规则是否需要输入函数

    我正在关注其文档页面上的 Snakemake 教程 并且确实陷入了输入函数的概念https snakemake readthedocs io en stable tutorial advanced html step 3 input fun
  • 基于Git的网站部署工作流程

    在我的服务器上 我有两个用户 www data 由 nginx 使用 和git The git用户拥有一个包含我网站代码的存储库 并且www data用户拥有该存储库的克隆 用作 nginx 的 Webroot 我想建立一个工作流程 以便推
  • Git/Eclipse 工作流程

    我使用 Eclipse 来编辑 Java 并使用 Git 作为我的 VCS 我应该将本地存储库放在工作区中还是工作区之外 并在每次要提交时复制文件 我知道我可以通过各种方式做到这一点 但我是 Git 新手 想知道哪种方式更好 目前最好的做法
  • Plone 工作流程的圣杯

    我们正在实施 Plone CMS 作为 ISO9001 文档的存储库 ISO 要求一定量的日志记录 任何熟悉该标准的人都可能知道 为了灵活性 我们希望合并 不按特定顺序 新的内容类型 需要合并企业中可能出现的不同文档 版本控制 表明我们的文
  • 默认内存请求是否可以在 Snakefile 中覆盖?

    我有一个包含多个规则的 Snakefile 只有少数规则需要超过 1 GB 核心才能在集群上运行 这resources指令对此非常有用 但我找不到设置默认值的方法 我宁愿不用写resources mem per cpu 1024对于每条不需
  • 如何忽略 Snakemake 的“自上次执行以来参数已更改”?

    由于 conda 环境不活跃 工作流程的一些非常晚的作业崩溃了 现在 当我尝试使用重新运行时snakemake deploy all ignore incomplete所有作业都会从头开始重新运行 原因如下 Reason Params ha
  • SharePoint 列表项权限

    我想以编程方式实现它 以便用户只能看到列表中的特定项目 基本上 在创建项目时运行的工作流程中 我将执行一些操作并通知一些人有关此项目的信息 我还希望它更改项目的权限 以便只有特定用户 根据项目内容在运行时查找 才能读取该项目 有权访问该列表
  • JIRA 插件:从哪里开始

    我被要求创建一个简单的 JIRA 插件 它结合了工作流程 自定义字段 条件步骤 我刚刚开始安装 JIRA 并最终成功创建了一个运行简单的 Hello World 插件 我已经对这个界面有多大感到困惑 似乎无法掌握大局 你们中的任何人都可以带
  • 接受略有不同的 Snakemake 规则输入(.fq 与 .fq.gz)

    我是 Snakemake 的新手 希望能够选择一对 fq文件或一对 fq gz文件并运行它们trim galore得到一对修剪过的 fq gz输出文件 在不提供所有 Snakefile 的情况下 我得到了下面丑陋的解决方案 我只是复制了规则
  • Snakemake根据字典输入和输出

    我正在尝试重命名 Snakemake 管道中的一些文件 假设我有三个文件 FileA txt FileB txt FileC txt 我希望根据字典重新命名它们dict A 0 B 1 C 2 to get RenamedFile0 txt
  • 如何共享/扩展/重用/引用 GitHub Workflow?

    我有两个工作流程 一种方式是通过推送到 master 来部署到测试环境 另一个在发布到生产环境时部署 它们90 相同 代码复制粘贴 是否有一个概念 例如提取部分重复逻辑并将其放入自己的文件 部分 片段中 GitHub Actions 中的重

随机推荐

  • 如何在iOS Mantle模型子类中设置默认值

    interface Entity property assign int searchTotalPagesAll property assign int searchTotalPagesIdeas end implementation En
  • 如何检查每个观察中的最小日期并动态更新标志

    我必须每次检查最短日期并向其添加 30 天并相应地设置字段 例如 我的桌子 ID StartDate EndDate 1 2017 01 01 2017 02 01 1 2017 01 09 2017 01 28 1 2017 04 01
  • 从另一个刚刚编译的程序集编译程序集

    我需要在内存中编译程序集 这样可以编译另一个程序集 有一个带有一个按钮的表格 这是表单的代码 using System using System IO using System CodeDom using System CodeDom Co
  • Bazel远程缓存分析数据

    我正在 jenkins 上的 docker 容器内运行 bazel 通过 bazelisk 此外 我使用远程缓存 在不进行任何更改的后续运行中 我获得 100 的缓存命中 但每次创建新容器时都会运行分析阶段 约 60 秒 有没有办法远程缓存
  • 为什么我的音频不倒带?

    我在 Javascript 中倒带音频时遇到了一些问题 我基本上有一个倒计时 当倒计时接近结束时 每秒都会发出蜂鸣声 我尝试使用 var bip new Audio http www soundjay com button beep 7 w
  • PL/SQL 打印存储过程返回的引用游标

    如何从存储过程 OUT 变量 返回的引用游标中获取数据并将结果行打印到 SQL PLUS 中的 STDOUT ORACLE存储过程 PROCEDURE GetGrantListByPI p firstname IN VARCHAR2 p l
  • 为什么我的 sed 命令在使用变量时失败?

    使用 bash 我尝试插入日期变量并搜索该日期的日志文件 然后将输出发送到文件 如果我像这样对日期进行硬编码 它会起作用 sed n Nov 22 2010 p file gt log file 但如果我这样做就会失败 date Nov 2
  • MVC 在视图之间传输数据

    我刚刚开始学习 MVC 并试图了解它是如何工作的 我不想将用户发送到所有编辑 插入和列表操作的不同视图 在我的示例应用程序中 视图包含项目列表 列表下方有一个带有操作 Controller Create 的表单 用于插入新项目 但没有创建视
  • 在cocos2d中添加UIViewController

    我想在 cocos2d 项目中显示 UIViewController 所以我在我的 CCLayer 类中执行此操作 void displayMainMenu CGSize screenSize CCDirector sharedDirect
  • RuntimeException 以外的异常

    Java中除了RuntimeException之外还有其他可能发生的异常吗 谢谢 是的 有Three kinds 检查异常 编译器会让您知道何时可能会抛出它们 最有可能是由于环境中的故障 如果程序可以用它们做某事 则应该捕获它们 否则最好让
  • Oracle:SQL 选择带时间戳的日期

    我有以下数据 SQL gt select from booking session BK ID BK DATE 1 18 MAR 12 10 00 00 000000 2 18 MAR 12 10 25 00 000000 3 18 MAR
  • 在哪里可以找到 Python 的 win32api 模块? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我需要下载 Python 2 7 的它 但似乎找不到它 还有一个新选项 通过 pip 获取 有一个包p
  • 如何将灰度图像转换为像素值列表?

    我正在尝试创建一个 python 程序 它采用灰度 24 24 像素图像文件 我尚未决定类型 因此欢迎提出建议 并将其转换为从 0 白色 到 255 的像素值列表 黑色的 我计划使用这个数组来创建一个MNIST http yann lecu
  • 如何在 Java (NetBeans) 中将禁用按钮的文本颜色更改为黑色?

    我正在使用 NetBeans 用 Ja va 开发 GUI 我喜欢将禁用按钮的文本颜色更改为黑色 以下命令在组合框上运行良好 UIManager getDefaults put ComboBox disabledForeground Col
  • 为什么View Source会发出新的HTTP请求?

    我注意到 Firefox 和 Chrome 都发布了一个新的HTTP请求当你view the source对于您已经加载的网页 当页面本身加载缓慢或根本无法加载时 这尤其令人烦恼 这是为什么 他们不会已经缓存了最初接收的页面的现有源吗 是否
  • Windows Phone 7 可以实现 ping 吗?

    为了了解 WP7 中的网络功能 我将构建一个简单的 ping 应用程序 该应用程序将显示对某个主机的 ICMP ping 请求的结果 然而 不仅System Net NetworkInformation Ping班级不见了 System N
  • Golang导入包错误

    go 5 2 在以下任一位置找不到包 github com googollee go socket io usr local go src github com googollee go socket io 来自 GOROOT Users
  • Python - 使用“astype”进行 pandas 列类型转换不起作用

    这是 DataFrame 的前 5 行 格式很差 但您可以看到其中大多数值都可以转换为数字 df head ID Overall Acceleration Aggression Agility Balance Ball control Co
  • 以多列显示数据

    您好 我需要从 mySQL 表构建一个包含四列的表 这是我现在拥有的
  • 最后执行一定的规则

    我目前正在编写一个 Snakefile 它进行了大量的对齐后质量控制 CollectInsertSizeMetics CollectAlignmentSummaryMetrics CollectGcBiasMetrics 在 Snakefi