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

客户端效果图

待续......

相关推荐
躲猫猫的喵喵3 小时前
Ubuntu2204降内核版本
linux·运维·服务器·ubuntu
HIT_Weston5 小时前
18、【Ubuntu】【远程开发】技术方案分析:私网ip掩码
linux·tcp/ip·ubuntu
天一生水water7 小时前
ubuntu使用毫秒镜像方式安装docker mysql
ubuntu·阿里云·docker
虚伪的空想家9 小时前
华为A800I A2 arm64架构鲲鹏920cpu的ubuntu22.04 tls配置直通的grub配置
ubuntu·华为·架构·虚拟化·kvm·npu·国产化适配
祎直向前9 小时前
在Ubuntu中安装并配置ssh
linux·ubuntu·ssh
Qayrup10 小时前
docker 搭建私有仓库,推送并拉取
运维·docker·容器
郭庆汝10 小时前
docker拉取英伟达官方cuda11.8镜像
docker·cuda11.8
天下不喵12 小时前
Ubuntu24.04安装Docker过程记录
docker
冷血~多好13 小时前
使用docker部署elk,实现日志追踪
elk·docker·容器
不懂音乐的欣赏者13 小时前
Windows 下 ROS/ROS2 开发环境最优解:WSL 比直接安装、虚拟机、双系统更优雅!
linux·windows·ubuntu·ros·wsl·ros2·双系统