Provenance Replay--QIIME 2平台上科学可

2023-07-24  本文已影响0人  zd200572

我们知道,Qiime2的可重复性一直是值得称赞的,如下图所示,每个文件都可以有下图的流程图和详细操作信息记录,即使自己回顾也是极好的,我们的流程如果不够完善,qiime2帮我们记录啦。现在多数涉及生物信息的文章是要求提供代码,甚至数据的。之前的qiime2 2023.5版本的更新新增了可重复性数据插件,这里就看下这个插件如何使用啦,发文章是不是更方便啦,说不准未来是微生物文章的标配,快学起来吧!


以上图片来自插件作者在预印本服务器上的文章:arXiv:2305.11198

研究可重复性对于证实、建立和学习至关重要 科学研究的结果,但众所周知的挑战性 生物信息学,通常涉及大型数据集和复杂的分析 涉及许多不同工具的工作流程。此外,许多生物学家不是接受过如何有效记录其生物信息学分析步骤的培训确保可重复性,因此经常缺少关键信息。

从QIIME 2生成的结果生成新的可执行代码生物信息学平台工具

QIIME 2 Provenance Replay功能,该功能将QIIME 2结果的计算历史(或“来源”)解析为有向图结构,并生成可用于复制或复制分析的新可执行代码。这支持研究验证和自动化,旨在改善QIIME 2分析的协作和报告

provenance-lib 允许您:

简要教程

准备工作

如果运行以下命令,它将生成一个名为reproducibility_supplement.zip

replay supplement \
  --i-in-fp . \
  --o-out-fp ./reproducibility_supplement.zip

请注意,解析许多结果可能需要很长时间。预计在一台体面的现代笔记本电脑上 ~10 分钟即可获得 500 个结果。

Supplement

如果您在包含一个实验的所有结果的目录中运行上述命令,它将生成重现性文档,您可以作为补充材料包含在论文旁边。解压缩它以查找以下内容:

使用 --p-recurse 包含子目录

我通常将QIIME 2分析的结果保存在具有许多子文件夹的文件夹中。如果要包含所有这些子文件夹,只需使用--p-recurse标志:

replay supplement \
  --i-in-fp . \
  --p-recurse \
  --o-out-fp ./reproducibility_supplement.zip

引用

使用以下内容生成用于分析的所有引文的列表:

replay citations \
  --i-in-fp ~/data/my_q2_data_dir \
  --o-out-fp ./my_analysis_citations.bib

可以导入Zotero(或Mendeley,或您最喜欢的引文管理器),然后为您使用的所有计算方法生成引文。这提供了更多科学家和开发人员的好处,他们构建了不那么有魅力的完全关键的底层软件

不共享私有元数据

元数据文件的目录可以按原样删除、编辑或包含。这取决于你。重要的是要记住,某些元数据通常不能发布(例如,如果它包含受试者的个人健康信息)。通过将--p-no-dump-recorded-metadata标志传递给命令,可以防止将所有示例元数据写入补充。如果您无法使用此功能,您仍然可以在共享之前删除元数据目录。

replay supplement \
  --i-in-fp . \
  --p-no-dump-recorded-metadata \
  --o-out-fp ./reproducibility_supplement.zip

包括公共元数据以简化确证

另一方面,如果您的研究元数据可以发布,包括它将使其他人更容易证实和扩展您的工作。传递--p-use-recorded-metadata标志会将对转储元数据文件的引用插入到脚本中,以便在运行脚本时自动使用原始元数据。

replay supplement \
  --i-in-fp . \
  --p-use-recorded-metadata \
  --o-out-fp ./reproducibility_supplement.zip

尽可能发布原始数据

如果你被允许发表你的原始数据,这样做将使你的工作更容易证实和扩展,为后来的调查人员增加潜在的价值,并可能增加引用的可能性。那里有很多数据存储库,您选择哪个完全取决于您。

一个常见的问题 - 可能值得以与开始实际分析时相同的格式发布数据。我最近参与了一项研究,将数据发布到SRA,这需要与我们实际分析过程中使用的格式不同的解复用格式。除了SRA,我们还在可重复性补充中包含了原始序列文件(以我们用于研究的原始格式)。这样,补充的用户实际上可以直接重新运行脚本,而无需重写将数据导入QIIME 2以适应解复用SRA格式的步骤。通过将数据和脚本打包在一起,我们还可以将输入数据的相对文件路径硬编码到我们的重播脚本中 - 用户只需解压缩并运行。

最佳做法:共享前编辑脚本

补充中包含的 CLI 和 Python 3 脚本将允许不同接口的用户以直接的方式阅读、理解、证实和扩展您的工作。但是,它们需要一点专家指导才能有效工作。

这些脚本是自我记录的,会告诉您需要进行哪些更改。这里有几个要点。

  1. 在共享之前,请按照脚本中的所有说明进行操作。唯一比不运行的代码更糟糕的是其他人的代码不运行。
  2. 如果可能,将脚本指向输入数据。输入数据不是在来源中捕获的;它通常太大。我喜欢尽可能将数据包含在 zip 文件中,以便我可以在脚本中对文件路径进行硬编码。如果这对你来说不可行,包括向用户提供关于在何处查找数据的基本说明,或者你使用了哪种类型的数据,以便他们可以自带数据。

考虑在共享之前重新运行分析脚本

错别字时有发生,我做了一些。如果计算成本不太高,则从可重现性脚本重新运行分析将确保读者/用户获得工作代码。

最后,看下面向高级用户的Python API

import provenance_lib

# helptext for the package
help(provenance_lib)

# command-specific helptext
help(provenance_lib.replay_supplement)

# help alternative for iPython and Jupyter Notebook only
? provenance_lib.replay_supplement

# Generate a reproducibility supplement for the current directory's
# Results including all of its subdirectories recursively
provenance_lib.replay_supplement(
    '.', './reproducibility-supplement.zip', recurse=True)
上一篇 下一篇

猜你喜欢

热点阅读