|
| 1 | +FROM ubuntu:focal |
| 2 | + |
| 3 | + |
| 4 | +LABEL maintainer=" [email protected]" \ |
| 5 | +about.summary="container for the clockwork workflow" |
| 6 | + |
| 7 | +ENV samtools_version=1.12 \ |
| 8 | +htslib_version=1.12 \ |
| 9 | +bcftools_version=1.12 \ |
| 10 | +minimap2_version=2.17 \ |
| 11 | +picard_version=2.18.16 \ |
| 12 | +gramtools_version=8af53f6c8c0d72ef95223e89ab82119b717044f2 \ |
| 13 | +vt_version=2187ff6347086e38f71bd9f8ca622cd7dcfbb40c \ |
| 14 | +minos_version=0.11.0 \ |
| 15 | +cortex_version=3a235272e4e0121be64527f01e73f9e066d378d3 \ |
| 16 | +vcftools_version=0.1.15 \ |
| 17 | +mccortex_version=97aba198d632ee98ac1aa496db33d1a7a8cb7e51 \ |
| 18 | +stampy_version=1.0.32r3761 \ |
| 19 | +python_version=3.6.5 \ |
| 20 | +clockwork_version=2364dec4cbf25c844575e19e8fe0a319d10721b5 \ |
| 21 | +gatk_version=4.6.0.0 |
| 22 | + |
| 23 | +ENV PACKAGES="procps curl git build-essential wget zlib1g-dev pkg-config jq r-base-core rsync autoconf libncurses-dev libbz2-dev liblzma-dev libcurl4-openssl-dev cmake tabix libvcflib-tools libssl-dev software-properties-common perl locales locales-all" \ |
| 24 | +PYTHON="python2.7 python-dev" |
| 25 | + |
| 26 | +COPY bin/ /opt/bin/ |
| 27 | +ENV PATH=/opt/bin:$PATH |
| 28 | + |
| 29 | +RUN apt-get update \ |
| 30 | +&& DEBIAN_FRONTEND=noninteractive apt-get install -y $PACKAGES $PYTHON \ |
| 31 | +&& curl -fsSL https://www.python.org/ftp/python/${python_version}/Python-${python_version}.tgz | tar -xz \ |
| 32 | +&& cd Python-${python_version} \ |
| 33 | +&& ./configure --enable-optimizations \ |
| 34 | +&& make altinstall \ |
| 35 | +&& cd .. \ |
| 36 | +&& ln -s /usr/local/bin/python3.6 /usr/local/bin/python3 \ |
| 37 | +&& ln -s /usr/local/bin/pip3.6 /usr/local/bin/pip3 \ |
| 38 | +&& pip3 install --upgrade pip \ |
| 39 | +&& pip3 install 'cluster_vcf_records==0.13.1' pysam setuptools awscli \ |
| 40 | +&& apt-get update |
| 41 | + |
| 42 | +#update jdk |
| 43 | +RUN wget https://download.java.net/java/GA/jdk18/43f95e8614114aeaa8e8a5fcf20a682d/36/GPL/openjdk-18_linux-x64_bin.tar.gz |
| 44 | +RUN tar -xvf openjdk-18_linux-x64_bin.tar.gz |
| 45 | +RUN mv jdk-18* /opt/ |
| 46 | +ENV JAVA_HOME=/opt/jdk-18 |
| 47 | +ENV PATH=$PATH:$JAVA_HOME/bin |
| 48 | + |
| 49 | + |
| 50 | +RUN curl -fsSL https://github.com/samtools/samtools/archive/${samtools_version}.tar.gz | tar -xz \ |
| 51 | +&& curl -fsSL https://github.com/samtools/htslib/releases/download/${htslib_version}/htslib-${htslib_version}.tar.bz2 | tar -xj \ |
| 52 | +&& make -C samtools-${samtools_version} -j HTSDIR=../htslib-${htslib_version} \ |
| 53 | +&& make -C samtools-${samtools_version} -j HTSDIR=../htslib-${htslib_version} prefix=/usr/local install \ |
| 54 | +&& rm -r samtools-${samtools_version} \ |
| 55 | +&& curl -fsSL https://github.com/samtools/bcftools/archive/refs/tags/${bcftools_version}.tar.gz | tar -xz \ |
| 56 | +&& make -C bcftools-${bcftools_version} -j HTSDIR=../htslib-${htslib_version} \ |
| 57 | +&& make -C bcftools-${bcftools_version} -j HTSDIR=../htslib-${htslib_version} prefix=/usr/local install \ |
| 58 | +&& rm -r bcftools-${bcftools_version} |
| 59 | + |
| 60 | + |
| 61 | +RUN curl -fsSL minimap2-${minimap2_version}.tar.gz https://github.com/lh3/minimap2/archive/v${minimap2_version}.tar.gz | tar -xz \ |
| 62 | +&& cd minimap2-${minimap2_version} \ |
| 63 | +&& make \ |
| 64 | +&& chmod +x minimap2 \ |
| 65 | +&& mv minimap2 /usr/local/bin \ |
| 66 | +&& cd .. \ |
| 67 | +&& rm -r minimap2-${minimap2_version} \ |
| 68 | +&& wget https://github.com/broadinstitute/picard/releases/download/${picard_version}/picard.jar -O /usr/local/bin/picard.jar |
| 69 | + |
| 70 | + |
| 71 | +RUN git clone https://github.com/atks/vt.git vt-git \ |
| 72 | +&& cd vt-git \ |
| 73 | +&& git checkout ${vt_version} \ |
| 74 | +&& make \ |
| 75 | +&& cd .. \ |
| 76 | +&& mv vt-git/vt /usr/local/bin \ |
| 77 | +&& pip3 install tox "six>=1.14.0" \ |
| 78 | +&& git clone https://github.com/iqbal-lab-org/gramtools \ |
| 79 | +&& cd gramtools \ |
| 80 | +&& git checkout ${gramtools_version} \ |
| 81 | +&& pip3 install . \ |
| 82 | +&& cd .. \ |
| 83 | +&& pip3 install cython \ |
| 84 | +&& pip3 install git+https://github.com/iqbal-lab-org/minos@v${minos_version} |
| 85 | + |
| 86 | + |
| 87 | +RUN git clone --recursive https://github.com/iqbal-lab/cortex.git \ |
| 88 | +&& cd cortex \ |
| 89 | +&& git checkout ${cortex_version} \ |
| 90 | +&& bash install.sh \ |
| 91 | +&& make NUM_COLS=1 cortex_var \ |
| 92 | +&& make NUM_COLS=2 cortex_var \ |
| 93 | +&& cd .. \ |
| 94 | +&& mkdir bioinf-tools \ |
| 95 | +&& cd bioinf-tools \ |
| 96 | +&& curl -fsSL http://www.well.ox.ac.uk/~gerton/software/Stampy/stampy-${stampy_version}.tgz | tar -xz \ |
| 97 | +&& make -C stampy-* \ |
| 98 | +&& cp -s stampy-*/stampy.py . \ |
| 99 | +&& curl -fsSL https://github.com/vcftools/vcftools/releases/download/v${vcftools_version}/vcftools-${vcftools_version}.tar.gz | tar -xz \ |
| 100 | +&& cd vcftools-${vcftools_version} \ |
| 101 | +&& ./configure --prefix $PWD/install \ |
| 102 | +&& make && make install \ |
| 103 | +&& ln -s src/perl/ . \ |
| 104 | +&& cd .. \ |
| 105 | +&& git clone --recursive https://github.com/mcveanlab/mccortex \ |
| 106 | +&& cd mccortex \ |
| 107 | +&& git checkout ${mccortex_version} \ |
| 108 | +&& make all \ |
| 109 | +&& cd .. \ |
| 110 | +&& cp -s mccortex/bin/mccortex31 . \ |
| 111 | +&& cd .. \ |
| 112 | +&& git clone https://github.com/iqbal-lab-org/clockwork \ |
| 113 | +&& cd clockwork \ |
| 114 | +&& git checkout ${clockwork_version} \ |
| 115 | +&& cd python \ |
| 116 | +&& pip3 install . \ |
| 117 | +&& chmod +x scripts/clockwork |
| 118 | + |
| 119 | +RUN wget https://github.com/broadinstitute/gatk/releases/download/${gatk_version}/gatk-${gatk_version}.zip -O /tmp/gatk-${gatk_version}.zip\ |
| 120 | + && unzip /tmp/gatk-${gatk_version}.zip -d /opt/ \ |
| 121 | + && rm /tmp/gatk-${gatk_version}.zip -f |
| 122 | + |
| 123 | +ENV CLOCKWORK_CORTEX_DIR=/cortex \ |
| 124 | +PATH=${PATH}:/clockwork/python/scripts:/opt/gatk-${gatk_version} \ |
| 125 | +PICARD_JAR=/usr/local/bin/picard.jar |
| 126 | + |
| 127 | +ENV LC_ALL en_US.UTF-8 \ |
| 128 | +LANG en_US.UTF-8 \ |
| 129 | +LANGUAGE en_US.UTF-8 |
| 130 | + |
| 131 | + |
0 commit comments