salilab / IHMValidation

Validation software for integrative models deposited to PDB
MIT License
2 stars 2 forks source link

Validation pipeline for integrative and hybrid models

Project objective

List of files and directories:

List of classes:

Test site

Docker image

Rather than installing and configuring all dependencies (below), you can build a Docker (or podman) container by

  1. Downloading the ATSAS CentOS 7 RPM and placing it in the docker subdirectory (this cannot be redistributed by us; you must sign up at their web site for an academic license).
  2. Building the image with docker build -t ihm-validation docker

The resulting image has all dependencies in the default PATH and this repository available in the /IHMValidation directory; no further configuration should be necessary.

Initial setup

This initial setup is performed once.

Create and activate a Python3.8 virtual environment.

$ python3 -m venv .venv
$ source .venv/bin/activate

$ pip3 install -r dependencies.txt

Install the following packages based on your OS.

Create a local environment file and add the relevant variables.

$ touch .env
$ nano/vi .env

The variables to add to the .env file can be seen below (fill in the quotations with paths to the relevant values).

ATSAS="" 
Molprobity_ramalyze=""
Molprobity_molprobity=""
Molprobity_clashscore=""
Molprobity_rotalyze=""
wkhtmltopdf=""

Few pointers:

  1. ATSAS variable should contain the path to datcmp functionality, example : ATSAS-3.0.3-1/bin/datcmp

  2. Molprobity variables should point to respective functionalities, example : build/bin/molprobity.ramalyze

  3. wkhtmltopdf variable should point to the binary

Common errors in the installation process

  1. One common error, depending on your OS and webdriver is from bokeh/selenium. This error is usually displayed as:

This error originates from converting htmls to svgs. Please install/update your webdriver. You can do this by adding pre-installed binaries to path variable or install packages using the suggested conda command.

To add pre-installed binaries (firefox and geckodriver), find the path of the binaries. Please try using conda first, add paths to binaries only if you are unable to use conda. You can do that in two steps:

  1. Another potential error could arise from having another env variable file or not having the file in the same directory. This error is displayed as:

A solution to this error is using Autoconfig of decouple library to add the path to your .env file. See this stackoverflow post for specific details.

  1. An error could arise from not being able to access the executable, even though the path is found. This error can occur with the ATSAS package and is displayed as:

A solution to this is to open your .venv/bin/activate file and add in the above six variables at the top as 6 lines of code using the format export KEY=VALUE. See this stackoverflow post for specific details.

Running an example

After the initial setup, you can start executing the scripts to generate validation reports. Here are the steps:

The input to the Execute.py script is a PDBDEV file in cif format. The output includes directories and files that are listed below:

Here's the description of all the directories:

Transferring files to the server

The Validation folder that is generated needs to be transferred to the server. If individual entries are being evaluated, move/copy the entry directory from the local validation directory into the server's validation directory.

Information

Author(s): Sai J. Ganesan