Skip to content
Snippets Groups Projects

Added new Docker file for motif search (named meme-5.5.4) installed from...

Closed Thamer Alsulaiman requested to merge containerized_2 into dev
Compare and
29 files
+ 1139
136
Preferences
File browser
Compare changes
+ 121
0
FROM continuumio/miniconda3:24.3.0-0
LABEL IMAGE="chipseq" \
IMAGE_VERSION="1.0.0" \
AUTHORS="Felix Perez,Peng Lian" \
EMAIL="biohpc-help@utsouthwestern.edu"
WORKDIR /chipseq/
# Environment variables for the campus proxy.
ENV http_proxy="http://proxy.swmed.edu:3128" \
https_proxy="http://proxy.swmed.edu:3128"
# Enable the use of bash-specific conda commands in the layer.
RUN eval "$(conda shell.bash hook)" && \
# Create a Python 3.6.1 conda environment and initialize its use.
conda create -y -c bioconda -c defaults -c conda-forge -n py361 python=3.6.1 && \
echo "python ==3.6.1" >> /opt/conda/envs/py361/conda-meta/pinned && \
conda update conda -y && \
conda activate py361 && \
# Install the versions of numpy and pandas required for further software installs.
pip install numpy==1.12.1 && \
pip install pandas==0.20.1 && \
# Install BWA 0.7.12
conda install -y --solver=libmamba -c bioconda bwa=0.7.12 && \
# Install depedencies for the following installations.
apt-get update && apt-get install -y gcc make zlib1g-dev libbz2-dev liblzma-dev libcurl4-openssl-dev && \
# Install Sambamba 0.6.6
conda install -y -c bioconda sambamba=0.6.6 && \
sambamba --version && \
# Install BEDTools 2.26.0
conda install -y -c bioconda bedtools=2.26.0 && \
bedtools --version && \
# Install Pandoc 2.7
conda install -y -c conda-forge pandoc=2.7 && \
pandoc --version && \
# Install deepTools 2.5.0.1
pip install deepTools==2.5.0.1 && \
deeptools --version && \
pip cache purge && \
conda deactivate && \
conda clean -y --all && \
apt-get remove -y gcc make zlib1g-dev libbz2-dev liblzma-dev libcurl4-openssl-dev && \
apt-get clean
RUN eval "$(conda shell.bash hook)" && \
# Install MultiQC v.1.9 & SAMtools 1.6 in a separate conda environment - unsatisfiable in py361.
conda create -y --solver=libmamba -c defaults -c conda-forge -c bioconda -n extra python=3.7.6 multiqc=1.9 samtools=1.6 && \
ln -s /opt/conda/envs/extra/bin/multiqc /usr/bin/multiqc && \
ln -s /opt/conda/envs/extra/bin/samtools /usr/bin/samtools && \
samtools --version && \
multiqc --version && \
conda deactivate && \
conda clean -y --all
# Create a Python 2.7 environment.
RUN eval "$(conda shell.bash hook)" && \
conda create -y -n py27 -c conda-forge python=2.7.12 pip=9.0.1 && \
conda activate py27 && \
apt-get update && apt-get install -y gcc make zlib1g-dev libbz2-dev liblzma-dev libcurl4-openssl-dev && \
# Install Trim Galore 0.4.1.
conda install -y --solver=libmamba -c bioconda trim-galore=0.4.1 && \
trim_galore --version && \
# Fix the version of cutadapt for trim galore.
conda install -y --solver=libmamba -c bioconda cutadapt=1.9.1 && \
cutadapt --version && \
# Install MACS2 2.1.0.20151222
pip install numpy && \
pip install MACS2==2.1.0.20151222 && \
macs2 --version && \
# Install phantompeakqualtools 1.2
conda install -y --solver=libmamba -c conda-forge gcc && \
conda install -y --solver=libmamba -c bioconda phantompeakqualtools=1.2 && \
# Install MEME 4.11.1
conda install -y --solver=libmamba -c bioconda meme=4.11.1 && \
meme -version && \
conda deactivate && \
conda clean -y --all && \
apt-get remove -y gcc make zlib1g-dev && \
apt-get remove -y libbz2-dev liblzma-dev libcurl4-openssl-dev && \
apt-get clean
RUN eval "$(conda shell.bash hook)" && \
conda activate py27 && \
# Install R 3.4.1 & r-spp 1.14.
conda install -y --solver=libmamba -c conda-forge libiconv && \
conda install -y --solver=libmamba -c conda-forge r=3.4.1 && \
conda install -y --solver=libmamba -c bioconda r-spp=1.14 && \
conda deactivate && \
conda clean -y --all && \
# Setup the symlinks for the software in the py27 environment so that when
# the Python 3.6.1 environment is active, users can still use commands
# that are dependent upon Python 2.7.
ln -s /opt/conda/envs/py27/bin/trim_galore /usr/bin/trim_galore && \
ln -s /opt/conda/envs/py27/bin/cutadapt /usr/bin/cutadapt && \
ln -s /opt/conda/envs/py27/bin/R /usr/bin/R && \
ln -s /opt/conda/envs/py27/bin/Rscript /usr/bin/Rscript && \
ln -s /opt/conda/envs/py27/bin/run_spp.R /usr/bin/run_spp.R && \
ln -s /opt/conda/envs/py27/bin/macs2 /usr/bin/macs2 && \
ln -s /opt/conda/envs/py27/bin/meme /usr/bin/meme && \
ln -s /opt/conda/envs/py27/bin/meme-chip /usr/bin/meme-chip
# Install UCSC_userApps/v317
RUN apt-get install -y gcc-9 g++-9 make libncurses-dev zlib1g-dev libbz2-dev liblzma-dev libcap-dev libssl-dev libpng-dev libmariadb-dev-compat libcurl4-openssl-dev && \
ln -fs /usr/bin/gcc-9 /usr/bin/gcc && \
wget http://hgdownload.cse.ucsc.edu/admin/exe/userApps.archive/userApps.v317.src.tgz && \
tar -xzf userApps.v317.src.tgz && \
rm userApps.v317.src.tgz && \
cd userApps && \
make clean && \
make && \
# In entrypoint.sh, an export command is used to add the userApps binaries to the PATH environment variable.
apt-get remove -y gcc-9 g++-9 make libncurses-dev zlib1g-dev libbz2-dev liblzma-dev libpcap-dev libssl-dev libpng-dev libmariadb-dev-compat libcurl4-openssl-dev && \
apt-get clean
# Copy in the entrypoint script to use for activating the Python 3.6.1 conda environment by default when launching a container.
COPY entrypoint.sh .
RUN chmod +x entrypoint.sh
ENTRYPOINT ["/chipseq/entrypoint.sh"]
\ No newline at end of file