PhiPsi_restraints (CNS; backbone torsion angle).

Section author: Michael S. Chapman <chapmanms@missouri.edu>

Module author: Michael S. Chapman <chapmanms@missouri.edu>

Authors:

Michael S. Chapman <chapmanms@missouri.edu>,

Oregon Health & Science University and University of Missouri

Version:

1, Nov 26, 2024

usage:

phipsi_restraints.py [-h] -t <phi_min, phi_max, psi_min, psi_max> -n <name> [-t <phi_min, phi_max, psi_min, psi_max> -n <name> …] -g <phi_min, phi_max, psi_min, psi_max> -N <name> [-g <phi_min, phi_max, psi_min, psi_max> -N <name> …] [-G ] <input-pdb-file> <output-file>

where <output-file> is a CNS additional restraints file that can be edited.

Synopsis

Generates a text file of CNS supplementary retraints to penalize variation of backbone torsion angles outside user-defined (φ, ψ) regions of a Ramachandran plot.

CNS’ restraints were designed to penalize deviations from a known homologous structure, and is adapted here to drive generally to favored (φ, ψ) angles. This is done by restraining not towards a single angle, but towards the (φ, ψ) angles of the closest favored area of the Ramachandran plot. There is no longer a need for a target homologous structure: one can use the (φ, ψ) targets at the centers of the favored Ramachandran regions closest to the current structure. By using a flat bottom potential well, it is possible to allow equally any (φ, ψ) that is within the limits of the favored area, penalizing only deviations that take a residue outside the boundaries of a favored area.

Usage

Using command-line arguments, the user defines square regions on the Ramachandran plot that are allowable. These might correspond to the α and β regions that are commonly marked as favorable on a Ramachandran plot. Non-square areas are supported by the user supplying multiple overlapping boxes, with residues allowed to have (φ, ψ) in any of the boxes (logical OR).

Optionally, the user can provide separate box definitions for glycine residues, and dictate whether these are to be expanded centrosymmetrically to account for the increased (φ, ψ) combinations allowed. (Distinctions between other types of residues are not supported.)

The output text file can be read as commands of supplementary restraints by a CNS job. Typically, one would want to edit the top of the file to adjust the weighting.

Command-line options
====================

The most up-to-date documentation is generated from :command:`cns.phipsi_restraints.py -h`:

Command: /trihome/chapmanms/Devel/RSRef/FTatom/pasto/cns/phipsi_restraints.py -h (Mon Nov 25 19:06:48 2024)

usage: phipsi_restraints.py [-h] [--segid SEGID] [--name NAME] [--target TARGET TARGET TARGET TARGET]

[--glycine GLYCINE GLYCINE GLYCINE GLYCINE] [--Name NAME] [--Glycine]
                            PDB_FILE [RESTRAINTS_FILE]

For each residue, determines which target area is closest (to boundary), then writes a restraint that CNS will impose as a flat-
bottom well within the target area.

positional arguments:
  PDB_FILE              Input coordinates.
  RESTRAINTS_FILE       Output phi-psi restraints for CNS.

options:
  -h, --help            show this help message and exit
  --segid SEGID, -S SEGID
                        Segid (chain) 4-character [ ]
  --name NAME, -n NAME  Name for each non-Gly target, repeated each target.
  --target TARGET TARGET TARGET TARGET, -t TARGET TARGET TARGET TARGET
                        non-Gly: phi_min, phi_max, psi_min, psi_max [None] option repeatable.
  --glycine GLYCINE GLYCINE GLYCINE GLYCINE, -g GLYCINE GLYCINE GLYCINE GLYCINE
                        Gly: phi_min, phi_max, psi_min, psi_max [None] option repeatable.
  --Name NAME, -N NAME  Name for each explicit Gly target, repeated each target.
  --Glycine, -G         Gly: implicit: add inverted general targets [False]

Known issues: Target regions approximated as squares. Determination of nearest target is somewhat simplistic.

Example

The following bash script will restrain to an approximation of the favored areas of a Ramachandran plot, giving glycines more freedom:

#!/bin/bash
python -u /data/chapman/eclipse/FTatom/src/cns/phipsi_restraints.py \\
   -n alpha -t -110 -60 -50 30 \\
   -n beta -t -150 -60 70 -170 \\
   -n left_helix -t 40 60 20 50 -G \\
   namd_11_to_519.pdb namd_11_to_519_phipsi.cns

History

Changed in version 0.1: 08/19/11

Changed in version 0.2: 11/25/12 Use PDB file directly instead of MoleMan phipsi output.

Changed in version 0.5: 05/20/2015 ReStructuredText docs

Changed in version 1.0.0: 11/19/20 Python 2.7 –> 3.6 incl. optparse –> argparse