Skip to content

Commit a66a9fd

Browse files
authored
Merge pull request #4 from colbyford/main
Add Docker Image
2 parents 86c593f + 5cfb1b8 commit a66a9fd

File tree

3 files changed

+115
-0
lines changed

3 files changed

+115
-0
lines changed

Dockerfile

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
FROM pytorch/pytorch:2.2.1-cuda11.8-cudnn8-runtime
2+
3+
LABEL authors="Colby T. Ford <[email protected]>"
4+
5+
## Install system requirements
6+
RUN apt update && \
7+
apt-get install -y --reinstall \
8+
ca-certificates && \
9+
apt install -y \
10+
git \
11+
wget \
12+
libxml2 \
13+
libgl-dev \
14+
libgl1 \
15+
gcc \
16+
g++
17+
18+
## Set working directory
19+
RUN mkdir -p /software/flowdock
20+
WORKDIR /software/flowdock
21+
22+
## Clone project
23+
RUN git clone https://github.com/BioinfoMachineLearning/FlowDock /software/flowdock
24+
25+
## Create conda environment
26+
# RUN conda env create -f environments/flowdock_environment.yaml
27+
COPY environments/flowdock_environment_docker.yaml /software/flowdock/environments/flowdock_environment_docker.yaml
28+
RUN conda env create -f environments/flowdock_environment_docker.yaml
29+
30+
## Automatically activate conda environment
31+
RUN echo "source activate flowdock" >> /etc/profile.d/conda.sh && \
32+
echo "source /opt/conda/etc/profile.d/conda.sh" >> ~/.bashrc && \
33+
echo "conda activate flowdock" >> ~/.bashrc
34+
35+
## Default shell and command
36+
SHELL ["/bin/bash", "-l", "-c"]
37+
CMD ["/bin/bash"]

README.md

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@ This is the official codebase of the paper
4242
- [How to create comparative plots of evaluation results](#how-to-create-comparative-plots-of-evaluation-results)
4343
- [How to predict new protein-ligand complex structures and their affinities using FlowDock](#how-to-predict-new-protein-ligand-complex-structures-using-flowdock)
4444
- [For developers](#for-developers)
45+
- [Docker](#docker)
4546
- [Acknowledgements](#acknowledgements)
4647
- [License](#license)
4748
- [Citing this work](#citing-this-work)
@@ -384,6 +385,33 @@ rm env.yaml # clean up temporary environment file
384385

385386
</details>
386387

388+
## Docker
389+
390+
<details>
391+
392+
Given that this tool has a number of dependencies, it may be easier to run it in a Docker container.
393+
394+
Pull from [Docker Hub](https://hub.docker.com/repository/docker/cford38/flowdock): `docker pull cford38/flowdock:latest`
395+
396+
397+
398+
Alternatively, build the Docker image locally:
399+
400+
```bash
401+
docker build --platform linux/amd64 -t flowdock .
402+
```
403+
404+
Then, run the Docker container (and mount your local `checkpoints/` directory)
405+
406+
```bash
407+
docker run --gpus all -v ./checkpoints:/software/flowdock/checkpoints --rm --name flowdock -it flowdock /bin/bash
408+
409+
# docker run --gpus all -v ./checkpoints:/software/flowdock/checkpoints --rm --name flowdock -it cford38/flowdock:latest /bin/bash
410+
```
411+
412+
</details>
413+
414+
387415
## Acknowledgements
388416

389417
`FlowDock` builds upon the source code and data from the following projects:
Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
name: flowdock
2+
channels:
3+
- pyg
4+
- iopath
5+
- pytorch
6+
- nvidia
7+
- defaults
8+
- conda-forge
9+
dependencies:
10+
- hydra-core=1.3.2=pyhd8ed1ab_0
11+
- mendeleev=0.15.0=pyhc1e730c_0
12+
- msgpack-python=1.0.3=py39hd09550d_0
13+
- networkx=3.1=py39h06a4308_0
14+
- omegaconf=2.3.0=pyhd8ed1ab_0
15+
- pandas=2.1.4=py39h1128e8f_0
16+
- python=3.9.17=h0755675_0_cpython
17+
- pytorch=2.2.1=py3.9_cuda11.8_cudnn8.7.0_0
18+
- pytorch-cuda=11.8=h7e8668a_5
19+
- pytorch-mutex=1.0=cuda
20+
- pytorch-scatter=2.1.2=py39_torch_2.2.0_cu118
21+
- rdkit=2024.03.1=py39h6cc1c65_0
22+
- rich=13.3.5=py39h06a4308_0
23+
- scikit-learn=1.4.1.post1=py39ha22ef79_0
24+
- scipy=1.12.0=py39h474f0d3_2
25+
- torchaudio=2.2.1=py39_cu118
26+
- torchtriton=2.2.0=py39
27+
- torchvision=0.17.1=py39_cu118
28+
- tqdm=4.66.1=pyhd8ed1ab_0
29+
- pip:
30+
- beartype==0.17.2
31+
- biopandas==0.4.1
32+
- biopython>=1.79
33+
- dm-tree==0.1.8
34+
- einops==0.7.0
35+
- fair-esm==2.0.0
36+
- hydra-colorlog==1.2.0
37+
- lightning==2.2.2
38+
- lightning-utilities==0.11.1
39+
- lovely-numpy==0.2.11
40+
- lovely-tensors==0.1.15
41+
- ml-collections==0.1.1
42+
- msgpack-numpy==0.4.8
43+
- numpy==1.23.5
44+
- git+https://github.com/amorehead/openfold.git@fe1275099639bf7e617e09ef24d6af778647dd64
45+
- prody==2.4.1
46+
- pytorch-lightning==2.2.2
47+
- git+https://github.com/facebookresearch/pytorch3d.git@3da7703c5ac10039645966deddffe8db52eab8c5
48+
- rootutils==1.0.7
49+
- torchmetrics==1.3.1
50+
- wandb==0.17.0

0 commit comments

Comments
 (0)