这个服务器提供了一个web接口和一个restfulapi。用户可以从web界面浏览和下载存档的索引,或者开发以编程方式查询API的工具。

refgenieserver的Python项目详细描述


Build Status

参考服务器

此文件夹包含API的代码,以提供参考基因组。refgenieserver可以做两件事:archive一个现有的refgenie文件夹,然后serve它。在

如何serve

建造容器

在与Dockerfile相同的目录中:

docker build -t refgenieserverim .

运行容器进行开发:

您可以在使用pip install安装后直接运行它,如下所示:

^{pr2}$

不过,更好的方法是使用容器。装载要在/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在何处存储归档文件。在

其次,如果希望将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软件套件

refgenie宇宙包括^{}^{}和{a7}。在

^{}脚本将测试所有三个工具的集成,以确保所有工具都能正常工作,特别是在对一个、两个或所有三个工具进行任何更改或更新之后。在

使用方法如下:

/path/to/test_refgenie.sh

该脚本还需要Python的virtual environment moduleDocker和{a11}来成功测试所有组件。在

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java在SWT中关闭CTabItem时如何获取警告消息?   java如何从中获取文本字符串   java带有(int[][])的方法意味着什么?   java我在创建这个安卓浮动泡泡动画时做错了什么?   将边距属性作为列表项的java表抛出异常ClassCastException   java如何在Storm拓扑中测量延迟和吞吐量   java如何在javafx中序列化事件?   java访问main()之外的线程   java如何强制某些方法仅对kotlin可见   java如何使用quartzscheduler启动具有多个crontrigger的作业?   java无法使用VM选项获取转储文件:引发OOM异常时出现HEAPDUMPONAUTOFMEMORYERROR   java无法在安卓中的FTP服务器上上载文件   java RecordView未显示   java有没有办法在Eclipse中隐藏/折叠虚张声势的注释?   java如何从xml中提取xml。广州?