You are reading the documentation for version 1.3 of ProMod3. You may also want to read the documentation for: 2.0 2.1 3.0 3.1 3.2

Singularity

We do not provide a “standalone” Singularity image, but rather bootstrap from a Docker image.

Build Singularity Image

If you built the Docker image locally you can use it as a starting point. For this we have to fire up a local Docker registry and pull from there. Let’s assume you built the Docker image with tag promod.

Fire the local Registry and push the promod image to it:

sudo docker run -d -p 5000:5000 --restart=always --name registry registry:2
sudo docker tag promod localhost:5000/promod
sudo docker push localhost:5000/promod

Make sure, that on top of your Singularity recipe you have something like:

BootStrap: docker
Registry: http://localhost:5000
Namespace:
From: promod:latest

and build the image with:

sudo SINGULARITY_NOHTTPS=1 singularity build promod.img Singularity

Run scripts and actions with OST/PM

The created container can run the ost, pm or chemdict_tool executables. For convenience, a jupyter notebook playground with OST, ProMod3 and nglview is available.

To run ost, pm or chemdict_tool executables, use the exec command. E.g. to run scripts with pm:

singularity exec <IMAGE> pm my_script.py [options]

The jupyter notebook is setup as an app in the container. To get help on how to run it:

singularity run --app Notebook <IMAGE> --help

The Compound Library

You’ll have the exact same problem with outdated compound libraries as in the raw Docker image. You can find more information on that matter in the Docker section of the documentation: The Compound Library.

The same trick of mounting an up to date compound library from the local host into the container applies. The two relevant commands for Singularity are building a new library and mount it.

Build a new library:

singularity exec <IMAGE_NAME> chemdict_tool create components.cif.gz \
            compounds.chemlib

Run some script with an updated compound library from localhost:

singularity exec -B <COMPLIB_DIR_LOCALHOST>:<COMPLIB_DIR_CONTAINER> <IMAGE_NAME> \
            pm my_script.py

Same as for the Docker, if you didn’t meddle with the original Dockerfile, <COMPLIB_DIR_CONTAINER> should be /usr/local/share/ost_complib. <COMPLIB_DIR_LOCALHOST> is the directory that contains the compound lib with the name compounds.chemlib that you created before. Make sure that everything works as expected by executing the exact same lines of Python code as described in the Docker documentation: The Compound Library.

Contents

Search

Enter search terms or a module, class or function name.

Previous topic

Docker

Next topic

modelling - Protein Modelling

You are here