diff --git a/CMakeLists.txt b/CMakeLists.txt index da8bb9c07615284ec647fa908fadea3a334cf491..6106690896aad5c6e2612c42f4f39d896cf72c3a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -34,8 +34,8 @@ endif() project(OpenStructure CXX C) set (CMAKE_EXPORT_COMPILE_COMMANDS 1) set (OST_VERSION_MAJOR 2) -set (OST_VERSION_MINOR 9) -set (OST_VERSION_PATCH 3) +set (OST_VERSION_MINOR 10) +set (OST_VERSION_PATCH 0) set (OST_VERSION_STRING ${OST_VERSION_MAJOR}.${OST_VERSION_MINOR}.${OST_VERSION_PATCH} ) set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${PROJECT_SOURCE_DIR}/cmake_support) include(OST) diff --git a/README.md b/README.md index 18c02400450f4d22123cb554e9cb9085d5b79bc0..7cec77866605fa9affc5765b35805892714b78bf 100644 --- a/README.md +++ b/README.md @@ -21,20 +21,59 @@ making deployment easier. Deploying a docker image just needs a docker pull which typically finishes in about a minute depending on your local hardware and internet connection. Singularity containers bootstrap from the docker container but must be built -by the user. Detailed instructions can be found here: +by the user. -* Docker: [OpenStructure Docker Instructions](https://git.scicore.unibas.ch/schwede/openstructure/tree/master/docker) -* Singularity: [OpenStructure Singularity Instructions](https://git.scicore.unibas.ch/schwede/openstructure/tree/master/singularity) +### Docker + +For complete documentation on using Docker with OpenStructure, +[click here](https://git.scicore.unibas.ch/schwede/openstructure/tree/master/docker). +This section provides a quick-start guide to help you get OpenStructure up and running using Docker. +Most docker installations require you to add `sudo` in front of the docker commands. + +Get the latest Docker image from the OpenStructure registry: + +``` +docker pull registry.scicore.unibas.ch/schwede/openstructure:latest +``` + +And run a test script: + +``` +echo print\(\"Hello OST\"\) > test.py +docker run --rm -v $(pwd):/home registry.scicore.unibas.ch/schwede/openstructure:latest test.py +``` +### Singularity + +For complete documentation on using Singularity with OpenStructure, +[click here](https://git.scicore.unibas.ch/schwede/openstructure/tree/master/singularity). +This section provides a quick-start guide to help you get OpenStructure up and running using Singularity. + +Building the singularity container requires root permissions: + +``` +wget https://git.scicore.unibas.ch/schwede/openstructure/-/raw/master/singularity/Singularity +sudo singularity build ost.img Singularity +``` + +And run a test script: + +``` +echo print\(\"Hello OST\"\) > test.py +singularity run --app OST ost.img test.py +``` + +### Build from source OpenStructure is developed and tested across various Linux distributions. -You can find detailed build instructions and a list of required dependencies here: -https://openstructure.org/docs/install/ +You can find [detailed build instructions and a list of required dependencies +in the online documentation](https://openstructure.org/docs/install/). ## Getting started -The installation and container instructions will help you set up -OpenStructure for scripting. Additionally, here are some advanced -use cases worth highlighting. +Once you have OpenStructure installed, check out the [online +documentation](https://openstructure.org/docs/). + +Additionally, here are some advanced use cases worth highlighting. ### Benchmarking and Scoring diff --git a/docker/Dockerfile b/docker/Dockerfile index 3194e284154cc2045d367d9b3480fc274a633010..1f6d84843b46a34875dee8224f01785568c0bed7 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -2,7 +2,7 @@ FROM ubuntu:22.04 # ARGUMENTS ########### -ARG OPENSTRUCTURE_VERSION="2.9.2" +ARG OPENSTRUCTURE_VERSION="2.10.0" ARG SRC_FOLDER="/usr/local/src" ARG CPUS_FOR_MAKE=2 diff --git a/examples/scoring/README.md b/examples/scoring/README.md index 6b00192a7dcb06abc73d552727d5a7e5d952249a..2cd4098af8c8756aa90f5e3c194a636464f33461 100644 --- a/examples/scoring/README.md +++ b/examples/scoring/README.md @@ -8,21 +8,32 @@ OpenStructure provides "actions" for general benchmarking use cases. * **compare-ligand-structures**: Focuses on comparisons of interactions between polymer entities and non-polymer entities, i.e. small molecule ligands +# Before doing any scoring +Pull example data from the repository: + +``` +wget https://git.scicore.unibas.ch/schwede/openstructure/-/archive/master/openstructure-master.zip?path=examples/scoring -O example.zip +unzip -j example.zip +``` + +# Run the examples + The example commands here assume an OpenStructure installation -(compile instructions: https://openstructure.org/docs/install/). +([compile instructions](https://openstructure.org/docs/install/)). Running the computations in containers provide a considerably easier setup than compiling OpenStructure from source. Instructions for setup and running -equivalent computations are available for +equivalent computations are available below for * [Docker](#docker) * [Singularity](#singularity) A detailed list of options can be found in the [action documentation](https://openstructure.org/docs/actions/). -Alternatively, the command +Alternatively, the commands ``` -ost <ACTION> -h +ost compare-structures -h +ost compare-ligand-structures -h ``` will list all available options of the respective action. Both actions compute @@ -34,9 +45,11 @@ default output (out.json): ost compare-structures -m model.pdb -r reference.cif.gz --lddt --local-lddt --qs-score ``` -Results should be computed within seconds and example output can be found -[here](compare-structures_example_out.json). We refer to the action -documentation for in-depth description of the provided data items. +Results should be computed within seconds and saved in the `out.json` file +([see example output](compare-structures_example_out.json)). We refer to the +[action documentation](https://openstructure.org/docs/actions/) for in-depth +description of the provided data items and description of optional flags that +compute additional scores. By default, model-reference chains are aligned using Needleman-Wunsch. Many benchmarking efforts such as CASP and CAMEO assume residue numbers @@ -55,9 +68,10 @@ We can compute LDDT-PLI and BiSyRMSD with: ost compare-ligand-structures -m model.pdb -r reference.cif.gz -ml *.sdf --rmsd --lddt-pli ``` -Results should be computed within seconds and example output can be found -[here](compare-ligand-structures_example_out.json). We refer to the action -documentation for in-depth description of the provided data items. +Results should be computed within seconds and saved in the `out.json` file +([See example output ](compare-ligand-structures_example_out.json)). We refer +to the action documentation for in-depth description of the provided data +items. Again, it is advised to use the `-rna` flag if applicable. In this example, reference ligands are directly extracted from the provided mmCIF file based on @@ -66,8 +80,9 @@ This only works in case of mmCIF input AND if the respective ligand is in the PDB component dictionary which defines connectivity (matching based on compound name). Container solutions come with such a dictionary which has been created at build -time. Check the Docker/Singularity instructions linked above on how to set the -latest dictionary, i.e. "Compound Library". +time. Check the detailed +[Docker](https://git.scicore.unibas.ch/schwede/openstructure/tree/master/docker)/[Singularity](https://git.scicore.unibas.ch/schwede/openstructure/tree/master/singularity) +instructions on how to set the latest dictionary, i.e. "Compound Library". You can override automatic extraction by providing SDF files with ligand coordinates and connectivity information. If the receptor is provided in PDB format, ligands must be provided in SDF format. @@ -77,18 +92,17 @@ PDB format, ligands must be provided in SDF format. For complete documentation on using Docker with OpenStructure, [click here](https://git.scicore.unibas.ch/schwede/openstructure/tree/master/docker). This section provides a quick-start guide to help you get up and running with scoring using Docker. -Most docker installations require you to add `sudo` in front of the following commands. Get the latest Docker image from the OpenStructure registry: ``` -docker pull registry.scicore.unibas.ch/schwede/openstructure:latest +sudo docker pull registry.scicore.unibas.ch/schwede/openstructure:latest ``` run one of the scoring examples, other examples need to be adapted accordingly: ``` -docker run --rm -v $(pwd):/home registry.scicore.unibas.ch/schwede/openstructure:latest compare-structures -m model.pdb -r reference.cif.gz --lddt --local-lddt --qs-score +sudo docker run --rm -v $(pwd):/home registry.scicore.unibas.ch/schwede/openstructure:latest compare-structures -m model.pdb -r reference.cif.gz --lddt --local-lddt --qs-score ``` # Singularity @@ -100,7 +114,7 @@ This section provides a quick-start guide to help you get up and running with sc Building the singularity container requires root permissions: ``` -cd <OST_ROOT>/singularity +wget https://git.scicore.unibas.ch/schwede/openstructure/-/raw/master/singularity/Singularity sudo singularity build ost.img Singularity ``` @@ -109,5 +123,3 @@ run one of the scoring examples, other examples need to be adapted accordingly: ``` singularity run --app OST ost.img compare-structures -m model.pdb -r reference.cif.gz --lddt --local-lddt --qs-score ``` - - diff --git a/singularity/Singularity b/singularity/Singularity index 16952c6347c17cec62f43ea5707d9b43f59c66a8..47f8d5467a940ffc6648f120a60055213db8811a 100644 --- a/singularity/Singularity +++ b/singularity/Singularity @@ -1,5 +1,5 @@ BootStrap: docker -From: registry.scicore.unibas.ch/schwede/openstructure:2.9.2 +From: registry.scicore.unibas.ch/schwede/openstructure:2.10.0 %post ############################################################################## # POST