大更新,QIIME 2 2023.5

2023-08-26 14:16:00 浏览数 (1)

并行化、断点续分析、输出集合、基于阴性对照识别污染、宏基因组学工作流程(即将推出!)

抱歉,竟然比发布日期一个月才发现QIIME 2 2023.5 版本更新了!计划的下一个QIIME 2版本计划于2023年8月发布(QIIME 2023.8)。

激动人心的公告

Parsl

QIIME 2 流程现在可以通过parsl方式并行化,在 CLI (命令行)上,使用基本parsl 配置,传递--parallel标志给一个给定流程,可以在大多数非 HPC(超算) 系统上实现并行化

在 Python API 中,调用流程以获得相同的结果(如diversity.pipelines.core_metrics.parallel(*args, **kwargs)))

Parsl 允许对 HPC 系统进行更详细的配置。有关如何在 QIIME 2 中执行此操作的更多文档可以在上面链接的开发文档中找到。

流程恢复

中途失败的 QIIME 2 流程现在可以从其故障点恢复,而无需从头开始重新启动。默认情况下,在 CLI 上启用此行为。QIIME 2 将在默认缓存(或流程上的新标志--use-cache指示的缓存)中创建一个池,该池将存储正在运行的管道的所有中间结果,并在失败后重新运行管道时尝试重用此池中的结果。管道成功后,将删除池。

如果要指定要使用的池(管道成功后不会自动删除),请提供--recycle-pool--no-recycle标志,后跟要用于缓存中池的密钥。如果要选择退出此行为,请传递该标志。

在 Python API 中,必须使用池中的常用语法在池中用于管道恢复。

代码语言:javascript复制
from qiime2 import Cache

cache = Cache('cache_path')
pool = Cache.create_pool('pool', reuse=True)

with pool:
    diversity.pipelines.core_metrics(*args, **kwargs)
# 这与以下命令相同
qiime diversity core-metrics <inputs and params> --use-cache 'cache_path' --recycle-pool 'pool' <outputs>

这将有望使它在执行管道时遇到墙壁时间或其他一些暂时性错误,您不会丢失管道在失败之前所做的所有进度。

注意:如果将流程任何输入或参数更改,则可能无法重用上一次运行创建的所有中间结果;但是,QIIME 2 仍将重用更改后的参数未涉及的任何结果

输出集合

现在可以将工件集合作为单个输出返回。在 CLI 上,需要为输出集合提供一个尚不存在的目录(与--output-dir相同)。他们将创建此目录,然后将所有工件以及一个 .order文件写入该目录,该文件仅按顺序包含集合中所有工件的名称。

在 Python API 中,将返回一个 ResultCollection 对象,该对象可以通过与字典大致相同的方式进行访问,但添加了将对集合中的所有工件运行validate的方法。.save可以在 ResultCollections上调用,以使用与 CLI 完全相同的规则将它们保存到磁盘。ResultCollection.load可以调用以将目录加载到ResultCollection对象中,就像加载单个工件一样。

q2-quality-control

