diff --git a/docker/Dockerfile b/docker/Dockerfile index f32d6c6127ef1b1289ca7a1d110ca4f85338bfea..cb10dcb845f4ddb1dc23d771018fb8cda2b9b05e 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -1,44 +1,62 @@ FROM ubuntu:16.04 -RUN apt-get update -y -# basic packages - -RUN apt-get install -y cmake \ - sip-dev \ - libtiff-dev \ - libfftw3-dev \ - libeigen3-dev \ - libpng-dev \ - python-all \ - python2.7 \ - python-qt4 \ - libboost-all-dev \ - qt4-qtconfig \ - qt4-qmake \ - libqt4-dev \ - libpng-dev \ - wget \ - git \ - gfortran \ - libeigen3-dev \ - python-pip - -# Install miniconda - to get useful binaries -RUN wget https://repo.continuum.io/miniconda/Miniconda2-latest-Linux-x86_64.sh -RUN bash Miniconda2-latest-Linux-x86_64.sh -p /opt/miniconda2 -b -f -RUN rm Miniconda2-latest-Linux-x86_64.sh - -# Install ClustalW and MSMS -RUN /opt/miniconda2/bin/conda install -y -c bioconda clustalw=2.1 msms=2.6.1 +RUN apt-get update -y && apt-get install -y cmake \ + sip-dev \ + libtiff-dev \ + libfftw3-dev \ + libeigen3-dev \ + libboost-all-dev \ + libpng-dev \ + python-all \ + python2.7 \ + python-qt4 \ + qt4-qtconfig \ + qt4-qmake \ + libqt4-dev \ + libpng-dev \ + wget \ + git \ + gfortran \ + libeigen3-dev \ + python-pip \ + tar \ + libbz2-dev \ + doxygen \ + swig \ + clustalw + + +# Install MSMS +WORKDIR / +RUN mkdir -p /msms +WORKDIR /msms +RUN wget http://mgltools.scripps.edu/downloads/tars/releases/MSMSRELEASE/REL2.6.1/msms_i86_64Linux2_2.6.1.tar.gz +RUN tar -xvzf msms_i86_64Linux2_2.6.1.tar.gz +RUN ln -s /msms/msms.x86_64Linux2.2.6.1 /usr/bin/msms +RUN ln -s /msms/pdb_to_xyzr /usr/bin/pdb_to_xyzr +RUN ln -s /msms/pdb_to_xyzrn /usr/bin/pdb_to_xyzrn + # Install OpenMM -RUN /opt/miniconda2/bin/conda install -y -c omnia openmm=7.1.1=py27_0 +WORKDIR / +RUN git clone https://github.com/pandegroup/openmm +WORKDIR /openmm +RUN git checkout -b 7.1.1 tags/7.1.1 +RUN cmake . +RUN make -j4 +RUN make install # Install DSSP -RUN /opt/miniconda2/bin/conda install -y -c salilab dssp=3.0.0 +WORKDIR / +RUN wget ftp://ftp.cmbi.ru.nl/pub/software/dssp/dssp-2.2.1.tgz +RUN tar -xvzf dssp-2.2.1.tgz +WORKDIR /dssp-2.2.1 +RUN make +RUN ln -s /dssp-2.2.1/mkdssp /usr/bin/mkdssp # Install some python packages -RUN pip install --upgrade pip && pip install numpy==1.14.0 \ +WORKDIR / +RUN pip install --upgrade pip && pip install numpy==1.10.4 \ scipy==1.0.0 \ pandas==0.22.0 \ jupyter==1.0.0 @@ -54,9 +72,9 @@ RUN cmake . -DPYTHON_LIBRARIES=/usr/lib/x86_64-linux-gnu/libpython2.7.so \ -DENABLE_MM=ON \ -DCOMPILE_TMTOOLS=1 \ -DUSE_NUMPY=1 \ - -DOPEN_MM_LIBRARY=/opt/miniconda2/pkgs/openmm-7.1.1-py27_0/lib/libOpenMM.so \ - -DOPEN_MM_INCLUDE_DIR=/opt/miniconda2/pkgs/openmm-7.1.1-py27_0/include/ \ - -DOPEN_MM_PLUGIN_DIR=/opt/miniconda2/pkgs/openmm-7.1.1-py27_0/lib/plugins + -DOPEN_MM_LIBRARY=/usr/local/openmm/lib/libOpenMM.so \ + -DOPEN_MM_INCLUDE_DIR=/usr/local/openmm/include \ + -DOPEN_MM_PLUGIN_DIR=/usr/local/openmm/lib/plugins # Build chemdict_tool RUN make -j4 chemdict_tool @@ -70,21 +88,18 @@ RUN stage/bin/chemdict_tool update modules/conop/data/charmm.cif compounds.cheml RUN cmake . -DPYTHON_LIBRARIES=/usr/lib/x86_64-linux-gnu/libpython2.7.so \ -DOPTIMIZE=ON \ -DENABLE_MM=ON \ - -DOPEN_MM_LIBRARY=/opt/miniconda2/pkgs/openmm-7.1.1-py27_0/lib/libOpenMM.so \ - -DOPEN_MM_INCLUDE_DIR=/opt/miniconda2/pkgs/openmm-7.1.1-py27_0/include/ \ - -DOPEN_MM_PLUGIN_DIR=/opt/miniconda2/pkgs/openmm-7.1.1-py27_0/lib/plugins \ + -DOPEN_MM_LIBRARY=/usr/local/openmm/lib/libOpenMM.so \ + -DOPEN_MM_INCLUDE_DIR=/usr/local/openmm/include \ + -DOPEN_MM_PLUGIN_DIR=/usr/local/openmm/lib/plugins \ -DCOMPOUND_LIB=/opt/ost/compounds.chemlib # Build OST RUN make -j4 -#RUN make check +RUN make check # go back home WORKDIR /home -# Get the example -RUN wget https://files.rcsb.org/view/5X28.pdb - # Set the environment # - for GUI ENV QT_X11_NO_MITSHM 1 @@ -93,11 +108,6 @@ ENV PYTHONPATH="/opt/ost/stage/lib64/python2.7/site-packages:${PYTHONPATH}" # - for PATH ENV PATH="/opt/ost/stage/bin:${PATH}" -# Link binaries -RUN ln -s /opt/miniconda2/pkgs/clustalw*/bin/* /usr/bin -RUN ln -s /opt/miniconda2/pkgs/dssp*/bin/* /usr/bin -RUN ln -s /opt/miniconda2/pkgs/msms*/bin/* /usr/bin - ENTRYPOINT ["ost"] CMD ["-i"]