File size: 2,243 Bytes
10e5a7d
4311660
10e5a7d
 
 
4d1536e
10e5a7d
4d1536e
 
 
10e5a7d
 
 
 
 
 
c02b903
10e5a7d
 
 
 
 
 
 
c02b903
10e5a7d
4d1536e
10e5a7d
4d1536e
10e5a7d
 
 
0249159
 
10e5a7d
0249159
 
 
4311660
0249159
 
 
10e5a7d
0249159
 
 
 
 
 
 
 
 
 
 
 
 
 
 
28c3864
 
94fca14
28c3864
 
 
4311660
 
 
 
 
 
 
402f825
9c2348a
0249159
7763496
10e5a7d
 
 
c02b903
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
# 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"]