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