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

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6

前言

使用到的软件 

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

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

higlass-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没搞懂有的时候是正确的。

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

文件类型filetypedatatype
mcoolcoolermatrix
bedpebed2ddb2d-rectangle-domains
wigchromsizes-tsvchromsizes

加入之后在客户端界面就可以选择了每加入一个都会生成一个唯一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

客户端效果图

待续......

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6
标签: DockerUbuntu