-
Notifications
You must be signed in to change notification settings - Fork 1
/
singularity.def
91 lines (76 loc) · 2.73 KB
/
singularity.def
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
80
81
82
83
84
85
86
87
88
89
90
Bootstrap: docker
From: ubuntu:19.10
%setup
mkdir -p ${SINGULARITY_ROOTFS}/opt/EGGLImpute/src
mkdir -p ${SINGULARITY_ROOTFS}/opt/EGGLImpute/share
mkdir -p ${SINGULARITY_ROOTFS}/opt/EGGLImpute/bin
%files
WatchDog /opt/WatchDog
%post
# Set
export OPTDIR="/opt/EGGLImpute"
# update and install essentials
apt-get update && apt-get upgrade --yes
apt-get install curl wget \
openjdk-8-jre \
gcc zlib1g-dev libbz2-dev liblzma-dev \
build-essential pkg-config \
unzip --yes
# Install VCFTools
cd $OPTDIR/src
wget https://github.com/vcftools/vcftools/releases/download/v0.1.16/vcftools-0.1.16.tar.gz
tar xvvf vcftools-0.1.16.tar.gz
cd vcftools-0.1.16
./configure
make
make install
# install R for the variant recalibrator
ln -snf /usr/share/zoneinfo/$TZ /etc/localtime
echo $TZ > /etc/timezone
apt-get install r-cran-tidyverse --yes
rm /etc/localtime
# install bcftools (system wide)
cd $OPTDIR/src
wget https://github.com/samtools/bcftools/releases/download/1.9/bcftools-1.9.tar.bz2
tar xvvf bcftools-1.9.tar.bz2
cd bcftools-1.9
./configure
make
make install
# Install Beagle
curl http://faculty.washington.edu/browning/beagle/beagle.21Sep19.ec3.jar \
-o $OPTDIR/src/beagle.jar
# Download and install GATK
cd $OPTDIR/src
wget https://github.com/broadinstitute/gatk/releases/download/4.1.4.1/gatk-4.1.4.1.zip
unzip -o gatk-4.1.4.1.zip
ln -f -s $OPTDIR/src/gatk-4.1.4.1/gatk $OPTDIR/bin/gatk
# Download and instakk GATK 3.8 (for CombineVariants)
cd $OPTDIR/src
wget https://storage.googleapis.com/gatk-software/package-archive/gatk/GenomeAnalysisTK-3.8-1-0-gf15c1c3ef.tar.bz2
tar xvvf GenomeAnalysisTK-3.8-1-0-gf15c1c3ef.tar.bz2
# Download and install conda
cd $OPTDIR/src
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
sh Miniconda3-latest-Linux-x86_64.sh -b -p /opt/conda
export PATH="$PATH:/opt/conda/bin"
# Install MinIO
cd $OPTDIR/bin
wget https://dl.min.io/client/mc/release/linux-amd64/mc
chmod +x mc
# Install snakemake
conda install -c bioconda -c conda-forge snakemake --yes
conda init bash
pip install ipython
# Install Watchdog
cd /opt/WatchDog
pip install -e .
%environment
# These are set at container runtime
export TZ=Europe/Minsk
export OPTDIR="/opt/EGGLImpute"
export PATH="$PATH:$OPTDIR/bin"
export BEAGLE_JAR="$OPTDIR/src/beagle.jar"
export GATK_LOCAL_JAR="$OPTDIR/src/gatk-4.1.4.1/gatk-package-4.1.4.1-local.jar"
export GATK3_JAR="$OPTDIR/src/GenomeAnalysisTK-3.8-1-0-gf15c1c3ef/GenomeAnalysisTK.jar"
export PATH="$PATH:/opt/conda/bin"