update
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
# syntax=docker/dockerfile:1
|
||||
# syntax=docker/dockerfile:1.3-labs
|
||||
# NOTE: Building this image require's docker version >= 23.0.
|
||||
#
|
||||
# For reference:
|
||||
@@ -52,8 +52,29 @@ chmod 600 /root/.ssh/authorized_keys2
|
||||
mkdir /var/run/sshd
|
||||
echo "root:${ROOT_PASSWD}" | chpasswd
|
||||
mkdir -p ~/.pip
|
||||
# timezone
|
||||
apt-get install -y tzdata
|
||||
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
|
||||
echo "Asia/Shanghai" > /etc/timezone
|
||||
# install pixi
|
||||
curl -fsSL https://pixi.sh/install.sh | bash
|
||||
# curl -fsSL https://pixi.sh/install.sh | bash
|
||||
EOT
|
||||
|
||||
ENV PATH=/opt/modules/bin:$PATH
|
||||
ENV LIBRARY_PATH=/opt/modules/lib:$LIBRARY_PATH
|
||||
COPY ./file/modules-5.4.0.tar.gz /root
|
||||
## install modules to manage environment variables download from https://modules.sourceforge.net/
|
||||
# usage: https://nscc.mrzhenggang.com/user-manual/config-env-with-module
|
||||
RUN <<EOT
|
||||
#!/bin/bash
|
||||
# apt-get update && apt-get install -y tcl
|
||||
tar zxvf modules-5.4.0.tar.gz
|
||||
cd modules-5.4.0
|
||||
# ./configure --prefix=/opt/modules --bindir=/opt/modules/bin --libdir=/opt/modules/lib --with-tclsh=/usr/bin/tclsh
|
||||
./configure --prefix=/opt/modules --bindir=/opt/modules/bin --libdir=/opt/modules/lib --disable-libtclenvmodules
|
||||
make -j$(nproc)
|
||||
make install
|
||||
/opt/modules/bin/modulecmd --version
|
||||
EOT
|
||||
|
||||
ARG FFTW_VERSION="3.3.10"
|
||||
@@ -125,7 +146,7 @@ nvcc -o test_mpi_cuda test_mpi_cuda.cu -I${CUDA_HOME}/include -I${MPI_HOME}/incl
|
||||
EOT
|
||||
|
||||
# 安装plumed
|
||||
ARG PLUMED_VERSION="2.9.1"
|
||||
ARG PLUMED_VERSION="2.9.2"
|
||||
ENV PLUMED_VERSION=${PLUMED_VERSION}
|
||||
ENV LD_LIBRARY_PATH=/usr/local/plumed/lib:$LD_LIBRARY_PATH
|
||||
ENV PATH=/usr/local/plumed:/usr/local/plumed/bin:$PATH
|
||||
@@ -143,10 +164,12 @@ make install
|
||||
EOT
|
||||
|
||||
# 安装gromacs
|
||||
ARG GROMACS_VERSION="2022.5"
|
||||
ARG GROMACS_VERSION="2021.7"
|
||||
ENV GROMACS_VERSION=${GROMACS_VERSION}
|
||||
ENV GROMACS_HOME=/usr/local/gromacs-${GROMACS_VERSION}-plumed-${PLUMED_VERSION}
|
||||
ENV PATH=PATH=$GROMACS_HOME/bin:$PATH
|
||||
ARG CUDA_ARCH="75;86;89"
|
||||
ENV CUDA_ARCH=${CUDA_ARCH}
|
||||
RUN <<EOT
|
||||
#!/bin/bash
|
||||
wget -c https://ftp.gromacs.org/gromacs/gromacs-${GROMACS_VERSION}.tar.gz
|
||||
@@ -161,25 +184,56 @@ cmake .. -DCMAKE_INSTALL_PREFIX=/usr/local/gromacs-${GROMACS_VERSION}-plumed-${P
|
||||
-DGMX_BUILD_OWN_FFTW=ON \
|
||||
-DREGRESSIONTEST_DOWNLOAD=ON \
|
||||
-DGMX_GPU=CUDA \
|
||||
-DGMX_CUDA_TARGET_COMPUTE="75;86;89" \
|
||||
-DGMX_CUDA_TARGET_SM="75;86;89" \
|
||||
-DGMX_MPI=ON
|
||||
make -j$(nproc)
|
||||
make install
|
||||
echo "source /usr/local/gromacs-${GROMACS_VERSION}-plumed-${PLUMED_VERSION}/bin/GMXRC.bash" >> /root/.bashrc
|
||||
EOT
|
||||
|
||||
COPY file/Amber24.tar.bz2 file/AmberTools24.tar.bz2 /root
|
||||
# PyAutoFEP install support version: GROMACS 2021.7
|
||||
# GROMACS 2022.5 和 2023 中遇到的“排除原子距离超过截断距离”的问题,确保模拟的稳定性和自由能计算的收敛性。
|
||||
# https://github.com/luancarvalhomartins/PyAutoFEP/blob/master/docs/Manual.pdf
|
||||
# https://github.com/luancarvalhomartins/PyAutoFEP/tree/master/docs/tutorial01
|
||||
ENV CPLUS_INCLUDE_PATH=/usr/include/openbabel3
|
||||
ENV LIBRARY_PATH=/usr/lib:/usr/local/lib:${LIBRARY_PATH}
|
||||
RUN <<EOT
|
||||
#!/bin/bash
|
||||
sudo apt-get update
|
||||
sudo apt-get install openbabel libopenbabel-dev -y
|
||||
sudo apt-get install swig -y
|
||||
sudo ln -s /usr/include/openbabel3 /usr/local/include/openbabel3
|
||||
/usr/bin/python3 -m pip install ipython rdkit "networkx>2.0,<3.0" alchemlyb==0.6.0 pymbar==3.0.5 openbabel>3.0.0 matplotlib numpy biopython mdanalysis pytest packaging
|
||||
# or openbabel use 2.4.1
|
||||
git clone https://github.com/luancarvalhomartins/PyAutoFEP.git
|
||||
EOT
|
||||
|
||||
COPY file/Amber24.tar.bz2 file/AmberTools24.tar.bz2 /root
|
||||
COPY file/l_HPCKit_p_2024.2.1.79_offline.sh file/l_onemkl_p_2024.2.2.17_offline.sh /root
|
||||
COPY boost_1_86_0.tar.gz /root
|
||||
ENV DOWNLOAD_MINICONDA="False"
|
||||
# install ambertools
|
||||
RUN <<EOT
|
||||
#!/bin/bash
|
||||
python3 -m pip install numpy scipy matplotlib
|
||||
chmod +x l_HPCKit_p_2024.2.1.79_offline.sh
|
||||
./l_HPCKit_p_2024.2.1.79_offline.sh -a --silent --eula accept --install-dir /opt/intel
|
||||
chmod +x l_onemkl_p_2024.2.2.17_offline.sh
|
||||
./l_onemkl_p_2024.2.2.17_offline.sh -a --silent --eula accept --install-dir /opt/intel/onemkl
|
||||
# install Boost from https://www.boost.org/users/download/
|
||||
tar zxvf boost_1_86_0.tar.gz
|
||||
cd boost_1_86_0
|
||||
./bootstrap.sh --prefix=/opt/boost --with-libraries=all --with-toolset=gcc
|
||||
echo "using mpi : /usr/local/openmpi/bin/mpicxx ;" >> project-config.jam
|
||||
# echo "using mpi : /opt/intel/mpi/2021.13/bin/mpicxx ;" >> project-config.jam
|
||||
./b2 -j$(nproc) --layout=tagged link=static,shared threading=multi install
|
||||
# 解压 Amber24
|
||||
tar -xjf Amber24.tar.bz2
|
||||
# 解压 AmberTools24
|
||||
tar -xjf AmberTools24.tar.bz2
|
||||
# 清理解压后的 .tar.bz2 文件(可选)
|
||||
rm Amber24.tar.bz2 AmberTools24.tar.bz2
|
||||
# rm Amber24.tar.bz2 AmberTools24.tar.bz2
|
||||
EOT
|
||||
|
||||
RUN <<EOT
|
||||
|
||||
Reference in New Issue
Block a user