首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何建造一个Seurat容器?

如何建造一个Seurat容器?
EN

Stack Overflow用户
提问于 2022-02-13 05:03:18
回答 1查看 352关注 0票数 0

我在试着分析Seurat的单细胞RNAseq数据。

最近,我遇到了码头生态系统,似乎非常可复制。我试过三种礼节,但都失败了。你有什么想法或好消息吗?

环境:

1.通过installer2.r命令构建安装Seurat包的rocker/tidyverse容器。

这是一个Dockerfile。

代码语言:javascript
运行
复制
FROM rocker/tidyverse
RUN apt update

# install Seurat package via a install2.r liner
RUN install2.r Seurat --error --deps TRUE --skipinstalled --ncpus -1

这是一个码头公司的文件。

代码语言:javascript
运行
复制
version: '3'
services: 
  rocker: 
    build:
      context: .
      dockerfile: ./Dockerfile
    container_name: rocker
    hostname: rocker
    ports:
      - '8787:8787'
    environment:
      - PASSWORD=pass

代码语言:javascript
运行
复制
Docker-compose up --build

返回错误。总之,“一个或多个包的安装失败,可能是‘Cairo’,‘mutoss’,‘ggrastr’,‘metap’”。

2.构建安装RStudio-server的Seurat容器。

这是一个Dockerfile。

代码语言:javascript
运行
复制
FROM satijalab/seurat:latest
RUN apt update

# install prerequisites
RUN apt install -y \
  ca-certificates \
  libssl-dev \ 
  libcurl4-openssl-dev \
  libxml2-dev \
  libssh2-1-dev

# install rstudio-server for Ubntu20
RUN wget https://download2.rstudio.org/server/debian9/x86_64/rstudio-server-2021.09.2-382-amd64.deb
RUN apt install -y ./rstudio-server-2021.09.2-382-amd64.deb
RUN rm rstudio-server-2021.09.2-382-amd64.deb

这是一个码头公司的文件。

代码语言:javascript
运行
复制
version: '3'
services: 
  seurat: 
    build:
      context: .
      dockerfile: ./Dockerfile
  container_name: seurat
  hostname: seurat
  ports:
    - '0.0.0.0:8787:8787'
  environment:
    - PASSWORD=pass
  tty: true
  stdin_open: true

它成功地创建了一个容器。然后我访问了"http://localhost:8787/",它返回了“ERR_EMPTY_RESPONSE,我怀疑rstudio没有运行。

代码语言:javascript
运行
复制
docker exec  -it  seurat bash

然后

代码语言:javascript
运行
复制
rstudio-server start

它返回“/usr/lib/rstudio/bin/rserver:在加载共享库时出错: libssl.so.1.0.2:无法打开共享对象文件:没有这样的文件或目录。”

似乎出现了libssl包版本错误。我改变了码头的文件,

代码语言:javascript
运行
复制
RUN apt install -y libssl-dev

到,

代码语言:javascript
运行
复制
RUN apt install -y libssl1.0.2

但它没有返回任何发现错误的包。

3.建造摇臂/潮汐容器。登录到RStudio服务器。install.packages("Seurat")

简单地说,我可以通过访问localhost:8787构建并登录到rocker/tidyverse容器。

然后我试着安装Seurat软件包

代码语言:javascript
运行
复制
install.packages("Seurat")

乍一看,安装似乎成功了。但

代码语言:javascript
运行
复制
library(Seurat)

回来了,

代码语言:javascript
运行
复制
Error: package or namespace load failed for ‘Seurat’ in dyn.load(file, DLLpath = DLLpath, ...):
 unable to load shared object '/home/rstudio/R/x86_64-pc-linux-gnu-library/4.1/igraph/libs/igraph.so':
  libglpk.so.40: cannot open shared object file: No such file or directory
EN

回答 1

Stack Overflow用户

发布于 2022-02-13 19:37:28

Satija实验室已经构建了带有Rocker+Seurat的码头集装箱,所以如果你只是在学习Docker,最好使用他们的图像。否则,它们的Dockerfile可在GitHub上使用

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71098052

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档