使用说明
BioCypher项目模板
建立BioCypher驱动的知识图管道的快速方法。请制作 一定要参考 用法 有关其工作原理的详细信息,请参阅第节。
使用GitHub模板功能
您可以直接在GitHub中使用此模板。只需选择
biocypher/project-template 作为创建新存储库时的模板
在GitHub上。
⚙️ 安装(本地,docker见下文)
[!注意] 这些是手动安装说明。如果您创建了存储库 使用上述GitHub模板功能,您不需要执行 前两个步骤。相反,只需克隆您创建的存储库。
- 克隆此存储库并重命名为您的项目名称。
git clone https://github.com/biocypher/project-template.git
mv project-template my-project
cd my-project
- 使存储库成为您自己的。
rm -rf .git
git init
git add .
git commit -m "Initial commit"
# (you can add your remote repository here)
- 使用安装依赖项 诗歌(或感觉
免费使用您自己的依赖管理系统。我们提供
pyproject.toml定义依赖关系。)
poetry install
- 你准备好了!
poetry shell
python create_knowledge_graph.py
🛠 用法
结构
项目模板的结构如下:
.
│ # Project setup
│
├── LICENSE
├── README.md
├── pyproject.toml
│
│ # Docker setup
│
├── Dockerfile
├── docker
│ ├── biocypher_entrypoint_patch.sh
│ ├── create_table.sh
│ └── import.sh
├── docker-compose.yml
├── docker-variables.env
│
│ # Project pipeline
│
├── create_knowledge_graph.py
├── config
│ ├── biocypher_config.yaml
│ ├── biocypher_docker_config.yaml
│ └── schema_config.yaml
└── template_package
└── adapters
└── example_adapter.py
BioCypher管道的主要组成部分是
create_knowledge_graph.py,中的配置 config 目录,以及
适配器模块 template_package 目录。后者可以使用
发布您自己的适配器(见下文)。您还可以使用其他适配器
GitHub、PyPI或本地计算机上的任何位置。
BioCypher生态系统依赖于适配器的集合(计划中 开发中或已经可用),以告知社区可用的 数据源,并促进知识图的创建。如果你认为 您的适配器可能对其他人有用,请在 主BioCypher存储库.
此外,还提供了docker设置来运行管道(来自同一个 python脚本),然后加载知识图 进入Neo4j实例(也来自docker容器)。如果你愿意,这很有用 在服务器上运行管道,或者如果你想在可复制的环境中运行它 环境。
运行管道
python create_knowledge_graph.py 将从以下内容创建知识图
此存储库中包含的示例数据(从 BioCypher
教程).为此,它使用
以下组件:
-
create_knowledge_graph.py:编排管道的主脚本。 它将BioCypher包与数据源结合在一起。构建一个 知识图,您至少需要一个适配器(见下文)。对于普通 资源,BioCypher软件包中可能已经有可用的适配器,或者 在单独的存储库中。如果没有适配器,您也可以编写自己的适配器 可用于您的数据。 -
example_adapter.py(intemplate_package.adapters):一个定义 数据源的适配器。在这种情况下,它是一个随机生成器脚本。 如果您想创建自己的适配器,我们建议使用示例适配器 作为蓝图,为每个数据源创建一个python文件,并适当命名。 然后,您可以将适配器导入create_knowledge_graph.py并将其添加到 管道。这样,您可以确保其他人可以轻松安装和使用您的 适配器。 -
schema_config.yaml:配置文件(位于config目录) 它定义了知识图的模式。BioCypher使用它来绘制地图 基于本体的知识表示的数据源(参见 BioCypher的这一部分 教程). -
biocypher_config.yaml:配置文件(位于config目录)定义了一些BioCypher参数,如模式、 使用的分隔符和其他选项。有关其使用的更多信息,请参阅 文档.
发布自己的适配器
将适配器添加到 adapters 目录,您可能需要
发布它们以便于重用。创建一个包来分发您自己的
适配器,我们建议使用 诗歌诗,
安装后,允许您使用几个简单的工具将包发布到PyPI
命令。要设置包,请重命名 template_package 目录到
您所需的包名称并更新 pyproject.toml 文件相应。大多数
重要的是,更新 name,author,以及 version 领域。您还可以添加
一 description 以及a license。然后,您可以将包发布到PyPI
使用以下命令:
poetry build
poetry publish
如果你不想将你的包发布到PyPI,你也可以从 GitHub使用诗歌或pip的相应功能。
进一步阅读/代码
如果您想查看工作流的第二个示例,请查看我们的 CollecTRI 管道。其README描述 更详细地介绍了数据评估和适配器创建的过程。
🐳 码头工人
此repo还包含 docker compose 创建示例的工作流
使用BioCypher数据库并将其加载到一个停靠的Neo4j实例中
自动。要运行它,只需执行 docker compose up -d 在根
项目的目录。这将启动一个单独的(分离的)docker
具有Neo4j实例的容器,该实例包含由构建的知识图
BioCypher作为数据库 neo4j (默认数据库),您可以连接到和
浏览本地主机:7474。默认情况下,身份验证已停用,可以
修改于 docker_variables.env 文件(在这种情况下,您需要提供
将.env文件转移到部署阶段 docker-compose.yml).
关于BioCypher构建程序 biocypher_docker_config.yaml 文件
代替 biocypher_config.yaml (配置于
scripts/build.sh).其他一切都与本地设置中的相同。这
第一个集装箱(build)安装并运行BioCypher管道,第二个
集装箱(import)安装Neo4j并运行导入和第三个容器
(deploy)在本地主机上部署Neo4j实例。这些文件是通过某种方式共享的
Docker卷。这种三阶段设置对于安装来说绝对不是必需的
Neo4j的读写实例,但如果目的是提供
定期更新的只读实例(例如,用于web应用程序);为了一个
示例,请参见 元图
仓库。只读设置为
配置在 docker-compose.yml 文件
(NEO4J_dbms_databases_default__to__read__only: "false")并通过以下方式停用
违约。