
HumanBase是一个基于Django框架构建的API项目,主要用于基因数据的处理、管理和功能预测。该项目需集成Sleipnir、Elasticsearch、Redis等工具,支持数据库迁移、数据汇编创建、搜索索引更新及NetWAS(网络全基因组关联研究)分析等功能,适用于生物信息学研究及相关API服务部署。
适用于生物信息学研究机构、基因功能分析平台及需要处理基因数据并提供API服务的场景,可用于基因网络分析、功能预测及相关数据查询服务。
创建工作环境
创建并激活虚拟环境:
bash$ virtualenv hbenv $ source hbenv/bin/activate
克隆项目
从GitHub克隆项目(含子模块):
bash$ git clone --recursive git@github.com:aaronkw/humanbase-api.git
安装依赖
根据环境选择安装依赖:
本地环境:
bash$ pip install -r requirements/local.txt
生产环境:
bash$ pip install -r requirements/production.txt
运行单元测试
本地运行所有单元测试:
bash$ <PROJECT_ROOT>/scripts/run_tests.sh
编辑设置文件
根据部署环境,从local.py或production.py创建dev.py配置文件,路径为humanbase/settings/。设置环境变量指定配置模块:
bash$ export DJANGO_SETTINGS_MODULE=humanbase.settings.dev
创建数据库
根据配置文件中DATABASES指定的名称、用户名和密码创建数据库。
执行数据库迁移
应用所有迁移文件以创建必要数据表:
bash$ python manage.py migrate
填充数据库表
在humanbase-api同级目录克隆数据仓库(需Git LFS支持):
bash$ git clone git@github.com:aaronkw/humanbase-data.git ../../humanbase-data
运行设置脚本:
bash$ bash ../scripts/setup.sh -d ../../humanbase-data/data -v current -c .1 -t /tmp
安装Sleipnir
按照官方指南安装Sleipnir:[***]
创建数据汇编
将DAT/DAB文件转换为Sleipnir数据库文件(需已处理的.dab文件):
bash$ Data2DB -u -N -Z /Genomics/fgrid/function/data/human/cdb/zeros.txt -d /Genomics/ogtr03/function/build/orthology/human/data/dabs_all -D db/ -i genes.txt -n global.xdsl
启动BNServer
运行Sleipnir的BNServer服务:
bash$ BNServer -d db -i contexts.txt -n networks -b global.xdsl -p 1235
或使用项目中的包装脚本:
bash$ run_server.sh start -p 1235
注意:需在配置文件中通过
BNSERVER_HOST和BNSERVER_PORT指定BNServer的主机和端口。
安装Elasticsearch
从官网下载并安装Elasticsearch:[***]
启动Elasticsearch服务(后台模式):
bash# 仅本地访问 $ ./bin/elasticsearch -d # 允许外部访问 $ ./bin/elasticsearch -d -Dnetwork.host=0.0.0.0
安装Redis
从官网安装Redis:[***]
更新搜索索引
在Django项目根目录执行:
bash$ python manage.py update_index
创建符号链接
在Django项目根目录创建指向包含SVMperfer网络文件的dab文件夹的符号链接:
bashln -s /mnt/xfs1/home/awong/data/tissue-networks/nocorr-c1234ontog-noseq-rescale/all/predictions dab
测试NetWAS
bash$ wget https://github.com/FunctionLab/giant-api/raw/master/resources/netwas/bmi-2012.txt
bash$ python manage.py run_netwas bmi-2012.txt vegas api-demo 0.01 begin run_netwas() serial_no: 33 sleep 10 s for status: queued sleep 20 s for status: running end run_netwas()
celery.log):bash$ python manage.py run_netwas bmi-2012.txt vegas api-demo 0.01 --background $ tail -f celery.log [2016-07-13 17:10:54,750: WARNING/MainProcess] *** ready. [2016-07-13 17:10:55,740: WARNING/Worker-2] begin run_netwas() [2016-07-13 17:10:55,741: WARNING/Worker-2] serial_no: [2016-07-13 17:10:55,741: WARNING/Worker-2] 34 [2016-07-13 17:10:55,758: WARNING/Worker-2] sleep 10 s for status: queued [2016-07-13 17:11:05,768: WARNING/Worker-2] sleep 20 s for status: running [2016-07-13 17:11:25,782: WARNING/Worker-2] end run_netwas()
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
无需登录使用专属域名
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
VS Code Dev Containers 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
Harbor Proxy Repository 对接专属域名
Portainer Registries 加速拉取
Nexus3 Docker Proxy 内网缓存
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
manifest unknown
no matching manifest(架构)
invalid tar header(解压)
TLS 证书失败
DNS 超时
410 Gone 排查
402 与流量用尽
401 认证失败
429 限流
D-Bus 凭证提示
413 与超大单层
来自真实用户的反馈,见证轩辕镜像的优质服务