ubuntu(18.04)中架设HiGlass docker镜像服务,已尝试mcool、bedpe、wig格式文件

前言

使用到的软件

docker 文档 : https://www.docker.com/

HiGlass 文档:http://docs.higlass.io/higlass_docker.html#running-locally

https://github.com/higlass/higlass-dockerhiglass-docker 地址:https://github.com/higlass/higlass-docker

nginx 文档: https://www.cnginx.com/

docker安装步骤

#卸载旧版本

sudo apt-get remove docker docker-engine docker-ce docker.io

#更新索引包

sudo apt-get update

#安装 apt 依赖包,用于通过HTTPS来获取仓库

sudo apt-get install -y apt-transport-https ca-certificates curl software-properties-common


#添加Docker官方的GPG密钥

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

#设置stable存储库

sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"

#更新一下apt包索引

sudo apt-get update

#安装最新版本的Docker CE

sudo apt-get install -y docker-ce

#验证-查看docker运行状态

systemctl status docker

#验证 - 查看docker版本

docker -v


#如果安装指定版本可使用如下命令
#列出各个可用版本
apt-cache madison docker-ce
#安装指定版本
sudo apt-get install docker-ce=<VERSION>

安装HiGlass docker镜像

拉取HiGlass docker镜像

需要花点时间

sudo docker pull higlass/higlass-docker:v0.6.1

创建容器数据卷目录

#创建/higlass/hg-data 用来 docker容器中的higlass文件目映射

sudo mkdir -p /higlass/hg-data

#创建/higlass/tmp,用来用户上传文件操作目录

sudo mkdir -p /higlass/tmp

启动容器

运行以下命令

sudo docker run --detach \
           --publish 8989:80 \
           --volume ~/higlass/hg-data:/data \
           --volume ~/higlass/tmp:/tmp \
           --name higlass-container \
         higlass/higlass-docker:v0.6.1


#--publish 8989:80  宿主机端口8989与容器80端口映射
#--volume ~/higlass/hg-data:/data \  宿主机目录/higlass/hg-data和容器/data目录映射
#--volume ~/higlass/tmp:/data \  宿主机目录/higlass/tmp和容器/tmp目录映射

配置nginx用于对外访问

安装nginx

sudo apt-get install nginx

配置config

位置:/etc/nginx/sites-available/default

sudo vim /etc/nginx/sites-available/default

文件中 location / 添加如下内容原来的重启,作用将服务器80端口的访问代理到 higlass容器的端口

#尝试了定义 location /higlass {} 模块中定义去使用,但是蛋疼的是higlass内部web服务中的的一些css、js访问不到,要是非要使用这个可以自行到docker容器中去把这个路径改一下使用。还不如单开一个nginx的server处理higlass。

#替换内容

location / {
            proxy_pass http://localhost:8989/;
            proxy_http_version 1.1;
            proxy_set_header  X-Forwarded-Proto https; #配置报文转发协议为https
            proxy_set_header  X-Real-IP  $remote_addr;
            proxy_set_header  X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header  Host $http_host;
            proxy_set_header Cookie $http_cookie;
            proxy_connect_timeout 30;
            proxy_set_header Referer $http_referer;
            #proxy_cookie_path [/项目名] [代理路径地址]; #[/项目名] [代理路径地址]  保证https和http的cookie一致
        }

重启nginx

sudo service nginx restart

访问客户端地址

#这里直接映射了服务器的80端口所以直接访问IP地址或域名就可以了

http://xxx.xxx.xxx/

效果

一般在项目中内嵌使用的话没有用到这个客户端,是在其他前端框架中嵌入显示界面调用这个higlass服务端的api接口去展示一些内容

访问管理端

设置管理端管理员账号密码

higlass-docker 中可查看到信息

sudo docker exec -it higlass-container higlass-server/manage.py createsuperuser

如图:

访问

http://xxx.xxx.xxxx/admin

管理端添加文件展示

遇到个问题就是设置了登陆403没搞懂,有的时候是正确的。

进入之后就可以通过界面上传要展示的文件,要注意不同格式个文件对应的配置项也不同

|-------|----------------|----------------------|
| 文件类型 | filetype | datatype |
| mcool | cooler | matrix |
| bedpe | bed2ddb | 2d-rectangle-domains |
| wig | chromsizes-tsv | chromsizes |

加入之后再客户端界面就可以选择了,没加入一个都会生成一个唯一uuid,这个就可以用来与其他系统进行对接联动。

ubuntu命令行添加文件展示

将文件移动到容器数据卷 higlass/tmp下面执行命令

#mcool格式

sudo docker exec higlass-container python higlass-server/manage.py ingest_tileset --filename /tmp/mcool/test.mcool --filetype cooler --datatype matrix

#bedpe格式

sudo docker exec higlass-container python higlass-server/manage.py ingest_tileset --filename /tmp/test.bedpe --filetype bed2ddb --datatype 2d-rectangle-domains

#wig格式

sudo docker exec higlass-container python higlass-server/manage.py ingest_tileset --filename /tmp/test.wig --filetype chromsizes-tsv --datatype chromsizes

客户端效果图

待续......

相关推荐
命里有定数8 分钟前
Ubuntu问题 -- 允许ssh使用root用户登陆
linux·ubuntu·ssh
xx小寂34 分钟前
【ubuntu18.04】vm虚拟机复制粘贴键不能用-最后无奈换版本
ubuntu
Yunni_root34 分钟前
Ubuntu终端跑colmap实验记录——生成sparse和poses_bounds.npy
经验分享·ubuntu·计算机视觉·nerf·colmap·实验·bad-nerf
宁静致远202137 分钟前
VMware 17虚拟Ubuntu 22.04设置共享目录
linux·ubuntu·嵌入式linux开发
week_泽1 小时前
DHCP、DNS域名系统(Domain Name System)、Samba、SSH (Secure Shell)
linux·ubuntu·ssh
清水加冰4 小时前
容器内的Jenkins使用docker部署服务,服务数据文件挂载问题
运维·docker·jenkins
枸杞配码4 小时前
SpringBoot多环境+docker集成企业微信会话存档sdk
spring boot·docker·企业微信
龙仔7254 小时前
麒麟系统下docker搭建jenkins
servlet·docker·jenkins
谢白羽4 小时前
docker与大模型(口语化原理和实操讲解)
运维·docker·容器
檀越剑指大厂4 小时前
【Docker系列】如何在 Docker 环境中部署和运行 One API
运维·docker·容器