添加了三个新命令以供使用[decontam](https://github.com/benjjneb/decontam) :

  • decontam-identify- 支持使用频率信息(定量测量)或对照中的特征普遍性基于阴性对照识别污染
  • decontam-score-viz- 污染物的直方图摘要,可选择对特征计数进行归一化。
  • decontam-remove-(实验性)按分数过滤特征表。将来可能会将其替换为feature-table's filter-features

可重复性

Provenance-lib 已经添加到了核心发行版中!provenance-lib提供对provenance replay的访问,这使用户能够从存储在所有QIIME 2结果中的数据来源生成新的可执行脚本。想了解更多?在QIIME 2论坛上查看@ChrisKeefe的教程,并阅读我们新的预印本,促进生物信息学的可重复性.立即开始使用它来记录您的生物信息学,或者通过将来源回放应用于他们的 QIIME 2 结果来学习其他人所做的事情。激活 QIIME 2 2023.5 conda 环境后,通过运行replay --help访问此功能。

重大变更

  • Q2CLI
    • [添加了命令qiime tools list-typesqiime tools list-formats 命令到qiime tools import命令,并将--show-importable-types替换为--show-importable-formats。新命令列出每个可用语义类型或格式的说明(如果可用),并且仅允许列出感兴趣的查询。
  • Q2-组成
    • 解决了da-barplot可视化效果,对feature id做出假设的问题。da-barplot以前在分号上拆分特征 ID 以提高数字的可读性,假设不同的分号分隔字段是不同的分类级别。但是,不能保证功能 ID 中的分号始终是级别分隔符,或者如果打算使用级别分隔符,则它们始终是分号(例如,|也是常用的分隔符)。用户现在必须提供参数--p-level-delimiter ';'才能实现上述行为。

以下是该版本的亮点:

  • QIIME 2 框架
    • 修复了进程在退出时清理时可能发生的争用条件
  • Q2-组成
    • 修复了da-barplot指向包含空格的元数据值的子图的链接断开的错误。
    • 修复了ancombc在提供单个列::值对时导致tabulate可视化工具中不需要的reference_level字符串拆分的bug。
    • ancombc中添加了元数据列类型强制实施,允许包含整数值的分类元数据列在包含在formula
    • tabulate可视化工具添加了单元测试套件
  • q2-feature-table
    • 添加了对所有要素表类型的支持。现在,任何特征表都可以转置 这将解决诸如此类的问题transpose详见他们的帖子2在论坛上!
  • Q2-FMT
    • 添加了一个名为feature-peds的方法。这计算了移植每个供体特征的受试者比例。
    • 重构sample-peds以匹配feature-peds的实现。
    • 修复了允许FeatureTable[Composition]作为sample-peds输入的错误。
    • sample-peds中添加了一个drop_incomplete_timepoint参数。这将允许丢弃大量样本丢失的任何时间点!
    • plot-heatmap添加了级别分隔符参数,允许用户拆分分类字符串
  • q2-longitudinal
    • 修复了feature-volatility可视化工具中由数字元数据列中的空白值引起的bug
  • q2-sample-classifier
    • 添加了Adaboost对估算器中其他基本估算器的支持
  • Q2-分类群
    • 添加了barplotFeatureTable[PresenceAbsence]输入的支持。这对于支持我们的一些 QIIME 2 端到端霰弹枪宏基因组学工作流程(即将推出!)
    • 更新barplotFeatureData[Taxonomy]可选输入 。对于此用例,功能标签是从功能ID中解析的。
  • Q2 类型
    • 添加了ImmutableMetadata类型,该类型旨在将 QIIME 2 元数据存放在工件中。这使操作能够输出元数据metadata,这在以前是不可能的,因为 QIIME 2 操作只能输出工件和可视化效果。如果导出ImmutableMetadata项目,它将是一个普通的旧(可变)元数据文件。
    • 添加了对数字样本 ID 的支持
文档更新
  • 癌症微生物组干预教程
    • 修复了癌症微生物组干预教程中的拼写错误。
  • 用户文档
    • 在文档的数据资源页面添加了有关** Silva 分类分类器的注释**。具体来说,QIIME 2网站上提供的Silva分类器和参考文件包括物种水平的分类法。虽然Silva的注释确实包括物种,但Silva没有管理物种级别的分类法,因此这些信息可能不可靠。在QIIME 2的未来版本中,我们将不再在Silva分类器中包含物种水平的信息。这在QIIME2论坛上讨论过(见物种标签:警告!和GitHub
  • 开发者文档
    • 添加了有关 Parsl、管道恢复和集合的文档

补丁更新 (2023.5.1)

  • q2cli
    • 修复了qiime tools view任何输入都崩溃的错误。
    • 修复了--use-cache导致回收池使用与输出目标关联的缓存而不是默认值/提供值的错误。
  • qiime2
    • 修复了将parallel/parsl 配置中的值设置为 None 时的弃用警告。
  • q2-cutadapt
    • 添加了demux-paired混合方向读取的支持

0 人点赞