Skip to content
Snippets Groups Projects
gettingstarted.rst 3.05 KiB

Getting Started

Get and Run |project|

Either utilize :ref:`containers <container>` or start from source code:

  1. Fetch the source code from https://git.scicore.unibas.ch/schwede/ProMod3.git. Or directly pull it with git:

    $ git clone https://git.scicore.unibas.ch/schwede/ProMod3.git <DIR>
  2. Obtain all dependencies and compile |project| with cmake and make (see :ref:`here <building-promod>`).

  3. Ensure that you have a stage/bin folder which includes a pm executable. For convenience, add the folder to your PATH env. variable.

  4. You can now execute |project| by running the following in your terminal:

$ pm <COMMAND>

Here <COMMAND> can be:

  • a predefined "action" (see :ref:`here <promod-actions>`)

  • the path to a python script, such as the following example:

    The execution of this script should generate a test.pdb file, which you can visualize with any pdb reader (e.g. dng from |ost_s|).

Modelling pipeline

|project| is meant to help you perform operations for protein homology modelling. Commonly, your input is a template structure and an alignment of the template to the desired target sequence. The modelling steps then are:

  • Build a raw model from a template by copying the part of the template which is conserved
  • Perform loop modelling to close all gaps (see :mod:`~promod3.loop` module)
  • Reconstruct sidechains (using :mod:`~promod3.sidechain` module)
  • Minimize energy of final model using molecular mechanics (using :mod:`ost.mol.mm` from |ost_s|)

Since a good amount of time is spent in OpenMM routines to minimize energy, we try to use the fast and multi-threaded "CPU" platform of OpenMM (should be included and working on any hardware supported by OpenMM). If the platform is not available, we use the slower "Reference" platform. For the "CPU" platform, multiple CPU threads can be used by setting the env. variable PM3_OPENMM_CPU_THREADS to the number of desired threads. If the variable is not set, 1 thread will be used by default.