Skip to content

Commit 131f107

Browse files
update README
extracted from yigbt#39 (yigbt@561a213)
1 parent 75e7e9e commit 131f107

File tree

1 file changed

+69
-71
lines changed

1 file changed

+69
-71
lines changed

README.md

Lines changed: 69 additions & 71 deletions
Original file line numberDiff line numberDiff line change
@@ -10,127 +10,125 @@ neural network (GNN) that predicts an association to a target molecule, e.g., a
1010
DeepFPlearn<sup>+</sup> is an extension of deepFPlearn[[2]](#2), which uses binary fingerprints to represent the
1111
molecule's structure computationally.
1212

13-
## Setting up Python environment
13+
## Installation
1414

1515
The DFPL package requires a particular Python environment to work properly.
1616
It consists of a recent Python interpreter and packages for data-science and neural networks.
17-
The exact dependencies can be found in the
18-
[`requirements.txt`](requirements.txt) (which is used when installing the package with pip)
19-
and [`environment.yml`](environment.yml) (for installation with conda).
2017

2118
You have several ways to provide the correct environment to run code from the DFPL package.
2219

23-
1. Use the automatically built docker/Singularity containers
24-
2. Build your own container [following the steps here](container/README.md)
25-
3. Setup a python virtual environment
26-
4. Set up a conda environment install the requirements via conda and the DFPL package via pip
20+
1. Use conda (bioconda) to install the package
21+
2. Set up a Python virtual environment
22+
3. Use the automatically built Docker
23+
4. Use the automatically built Singularity containers
2724

28-
In the following, you find details for option 1., 3., and 4.
25+
### Conda (bioconda)
26+
27+
The package is also available on Bioconda. You can find the Bioconda recipe here and
28+
[![install with bioconda](http://bioconda.github.io/recipes/deepfplearn/README.html)]
29+
30+
First create an environment with the following command:
31+
32+
```shell
33+
conda create --override-channels --channel conda-forge --channel bioconda -n dfpl python3.8 deepfplearn
34+
```
35+
36+
If you have a GPU available you can install the package with additional tensorflow-gpu package:
37+
38+
```shell
39+
conda create --override-channels --channel conda-forge --channel bioconda -n dfpl python3.8 deepfplearn tensorflow-gpu==2.9.3
40+
```
41+
42+
Then activate the environment:
43+
44+
```shell
45+
conda activate dfpl
46+
```
47+
48+
### Set up DFPL in a python virtual environment
49+
50+
From within the `deepFPlearn` directory call
51+
52+
```
53+
virtualenv -p python3 ENV_PATH
54+
. ENV_PATH/bin/activate
55+
pip install ./
56+
```
57+
58+
replace `ENV_PATH` by the directory where the python virtual environment should be created.
59+
If your system has only python3 installed `-p python3` may be removed.
60+
61+
In order to use the environment, it needs to be activated with `. ENV_PATH/bin/activate`.
2962

3063
### Docker container
3164

32-
You need docker installed on you machine.
65+
You need docker installed on your machine. If you don't have it installed yet, you can find the installation
66+
instructions [here](https://docs.docker.com/engine/install/).
3367

34-
In order to run DFPL use the following command line
68+
In order to run DFPL pull the image using the following command line:
3569

3670
```shell
37-
docker run --gpus GPU_REQUEST registry.hzdr.de/department-computational-biology/deepfplearn/deepfplearn:TAG dfpl DFPL_ARGS
71+
docker pull quay.io/biocontainers/deepfplearn:TAG
72+
```
73+
Then mount the directory containing the data you want to process and run the container with the following command:
74+
75+
```shell
76+
docker run -v /path/to/local/repo quay.io/biocontainers/deepfplearn:TAG dfpl DFPL_ARGS
77+
```
78+
And then you can run the container with the following command:
79+
80+
```shell
81+
docker run quay.io/biocontainers/deepfplearn:TAG dfpl DFPL_ARGS
3882
```
3983

4084
where you replace
4185

42-
- `TAG` by the version you want to use or `latest` if you want to use latest available version)
43-
- You can see available tags
44-
here https://gitlab.hzdr.de/department-computational-biology/deepfplearn/container_registry/5827.
86+
- `TAG` by the version you want to use
87+
- You can see available tags in [biocontainers](https://biocontainers.pro/tools/deepfplearn).
4588
In general a container should be available for each released version of DFPL.
46-
- `GPU_REQUEST` by the GPUs you want to use or `all` if all GPUs should be used (remove `--gpus GPU_REQUEST` if only the
47-
CPU should)
4889
- `DFPL_ARGS` by arguments that should be passed to DFPL (use `--help` to see available options)
4990

5091
In order to get an interactive bash shell in the container use:
5192

5293
```shell
53-
docker run -it --gpus GPU_REQUEST registry.hzdr.de/department-computational-biology/deepfplearn/deepfplearn:TAG bash
94+
docker run -it quay.io/biocontainers/deepfplearn:TAG bash
5495
```
5596

97+
5698
### Singularity container
5799

58-
You need Singularity installed on your machine. You can download a container with
100+
You need Singularity installed on your machine. You can find the installation instructions
101+
[here](https://apptainer.org/user-docs/master/quick_start.html).
59102

60103
```shell
61-
singularity pull dfpl.TAG.sif docker://registry.hzdr.de/department-computational-biology/deepfplearn/deepfplearn:TAG
104+
singularity pull dfpl.TAG.sif docker://quay.io/biocontainers/deepfplearn:TAG
62105
```
63106

64-
- replace `TAG` by the version you want to use or `latest` if you want to use latest available version)
107+
- replace `TAG` by the version you want to use
65108
- You can see available tags
66-
here https://gitlab.hzdr.de/department-computational-biology/deepfplearn/container_registry/5827.
67-
In general a container should be available for each released version of DFPL.
109+
[here](https://biocontainers.pro/tools/deepfplearn).
68110

69111
This stores the container as a file `dfpl.TAG.sif` which can be run as follows:
70112

71113
```shell script
72-
singularity run --nv dfpl.TAG.sif dfpl DFPL_ARGS
114+
singularity run dfpl.TAG.sif dfpl DFPL_ARGS
73115
```
74116

75117
- replace `DFPL_ARGS` by arguments that should be passed to DFPL (use `--help` to see available options)
76-
- omit the `--nv` tag if you don't want to use GPUs
77118

78119
or you can start a shell script (look at [run-all-cases.sh](scripts/run-all-cases.sh) for an
79120
example)
80121

81-
```shell script
82-
singularity run --nv dfpl.sif ". ./example/run-multiple-cases.sh"
83-
```
84-
85122
It's also possible to get an interactive shell into the container
86123

87124
```shell script
88-
singularity shell --nv dfpl.TAG.sif
125+
singularity shell dfpl.TAG.sif
89126
```
90127

91128
**Note:** The Singularity container is intended to be used on HPC cluster where your ability to install software might
92129
be limited.
93-
For local testing or development, setting up the conda environment is preferable.
94-
95-
### Set up DFPL in a python virtual environment
96-
97-
From within the `deepFPlearn` directory call
98-
99-
```
100-
virtualenv -p python3 ENV_PATH
101-
. ENV_PATH/bin/activate
102-
pip install ./
103-
```
104-
105-
replace `ENV_PATH` by the directory where the python virtual environment should be created.
106-
If your system has only python3 installed `-p python3` may be removed.
107-
108-
In order to use the environment it needs to be activated with `. ENV_PATH/bin/activate`.
109-
110-
### Set up DFPL in a conda environment
111-
112-
To use this tool in a conda environment:
113-
114-
1. Create the conda env from scratch
115-
116-
From within the `deepFPlearn` directory, you can create the conda environment with the provided yaml file that
117-
contains all information and necessary packages
118-
119-
```shell
120-
conda env create -f environment.yml
121-
```
122-
123-
2. Activate the `dfpl_env` environment with
124-
125-
```shell
126-
conda activate dfpl_env
127-
```
128-
129-
3. Install the local `dfpl` package by calling
130+
For local testing or development, setting up the bioconda environment is preferable.
130131

131-
```shell
132-
pip install --no-deps ./
133-
```
134132

135133
## Prepare data
136134

@@ -325,7 +323,7 @@ memory on disk.
325323
<a id="1">[1]</a>
326324
Kyriakos Soulios, Patrick Scheibe, Matthias Bernt, Jörg Hackermüller, and Jana Schor.
327325
deepFPlearn<sup>+</sup>: Enhancing Toxicity Prediction Across the Chemical Universe Using Graph Neural Networks.
328-
Bioinformatics, Volume 39, Issue 12, December 2023, btad713, https://doi.org/10.1093/bioinformatics/btad713
326+
Submitted to a scientific journal, currently under review.
329327

330328
<a id="2">[2]</a>
331329
Jana Schor, Patrick Scheibe, Matthias Bernt, Wibke Busch, Chih Lai, and Jörg Hackermüller.

0 commit comments

Comments
 (0)