Skip to content
Open
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
121 changes: 62 additions & 59 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,38 +10,79 @@ neural network (GNN) that predicts an association to a target molecule, e.g., a
DeepFPlearn<sup>+</sup> is an extension of deepFPlearn[[2]](#2), which uses binary fingerprints to represent the
molecule's structure computationally.

## Setting up Python environment
## Installation

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

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

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

In the following, you find details for option 1., 3., and 4.
### Bioconda

The package is also available on Bioconda. You can find the Bioconda recipe here and
[![install with bioconda](http://bioconda.github.io/recipes/deepfplearn/README.html)]

First create an environment with Python 3.8:

```shell
conda create -n dfpl python=3.8
conda activate dfpl
```

Then install the package:

```shell
conda install -c bioconda deepfplearn
```

### Set up DFPL in a python virtual environment

From within the `deepFPlearn` directory call

```
virtualenv -p python3 ENV_PATH
. ENV_PATH/bin/activate
pip install ./
```

replace `ENV_PATH` by the directory where the python virtual environment should be created.
If your system has only python3 installed `-p python3` may be removed.

In order to use the environment, it needs to be activated with `. ENV_PATH/bin/activate`.

### Docker container

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

In order to run DFPL pull the image using the following command line:

In order to run DFPL use the following command line
```shell
docker pull quay.io/biocontainers/deepfplearn:TAG
```
Then mount the directory containing the data you want to process and run the container with the following command:

```shell
docker run --gpus GPU_REQUEST registry.hzdr.de/department-computational-biology/deepfplearn/deepfplearn:TAG dfpl DFPL_ARGS
docker run -v /path/to/local/repo quay.io/biocontainers/deepfplearn:TAG dfpl DFPL_ARGS
```
And then you can run the container with the following command:

```shell
docker run --gpus GPU_REQUEST quay.io/biocontainers/deepfplearn:TAG dfpl DFPL_ARGS
```

where you replace

- `TAG` by the version you want to use or `latest` if you want to use latest available version)
- You can see available tags
here https://gitlab.hzdr.de/department-computational-biology/deepfplearn/container_registry/5827.
- `TAG` by the version you want to use
- You can see available tags in [biocontainers](https://biocontainers.pro/tools/deepfplearn).
In general a container should be available for each released version of DFPL.
- `GPU_REQUEST` by the GPUs you want to use or `all` if all GPUs should be used (remove `--gpus GPU_REQUEST` if only the
CPU should)
Expand All @@ -50,21 +91,22 @@ where you replace
In order to get an interactive bash shell in the container use:

```shell
docker run -it --gpus GPU_REQUEST registry.hzdr.de/department-computational-biology/deepfplearn/deepfplearn:TAG bash
docker run -it --gpus GPU_REQUEST quay.io/biocontainers/deepfplearn:TAG bash
```


### Singularity container

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

```shell
singularity pull dfpl.TAG.sif docker://registry.hzdr.de/department-computational-biology/deepfplearn/deepfplearn:TAG
singularity pull dfpl.TAG.sif docker://quay.io/biocontainers/deepfplearn:TAG
```

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

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

Expand All @@ -78,10 +120,6 @@ singularity run --nv dfpl.TAG.sif dfpl DFPL_ARGS
or you can start a shell script (look at [run-all-cases.sh](scripts/run-all-cases.sh) for an
example)

```shell script
singularity run --nv dfpl.sif ". ./example/run-multiple-cases.sh"
```

It's also possible to get an interactive shell into the container

```shell script
Expand All @@ -90,47 +128,12 @@ singularity shell --nv dfpl.TAG.sif

**Note:** The Singularity container is intended to be used on HPC cluster where your ability to install software might
be limited.
For local testing or development, setting up the conda environment is preferable.

### Set up DFPL in a python virtual environment

From within the `deepFPlearn` directory call

```
virtualenv -p python3 ENV_PATH
. ENV_PATH/bin/activate
pip install ./
```

replace `ENV_PATH` by the directory where the python virtual environment should be created.
If your system has only python3 installed `-p python3` may be removed.

In order to use the environment it needs to be activated with `. ENV_PATH/bin/activate`.

### Set up DFPL in a conda environment

To use this tool in a conda environment:

1. Create the conda env from scratch

From within the `deepFPlearn` directory, you can create the conda environment with the provided yaml file that
contains all information and necessary packages
For local testing or development, setting up the bioconda environment is preferable.

```shell
conda env create -f environment.yml
```

2. Activate the `dfpl_env` environment with

```shell
conda activate dfpl_env
```

3. Install the local `dfpl` package by calling

```shell
pip install --no-deps ./
```

## Prepare data

Expand Down
23 changes: 0 additions & 23 deletions environment.yml

This file was deleted.