部署 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 服务器配置
创建 CGI 脚本的符号链接:
将 oPOSSUM 的cgi-bin目录链接到您的 Apachecgi-bin。ln -s /apps/oPOSSUM3/cgi-bin /usr/lib/cgi-bin/oPOSSUM3配置权限:
确保 Web 用户(www-data)可以写入临时目录。mkdir -p htdocs/tmp htdocs/results chown -R www-data:www-data htdocs/tmp htdocs/results编辑配置:
修改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 或更高。
资源
- 官方网站: opossum.cisreg.ca
- JASPAR 数据库: jaspar.genereg.net
- BioPerl: bioperl.org
另请参阅: