基于dvc的数据科学操作
项目描述
DSO:数据科学操作
DSO 是一个用于轻松构建可重复的数据分析项目的命令行助手。它建立在 dvc 数据版本化的基础上,并提供项目模板、代码检查、配置文件分层覆盖,并与quarto和jupyter笔记本集成。
在勃林格殷格翰,我们引入了DSO以满足临床试验中生物标志物分析所需的高质量标准。DSO仍在早期开发中,我们重视社区反馈。
入门指南
什么是DVC?
DVC 类似于“数据版的 git”。它可以对与 git 跟踪的源代码一起版本控制大型数据文件和数据目录。除了版本控制文件外,dvc 还可以通过在 dvc.yaml
配置文件中声明输入和输出文件以及要执行的命令,以可重复的方式运行分析。在执行分析后,所有输入和输出文件的时戳和校验和都存储在 lock
文件中,提供溯源记录。不同的分析任务组织在 阶段 中。由于每个阶段的输入和输出文件都已声明,dvc 可以构建阶段的依赖图,以便在输入数据或预处理步骤更新时适当重新执行阶段。
从模板创建项目
DSO 模板有三种类型:项目、文件夹和阶段。一个 项目 是项目的根目录,同时也是一个 git 仓库。可以使用 dso init
创建它。一个 阶段 是分析的可执行步骤(通常是一个定义了输入和输出的脚本)组织在一个文件夹中。阶段不能嵌套。一个 文件夹 用于在项目中按层次组织阶段。
您可以使用 dso init
创建一个新项目
$> dso init
Please enter the name of the project, e.g. "single_cell_lung_atlas": my_cool_project
Please add a short description of the project: This analysis solves *all* the problems!
在项目内部,您可以使用 dso create
从预定义的模板初始化文件夹和阶段
$> dso create stage
? Choose a template: (Use arrow keys)
bash
» quarto
Please enter the name of the stage, e.g. "01_preprocessing": 02_quality_control
Please add a short description of the stage: Make a PCA to detect outliers
如何编写和使用配置文件
项目、子文件夹或阶段中的配置文件是任何可重复分析的基础,通过最小化相关脚本中的分析配置错误。此外,配置文件减少了在更改配置(如 p 值截止值、排除样本、输出目录、数据输入等)时修改脚本所需的时间。
项目、子文件夹或阶段的配置文件包含所有应在一项分析中保持一致的必要参数。因此,更改参数是在配置文件中进行的,而不是在分析脚本中单独进行。
在 DSO 中,有两个参数文件称为 params.yaml
和 params.in.yaml
。 params.yaml
是一个自动生成的 YAML,包含在 params.in.yaml
和其父目录中的其他 params.yaml
文件中指定的所有参数(请参见下方的示例,了解实际中的行为)。params.yaml
将在执行 dso compile-config
时编译。
$> dso compile-config
[08/22/24 20:53:43] INFO Detected /home/grst/my_cool_project as project root.
INFO Compiling a total of 2 config files.
INFO Configuration compiled successfully.
代码风格检查
Dso 提供了代码风格检查,用于检测分析项目中常见的错误。目前只有少数检查已实现,但未来将提供更多。
要手动运行代码风格检查,请执行
$> dso lint
[08/22/24 20:53:43] INFO Compiled a list of 22 to be linted
然而,最好是作为 pre-commit 钩子或作为持续集成检查来执行代码风格检查。DSO 项目模板附带一个 .pre-commit-config.yaml
。只需使用 pre-commit install
激活它。
重现项目
要重现/执行项目中的所有阶段,请运行
$> dso repro
这是一个围绕 dvc repro
的薄包装,它事先编译所有配置文件。DVC 只会重现定义在 dvc.yaml 中且已更改的阶段。当依赖关系发生变化时,前面的阶段也将重新运行。
与 quarto 的集成
DSO 为生成可重复报告的 quarto 文档提供了一些额外的工具。当您通过 dso create stage --template quarto
创建一个 quarto 阶段时,您就可以使用这些工具了
- 通过
dso exec quarto .
将 quarto 阶段渲染为 html - 通过项目从
params.yaml
文件继承配置。Quarto 配置可以放在dso.quarto
中,例如。dso: quarto: author: - Jane Doe execute: warning: false
- 通过添加额外的设置,为所有图形添加免责声明框和水印(例如,将其标记为草案)
dso: quarto: watermark: text: DRAFT disclaimer: title: This document is a DRAFT text: Please do not share!
要从 R 中访问阶段参数并解析相对于阶段目录的文件路径,我们提供了配套包 dso-r
,它提供了两个函数 read_params(stage_name)
和 stage_here(path)
。
安装
DSO 需要 Python 3.10 或更高版本。
您可以使用 pip 使用以下命令进行安装
pip install git+https://github.com/Boehringer-Ingelheim/dso.git@main
该工具将在不久的将来在PyPI上提供。
发行说明
查看变更日志。
鸣谢
dso最初由
项目详情
下载文件
下载适用于您的平台的文件。如果您不确定选择哪个,请了解安装包的更多信息。
源代码分发
构建分发
dso_core-0.8.2.post2.tar.gz的哈希
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 15507ab3e6dd66d67c9686b17450a9fac980f307052b9c89a5cae4ef38296f9b |
|
MD5 | fe6693a98a71268bd06d470e0ccd8e87 |
|
BLAKE2b-256 | a77143cbc28e651f6ec4df34f3bf4a099c1e05b01b733f9f11f889f558837398 |
dso_core-0.8.2.post2-py3-none-any.whl的哈希
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 28493a9d37d87670bf44da5f7ea07aeed45d7b0949256746c82b1d1b2d408866 |
|
MD5 | d13f60606ae7d23fde043f2274995a90 |
|
BLAKE2b-256 | 73891dc2e29234dc1585ef67c7dd04ece40ba74be28d67830457dfeab60ced49 |