跳转到主要内容

"GA4GH 变异表示规范 (VRS) 参考实现 (https://github.com/ga4gh/vrs-python/)"

项目描述

vrs-python

PyPI version Travis

vrs-python 为 GA4GH 变异表示规范 (VRS) 提供Python语言支持。GA4GH 变异表示规范 (VRS)

此存储库包含多个相关组件

  • ga4gh.core 包 Python 语言对 GA4GH 中某些新兴标准的支持。最终,此包应移至独立的仓库。

  • ga4gh.vrs 包 Python 语言对 VRS 的支持。

  • ga4gh.vrs.extras 包 Python 语言对附加功能的支持,包括与其他变异格式之间的转换和类似功能的 REST 服务。 ga4gh.vrs.extras 需要访问以下所述的辅助数据。

  • Jupyter 笔记本 以易于阅读的笔记本形式展示 ga4gh.vrsga4gh.vrs.extras 的功能。

VRS-Python 和 VRS 版本对应关系

ga4gh/vrs-python 仓库将 ga4gh/vrs 仓库作为 git 子模块嵌入,因此 PyPi 上的每个 ga4gh.vrs 包都嵌入了一个特定的 VRS 版本。包之间的对应关系可以总结如下

vrs-python 分支 vrs 分支
主分支 主分支
0.6 1.1
0.7 1.2
0.8 1.3
0.9 metaschema-update

开发者:请参阅下面的开发部分,了解使用子模块的建议(以及避免给其他人造成问题的建议)!

安装

使用 pip 安装

pip install 'ga4gh.vrs[extras]'

参数 [extras] 告诉 pip 安装满足 ga4gh.vrs.extras 包依赖的包。

安装 ga4gh.vrs.extras 的依赖项

ga4gh.vrs.extras 模块本身不是 VR 规范的一部分。它们与 ga4gh.vrs 一起打包,以方便开发和安装。这些模块直接和间接依赖于外部序列、转录本和基因组-转录本比对的数据源。本节建议一种安装提供这些数据的 biocommons 工具的方法。

docker volume create --name=uta_vol
docker volume create --name=seqrepo_vol
docker-compose up

这将启动三个容器

  • seqrepo:将 seqrepo 下载到 docker 卷中并退出
  • seqrepo-rest-service:在 seqrepo 上的 REST 服务(localhost:5000)
  • uta:转录本和比对的数据库(localhost:5432)

检查容器是否正在运行

$ docker ps
CONTAINER ID        IMAGE                                    //  NAMES
86e872ab0c69        biocommons/seqrepo-rest-service:latest   //  vrs-python_seqrepo-rest-service_1
a40576b8cf1f        biocommons/uta:uta_20180821              //  vrs-python_uta_1

根据您的网络和主机,第一次运行可能需要 5-15 分钟,以便下载和安装数据。后续启动应该是瞬间的。

您可以通过以下方式测试 UTA 和 seqrepo 安装

snafu$ psql -XAt postgres://anonymous@localhost/uta -c 'select count(*) from transcript'
249909

它不起作用!

以下是一些您可以尝试的事情。

  • 一次启动一个服务。例如,如果您尚未下载 seqrepo,您可能会看到以下内容

    snafu$ docker-compose up seqrepo-rest-service
    Starting vrs-python_seqrepo-rest-service_1 ... done
    Attaching to vrs-python_seqrepo-rest-service_1
    seqrepo-rest-service_1  | 2022-07-26 15:59:59 snafu seqrepo_rest_service.__main__[1] INFO Using seqrepo_dir='/usr/local/share/seqrepo/2021-01-29' from command line
    ⋮
    seqrepo-rest-service_1  | OSError: Unable to open SeqRepo directory /usr/local/share/seqrepo/2021-01-29
    vrs-python_seqrepo-rest-service_1 exited with code 1
    

运行笔记本

按照上述方法安装后,输入

$ source venv/3.7/bin/activate
$ jupyter notebook --notebook-dir notebooks/

以下 jupyter 扩展建议但不是必需的

$ pip install jupyter_contrib_nbextensions
$ jupyter contrib nbextension install --user
$ jupyter nbextension enable toc2/main

在 Terra 平台上运行笔记本

Terra 是由 Broad Institute、Microsoft 和 Verily 开发的生物医学研究云平台。该平台包括预配置的环境,可提供用户友好的访问各种在生物信息学中常用的应用程序,包括 Jupyter Notebook。

我们在 Terra 中创建了一个公开的 VRS-demo-notebooks 工作空间,其中包含演示笔记本以及如何以最小设置运行它们的说明。要开始,请参阅 VRS-demo-notebooks 工作空间或此存储库中的 Terra.ipynb 笔记本。

开发

子模块!

vrs-python 将 vrs 作为子模块嵌入。当检出 vrs-python 并切换分支时,确保子模块正确跟踪 vrs-python 非常重要。推荐的做法是 git config --global submodule.recurse true如果您不设置 submodule.recurse,开发人员和审阅者必须非常小心,以免意外升级或降级与 vrs-python 相关的架构。

另请参阅 misc/githooks/

开发安装

https://github.com/ga4gh/vrs-python/ 处分此仓库。

$ git clone --recurse-submodules git@github.com:YOUR_GITHUB_ID/vrs-python.git
$ cd vrs-python
$ make devready

预提交

我们使用 pre-commit 检查代码风格。

在首次提交前,运行

$ pre-commit install

测试

此包实现了 ga4gh.core 和 ga4gh.vrs 的典型单元测试。此包还在 tests/validation/ 目录中实现了 vrs(vrs/validation)的合规性测试。

$ make test

同时开发 VRS(模式)

如果您想与 vrs-python 一起开发 VRS 模式,对于大多数用户来说,推荐的方法是分叉并克隆 ga4gh/vrs 仓库,然后设置 VRS_SCHEMA_DIR 环境变量以使用替代的模式位置。

安全注意事项(来自 GA4GH 安全团队)

对规范本身进行了独立的安全审查。此实现按原样提供,不提供任何安全保证。在它可用于安全关键应用之前,需要独立的安全审查。如果您将此代码集成到您的应用程序中,安排安全审计的责任和风险由您自行承担。

项目详情


发布历史 发布通知 | RSS 源

下载文件

下载适合您平台文件。如果您不确定选择哪个,请了解更多关于 安装包 的信息。

源分布

ga4gh.vrs-0.8.5.tar.gz (17.1 MB 查看哈希值)

上传时间

构建分布

ga4gh.vrs-0.8.5-py2.py3-none-any.whl (48.0 kB 查看哈希值)

上传时间 Python 2 Python 3

由以下支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页面