Skip to content

Instantly share code, notes, and snippets.

@linnil1
Created December 5, 2022 09:37
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save linnil1/9f892f34a483e4fab057d556861e6c40 to your computer and use it in GitHub Desktop.
Save linnil1/9f892f34a483e4fab057d556861e6c40 to your computer and use it in GitHub Desktop.
Dockerfile for hla-la version 1.0.3 built in alpine for fun. Inspired by https://github.com/zlskidmore/docker-hla-la
FROM alpine
WORKDIR /usr/local/bin
# samtools
ENV samtools_version 1.16.1
RUN apk add g++ make ncurses-dev zlib-dev xz-dev bzip2-dev curl-dev
RUN wget https://github.com/samtools/samtools/releases/download/${samtools_version}/samtools-${samtools_version}.tar.bz2 && \
tar -xjf samtools-${samtools_version}.tar.bz2 && \
cd samtools-${samtools_version}/ && \
./configure && \
make -j8 && \
make install
# picard
ENV picard_version 1.123
RUN wget https://github.com/broadinstitute/picard/releases/download/${picard_version}/picard-tools-${picard_version}.zip && \
unzip picard-tools-${picard_version}.zip && \
mv picard-tools-${picard_version} picard/ && \
chmod 0644 picard/SamToFastq.jar
# bwa
ENV bwa_version 0.7.17
RUN apk add g++ make zlib-dev
RUN wget https://github.com/lh3/bwa/archive/refs/heads/master.zip -O v${bwa_version}.zip && \
unzip v${bwa_version}.zip && \
rm -f v${bwa_version}.zip && \
mv bwa-master bwa-${bwa_version} && \
cd bwa-${bwa_version} && \
make -j8 && \
cd .. && \
ln -s $PWD/bwa-${bwa_version}/bwa $PWD
# bamtools
ENV bamtools_version 2.5.1
RUN apk add g++ make cmake jsoncpp-dev zlib-dev
RUN wget https://github.com/pezmaster31/bamtools/archive/v${bamtools_version}.zip && \
unzip v${bamtools_version}.zip && \
rm v${bamtools_version}.zip && \
mkdir -p bamtools-${bamtools_version}/build && \
cd bamtools-${bamtools_version}/build && \
cmake -DCMAKE_INSTALL_PREFIX=$PWD/../../bamtools-${bamtools_version} .. && \
make -j8 && \
make install && \
cd ../.. && \
ln -s $PWD/bamtools-${bamtools_version}/lib $PWD/bamtools-${bamtools_version}/lib64
# HLA-LA
ENV hla_la_version 1.0.3
RUN apk add g++ make boost-dev
RUN mkdir -p HLA-LA/bin \
HLA-LA/obj \
HLA-LA/temp \
HLA-LA/working \
HLA-LA/graphs && \
wget https://github.com/DiltheyLab/HLA-LA/archive/v${hla_la_version}.zip && \
unzip v${hla_la_version}.zip && \
mv HLA-LA-${hla_la_version} HLA-LA/src && \
cd HLA-LA/src && \
sed -i 's/u_int32_t/uint32_t/g' */*/*.cpp && \
sed -i 's/u_int32_t/uint32_t/g' */*.cpp && \
make all -j8 BOOST_PATH=/usr/include/boost BAMTOOLS_PATH=$PWD/../../bamtools-${bamtools_version}
RUN sed -i 's@samtools_bin=@samtools_bin=/usr/local/bin/samtools@' HLA-LA/src/paths.ini && \
sed -i 's@bwa_bin=@bwa_bin=/usr/local/bin/bwa@' HLA-LA/src/paths.ini && \
sed -i 's@picard_sam2fastq_bin=.*@picard_sam2fastq_bin=/usr/local/bin/picard/SamToFastq.jar@' HLA-LA/src/paths.ini
# runtime
RUN apk add perl openjdk11-jre
ENV PATH=/usr/local/bin/HLA-LA/src:/usr/local/bin/HLA-LA/bin:$PATH
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment