自动下载 UMLS 数据。
项目描述
UMLS 下载器
不要担心UMLS 术语服务 (UTS)
许可和分发规则 - 只需用于
umls_downloader
编写知道如何从以下(非详尽的)资源列表中下载内容并自动使用它的代码:
或任何可以通过悉尼科技大学门票授予 系统下载的内容。没有可通过 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 代码中传递它:
- 设置
UMLS_API_KEY
在环境中 - 在部分中创建
~/.config/umls.ini
并设置[umls]
一个api_key
键。
from umls_downloader import download_umls
# Same path as before
path = download_umls(version="2021AB")
下载最新版本
首先,您必须安装bioversions
with pip install 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:
...
这个确切的代码是open_umls()
用 Python 的上下文管理器包装的,所以它可以更简单地写成:
from umls_downloader import open_umls
with open_umls() as file:
for line in file:
...
version
和api_key
论点在这里也适用。
为什么不是 API?
UMLS 提供了一次
访问微小数据的API 。甚至有两个最近(过去 5 年)的包提供了一个包装器。但是,API 访问通常受到速率限制、难以批量使用且速度慢。为了批量使用 UMLS(或任何其他数据库),有必要下载完整的数据库转储。umls-api
connect-umls