TransVarWeb / Dockerfile
pzweuj's picture
Update Dockerfile
402f825 verified
# TransVar API for HuggingFace Spaces
# 使用 transvar 官方数据库
FROM python:3.9-slim
# 环境变量
ENV DEBIAN_FRONTEND=noninteractive \
PYTHONUNBUFFERED=1 \
PORT=7860
# 安装系统依赖
RUN apt-get update && apt-get install -y \
wget \
curl \
git \
samtools \
tabix \
build-essential \
zlib1g-dev \
libbz2-dev \
liblzma-dev \
libcurl4-gnutls-dev \
&& rm -rf /var/lib/apt/lists/*
# 从 GitHub 克隆仓库
WORKDIR /app
RUN git clone https://github.com/pzweuj/TransVar2API.git .
# 安装 Python 依赖和 transvar
RUN pip3 install --no-cache-dir -r requirements.txt
RUN pip3 install --no-cache-dir transvar
# ========== 创建数据目录 ==========
RUN mkdir -p /data/hg38 /data/hg19
# ========== 下载参考基因组 ==========
# hg38
WORKDIR /data/hg38
RUN echo "Downloading hg38 reference genome..." && \
wget -q -O hg38.fa.gz https://hgdownload.soe.ucsc.edu/goldenPath/hg38/bigZips/hg38.fa.gz && \
gunzip hg38.fa.gz && \
samtools faidx hg38.fa
# hg19
WORKDIR /data/hg19
RUN echo "Downloading hg19 reference genome..." && \
wget -q -O hg19.fa.gz https://hgdownload.soe.ucsc.edu/goldenPath/hg19/bigZips/hg19.fa.gz && \
gunzip hg19.fa.gz && \
samtools faidx hg19.fa
# ========== 配置 transvar reference ==========
RUN echo "Configuring hg38 reference..." && \
transvar config -k reference -v /data/hg38/hg38.fa --refversion hg38
RUN echo "Configuring hg19 reference..." && \
transvar config -k reference -v /data/hg19/hg19.fa --refversion hg19
# ========== 下载注释数据库 ==========
RUN echo "Downloading hg38 annotation database..." && \
transvar config --download_anno --refversion hg38
RUN echo "Downloading hg19 annotation database..." && \
transvar config --download_anno --refversion hg19
# 验证数据库
RUN echo "Verifying databases..." && \
echo "hg38 config:" && transvar config --refversion hg38 && \
echo "hg19 config:" && transvar config --refversion hg19
# 测试 transvar
RUN echo "Testing transvar..." && \
transvar panno -i "PIK3CA:p.E545K" --refseq --refversion hg38 -o /dev/stdout
WORKDIR /app
RUN chmod +x /app/scripts/hf_startup.sh
EXPOSE 7860
CMD ["/app/scripts/hf_startup.sh"]