OST Singularity
Building Singularity image
In order to build OST Singularity image:
cd <OST ROOT>/singularity
sudo singularity build ost.img Singularity
Note
Running singularity build command requires root permissions (sudo).
One can chose any name for an image. For the purose of this file we will assume
that the image name is ost.img
.
Here we only keep the recipe for the most recent version of OpenStructure. To
build an image for a different version, edit the source line (From:
) in the
recipe or look in the git history for an older recipe.
Available apps
- This container includes the following apps:
-
- OST - OpenStructure binary
- IPython - OST-powered iPython shell
- Notebook - A Jupyter notebook playground with OST and nglview
- lDDT - The Local Distance Difference Test
- Molck - Molecular checker
- ChemdictTool - Creating or update a compound library
To see the help for each individual app run:
singularity run-help --app <APP NAME> <PATH TO OST IMAGE>
Eg.:
singularity run-help --app OST ost.img
Facilitating the usage
For each of these apps it is useful to create an alias if they will be frequently used. Eg. to create an alias for IPython app one can run:
alias ost_ipython="singularity run --app IPython <PATH TO OST IMAGE>"
Then (in the same terminal window) to invoke IPython app one can just type:
ost_ipython
To make the alias permanent put it into your .bashrc
file or whatever file
you use to store the aliases.
Actions
To see the list of available actions do:
singularity run --app OST ost.img -h
To run chosen action do:
singularity run --app OST ost.img <ACTION NAME>
Here is an example run of the compare-structures action:
singularity run --app OST ost.img compare-structures \
--model model.pdb \
--reference reference.cif \
--output scores.json \
--lddt \
--local-lddt
In order to see all available options for this action run:
singularity run --app OST ost.img compare-structures -h
CASP15 used lDDT for RNA scoring. lDDT runs stereochemistry checks by default,
removing sidechains if they have problematic stereochemistry. This gives lower
lDDT scores. The full residue is removed if the backbone has problematic
stereochemistry resulting in an lDDT score of 0.0 for that particular residue.
Stereochemistry checks for RNA were not yet available in CASP15. To reproduce
these results, use the --lddt-no-stereochecks
flag. This disables
stereochemistry checks for lDDT computation but stereochemical irregularities
are still reported in the output.
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: :ref:`docker_compound_lib`.
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 run --app ChemdictTool <IMAGE> create components.cif.gz \
compounds.chemlib
Run some script with an updated compound library from localhost:
singularity run \
-B <COMPLIB_DIR_LOCALHOST>/compounds.chemlib:/compounds.chemlib \
--env OST_COMPOUNDS_CHEMLIB=/compounds.chemlib \
--app PM <IMAGE> my_script.py
<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: :ref:`docker_compound_lib`.