Navigation mit Access Keys

Main Content

Main Content

Modtrafo documentation


collection of various interactive jiffy programs for

  • PDB coordinate manipulations
  • generation/analysis of transformations


The various data control lines are identified by keywords. Keywords can be abbreviated as long as they are unambiguous.

GOPerform the action.
EXITLeave the program.
QUITLeave the program.

INPUT <file_name>Define input coordinate (PDB) file.
2INPUT <file_name>Define 2nd input coordinate (PDB) file.
Needed for FIT.
OUTPUT <file_name>Name for output coordinate (PDB) file.

RANGE <start-residue>  <end-residue>
Select residue range.
Select C-alpha atoms.
Deselect hydrogen atoms.

Modtrafo can generate rotation matrices (GETMAT level) by specifying polar or eulerian angles or the direction cosines plus rotation angle. The translational part of the transformation can be specified either directly (SHIFT) or by giving the coordinates of a point an the axis (GETMAT>POINT) [Examples]. Any transformation generated in this way (or read in from a file (READ)) will be pre-multiplied to the current transformation to yield a new current transformation. Transformations can be analyzed with respect to their rotational part and screw component (ANALYZE).

READ <file_name> <flag> Read a transformation from <file_name>. <Flag> indicates the optional format:
    P:      PDB MTRIX-format
    O:      O-format
    I:      invert transformation
GO Apply current transformation to INPUT file.
WRITE <file_name> <flag> Write a transformation into <file_name>. <Flag> indicates the optional format:
    C:      CCP4(PDBSET)-format
    O:      O-format
    X:      Xplor format
GETMAT Define a rotation matrix.
      POLAR <omega, phi, kappa>
      EULER <alpha, beta, gamma>
      DIRE <x, y, z, kappa>
SHIFT <x,y,z> Translation vector of transformation.
POINT <x,y,z> Modify translation component of current transformation such that rotation axis passes through point. NOTE: This works only for pure rotations!
SCALE <scal> Scale current rotation matrix
ANALYZE Analyze current transformation.
TRANSFORM <x,y,z> Transform vector by current transformation.
ROTAXIS <lambda1, lambda2> Write out a coordinate file which contains 2 points of the current rotation axis.
GEOM <residue_name> Invokes calculation of bond distances and angles within the specified residue.
TRP <file_name> ...
LOCAX <MANY(default)/FEW> Generate all transformations that result from the combination of the current transformation (typically a local symmetry) and all crystallographic symmetry operation (defined by SYMM and CELL) [Example]   NOTE: concise output in fort.16.
RESET Reset transformation to identity.

Routine to determine transformation between two molecules (specified by INPUT and 2INPUT). The 2nd file will be fitted onto the first.

RANGE <start-residue> <end-residue>Specify residue range for the 1st file (target)
2RANGE <start-residue> <end-residue>Specify start residue of equivalent zone for 2nd file (molecule to be moved)
ATOMS <ataom_type>Use only atoms of the specified type (e.g. CA) for fitting.
THRESHOLD <threshold in rmsd [default: 3.0]>Omit atoms that have a deviation larger than <threshold> for 2nd fitting pass.
GODo the fitting
SAVESave transformation to main level for, e.g., execution of the transformation onto 2nd file (Example).
EXITLeave this level.


Renaming of residues or atoms. For analysis, the residue name will be split into chain and resnumber. Then the difference in chain and resnumber between old and new name will be considered.

NOTE: Specify residue ranges in the same order as they are present in the INPUT file.

RESIDUES <start-residue> <end-residue> <start-residue-new>Specify residue range to be renamed and new name for start residue
ATOMS <atom_name, atom_name_new>Specify atom range to be renamed and new name for atom. (Attention: internally, atom_name_new is treated as CHAR*4 with leading blank)
CHAINS <chain_name, chain_name_new>Specify chains to be renaned
SEQUtoggle sequential numbering ON
NOSEQUtoggle sequential numbering OFF
GOExecute and leave this level.

Routine to change occupancy (weight) of atoms.

WEIGHT <weight>Weight to be set.
RESIDUES <start-residue> <end-residue>Residue range for which weight is changed for all atoms.
SC <start-residue> <end-residue>Residue range for which weight is changed for all side-chain atoms.
MC <start-residue> <end-residue>Residue range for which weight is changed for all main-chain atoms.
FOExecute and leave this level.

SYMM <symm_symbol>Specify crystal symmetry
CONTACTDetermine crystal contacts.
 FOUTER <fouter [default: 0.0]>Consider only atoms with distance from c.g. larger than <fouter>*(mean_radius).
EPS <eps [default: 3.5]>Monitor contact distances smaller than <eps>.
CONSURF <clustalw_file> <position>Write conservation score derived from CLUSTALW aligment into B-factor column of INPUT file. <position> specifies the position of the sequence (in the alignment) that corresponds to the INPUT model.

Coordinates: PDB format
Transformations: format free, 3 lines a 4 values (Matrix, Vector); example.


T. Schirmer (tilman.schirmer(at)unibasto make life hard for spam

Several of the routines have been adopted from programs written by J. Deisenhofer.
The interface has been written by J.W. Pflugrath.



Some notes to rotation matrices an angles