这个服务器提供了一个web接口和一个restfulapi。用户可以从web界面浏览和下载存档的索引,或者开发以编程方式查询API的工具。
refgenieserver的Python项目详细描述
参考服务器
此文件夹包含API的代码,以提供参考基因组。refgenieserver
可以做两件事:archive
一个现有的refgenie文件夹,然后serve
它。在
如何serve
建造容器
在与Dockerfile
相同的目录中:
docker build -t refgenieserverim .
运行容器进行开发:
您可以在使用pip install
安装后直接运行它,如下所示:
不过,更好的方法是使用容器。装载要在/genomes
服务的文件目录:
docker run --rm -p 80:80 --name refgenieservercon \
-v $(pwd)/files:/genomes \
refgenieserverim refgenieserver serve -c refgenie.yaml
运行用于生产的容器:
从刚构建的映像运行容器:
docker run --rm -d -p 80:80 \
-v /path/to/genomes_archive:/genomes \
--name refgenieservercon \
refgenieserverim refgenieserver serve -c /genomes/genome_config.yaml
确保genome_config.yaml
文件名与您为配置文件命名的文件名匹配!我们使用-d
来分离,使其处于后台。您不需要挂载应用程序(-v /path/to/refgenieserver:/app
),因为在本例中,我们直接运行它。完成后终止容器:
docker stop refgenieservercon
与API web服务器交互
导航到http://localhost/以查看正在运行的服务器。在
您可以在http://localhost/docs上看到自动文档和交互式swagger openAPI接口。这也会告诉你所有的端点等等
监控错误
附加到容器以查看调试输出:
docker attach refgenieservercon
抓取错误:
docker events | grep -oP "(?<=die )[^ ]+"
查看这些错误代码:
docker logs <error_code>
输入交互式shell以浏览容器内容:
docker exec -it refgenieservercon sh
如何archive
Refgenieserver还可以归档您的资产,为serve
所需的资产归档创建目录。在
首先,确保配置有一个genome_archive_folder
键,它指向要存储可服务归档文件的目录(genome_archive_folder
是^{str1}$not,由^{
其次,如果希望将refgenieserver配置文件与genome_archive_folder
分开存储,请指定一个genome_archive_config
键。此键指向的路径将被视为相对于refgenie配置文件,除非它是绝对的。在
然后运行:
refgenieserver archive -c CONFIG
它只需要一个-c
参数或$REFGENIE
环境变量。在
此命令将:
- 创建可用于为资产提供服务的
genome_archive
目录和结构 - 在该目录中创建一个服务器配置文件,其中包含两个额外的资产属性,如
archive_digest
和{}。在
如果您已经存档了一些资产,并且只想添加新的资产,请使用:
refgenieserver archive -c CONFIG GENOME/ASSET:TAG
如果要删除不需要的存档,请添加一个-r
标志:
refgenieserver archive -c CONFIG -r GENOME/ASSET:TAG
如何测试refgenie
软件套件
^{
使用方法如下:
/path/to/test_refgenie.sh
该脚本还需要Python的virtual environment module、Docker和{a11}来成功测试所有组件。在
- 项目
标签: