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

客户端效果图

待续......

相关推荐
悠悠-我心11 分钟前
docker 通过定时任务恢复MySQL数据库
数据库·mysql·docker
YIBO040817 分钟前
WSL2下Docker desktop的Cadvisor容器监控
运维·docker·容器·wsl·wsl2
weixin_4284984919 分钟前
Docker inspect 命令介绍
docker·容器
weisian1511 小时前
云原生--核心组件-容器篇-6-Docker核心之-镜像仓库(公共仓库,私有仓库,第三方仓库)
docker·云原生·容器
Dr_Zobot1 小时前
SLAM学习系列——ORB-SLAM3安装(Ubuntu20-ROS/Noetic)
学习·ubuntu·软件安装
一眼青苔1 小时前
如何知道Ubuntu的端口是否被占用,被那个进程占用?如何终止进程
linux·运维·ubuntu
冼紫菜1 小时前
[特殊字符] Docker 从入门到实战:全流程教程 + 项目部署指南(含镜像加速)
运维·分布式·后端·docker·云原生·容器
磨叽的鱼3 小时前
Ubuntu实现远程文件传输
linux·服务器·ubuntu
杨浦老苏5 小时前
代码片段存储解决方案ByteStash
docker·开发·群晖
Mr-Apple6 小时前
docker安装Canal1.1.5,MySQL5.7踩坑
运维·docker·容器