跳转到主要内容

自动下载UMLS数据。

项目描述

UMLS Downloader

Tests Documentation Status PyPI PyPI - Python Version PyPI - License Code style: black

无需担心UMLS术语服务(UTS)的许可和分发规则 - 只需使用umls_downloader编写代码,使其能够从以下(非详尽)的资源列表中自动下载内容和使用它

或任何可以通过UTS票证授予系统下载的内容。UTS没有可用的内容集中列表,因此欢迎通过问题跟踪器提出建议。

完整文档可在umls-downloader.readthedocs.io找到。

安装

$ pip install umls_downloader

下载特定的UMLS版本

import os
from umls_downloader import download_umls

# Get this from https://uts.nlm.nih.gov/uts/edit-profile
api_key = ...

path = download_umls(version="2021AB", api_key=api_key)

# This is where it gets downloaded: ~/.data/bio/umls/2021AB/umls-2021AB-mrconso.zip
expected_path = os.path.join(
    os.path.expanduser("~"), ".data", "umls", "2021AB",
    "umls-2021AB-mrconso.zip",
)
assert expected_path == path.as_posix()

下载一次后,它会智能地存储,无需再次下载。它使用 pystow 自动存储在 ~/.data/bio/umls 目录中。

完整的函数列表可在 文档 中找到。

自动配置UTS凭据

有两种方法可以自动设置用户名和密码,这样您就不必担心在Python代码中获取和传递它。

  1. 在环境中设置 UMLS_API_KEY
  2. 创建 ~/.config/umls.ini 并在 [umls] 节中设置 api_key 键。
from umls_downloader import download_umls

# Same path as before
path = download_umls(version="2021AB")

下载最新版本

首先,您需要使用 pip install bioversions 安装 bioversions,它的工作是查找许多数据库的最新版本。然后,您可以通过省略 version 关键字参数稍微修改之前的代码。

from umls_downloader import download_umls

# Same path as before (as of November 21st, 2021)
path = download_umls()

下载并打开文件

UMLS文件是压缩的,因此通常伴随以下样板代码

import zipfile
from umls_downloader import download_umls

path = download_umls()
with zipfile.ZipFile(path) as zip_file:
    with zip_file.open("MRCONSO.RRF", mode="r") as file:
        for line in file:
            ...

此代码使用Python的上下文管理器通过 open_umls() 包装,因此可以更简单地编写为

from umls_downloader import open_umls

with open_umls() as file:
    for line in file:
        ...

这里的 versionapi_key 参数也适用。

为什么不是API?

UMLS提供API,用于分批访问少量数据。甚至有两个近期的(过去5年)包umls-api connect-umls,为它们提供包装。然而,API访问通常受速率限制,难以批量使用,并且速度较慢。对于批量处理UMLS(或任何其他数据库)而言,有必要下载完整数据库转储。

👋 稿件归属

⚖️ 许可证

本包中的代码受MIT许可证许可。

🍪 Cookiecutter

此包是用@audreyfeldroycookiecutter包以及@cthoytcookiecutter-snekpack模板创建的。

项目详情


下载文件

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

源分发

umls_downloader-0.1.3.tar.gz (16.9 kB 查看哈希值)

上传时间

构建分发

umls_downloader-0.1.3-py3-none-any.whl (13.7 kB 查看哈希值)

上传时间 Python 3

支持