-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdockerfile
More file actions
64 lines (54 loc) · 1.64 KB
/
dockerfile
File metadata and controls
64 lines (54 loc) · 1.64 KB
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
Bootstrap: docker
From: debian:bullseye-slim
%files
invas_data_prep.tar.gz /opt/
invas_assembly.tar.gz /opt/
scripts/ /app/scripts/
include/ /app/include/
src/ /app/src/
utils/ /app/utils/
db/ /app/db/
CMakeLists.txt /app/
main.cpp /app/
run_invas.sh /app/
%post
# 安装编译工具
apt-get update && apt-get install -y \
build-essential \
cmake \
git \
&& rm -rf /var/lib/apt/lists/*
# 解压第一个环境
mkdir -p /opt/conda/envs/invas_data_prep
tar -xzf /opt/invas_data_prep.tar.gz -C /opt/conda/envs/invas_data_prep
rm /opt/invas_data_prep.tar.gz
/opt/conda/envs/invas_data_prep/bin/conda-unpack
# 解压第二个环境
mkdir -p /opt/conda/envs/invas_assembly
tar -xzf /opt/invas_assembly.tar.gz -C /opt/conda/envs/invas_assembly
rm /opt/invas_assembly.tar.gz
/opt/conda/envs/invas_assembly/bin/conda-unpack
# 克隆并编译 SSW 库
cd /app
git clone https://github.com/mengyao/Complete-Striped-Smith-Waterman-Library.git
cd Complete-Striped-Smith-Waterman-Library/src
make
cp libssw.so /app/scripts/full_pipe/bin/
cd /app
rm -rf Complete-Striped-Smith-Waterman-Library
# 编译 INVAS 核心组件
export PATH="/opt/conda/envs/invas_assembly/bin:$PATH"
cd /app/scripts/full_pipe/bin
cmake ../../../
make
chmod +x *
chmod +x /app/run_invas.sh
%environment
export PATH="/opt/conda/envs/invas_assembly/bin:$PATH"
export LC_ALL=C
%runscript
exec /app/run_invas.sh "$@"
%labels
Author wangxuedong
Version 1.0
Description INVAS - Intragenic Inversion Analysis Software