Spaces:
Running
Running
| # 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"] |