部署 oPOSSUM3

· Tutorials

部署 oPOSSUM3

部署 oPOSSUM3

部署 oPOSSUM3:转录因子分析

TL;DR: oPOSSUM3 是一个基于网络的系统,用于分析基因列表中的转录因子结合位点(TFBS)。它是遗留软件(Perl/CGI),安装困难。本指南提供了基于 Docker 的部署策略和用于保存的手动安装步骤。


什么是 oPOSSUM3?

oPOSSUM3 检测一组共表达基因中过度富集的转录因子结合位点(TFBS),并与背景集进行比较。它使用 JASPAR 数据库中的 TFBS 谱。

应用场景:

  • ChIP-seq 峰分析
  • 差异表达基因(批量 RNA-seq)的启动子分析
  • 从基因列表中识别主调控因子

现代替代方案: 对于单细胞数据或基于 R 的工作流,请使用 RCisTarget(SCENIC 背后的引擎)。如果您特别需要 oPOSSUM3 独特的评分方法或网络界面,则使用 oPOSSUM3。


方法一:Docker 部署(推荐)

手动安装 oPOSSUM3 需要配置 Apache、MySQL、Perl 和 BioPerl。使用 Docker 可以避免这种依赖地狱。

1. 创建 Dockerfile

保存为 Dockerfile:

FROM ubuntu:20.04

ENV DEBIAN_FRONTEND=noninteractive

# 安装依赖
RUN apt-get update && apt-get install -y \
    apache2 \
    mysql-server \
    mysql-client \
    build-essential \
    libmysqlclient-dev \
    cpanminus \
    bioperl \
    git \
    wget \
    unzip \
    && rm -rf /var/lib/apt/lists/*

# 安装 Perl 模块
RUN cpanm --notest \
    CGI \
    CGI::Application \
    Data::Dumper \
    DBI \
    DBD::mysql \
    File::Temp \
    Log::Log4perl \
    Statistics::Distributions \
    Statistics::R \
    Template

# 安装 TFBS(遗留)
WORKDIR /opt
RUN wget http://tfbs.genereg.net/TFBS-0.7.0.tar.gz && \
    tar -xzf TFBS-0.7.0.tar.gz && \
    cd TFBS-0.7.0 && \
    perl Makefile.PL && \
    make && \
    make install

# 配置 Apache(CGI 支持)
RUN a2enmod cgi
COPY apache-opossum.conf /etc/apache2/sites-available/000-default.conf

# 暴露端口
EXPOSE 80 3306

CMD service mysql start && service apache2 start && tail -f /var/log/apache2/error.log

2. 构建并运行

# 构建镜像
docker build -t opossum3 .

# 运行容器
docker run -d -p 8080:80 -p 3306:3306 --name opossum opossum3

访问 http://localhost:8080/opossum 以访问您的本地实例。


方法二:手动安装(困难方式)

如果您必须在裸机(例如学术服务器)上安装,请仔细遵循以下步骤。

1. 先决条件(Perl 和 BioPerl)

# 安装 BioPerl
cpanm Bio::Perl

# 安装 TFBS
wget http://tfbs.genereg.net/TFBS-0.7.0.tar.gz
tar xvfz TFBS-0.7.0.tar.gz
cd TFBS-0.7.0
perl Makefile.PL
make
make install

注意: 如果 tarball 中缺少 JASPAR5.pm,您必须从 TFBS SVN 仓库手动安装它。

2. 必需的 Perl 模块

通过 CPAN 安装:

cpanm CGI CGI::Application DBI DBD::mysql Log::Log4perl Statistics::R Template

3. 数据库设置(MySQL)

oPOSSUM 依赖于一个填充了 JASPAR 数据的本地 MySQL 数据库。

A. 安装 MySQL

sudo apt install mysql-server

B. 下载数据库
您需要物种特定的数据库(人类、小鼠等)和 JASPAR 数据库。

  • JASPAR: http://cisreg.ca/pub/JASPAR/
  • oPOSSUM 数据库: 托管于 opossum.cmmt.ubc.ca

C. 加载数据

# 解压并加载
gunzip -c oPOSSUM3_human.sql.gz | mysql -u root -p oPOSSUM3_human

D. 创建数据库用户

CREATE USER 'opossum_r'@'localhost' IDENTIFIED BY 'password';
GRANT SELECT ON oPOSSUM3_human.* TO 'opossum_r'@'localhost';
GRANT SELECT ON JASPAR_2010.* TO 'opossum_r'@'localhost';
FLUSH PRIVILEGES;

4. Web 服务器配置

  1. 创建 CGI 脚本的符号链接:
    将 oPOSSUM 的 cgi-bin 目录链接到您的 Apache cgi-bin。

    ln -s /apps/oPOSSUM3/cgi-bin /usr/lib/cgi-bin/oPOSSUM3
    
  2. 配置权限:
    确保 Web 用户(www-data)可以写入临时目录。

    mkdir -p htdocs/tmp htdocs/results
    chown -R www-data:www-data htdocs/tmp htdocs/results
    
  3. 编辑配置:
    修改 lib/OPOSSUM/Web/Opt/BaseOpt.pm 以匹配您的路径(MySQL 用户、临时目录、URL)。


故障排除

"Can't locate Bio/Perl.pm"

原因: BioPerl 不在 @INC 中。
修复: 确保 PERL5LIB 环境变量包含您的 BioPerl 安装路径。

"DBD::mysql installation failed"

原因: 缺少 libmysqlclient-dev。
修复: 在安装 Perl 模块之前,运行 sudo apt install libmysqlclient-dev。

"Analysis times out"

原因: TFBS 扫描速度慢。
修复: 将 httpd.conf 中的 Apache Timeout 设置增加到 600 或更高。


资源


另请参阅:

Server Setup TF Activity