SeqRepo REST服务
项目描述
seqrepo-rest-api
提供SeqRepo和GA4GH RefGet REST接口,从现有的seqrepo序列存储库访问生物序列和序列元数据。
重要更改
破坏性更改(2022年7月):现在忽略SEQREPO_DIR。您必须明确传递seqrepo实例目录。请参阅以下示例。
描述
具体命名的生物序列提供了参考和坐标系统,用于沟通变异及其导致的表型变化。存在几个序列数据库,它们之间存在显著的重叠,并且都使用不同的名称。此外,这些系统通常难以本地安装。
客户端使用熟悉的标识符(如NM_000551.3或GRCh38:1)或基于哈希的标识符来引用序列和元数据。界面支持对大序列的任意区域进行快速切片。
一个“完全限定”的标识符包括一个命名空间,用于消除访问号的歧义(例如,GRCh37和GRCh38中的“1”)。如果提供了命名空间,seqrepo将直接使用它。如果没有提供命名空间,并且未限定标识符指向一个唯一的序列,则返回;否则,模糊的标识符将引发错误。
SeqRepo在可用的情况下优先选择来自
此仓库仅提供REST接口。底层数据由
此仓库还实现了在<baseurl>/refget/
上的GA4GH refget (v1) 协议。
在Apache License 2.0下发布。
引用
Hart RK, Prlić A (2020)
SeqRepo:用于管理本地生物序列集合的系统。
PLoS ONE 15(12): e0239883. https://doi.org/10.1371/journal.pone.0239883
示例
OpenAPI文档
REST接口使用OpenAPI实现。当前和交互式文档可在端点的基URL中找到。
获取序列
通过访问号获取序列
$ curl -f http://0.0.0.0:5000/seqrepo/1/sequence/NP_001274413.1
MERSFVWLSCLDSDSCNLTFRLGEVESHACSPSLLWNLLTQYLPPGAGHILRTYNFPVLSCVSSCHLIGGKMPEN
或者不获取
$ curl -f http://0.0.0.0:5000/seqrepo/1/sequence/bogus
curl: (22) The requested URL returned error: 404 NOT FOUND
也提供流行的摘要
$ curl -f http://0.0.0.0:5000/seqrepo/1/sequence/MD5:d52770ec477d0c9ee01fa034aff62cb4
MERSFVWLSCLDSDSCNLTFRLGEVESHACSPSLLWNLLTQYLPPGAGHILRTYNFPVLSCVSSCHLIGGKMPEN
带范围
# 👉 Seqrepo uses interbase coordinates.
$ curl -f "http://0.0.0.0:5000/seqrepo/1/sequence/NP_001274413.1?start=5&end=10"
VWLSC
获取元数据
$ curl -f "http://0.0.0.0:5000/seqrepo/1/metadata/GRCh38:1"
{
"added": "2016-08-27T21:17:00Z",
"aliases": [
"GRCh38:1",
"GRCh38:chr1",
"GRCh38.p1:1",
"GRCh38.p1:chr1",
⋮
"GRCh38.p9:chr1",
"MD5:6aef897c3d6ff0c78aff06ac189178dd",
"refseq:NC_000001.11",
"SEGUID:FCUd6VJ6uikS/VWLbhGdVmj2rOA",
"SHA1:14251de9527aba2912fd558b6e119d5668f6ace0",
"sha512t24u:Ya6Rs7DHhDeg7YaOSg1EoNi3U_nQ9SvO",
"ga4gh:SQ.Ya6Rs7DHhDeg7YaOSg1EoNi3U_nQ9SvO"
],
"alphabet": "ACGMNRT",
"length": 248956422
}
开发
$ make devready
$ source venv/bin/activate
运行本地实例
安装如上后,你应该能够
$ seqrepo-rest-service /usr/local/share/seqrepo/2021-01-29
导航到控制台输出中显示的URL。
构建和运行Docker镜像
可以使用此仓库构建Docker镜像,也可以从Docker Hub拉取。在任何情况下,容器都需要现有的本地seqrepo序列仓库。
在此仓库中构建Docker镜像
make docker-image
这将创建biocommons/seqrepo-rest-service:lastest,如下所示
$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
biocommons/seqrepo-rest-service latest ad9ca051c5c9 2 minutes ago 627MB
此Docker镜像定期推送到Docker Hub。
以这种方式调用Docker镜像
docker run \
--name seqrepo-rest-service \
--detach --rm -p 5000:5000 \
-v /usr/local/share/seqrepo/2021-01-29:/mnt/seqrepo \
biocommons/seqrepo-rest-service \
seqrepo-rest-service /mnt/seqrepo
然后你应该能够像这样获取测试序列
$ curl 'http://127.0.0.1:5000/seqrepo/1/sequence/refseq:NM_000551.3?end=20'
CCTCGCCTCCGTTACAACGG
如果出现问题,请使用docker logs -f seqrepo-rest-service
检查日志。
项目详细信息
下载文件
下载适合您平台的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。