Program : LSQMAN
Version : 990301
Author : Gerard J. Kleywegt, Dept. of Cell and Molecular Biology,
Uppsala University, Biomedical Centre, Box 590,
SE-751 24 Uppsala, SWEDEN
E-mail : gerard@xray.bmc.uu.se
Purpose : alignment and comparison of macromolecules
Package : DEJAVU
Reference(s) for this program:
* 1 * G.J. Kleywegt & T.A. Jones (1994). Halloween ... Masks and Bones. In "From First Map to Final Model", edited by S. Bailey, R. Hubbard and D. Waller. SERC Daresbury Laboratory, Warrington, pp. 59-66.
* 2 * G.J. Kleywegt & T.A. Jones (1994). A super position. CCP4/ESF-EACBM Newsletter on Protein Crystallography 31, November 1994, pp. 9-14. [http://alpha2.bmc.uu.se/usf/factory_4.html]
* 3 * G.J. Kleywegt & T.A. Jones (1995). Where freedom is given, liberties are taken. Structure 3, 535-540. [http://www.ncbi.nlm.nih.gov/htbin-post/Entrez/query?uid=8590014&form=6&db=m&Dopt=r]
* 4 * G.J. Kleywegt (1996). Use of non-crystallographic symmetry in protein structure refinement. Acta Cryst D52, 842-857. [http://www.iucr.ac.uk/journals/acta/tocs/actad/1996/actad5204.html]
* 5 * G.J. Kleywegt (1996). Making the most of your search model. CCP4/ESF-EACBM Newsletter on Protein Crystallography 32, June 1996, pp. 32-36. [http://alpha2.bmc.uu.se/usf/factory_6.html]
* 6 * G.J. Kleywegt & T.A. Jones (1996). Phi/Psi-chology: Ramachandran revisited. Structure 4, 1395-1400. [http://www4.ncbi.nlm.nih.gov/htbin-post/Entrez/query?uid=8994966&form=6&db=m&Dopt=r]
* 7 * G.J. Kleywegt & T.A. Jones (1997). Detecting folding motifs and similarities in protein structures. Methods in Enzymology 277, 525-545.
* 8 * G.J. Kleywegt (1999 ?). Experimental assessment of differences between related protein crystal structures. Submitted.
* 9 * G.J. Kleywegt & T.A. Jones (1999 ?). Chapter 25.2.6. O and associated programs. Int. Tables for Crystallography, Volume F. To be published.
931007 - 0.1 - initial version (READ, WRITE, QUIT, DELETE,
ANNOTATE, LIST, ATOM_TYPES)
931008 - 0.2 - second version (EXPLICIT; IMPROVE without
checking for fragment size so far)
931021 - 0.3 - continued (implemented minimum fragment length,
various optimisation criteria, maximum number
of optimisation cycles); works well !
931022 - 0.4 - continued (implemented sequential_hits_only
option, rms-weight, fragment length decay,
show-operator, edit-operator, save_operator,
old-o-operator, OMACRO commands)
931023 - 1.0 - first production version (removed some minor
bugs, wrote manual)
931027 - 1.1 - removed minor bugs; implemented on ESV and ALPHA;
minor corrections to the manual; added OMacro
WRite option
931103 - 1.2 - removed some bugs
931121 - 1.3 - implemented ATom_types ALl and NOn-hydrogen
931124 - 1.4 - open all PDB files with READONLY
931129 - 1.5 - added CHain_mode and TYpe_residues
931130 - 1.6 - pre-cooked SEt options; debugged use of empty
chain identifiers (i.e., chain-id = space);
added .lsq_stats_x_y datablock to O macro output
931206 -1.6.1- minor extension of allowed zone designators;
proper clean-up when a molecule is DEleted
940323 - 1.7 - store XPLOR segment IDs; implement APply option
940519 - 1.8 - removed nasty bug from IMprove option (when
using zones instead of wildcards)
940524 -1.8.1- removed another nasty bug (showed up on ALPHAs
whenever the C-terminal residue in "mol 2" showed
up in an alignment in the IMprove option)
940525 -1.8.2- use standard routine to print and analyse
RT operators
(* code changes of intermediate versions lost due to disk crash *)
> 940901 -1.9.0- calculate RMS delta-B in case of EXplicit LSQ
> 940906 - 2.0 - implemented command RMsd_current_operator
> 940908 -2.0.1- SHow command prints a comment in case of NCS regarding
> the quality of the refinement (coordinates & B-factors)
941021 - 3.0 - calculate RMS delta-B for EXplicit and IMprove
commands; remove bug which made that the first
matched residue after IMprove was never listed;
add comment w.r.t. con/restraints on position and
Bs in case of NCS (i.e., SHow mol1 mol1); implemented
RMsd_calc command; implemented PHipsi command
941218 -3.0.1- added more statistics to PHipsi command
941223 - 3.1 - added DIstance and delta-dihedral (DD) plots
941230 -3.1.1- DD plots now also contain |delta(X-X-X angle)| curve
950224 - 3.2 - new option to compare WAters in different models or chains
950331 -3.2.1- long-standing bug in superpositioning with ALL and NONH
atom types fixed (I think); add O datablock header lines
to plot files
950412 -3.2.2- add B-factor cut-offs to EXplicit and RMsd commands
(set with command BFactor_range)
950413 - 3.3 - cell constants read from CRYST1 card; CEll command
to set or alter cell constants; command ORthogonalise
and FRactionalise to carry out superpositioning in
fractional space (may help to detect spacegroup errors)
950528 - 4.0 - removed bug from ORthog and FRact commands (always used
the CEll parameters of the first molecule); new options
for multiple (NCS or NMR) alignment: MCentral to find
the central chain/model; MAlign to align all chains/
models to one reference chain or model; MDihedral to
analyse PHI and PSI angle distributions (and to plot
SIGMA(phi) and SIGMA(psi) as a function of residue);
MBfactors to analyse B-factors of a particular atom
type (e.g., CA atoms) and to plot SIGMA(B) and RANGE(B)
as a function of residue number.
950529 - 4.1 - minor bug fixes; CHain-mode BReak to delineate chains/
models by breaks in the subsequent numbering of residues,
and CHain-mode LOwer which uses a drop in residue
number between two subsequent residues to delineate
chains; new option MRamachandran to produce a plot
for multiple models/chains; MSidechains to analyse
the distribution of CHI1 and CHI2 angles (and plot
SIGMA(chi1) and SIGMA(chi2) as a function of residue
number); MTorsions to produce a multiple CHI1/CHI2
plot; new option NOmenclature to enforce proper names
for side-chain atoms of PHE, TYR, ASP, GLU and ARG
residues (important for comparisons involving these
atoms)
950530 -4.1.1- added option to produce MRama and MTor plots in a
polar coordinate frame (add "P" as the last parameter)
950616 - 4.2 - improved multiple Ramachandran (MR) and multiple
chi1/chi2 (MT) plots (no centroid if only two
molecules; no more long lines across the plot).
New HYdrogen command to keep or strip hydrogen atoms
on reading/writing of PDB files (NOTE: the default
behaviour of the program is now to STRIP them, since
usually one is not interested in them and they slow
down some parts of the program).
New SUbtract_ave_b command to subtract the average
chain B-factor in order to get meaningful RMS delta-B
values and multiple-model B-factor plots (MB).
950705 -4.2.1- minor bug fix for connecting residues in multiple
Ramachandran (MR) or side-chain torsion (MT) plots.
950830 -4.2.2- calc Maiorov-Crippen "rho" (not the scaled one) for EXplicit
and IMproved superpositionings (use the SHow command to
see the actual values). Reference: Proteins 22, pp.
273-283 (note: equation (16), the definition of rho,
contains an error: R^2(B) should be 2*R^2(B)).
950913 - 4.3 - added D1/D2 plots
951031 -4.3.1- calc angle in RMsd command
960409 - 4.4 - implemented macro facility
960415 -4.4.1- minor bug fixes
960417 -4.4.2- minor bug fixes
960508 - 4.5 - new HIsto_disto command
960517 - 4.6 - implemented simple symbol mechanism
960710 -4.6.1- print average RMSD between chains in MCentral command
960729 - 4.7 - implemented FIx_atom_names command; fixed a long-standing
bug in the EXplicit command if all (non-H) atoms were
compared !!!
960801 -4.7.1- option MRama now uses our new definition of core
regions in the Ramachandran plot
960804 -4.7.2- average dihedrals (phi, psi, chi1, chi2) properly,
i.e., use <DIHE> = RTODEG * ATAN2 ( <SIN>, <COS> )
960821 -4.7.3- PHipsi command now also prints the correlation
coefficient between the PHI angles of both chains
and between the PSI angles of both chains
970127 - 4.8 - fixed two terrible bugs in the MAlign option (thanks
to Tim Allison)
970131 - 5.0 - implemented BRute_force alignment option
970210 - 5.1 - fixed two more bugs in the DIstance and DDihedral plot
commands, so that these commands now also work correctly
for macromolecules other than proteins (see new example
for DNA in the manual; thanks to Armin Maeder); improved
BRute_force command a trifle; softened judgment of NCS
restraint quality a tad; implemented HEtatm command
970221 - 5.2 - implemented ATom type SI(de_chain) which is any type
except N, CA, C and O, OT1 etc. (i.e.: this includes
hydrogen atoms if they have been read in !); also
implemented ATom_type PH(osphorous) for DNA and RNA work;
error traps if certain options are used with inappropriate
atom types (e.g., IMprove with ALL, NONH or SIDE)
970505 - 5.3 - added optional "chain" parameter to the APply command
970626 - 5.4 - support initialisation macro (setenv GKLSQMAN macrofile)
970630 -5.4.1- removed small bugs which under exceptional circumstances
led to wrong results for ALL atoms, NONHydrogens and
SIDEchain atoms
970707 -5.4.2- improved statistics summary for MRama, MDihe, MSide and
MTors commands
970722 - 5.5 - implemented VM and VS commands to plot the circular
variance of phi,psi and chi1,chi2 for multiple models
970722 - 6.0 - new VRml commands !
970808 - 6.1 - default for SEquential hits is now ON; added frameshift
correction to IMprove algorithm which is ON by default
(toggle with SEt SHift); change convergence test in
IMprove so that "no improvement" is used instead of
"fit deteriorated" (this should speed up the BRute_force
command slightly)
970827 -6.1.1- new optional chain_id parameter for the WRite command
to enable writing of just a single chain or model
(default = * = all chains/models); new VRml ALl_chains
command to write VRML instructions for all chains/models
of a molecule, each in a different colour
971111 -6.1.2- in the EXplicit command, a single residue may now
be given as e.g. "A54" instead of "A54-54"
980901 - 6.2 - new INvert_ncs command to invert one or more O-style
RT-operators (Cartesian space only)
981019 - 6.3 - new JUdge command to check how good a homology model
is compared to both its TARGET and the PARENT structure
from which it was (or could have been) derived
981021 -6.3.1- new ECho command to echo command-line input (useful
in scripts)
981022 - 6.4 - implemented command history (# command)
981030 - 6.5 - new MOrph command to morph the transition between two
conformational states (to make movies) - COOL !!!
981101 -6.5.1- continued with MOrph command
981102 -6.5.2- continued with MOrph command
981102 -6.5.3- continued with MOrph command
981103 - 6.6 - new ATom_types TRace command (selects CA atoms plus
all non-hydrogen side chain atoms); changed ATom_type
SIde_chain to exclude hydrogen atoms; implemented
MOrphing using CA atoms plus all non-hydrogen side-chain
atoms (using ATom_type TRace)
981104 -6.6.1- continued with MOrph command
981105 -6.6.2- continued with MOrph command
981106 - 7.0 - touched up MOrph command for general release
981108 -7.0.1- implemented SImilarity_plot command; extended functionality
of the JUdge command
981111 -7.0.2- print histogram(s) for some of the plot commands
(PHipsi, DIstance, DDihehral, and D1_D2)
981117 -7.0.3- DIstance_plot now also includes residues from mol1
that were not found in mol2 (distance plotted at
a negative value)
981119 -7.0.4- trap when no atoms found in input PDB file; print
D-values after IMprove
981123 -7.0.5- changed definition of D-value to %Matched(i)*%SeqID(i)/10000
981126 -7.0.6- skip alternative conformations when reading PDB files
981207 - 7.1 - new CAsp command to assess RMS distances and number
of matching residues between sequence-identical residues
as a function of distance cut-off
990119 -7.1.1- minor changes to CAsp command
990120 -7.1.2- added extra optional parameter to BRute_force command
to speed up the calculations if the two molecules
are different models of the same protein (i.e., same
residue numbering)
990301 -7.1.3- echo some PDB header lines when reading a PDB file
From version 5.4 on, LSQMAN can execute a macro at start-up (whether it is run interactively or in batch mode). This can be used to execute commands which you (almost) always want to have executed. To use this feature, set the environment variable GKLSQMAN to point to a LSQMAN macro file, e.g.:
----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- setenv GKLSQMAN /home/gerard/lsqman.init ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE -----
LSQMAN is a program for performing least-squares superpositioning of biomacromolecules. The program offers a superset of the LSQ- functionality inside O and removes some of the limitations and irritations of the LSQ-commands.
The "heart" of the program is Kabsch's subroutine U3BEST; see the
following references:
W.KABSCH ACTA CRYST.(1976).A32,922-923
W.KABSCH ACTA CRYST.(1978).A34,827-828
Phi/Psi difference plots are discussed in: AP Korn & DR Rose, Prot. Engineering 7(8), 961-967 (1994)
Some of the features of LSQMAN:
----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- * ... means all chains A* ... means all residues in the first chain B3-36 ... means residues 3 through 36 in the second chain B3:36 ... means the same thing B3:B36 ... ditto A1-999 ... means all residues in chain A with numbers between 1 and 999 that exist (use this if you're not sure how many residues a protein contains) A1-B36 ... is NOT a valid zone selection (use two zones, one for each chain) ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE -----
For consistency with O:
* RT-operators are used in Alwyn's "transpose-matrix" formalism
* when referring to an operator, the FIRST molecule is always the one that is FIXED and the SECOND is the one which will be brought on top of the first if the operator is applied
LSQMAN uses the same simple and easy-to-use command interpreter that you know from MAMA, MAPMAN and other programs. The first two characters of (sub-)command names are unique; parameters may be supplied on the same line as the command, and if they are not, LSQMAN will prompt you for them (using fairly reasonable default values; to use a default, just hit RETURN at such a prompt).
NOTE: parameter values with SPACES in them MUST be delimited by "DOUBLE QUOTES" !
The program runs in interactive mode by default; it can be run in batch mode by supplying the -b flag when you start the program.
All new files are opened as UNKNOWN, so any existing files will be overwritten !
When you start the program, you see something like this:
----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- *** LSQMAN *** LSQMAN *** LSQMAN *** LSQMAN *** LSQMAN *** LSQMAN ***Version - 980901/6.2 (C) 1992-98 Gerard J. Kleywegt, Dept. Mol. Biology, BMC, Uppsala (S) User I/O - routines courtesy of Rolf Boelens, Univ. of Utrecht (NL) Others - T.A. Jones, G. Bricogne, Rams, W.A. Hendrickson Others - W. Kabsch, CCP4, PROTEIN, E. Dodson, etc. etc.
Started - Sat Oct 17 01:24:42 1998 User - gerard Mode - interactive Host - sarek ProcID - 9351 Tty - /dev/ttyq17
*** LSQMAN *** LSQMAN *** LSQMAN *** LSQMAN *** LSQMAN *** LSQMAN ***
Reference(s) for this program:
* 1 * G.J. Kleywegt & T.A. Jones (1994). Halloween ... Masks and Bones. In "From First Map to Final Model", edited by S. Bailey, R. Hubbard and D. Waller. SERC Daresbury Laboratory, Warrington, pp. 59-66.
* 2 * G.J. Kleywegt & T.A. Jones (1994). A super position. CCP4/ESF-EACBM Newsletter on Protein Crystallography 31, November 1994, pp. 9-14. [http://alpha2.bmc.uu.se/usf/factory_4.html]
* 3 * G.J. Kleywegt & T.A. Jones (1995). Where freedom is given, liberties are taken. Structure 3, 535-540. [http://www.ncbi.nlm.nih.gov/htbin-post/Entrez/query?uid=8590014&form=6&db=m&Dopt=r]
* 4 * G.J. Kleywegt (1996). Use of non-crystallographic symmetry in protein structure refinement. Acta Cryst D52, 842-857. [http://www.iucr.ac.uk/journals/acta/tocs/actad/1996/actad5204.html]
* 5 * G.J. Kleywegt (1996). Making the most of your search model. CCP4/ESF-EACBM Newsletter on Protein Crystallography 32, June 1996, pp. 32-36. [http://alpha2.bmc.uu.se/usf/factory_6.html]
* 6 * G.J. Kleywegt & T.A. Jones (1996). Phi/Psi-chology: Ramachandran revisited. Structure 4, 1395-1400. [http://www4.ncbi.nlm.nih.gov/htbin-post/Entrez/query?uid=8994966&form=6&db=m&Dopt=r]
* 7 * G.J. Kleywegt & T.A. Jones (1997). Detecting folding motifs and similarities in protein structures. Methods in Enzymology 277, 525-545.
* 8 * G.J. Kleywegt (1998 ?). Local density correlation and ... To be published.
* 9 * G.J. Kleywegt & T.A. Jones (1999 ?). Chapter 25.2.6. O and associated programs. Int. Tables for Crystallography, Volume F. To be published.
==> For manuals and complete references, visit: ==> http://alpha2.bmc.uu.se/usf
*** LSQMAN *** LSQMAN *** LSQMAN *** LSQMAN *** LSQMAN *** LSQMAN ***
Max nr of molecules : ( 8) Max nr of residues per molecule : ( 10000) Max nr of atoms per molecule : ( 100000) Max nr of atom types : ( 15) Max nr of chains/models per mol : ( 26)
Symbol PROGRAM : (LSQMAN) Symbol VERSION : (980901/6.2) Symbol START_TIME : (Sat Oct 17 01:24:43 1998) Symbol USERNAME : (gerard)
Initialising : (XVRML - 971120/0.6) Nr of predefined colours : ( 411)
LSQMAN options :
? (list options) ! (comment) QUit $ shell_command & symbol value & ? (list symbols) @ macro_file
REad mol file WRite mol file [chain] DElete mol ANnotate mol comment_string LIst [mol] CHain_mode mode TYpe_residues mol BFactor_range b_lo b_hi FRactionalise mol ORthogonalise mol CEll mol a b c al be ga SUbtract_ave_b mol HYdrogens keep_or_strip HEtatm keep_or_strip
FIx_atom_names mol1 range1 mol2 range2 mode how what [min_gain] [cut_off] NOmenclature mol INvert_ncs infile outfile
EXplicit mol1 range1 mol2 range2 IMprove mol1 range1 mol2 range2 BRute_force mol1 chain1 mol2 chain2 frag_length frag_step min_match
EDit_operator mol1 mol2 val1 ... SHow_operator mol1 mol2 SAve_operator mol1 mol2 file [name] APply_operator mol1 mol2_to_move [chain] OLd_o_operator mol1 mol2 file RMsd_calc mol1 range1 mol2 range2 PHipsi mol1 range1 mol2 range2 file DIst_plot mol1 range1 mol2 range2 file DDihe mol1 range1 mol2 range2 file WAters mol1 mol2 cut_off file D1_D2 mol1 range1 mol2 range2 file HIsto_dist mol1 mol2 cut_off bin
MCentral mol residue_range exp_imp MAlign mol residue_range exp_imp chain MDihedral mol chain file MRamachandran mol chain ps_file how MSide_chains mol chain file MTorsion mol chain ps_file how VMain_chain mol chain file VSide_chain mol chain file MBfactors mol chain file
ATom_types ? ATom_types CA ATom_types MAin_chain ATom_types SIde_chain ATom_types EXtended_main_chain ATom_types ALl ATom_types NOn_hydrogen ATom_types DEfine type1 [type2 ...] ATom_types PHosphorous
SEt ? SEt REset_defaults SEt COarse_6A_fit_defaults SEt INtermediate_4A_fit_defaults SEt FIne_tune_3A_fit_defaults SEt SImilar_mols_2A_fit_defaults
SEt MAx_nr_improve_cycles value SEt DIst_max value SEt MIn_fragment_length value SEt DEcay value SEt OPtimisation_criterion value SEt SEquential_hits on_off SEt RMs_weight value SEt FRagment_length_decay value SEt SHift_correction on_off
OMacro INit mol1 file OMacro APpend mol2 OMacro WRite o_command_string OMacro CLose_file
VRml SEtup central_atom max_dist backgr_col default_col VRml INit [filename] VRml COlour_list VRml ADd mol [chain] [colour] VRml ALl_chains mol
Max nr of molecules : ( 8) Max nr of residues per molecule : ( 10000) Max nr of atoms per molecule : ( 100000) Max nr of atom types : ( 15)
LSQMAN > ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE -----
----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- LSQMAN > $ ls -FartCos *.odb 1 -rw-r--r-- 1 gerard 297 Oct 22 20:38 rt_1ace_to_lipa.odb 1 -rw-r--r-- 1 gerard 297 Oct 22 1993 rt_1etu_to_eftu.odb 1 -rw-r--r-- 1 gerard 297 Oct 22 1993 rt_1lap_to_eftu.odb ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE -----
Example of an LSQMAN macro:
----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- ! ana_ncs.lsqmac ! ! do some basic NCS analyses ! ! Enter LO for normal PDB files, or XP for X-PLOR PDB files: chain_mode ! ! Enter PDB file name: read mymol ! ! Enter PostScript file for sigma(phi),sigma(psi) plot: mdihedral mymol a ! ! Enter PostScript file for multiple Ramachandran plot: mramachandran mymol a ! ! Enter PostScript file for sigma(chi1),sigma(chi2) plot: mside_chains mymol a ! ! Enter PostScript file for multiple chi1,chi2 plot: mtorsion mymol a ! ! Enter PostScript file for sigma(B),range(B) plot: mbfactors mymol a ! ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE -----
When executed this gives:
----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- LSQMAN > @ana_ncs.lsqmac ... Opened macro file : (ana_ncs.lsqmac) ... On unit : ( 61) > (! ana_ncs.lsqmac) > (!) > (! do some basic NCS analyses) > (!) > (! Enter LO for normal PDB files, or XP for X-PLOR PDB files:) > (chain_mode) Select one of the following modes: REname = chains are renamed A, B, .. Z ORiginal = chain names are not altered XPlor = rename; SEGIds delineate chains BReak = rename; use breaks in residue numbers LOwer = rename; use drop in residue numbers Chain mode ? (LO) Chain-mode LOwer > (!) > (! Enter PDB file name:) > (read mymol) File name ? ( ) /nfs/pdb/full/1cbr.pdb Cell : ( 41.440 41.440 202.800 90.000 90.000 90.000) New chain name |A| at residue PRO 1 New chain name |B| at residue PRO 1 Nr of lines read from file : ( 2596) Nr of atoms in molecule : ( 2246) Nr of chains or models : ( 2) Stripped hydrogen atoms : ( 0) > (!) > (! Enter PostScript file for sigma(phi),sigma(psi) plot:) > (mdihedral mymol a) Multiple chain/model dihedral analysis Plot file ? (mymol_phi_psi_sigma.plt) Reference chain : (A) Residue range : 1 - 313 PRO 1 | 0.0 0.0 0.0 0.0 | -163.0 0.0 -163.0 -163.0 | 0 2 ASN 2 | -120.0 0.0 -120.0 -120.0 | 84.6 0.0 84.6 84.6 | 2 2 ... Plot file written > (!) > (! Enter PostScript file for multiple Ramachandran plot:) > (mramachandran mymol a) Multiple Ramachandran plot PostScript file ? (mymol_multi_rama.ps) Reference chain : (A) Residue range : 1 - 313 ... PostScript file written > (!) > (! Enter PostScript file for sigma(chi1),sigma(chi2) plot:) > (mside_chains mymol a) Multiple side-chain torsion analysis Plot file ? (mymol_chi12_sigma.plt) Reference chain : (A) Residue range : 1 - 313 ... Plot file written > (!) > (! Enter PostScript file for multiple chi1,chi2 plot:) > (mtorsion mymol a) Multiple torsion plot PostScript file ? (mymol_chi12_dist.ps) Reference chain : (A) Residue range : 1 - 313 ... PostScript file written CPU total/user/sys : 1.2 1.1 0.1 > (!) > (! Enter PostScript file for sigma(B),range(B) plot:) > (mbfactors mymol a) Multiple chain/model B-factor analysis Plot file ? (mymol_bfac_multi.plt) Reference chain : (A) Residue range : 1 - 313 Central atom type : ( CA) ... Nr of residues found : ( 136) SIGMA(B) Ave, Sdv, Min, Max : 0.0 0.0 0.0 0.0 RANGE(B) Ave, Sdv, Min, Max : 0.0 0.0 0.0 0.0 Plot file written > (!) ... End of macro file ... Control returned to terminal ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE -----
This command can be used to manipulate symbols. These are probably
only useful for advanced users who want to write fancier macros.
The command can be used in three ways:
(1) & ? -> lists currently defined symbols
(2) & symbol value -> sets "SYMBOL" to "value"
(3) & symbol -> prompts the user to supply a value for "SYMBOL"
(even if the program is executing a macro)
A few symbols are predefined:
----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- LSQMAN > & ? Nr of defined symbols : ( 4) Symbol PROGRAM : (LSQMAN) Symbol VERSION : (960517/4.6) Symbol START_TIME : (Fri May 17 20:34:27 1996) Symbol USERNAME : (gerard) ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE -----
The symbol mechanism is fairly simplistic and has some limitations:
- max length of a symbol name is 20 characters
- max length of a symbol value is 80 characters
- max number of symbols is 100
- symbols can not be deleted, but they can be redefined
- symbol values are accessed by supplying $SYMBOL_NAME as an
argument on the command line; the line that you type on the terminal
(or in a macro) is parsed once; if there are additional parameters
which the program prompts you for, you cannot use symbols for those
- only one substitution per argument (e.g., "$file1 $file2" will
lead to a substituion of the entire argument by the value of
symbol FILE1 only !)
- command names (first argument on any command line) cannot be
replaced by a symbol (e.g.: "$command $arg1 $arg2" is not valid)
- symbols may be equated to each other, e.g. "& file2 $file1" will
give FILE2 the same value as FILE1
- symbol substitution is not recursive (e.g., if you set the value
of FILE2 to be "$file1", any reference to $FILE2 will be replaced
by "$file1", not by the value of FILE1
- symbols on comment lines (starting with "!") are not expanded
- symbols on system command lines (starting with "$") are not expanded
----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- LSQMAN > ch xp Chain-mode XPlor LSQMAN > re m3 m12abcd.pdb XPLOR SEGId |GTAA| becomes chain A XPLOR SEGId |GTAB| becomes chain B XPLOR SEGId |GTAC| becomes chain C XPLOR SEGId |GTAD| becomes chain D Nr of lines read from file : ( 7222) Nr of atoms in molecule : ( 7184) Nr of chains or models : ( 4) CPU total/user/sys : 6.4 5.7 0.6 ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE -----
----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- LSQMAN > wr m1 q.pdb Number of atoms written : ( 987) ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE -----
----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- LSQMAN > del m2 Deleted : (M2) ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE -----
----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- LSQMAN > an m1 Label ? (Read from 2aza.pdb) azurin 2aza LSQMAN > an m2 "azurin 1azu" ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE -----
----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- LSQMAN > li *List : (M1) File : (q.pdb) Comment : (azurin 2aza) Nr of atoms in mol : ( 987) Multiple NMR models ? (F) Nr of chains/models : ( 1)
List : (M2) File : (1azu.pdb) Comment : (azurin 1azu) Nr of atoms in mol : ( 930) Multiple NMR models ? (F) Nr of chains/models : ( 1) ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE -----
REname = chains and NMR models are renamed A, B, .. Z
ORiginal = chain names are not altered
XPlor = chains are renamed A, B, ... Z; X-PLOR SEGIds delineate the chains
BReak = chains are renamed A, B, ... Z; breaks in the "i,i+1,i+2" numbering of residues are used to delineate chains (e.g., residue numbers 354, 355, 501, would introduce a new chain at residue 501)
LOwer = chains are renamed A, B, ... Z; breaks in the numbering where a residue has a residue number lower than that of the previous residue are used to delineate chains (e.g., if your protein is numbered 5-193 and your ligand 200 and waters 300-389, then all of these will be considered to be part of one single chain)
When you read one of your own PDB files in which the chains have
names that you are familiar with, use ORiginal mode.
When you read PDB files that you're not familiar with, or PDB
files containing multiple NMR models, REname is probably the
best option.
When you read a PDB file created for or by X-PLOR, use the XPlor
chain mode (in which X-PLOR SEGIds are used to recognise where
one chain ends and the next begins).
----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- LSQMAN > ch Select one of the following modes: REname = chains are renamed A, B, .. Z ORiginal = chain names are not altered XPlor = rename; SEGIds delineate chains BReak = rename; use breaks in residue numbers LOwer = rename; use drop in residue numbers Chain mode ? (XP) re Chain-mode REname ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE -----
----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- LSQMAN > ch or Chain-mode ORiginal LSQMAN > re m1 m12abcd.pdb Old chain name |A| kept Old chain name |B| kept Old chain name |C| kept Old chain name |D| kept Nr of lines read from file : ( 7222) Nr of atoms in molecule : ( 7184) Nr of chains or models : ( 4) CPU total/user/sys : 6.8 5.9 0.9 ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE -----
----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- LSQMAN > ch re Chain-mode REname LSQMAN > re m2 m12abcd.pdb Old chain |A| becomes chain A Old chain |B| becomes chain B Old chain |C| becomes chain C Old chain |D| becomes chain D Nr of lines read from file : ( 7222) Nr of atoms in molecule : ( 7184) Nr of chains or models : ( 4) CPU total/user/sys : 6.5 5.8 0.7 ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE -----
----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- LSQMAN > ch xp Chain-mode XPlor LSQMAN > re m3 m12abcd.pdb XPLOR SEGId |GTAA| becomes chain A XPLOR SEGId |GTAB| becomes chain B XPLOR SEGId |GTAC| becomes chain C XPLOR SEGId |GTAD| becomes chain D Nr of lines read from file : ( 7222) Nr of atoms in molecule : ( 7184) Nr of chains or models : ( 4) CPU total/user/sys : 6.4 5.7 0.6 ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE -----
----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- LSQMAN > ty m3 List of residues in : (M3)1 1 CB ALA A 2 82.844 39.989 -7.039 1.00 68.35 2 6 N GLU A 3 83.214 36.859 -8.993 1.00102.90 3 15 N LYS A 4 84.386 34.656 -8.538 1.00 47.66 ... 883 7162 N ARG D 221 84.092 37.862 71.505 1.00 60.42 884 7173 N PHE D 222 84.004 35.762 73.551 1.00 92.91
CPU total/user/sys : 1.5 0.9 0.6 ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE -----
----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- LSQMAN > ex m1 a1-999 m1 b1 ... B-factor range used: -1.00 - 10000.00 A2 Nr of atoms to match : ( 370) Nr skipped (B limits) : ( 0) The 370 atoms have an RMS distance of 0.759 A RMS delta B = 4.459 A2 Corr. coeff. = 0.8359 ... LSQMAN > bf Lower B-factor cut-off ? ( -1.000000) Upper B-factor cut-off ? ( 9999.999) 30 Lower B cut-off : ( -1.000) Upper B cut-off : ( 30.000) LSQMAN > ex m1 a1-999 m1 b1 ... B-factor range used: -1.00 - 30.00 A2 Nr of atoms to match : ( 259) Nr skipped (B limits) : ( 111) The 259 atoms have an RMS distance of 0.491 A RMS delta B = 3.584 A2 Corr. coeff. = 0.7609 ... ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE -----
----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- LSQMAN > cel m1 A axis (A) ? ( 111.8900) B axis (A) ? ( 111.8900) C axis (A) ? ( 148.4900) Alpha (deg) ? ( 90.00000) Beta (deg) ? ( 90.00000) Gamma (deg) ? ( 90.00000) Molecule : (M1) Cell axes (A) : ( 111.890 111.890 148.490) Angles (deg) : ( 90.000 90.000 90.000) ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE -----
NOTE: it may (or may not) also help in detecting origin differences and relations between molecules solved in the same spacegroup but within different asymmetric units of the cell.
----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- LSQMAN > re m1 /nfs/pdb/full/1chr.pdb Cell : ( 111.890 111.890 148.490 90.000 90.000 90.000) ... LSQMAN > fr m1 Operator : ( 0.009 0.000 0.000 0.000 0.009 0.000 0.000 0.000 0.007 0.483 0.643 0.751) Atom #1 before : ( 11.840 26.637 68.001) Atom #1 after : ( 0.106 0.238 0.458) Fractionalised : (M1) LSQMAN > ex m1 a1-999 m1 b1 ... The 370 atoms have an RMS distance of 0.006 A RMS delta B = 4.459 A2 Corr. coeff. = 0.8359 Rotation : 0.999999 -0.001595 0.000409 -0.001594 -0.999992 -0.003703 0.000415 0.003702 -0.999993 Translation : 0.001 0.999 1.001 CPU total/user/sys : 2.0 2.0 0.0 ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE -----
The two molecules in 1CEL are related by an almost perfect translation of (0.46,1/2,1/2):
----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- LSQMAN > re m1 /nfs/pdb/full/1cel.pdb Cell : ( 84.000 86.200 111.800 90.000 90.000 90.000) ... LSQMAN > fr m1 Operator : ( 0.012 0.000 0.000 0.000 0.012 0.000 0.000 0.000 0.009 0.000 0.000 0.000) Atom #1 before : ( 37.768 59.322 40.174) Atom #1 after : ( 0.450 0.688 0.359) Fractionalised : (M1) LSQMAN > ex m1 a1-999 m1 b1 WARNING - mol1 == mol2 ! ... The 434 atoms have an RMS distance of 0.001 A RMS delta B = 2.201 A2 Corr. coeff. = 0.9738 Rotation : 0.999859 -0.016626 0.002191 0.016642 0.999833 -0.007543 -0.002066 0.007578 0.999969 Translation : 0.461 0.497 0.503 ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE -----
----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- LSQMAN > or m1 Operator : ( 111.890 0.000 0.000 0.000 111.890 0.000 0.000 0.000 148.490 0.009 0.000 0.000) Atom #1 before : ( 0.106 0.238 0.458) Atom #1 after : ( 11.840 26.637 68.001) Orthogonalised : (M1) ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE -----
----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- LSQMAN > re m2 /nfs/alien/gerard/acbp/o/probe14.pdb ... LSQMAN > nomenclature m2 Enforce proper nomenclature for : (M2) Nr of atoms : ( 9772) Nr of residues : ( 1204)Error in GLU A 10 ... Error in GLU A 11 ... Error in ASP A 21 ... ... Error in GLU N 79 ... Error in TYR N 84 ...
# of PHE checked : 42 # errors : 18 # of TYR checked : 56 # errors : 35 # of ASP checked : 98 # errors : 35 # of GLU checked : 140 # errors : 46 # of ARG checked : 14 # errors : 5 WARNING - any attached hydrogens NOT renamed LSQMAN > nomenclature m2 Enforce proper nomenclature for : (M2) Nr of atoms : ( 9772) Nr of residues : ( 1204)
# of PHE checked : 42 # errors : 0 # of TYR checked : 56 # errors : 0 # of ASP checked : 98 # errors : 0 # of GLU checked : 140 # errors : 0 # of ARG checked : 14 # errors : 0 No problem, mon ! ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE -----
The FIx_atom_names command takes the following arguments:
- mol1 range1 = molecule 1 and zone(s)
- mol2 range2 = molecule 2 and begin point of zone(s)
- mode = Strict (only check Asp, Glu, Arg, Phe, Tyr) or All (also
check Asn, Gln and His)
- how = Sequential (assumes a 1:1 correspondence in the sequences
of the zones) or Nearest (finds the residue in molecule 2 whose
CA atoms after LSQ is nearest that of the residue in molecule 1;
this is an unreliable method and should only be used if you are
interested in all-atom comparisons of molecules with different
sequences, which is not a good idea in the first place)
if you use Nearest, you *MUST* have superimposed molecule 2 onto
molecule 1 previously, since this operator is needed to find the
nearest residue
- what = Rmsd (minimises the RMSD of the ambiguous atoms) or
Torsion (minimises the absolute difference between the affected
side-chain torsions, e.g. CHI2 for Asp, Phe, Tyr and CHI3 for Glu);
if you use Rmsd, you *MUST* have superimposed molecule 2 onto
molecule 1 previously, since this operator is needed to calculate
the rmsd-values
- min_gain = optional parameter which defines how much must be gained
(in terms of rmsd or torsion-angle differences) before the atoms
are renamed (if you would gain 0.000001 A by renaming the atoms,
it's not worth the trouble)
- cut_off = optional parameter, only used when "how" is set to "Nearest";
it defines the maximum allowable CA-CA distance before a residue in
molecule 2 is matched to one in molecule 1
So, how would you go about in practice ?
- identical sequences, calculating all-atom RMSDs: NOmen m1; NOmen m2;
ATom CA; EXplicit m1 a1-999 m2 a1; FIx m1 a1-999 m2 a1 str seq rmsd 0.01;
ATom NOnh; EXplicit m1 a1-999 m2 a1
- NCS (identical sequences), comparing torsion angles: NOmen m1;
FIx m1 a1-999 m1 b1 str seq tors 0.1; then repeat for each of the
other NCS units (e.g., chains C, D, etc.); then use MSide or
MTors to generate the plots
- different sequences: don't do all-atom comparisons
For example, if you look at PDB entry 1CEL, there are a few instances of swapped sidechains. Correcting for this reduces the all-atom RMSD by about a third !!!
----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- LSQMAN > re m1 1cel.pdb LSQMAN > at no LSQMAN > ex m1 a1-999 m1 b1 ... The 3518 atoms have an RMS distance of 0.255 A ... LSQMAN > fix m1 a1-999 m1 b1 strict seq rmsd 0.01 WARNING - mol1 == mol2 ! Reference atoms M1 A1-999 Fix atoms for M1 B1 Only fix Asp/Glu/Arg/Phe/Tyr Use sequential residues (1:1 correspondence) Minimise RMSD Minimum improvement : ( 0.010) Applying current operator to Mol 2 ...Nr of RT operators : 1
RT-OP 1 = 0.9998649 0.0163407 -0.0018067 38.703 -0.0163272 0.9998405 0.0072388 42.876 0.0019247 -0.0072083 0.9999722 56.158 Determinant of rotation matrix 1.000000 Column-vector products (12,13,23) 0.000000 0.000000 0.000000 Crowther Alpha Beta Gamma 104.01381 0.42750 -104.94973 Spherical polars Omega Phi Chi 155.42732 -165.51825 1.02912 Direction cosines of rotation axis -0.40219 -0.10388 -0.90943 Dave Smith -0.41475 89.88973 -0.93629 Rotation angle 1.029076
Zone : ( 1) Fix sidechain of ASP-B- 63 ( 1.48 versus 0.30) Fix sidechain of PHE-B- 146 ( 1.54 versus 0.24) Fix sidechain of TYR-B- 167 ( 1.54 versus 0.29) Fix sidechain of GLU-B- 217 ( 1.48 versus 0.18) Fix sidechain of TYR-B- 274 ( 1.55 versus 0.20) Fix sidechain of PHE-B- 280 ( 1.54 versus 0.30) Fix sidechain of TYR-B- 321 ( 1.54 versus 0.23)
Residues checked : ( 85) Residues fixed : ( 7) CPU total/user/sys : 2.6 2.6 0.0 LSQMAN > ex m1 a1-999 m1 b1 ... The 3518 atoms have an RMS distance of 0.164 A ... ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE -----
The same effect can be observed if the torsion angles are used:
----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- LSQMAN > re m1 1cel.pdb LSQMAN > ms m1 a m1_chi12_sigma.plt ... Nr of residues found : ( 434) SIGMA(chi1) Ave, Sdv, Min, Max : 1.1 1.6 0.0 19.5 RANGE(chi1) Ave, Sdv, Min, Max : 2.2 3.2 0.0 39.0 SIGMA(chi2) Ave, Sdv, Min, Max : 2.3 10.5 0.0 89.9 RANGE(chi2) Ave, Sdv, Min, Max : 4.6 21.0 0.0 179.8 ... LSQMAN > fix m1 a1-999 m1 b1 WARNING - mol1 == mol2 ! Mode (Strict/All) ? (S) How (Sequential/Nearest) ? (S) Minimise what (Rmsd/Torsions) ? (R) t Reference atoms M1 A1-999 Fix atoms for M1 B1 Only fix Asp/Glu/Arg/Phe/Tyr Use sequential residues (1:1 correspondence) Minimise torsion-angle differences Minimum improvement : ( 0.100)Zone : ( 1) Fix sidechain of ASP-B- 63 ( 177.25 versus 3.25) Fix sidechain of PHE-B- 146 ( 178.08 versus 2.68) Fix sidechain of TYR-B- 167 ( 172.27 versus 2.02) Fix sidechain of GLU-B- 217 ( 178.28 versus 0.91) Fix sidechain of TYR-B- 274 ( 182.81 versus 1.73) Fix sidechain of PHE-B- 280 ( 179.83 versus 1.79) Fix sidechain of TYR-B- 321 ( 173.46 versus 3.15)
Residues checked : ( 85) Residues fixed : ( 7) CPU total/user/sys : 2.7 2.6 0.0 LSQMAN > ms m1 a m1_chi12_sigma.plt ... Nr of residues found : ( 434) SIGMA(chi1) Ave, Sdv, Min, Max : 1.1 1.6 0.0 19.5 RANGE(chi1) Ave, Sdv, Min, Max : 2.2 3.2 0.0 39.0 SIGMA(chi2) Ave, Sdv, Min, Max : 1.1 2.7 0.0 32.3 RANGE(chi2) Ave, Sdv, Min, Max : 2.1 5.4 0.0 64.7 ... ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE -----
----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- LSQMAN > hy Select one of the following modes: KEep = retain hydrogens on read/write STrip = strip hydrogens on read/write Hydrogen mode ? (STrip) Strip hydrogens LSQMAN > hy kee Keep hydrogens ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE -----
----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- LSQMAN > het Select one of the following modes: KEep = retain HETATMs on read STrip = strip HETATMs on read HETATM mode ? (STrip) Strip HETATMs ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE -----
----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- LSQMAN > ex m4 b1-200 m4 c1 ... B-factor range used: -1000.00 - 10000.00 A2 Nr of atoms to match : ( 131) Nr skipped (B limits) : ( 0) The 131 atoms have an RMS distance of 0.001 A RMS delta B = 14.581 A2 Corr. coeff. = 0.9975 ... LSQMAN > mb m4 a ../b1.plt Multiple chain/model B-factor analysis ... Nr of residues found : ( 131) SIGMA(B) Ave, Sdv, Min, Max : 6.5 0.3 5.0 6.6 RANGE(B) Ave, Sdv, Min, Max : 14.6 0.9 10.6 14.8 Plot file written LSQMAN > su m4 Subtract average chain B for : (M4) Chain A # non-H atoms = 1039 <B> = 29.42 A**2 Chain B # non-H atoms = 1039 <B> = 27.63 A**2 Chain C # non-H atoms = 1039 <B> = 42.08 A**2 LSQMAN > ex m4 b1-200 m4 c1 ... B-factor range used: -1000.00 - 10000.00 A2 Nr of atoms to match : ( 131) Nr skipped (B limits) : ( 0) The 131 atoms have an RMS distance of 0.001 A RMS delta B = 0.889 A2 Corr. coeff. = 0.9975 LSQMAN > mb m4 a ../b2.plt ... Nr of residues found : ( 131) SIGMA(B) Ave, Sdv, Min, Max : 0.2 0.3 0.1 1.6 RANGE(B) Ave, Sdv, Min, Max : 0.5 0.7 0.2 3.8 Plot file written ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE -----
----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- * ? --- list the currently selected atom types * CA --- use only C-alpha atoms * MA --- use main-chain atoms " N ", " CA " and " C " * SI --- use all non-hydrogen atoms except N, CA, C, O, OT1, OT1, OTX, OXT * EX --- use extended main-chain atoms (N, CA, CB, C, O) * PH --- use phosphate " P " for DNA and RNA molecules * DE --- define your own atom types * AL --- all atom types * NO --- all non-hydrogen atom types * TR --- all CA atoms plus all non-hydrogen side-chain atoms ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE -----
The AL, SI, TR, and NO options only make sense when you are comparing identical molecules, e.g. before and after refinement, or NCS-related molecules. The atoms must have the SAME ORDER in both molecules ! Also, don't forget to reset the atom type to something sensible before using IMprove (e.g., to CA).
----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- LSQMAN > at ca Nr of atom types : ( 1) Type : ( CA) LSQMAN > ex m1 ... Atom types | CA | Nr of atoms to match : ( 60) The 60 atoms have an RMS distance of 0.782 A ... LSQMAN > at def " ca " " n " " c " " co " " cb " " cg " " Nr of atom types : ( 7) Type : ( CA) Type : ( N) Type : ( C) Type : ( CO) Type : ( CB) Type : ( CG) Type : ( CD) LSQMAN > ex m1 ... Atom types | CA | N | C | CO | CB | CG | CD | Nr of atoms to match : ( 265) The 265 atoms have an RMS distance of 0.893 A ... ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE -----
* ? --- list the current settings
* RE --- reset the program's default settings (makes the improve option behave like the LSQ_IMPROVE command in O)
* CO --- set suitable parameters for adjusting a very rough initial alignment (e.g., produced by DEJAVU)
* IN --- set parameters for refining an intermediately rough operator
* FI --- set parameters for fine-tuning an operator
* SI --- set parameters for refining an operator between very similar molecules
* MA --- maximum number of improvement cycles
* DI --- maximum distance between matched atoms (as in O)
* DE --- decay factor for the above
* MI --- minimum length of matched fragments (as in O)
* FR --- decay increment for the above
* OP --- the optimisation criterion to be used
* SE --- enforce sequential hits flag
* RM --- weight for the RMS distance in the calculation of the match index
* SH --- frameshift correction flag (used in IMprove and BRute_force); especially useful when you use a very high distance cut-off
----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- LSQMAN > set re Resetting program defaults LSQMAN > set ? Current parameters: Max matching distance (A) : ( 3.800) Decay factor : ( 1.000) Min fragment length (res) : ( 5) Fragment length decay : ( 0) Max nr of improve cycles : ( 10) Criterion (SI/MI/RM/NM) : (SI) RMS weight (MI only) : ( 1.000) Sequential hits only : (OF) LSQMAN > se opt Criterion (SI/MI/RMs/NMatch) ? (SI) mi Criterion : (MI) LSQMAN > set dec 0.95 Decay factor : ( 0.950) ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE -----
* IN --- select a new reference molecule, close the previous macro file and start a new one
* AP --- add instructions to the macro for a molecule which you have fit on top of the reference molecule defined in the INit step
* WR --- write one or more O commands to the macro file
* CL --- close the current macro file
These commands are used in the LSQMAN input files as produced by DEJAVU. They are not intended for interactive use (but, you're free to use them anyway, of course ;-).
----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- LSQMAN > om in m1 File name ? (lsq_m1.omac) O macro initialised LSQMAN > om ap m2 O macro extended LSQMAN > om wr "print ... I don't like this fit" Written to O macro : (print ... I don't like this fit) LSQMAN > om close O macro file closed ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE -----
----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- LSQMAN > ex m1 Range 1 ? (A1-10) "a4-10 a19-23 a28-36 a44-51 a53-66 a91-97 a106-111 a123:126" Mol 2 ? (M1) m2 Range 2 ? (A1) "a4 a19 a28 a44 a53 a91 a106 a123" Explicit fit of M1 "A4-10 A19-23 A28-36 A44-51 A53-66 A91-97 A106-111 A123:126" And M2 "A4 A19 A28 A44 A53 A91 A106 A123" Atom types | CA | N | C | O | CB | Nr of atoms to match : ( 295) The 295 atoms have an RMS distance of 0.892 A Rotation : -0.956932 0.127723 -0.260706 0.170532 -0.479456 -0.860837 -0.234946 -0.868222 0.437026 Translation : 13.787 26.800 38.541 ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE -----
----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- LSQMAN > im m1 a* m2 Range 2 ? (A1) a* Improve fit of M1 A* And M2 A* Atom type | CA | Nr of atoms in mol1 : ( 129) Nr of atoms in mol2 : ( 126)Found fragment of length : ( 126)
Cycle : ( 1) Distance cut-off (A) : ( 4.000) Min fragment length (res) : ( 3) The 126 atoms have an RMS distance of 0.906 A SI = RMS * Nmin / Nmatch = 0.90630 MI = (1+Nmatch)/{(1+W*RMS)*(1+Nmin)} = 0.52458 Rotation : -0.95771867 0.11354620 -0.26435241 0.17979124 -0.48112354 -0.85801822 -0.22461088 -0.86926830 0.44036639 Translation : 13.5455 27.2343 38.5374
...
Found fragment of length : ( 102) Found fragment of length : ( 23)
Cycle : ( 10) Distance cut-off (A) : ( 2.521) Min fragment length (res) : ( 3) The 125 atoms have an RMS distance of 0.880 A SI = RMS * Nmin / Nmatch = 0.88718 MI = (1+Nmatch)/{(1+W*RMS)*(1+Nmin)} = 0.52769 Rotation : -0.95701498 0.11345596 -0.26692718 0.18237905 -0.48019871 -0.85799015 -0.22552218 -0.86979133 0.43886536 Translation : 13.4690 27.2135 38.5830
Fragment CYS-A 3 <===> CYS-A 3 @ 2.00 A GLU-A 4 <===> SER-A 4 @ 1.15 A ALA-A 5 <===> VAL-A 5 @ 0.64 A ... LEU-A 127 <===> LEU-A 127 @ 0.83 A SER-A 128 <===> LYS-A 128 @ 1.76 A
Nr of residues in mol1 : ( 129) Nr of residues in mol2 : ( 126) Nr of matched residues : ( 125) Nr of identical residues : ( 77) % identical of matched : ( 61.600) % matched of mol1 : ( 96.899) % identical of mol1 : ( 59.690) % matched of mol2 : ( 99.206) % identical of mol2 : ( 61.111)
----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE -----
You have to supply the molecule and chain names to be aligned, as well
as values for the following parameters:
- length of fragments the program will attempt to match (e.g., 50 or 30)
- step size for trying different fragments (typically, about half the
fragment length)
- the minimum number of matched residues between the two chains that
would make you happy (e.g., 100)
- an optional parameter which tells the program if the two molecules
are just models of the same protein (value S for Same), or if
they are different proteins alltogether (value D for Different,
default). In the former case, only matches of identical stretches
of residues will be tried, making the matching process an order
of magnitude faster. (Normally, EXplicit + IMprove is good enough
in case like this, but not when you are evaluating some of the
models submitted to CASP3 ...)
The algorithm is very simple. Suppose molecule 1 is numbered from 1 to
236, and molecule 2 from 36 to 85. If you use a fragment length of
50 residues and a step size of 10, the following will happen:
- the program will do an explicit superpositioning of residues 1 to 50
in molecule 1 and 36-85 in molecule 2. If the RMSD is less than 10 A,
it will subsequently attempt to improve the alignment.
- when it's done, it will align 1 to 50 with 37-86 in molecule 2, and
improve the alignment if possible, etc.
- in this way the fragment "1 to 50" of molecule slides over the
entire sequence of molecule 2; for each alignment the RMSD is
calculated, and the alignment is improved upon if possible.
- whenever an alignment leads to a larger number of matched residues
than previously obtained, the alignment will be stored as the
current best one
- when this is done, the program will "jump" 10 residues (the step
size), and now attempt to align residues 11 to 60 of molecule 1
with molecule 2 36-85, 37-86, ....
If at any stage the number of matched residues exceeds the minimum number you said would make you happy, the operation stops and the alignment is stored as the current best operator bringing molecule 2 on top of molecule 1. To see which residues are matched, do an IMprove molecule1 molecule2.
The default values for the three parameters usually work well. If the similarity between the two molecules is very small, you can use a smaller value for the fragment length (e.g., 30 instead of 50).
If you want to do a more thorough search (slow !), use a small value for the step size, and a large value for the minimum number of residues to be matched.
In difficult cases, use a large number for the minimum number of residues to be matched (at least 100). The rationale for this is that for two large structures, there are often "false minima" involving a respectable number of matched residues. For example, aligning 1LTE to 1CEL with a value of 50 gives an incorrect solution; using a value of 100 gives the correct solution.
Note that you can use all the parameters that you can use for the EXplicit and IMprove commands (e.g., which atoms to use in the alignment, so it should also work for DNA, RNA, sugars, ...).
Example 1 - matching P2 myelin (1PMP) to cellular retinol-binding protein (1CBR). This is very easy, since the two proteins are structurally very similar, and the correct alignment is found within a second:
----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- LSQMAN > re m1 /nfs/pdb/full/1pmp.pdb LSQMAN > re m2 /nfs/pdb/full/1crb.pdb LSQMAN > brute m2 a m1 a 50 25 50 Brute-force fit of M2 A And M1 A Atom types | CA | B-factor range used: -1000.00 - 10000.00 A2Try zone : (A1-50) Max match so far : ( 124) RMSD (A) : ( 1.350)
Max match : ( 124) RMSD (A) : ( 1.350) Mol 1 res : ( 1) Mol 2 res : ( 1)
Regenerating best alignment ... The 124 atoms have an RMS distance of 1.350 A SI = RMS * Nmin / Nmatch = 1.42589 MI = (1+Nmatch)/{(1+W*RMS)*(1+Nmin)} = 0.40302 MC = Maiorov-Crippen RHO (0-2) = 0.09896 RMS delta B for matched atoms = 19.016 A2 Corr. coefficient matched atom Bs = 0.504 Rotation : 0.68867493 -0.70703316 -0.16072004 0.64643365 0.69910890 -0.30556563 0.32840583 0.10654055 0.93850875 Translation : -71.5652 -14.1618 -7.1147 LSQMAN > im m2 * m1 * ... Fragment PHE-A 4 <===> PHE-A 4 @ 0.75 A * ASN-A 5 <===> LEU-A 5 @ 1.00 A GLY-A 6 <===> GLY-A 6 @ 0.77 A * TYR-A 7 <===> THR-A 7 @ 0.74 A TRP-A 8 <===> TRP-A 8 @ 0.77 A * LYS-A 9 <===> LYS-A 9 @ 0.72 A * MET-A 10 <===> LEU-A 10 @ 0.66 A LEU-A 11 <===> VAL-A 11 @ 0.62 A ... Nr of residues in mol1 : ( 134) Nr of residues in mol2 : ( 393) Nr of matched residues : ( 124) Nr of identical residues : ( 44) % identical of matched : ( 35.484) % matched of mol1 : ( 92.537) % identical of mol1 : ( 32.836) % matched of mol2 : ( 31.552) % identical of mol2 : ( 11.196) ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE -----
Example 2 - matching cellular retinol-binding protein (1CRB) to the serum retinol-binding protein (1RBP). This is more difficult, since, although the proteins are related, their structures are rather different (10- versus 8-stranded beta-barrel; ~130 versus ~170 residues). Therefore, be a bit more conservative with the choice of parameters (although the default values give almost the same operator, but with only 61 aligned atoms and an RMSD of 1.55 Å, and is 4 faster):
----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- LSQMAN > brute m2 a m3 a 30 15 100 Brute-force fit of M2 A And M3 A Atom types | CA | B-factor range used: -1000.00 - 10000.00 A2Try zone : (A1-30) Max match so far : ( 6) RMSD (A) : ( 1.399) Max match so far : ( 14) RMSD (A) : ( 1.702) Max match so far : ( 29) RMSD (A) : ( 1.953) Max match so far : ( 60) RMSD (A) : ( 1.671) Try zone : (A16-45) Try zone : (A31-60) Max match so far : ( 62) RMSD (A) : ( 1.595) Max match so far : ( 69) RMSD (A) : ( 1.725) Try zone : (A46-75) Try zone : (A61-90) Try zone : (A76-105) Try zone : (A91-120) Try zone : (A106-135) Try zone : (A121-150) Try zone : (A136-165) Try zone : (A151-180) Try zone : (A166-195) Try zone : (A181-210) Try zone : (A196-225) Try zone : (A211-240) Try zone : (A226-255) Try zone : (A241-270) Try zone : (A256-285) Try zone : (A271-300) Try zone : (A286-315) Try zone : (A301-330) Try zone : (A316-345) Try zone : (A331-360)
Max match : ( 69) RMSD (A) : ( 1.725) Mol 1 res : ( 31) Mol 2 res : ( 36)
Regenerating best alignment ... The 69 atoms have an RMS distance of 1.725 A SI = RMS * Nmin / Nmatch = 3.35045 MI = (1+Nmatch)/{(1+W*RMS)*(1+Nmin)} = 0.19027 MC = Maiorov-Crippen RHO (0-2) = 0.14722 RMS delta B for matched atoms = 12.240 A2 Corr. coefficient matched atom Bs = 0.230 Rotation : -0.07855319 0.99690783 0.00203792 -0.75387448 -0.06074028 0.65420473 0.65230560 0.04985354 0.75631475 Translation : 2.2218 -28.6619 -51.8604 CPU total/user/sys : 64.5 64.5 0.1 ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE -----
Example 3 - a tough case is matching 1CEL and 1AYH. Both proteins have a similar core fold but they are not so easy to align. With conservative parameters, the program finds the correct alignment very quickly though:
----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- LSQMAN > re m1 /nfs/pdb/full/1cel.pdb LSQMAN > re m2 /nfs/pdb/full/1ayh.pdb LSQMAN > br Mol 1 ? (M2) m1 Chain 1 ? (A) Mol 2 ? (M1) m2 Chain 2 ? (A) Fragment length ? ( 50) 30 Fragment step ? ( 10) 15 Min nr of residues to match ? ( 50) Brute-force fit of M1 A And M2 A Atom types | CA | B-factor range used: -1000.00 - 10000.00 A2Try zone : (A1-30) Max match so far : ( 15) RMSD (A) : ( 1.540) Max match so far : ( 17) RMSD (A) : ( 1.892) Max match so far : ( 27) RMSD (A) : ( 2.287) Max match so far : ( 30) RMSD (A) : ( 2.407) Try zone : (A16-45) Try zone : (A31-60) Max match so far : ( 33) RMSD (A) : ( 2.071) Try zone : (A46-75) Try zone : (A61-90) Try zone : (A76-105) Max match so far : ( 118) RMSD (A) : ( 1.632)
Max match : ( 118) RMSD (A) : ( 1.632) Mol 1 res : ( 76) Mol 2 res : ( 31)
Regenerating best alignment ... The 118 atoms have an RMS distance of 1.632 A SI = RMS * Nmin / Nmatch = 2.95980 MI = (1+Nmatch)/{(1+W*RMS)*(1+Nmin)} = 0.21029 MC = Maiorov-Crippen RHO (0-2) = 0.11718 RMS delta B for matched atoms = 4.886 A2 Corr. coefficient matched atom Bs = 0.483 Rotation : -0.00117512 0.78378356 0.62103295 -0.99771070 0.04107324 -0.05372495 -0.06761657 -0.61967438 0.78194100 Translation : 47.5682 52.8404 46.9592 CPU total/user/sys : 36.1 36.0 0.1 ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE -----
----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- LSQMAN > ed m1 m2 Operator bringing : (M2) on top of : (M1) Operator element 1 ? ( -0.9570150) Operator element 2 ? ( 0.1134560) Operator element 3 ? ( -0.2669272) Operator element 4 ? ( 0.1823791) Operator element 5 ? ( -0.4801987) Operator element 6 ? ( -0.8579901) Operator element 7 ? ( -0.2255222) Operator element 8 ? ( -0.8697913) Operator element 9 ? ( 0.4388654) Operator element 10 ? ( 13.46905) 13 Operator element 11 ? ( 27.21351) 27 Operator element 12 ? ( 38.58303) 39 Determinant of rotation matrix = 1.000000 Rotation angle = 177.671234 ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE -----
----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- LSQMAN > sh m2 m2 Operator bringing : (M2) on top of : (M2) Last command was : (EX M2 A1-400 M2 B1) The 2324 atoms have an RMS distance of 0.338 A SI = RMS * Nmin / Nmatch = 0.33790 MI = (1+Nmatch)/{(1+W*RMS)*(1+Nmin)} = 0.74744 RMS delta B for matched atoms = 9.455 A2 Corr. coefficient matched atom Bs = 0.707 Rotation : 0.27394941 0.93619686 0.22019802 0.93816668 -0.31052074 0.15303643 0.21164827 0.16465820 -0.96337569 Translation : -3.6828 -0.9881 27.3222Nr of NCS operators : 1
NCSOP 1 = 0.2739494 0.9381667 0.2116483 -3.683 0.9361969 -0.3105207 0.1646582 -0.988 0.2201980 0.1530364 -0.9633757 27.322 Determinant of rotation matrix = 1.000000 Crowther Alpha Beta Gamma 37.88222 164.44548 145.20091 Spherical polars Omega Phi Chi 82.22273 36.34090 179.58316 Direction cosines of rotation axis 0.79811 0.58715 0.13532 Dave Smith -170.30086 77.27934 -73.72193 Rotation angle = 179.583160
*POOR* - NCS not restrained *POOR* - NCS Bs not restrained ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE -----
----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- LSQMAN > save m1 m2 Operator bringing : (M2) on top of : (M1) File name ? (rt_m2_to_m1.odb) Save in file : (rt_m2_to_m1.odb) Datablock name : (.lsq_rt_m2_to_m1) ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE -----
----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- LSQMAN > ol m1 m2 Operator bringing : (M2) on top of : (M1) File name ? (rt_m2_to_m1.odb) Opening O datablock : (rt_m2_to_m1.odb) Created by LSQMAN V. 931022/0.4 at Fri Oct 22 23:03:13 1993 for user gerard Datablock : (.LSQ_RT_M2_TO_M1) Data type : (R) Number : (12) Format : ((3F15.7)) Operator : ( -9.570E-01 1.135E-01 -2.669E-01 1.824E-01 -4.802E-01 -8.580E-01 -2.255E-01 -8.698E-01 4.389E-01 1.347E+01 2.721E+01 3.858E+01) Determinant of rotation matrix = 1.000000 Rotation angle = 177.671234 Operator looks okay ! ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE -----
From version 5.3, there is an optional "chain" parameter in case you want to apply an operator to only one chain of a molecule. The default is to apply it to all chains ("*").
----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- LSQMAN > ap m1 m1 b Bring Mol 2 on top of Mol 1 ... Warning: mol1 == mol2 ! Molecule 1 : (M1) Molecule 2 : (M1) Apply to mol 2 chain : (B) Nr of atoms moved : ( 3518) Resetting ALL operators of mol 2 ... ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE -----
----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- LSQMAN > ex m2 a1-400 m2 b1 WARNING - mol1 == mol2 ! Explicit fit of M2 A1-400 And M2 B1 Atom types | CA | Nr of atoms to match : ( 317) The 317 atoms have an RMS distance of 0.172 A RMS delta B = 9.405 A2 Corr. coeff. = 0.6226 Rotation : 0.273846 0.936356 0.219651 0.938231 -0.310304 0.153082 0.211497 0.164162 -0.963493 Translation : -3.689 -0.995 27.315 LSQMAN > at no Nr of atom types : ( 1) Type : (NONH) LSQMAN > rm m2 a1-400 m2 b1 WARNING - mol1 == mol2 ! Calculate RMSD of M2 A1-400 And M2 B1 Atom types |NONH| Nr of atoms to match : ( 2324) The 2324 atoms have an RMS distance of 0.339 A RMS delta B = 9.455 A2 Corr. coeff. = 0.7071 Rotation : 0.273846 0.936356 0.219651 0.938231 -0.310304 0.153082 0.211497 0.164162 -0.963493 Translation : -3.689 -0.995 27.315 ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE -----
----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- LSQMAN > rmsd m1 a26-36 m2 a26 Calculate RMSD of M1 A26-36 And M2 A26 Atom types | CA | B-factor range used: -1000.00 - 10000.00 A2 Nr of atoms to match : ( 11) Nr skipped (B limits) : ( 0)The 11 atoms have an RMS distance of 0.333 A RMS delta B = 21.250 A2 Corr. coeff. = 0.1809 Rotation : -0.779411 -0.366070 -0.508440 0.275059 -0.929083 0.247278 -0.562905 0.052881 0.824829 Translation : 19.155 34.722 27.774
Vectors between first and last selected atoms: Mol 1 : ( 4.498 -1.028 14.570) Mol 2" : ( 4.050 -0.701 14.022) Angle between them (deg) : ( 1.524) ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE -----
NOTE: from version 3.2.1 onward, commented-out O datablock headers are included in the plot files. This enables you to quickly convert the plot files into O datablocks, read them into O, and use them to colour your molecule.
----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- LSQMAN > ph m1 a5-190 m1 b5 3sdp_phipsi.plt WARNING - mol1 == mol2 ! Plot of M1 A5-190 And M1 B5 Nr of residues matched : ( 186) RMS delta PHI : ( 69.041) Average |delta PHI| : ( 49.626) Nr |delta PHI| > 10 : ( 150) Percentage : ( 80.645) RMS delta PSI : ( 71.161) Average |delta PSI| : ( 51.375) Nr |delta PSI| > 10 : ( 148) Percentage : ( 79.570) Plot file written ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE -----
The plot file may look as follows:
----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- REMARK Created by LSQMAN V. 941218/3.0.1 at Sun Dec 18 00:50:42 1994 for user gerard XLABEL Residue number YLABEL Delta PHI and Delta PSI REMARK Plot of delta PHI (solid blue) and delta PSI (dotted red) as a function of residue nr REMARK Values are those of mol M1 = file /nfs/pdb/full/3sdp.pdb REMARK minus those of mol M1 = file /nfs/pdb/full/3sdp.pdb XYVIEW 4 191 -180 180 NPOINT 186 COLOUR 4 XVALUE * 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 ... 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 ! MOLNAM_RESIDUE_DPHI R 186 (9f8.2) YVALUE * 0.00 -3.92 5.34 -59.37 139.44 155.28 92.02 -2.66 145.04 87.80 149.14 -83.57 16.04 48.16 16.36 -0.47 -27.75 -53.48 ... -9.94 -17.02 -20.24 68.48 27.43 138.36 REMARK RMS delta PHI = 69.04 +++ Average |delta PHI| = 49.63 REMARK Nr |delta PHI| > 10 = 150 +++ Percentage = 80.65 MORE COLOUR 1 ! MOLNAM_RESIDUE_DPSI R 186 (9f8.2) YVALUE * 42.14 -44.13 -64.43 39.98 0.63 -172.61 -112.61 35.95 174.50 ... 36.56 -7.45 9.34 -17.56 85.27 0.00 REMARK RMS delta PSI = 71.16 +++ Average |delta PSI| = 51.38 REMARK Nr |delta PSI| > 10 = 148 +++ Percentage = 79.57 END ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE -----
NOTE: from version 3.2.1 onward, commented-out O datablock headers are included in the plot files. This enables you to quickly convert the plot files into O datablocks, read them into O, and use them to colour your molecule.
----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- LSQMAN > re m2 /nfs/pdb/full/5rub.pdb ... LSQMAN > at ca Nr of atom types : ( 1) Type : ( CA) LSQMAN > ex m2 a2-457 m2 b2 ... The 432 atoms have an RMS distance of 0.909 A RMS delta B = 5.001 A2 Corr. coeff. = 0.9451 ... LSQMAN > di m2 a2-457 m2 b2 5rub_cadist.plt WARNING - mol1 == mol2 ! Central-atom distance plot Central atom type : ( CA) Plot of M2 A2-457 And M2 B2 Nr of residues matched : ( 432) Average distance : ( 0.631) Minimum distance : ( 0.028) Maximum distance : ( 4.912) Plot file written ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE -----
NOTE: from version 3.2.1 onward, commented-out O datablock headers are included in the plot files. This enables you to quickly convert the plot files into O datablocks, read them into O, and use them to colour your molecule.
----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- LSQMAN > re m1 /nfs/pdb/full/3sdp.pdb ... LSQMAN > dd m1 a5-190 m1 b5 3sdp_cadihe.plt WARNING - mol1 == mol2 ! Central-atom delta-dihedral plot Central atom type : ( CA) Plot of M1 A5-190 And M1 B5 Nr of residues matched : ( 183) RMS delta DIH : ( 54.345) Average |delta DIH| : ( 35.837) Nr |delta DIH| > 10 : ( 120) Percentage : ( 65.574) RMS |delta ANG| : ( 15.931) Average |delta ANG| : ( 11.835) Nr |delta ANG| > 5 : ( 124) Percentage : ( 67.760) Plot file written ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE -----
Note: the two chains you compare must already have been superimposed in some way (e.g., using the EXplicit or BRute_force commands).
Reference: R Sanchez and A Sali, Proteins, Suppl. 1, 50-58 (1997).
Note: on second thought, this is probably not the type of plot Sali & Sanchez described after all ...
----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- LSQMAN > sim m1 a m2 a Command > (sim m1 a m2 a) Plot file name ? (m1_m2_simil.plt) Similarity plot of M1 A And M2 A Atom types | CA | B-factor range used -1000.00 - 10000.00 A2 Cut-off start 0.10 Cut-off end 10.00 Cut-off step 0.10 Nr of steps 100# 1 Cut-off 0.10 Nmatch -1 RMSD 999.99 # 2 Cut-off 0.20 Nmatch -1 RMSD 999.99 # 3 Cut-off 0.30 Nmatch -1 RMSD 999.99 # 4 Cut-off 0.40 Nmatch 8 RMSD 0.15 # 5 Cut-off 0.50 Nmatch 41 RMSD 0.32 # 6 Cut-off 0.60 Nmatch 83 RMSD 0.38 # 7 Cut-off 0.70 Nmatch 104 RMSD 0.41 # 8 Cut-off 0.80 Nmatch 110 RMSD 0.43 # 9 Cut-off 0.90 Nmatch 125 RMSD 0.47 # 10 Cut-off 1.00 Nmatch 132 RMSD 0.49 ... # 99 Cut-off 9.90 Nmatch 157 RMSD 1.25 # 100 Cut-off 10.00 Nmatch 157 RMSD 1.25 Nr of unique valid plot points : ( 25) Plot file written LSQMAN > $ cat m1_m2_simil.plt Command > ($ cat m1_m2_simil.plt) Spawn system command : ( cat m1_m2_simil.plt) ! Created by LSQMAN V. 981108/7.0.1 at Sun Nov 8 17:55:42 1998 for gerard XLABEL Number of superimposed residues YLABEL RMSD of superimposed residues REMARK Similarity plot (Sanchez & Sali, 1997) REMARK Compared mol M1 = file m13a.pdb REMARK and mol M2 = file 1mup.pdb NPOINT 25 COLOUR 4 XYVIEW 0.00 172.70 0.00 1.38 XVALUE * 8 41 83 104 110 125 132 135 133 135 138 139 140 142 143 144 145 146 147 148 150 151 152 155 157 YVALUE * 0.15 0.32 0.38 0.41 0.43 0.47 0.49 0.51 0.49 0.51 0.55 0.56 0.57 0.61 0.63 0.65 0.67 0.69 0.73 0.76 0.83 0.88 0.94 1.08 1.25 END ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE -----
NOTE:: if you use too large a distance cut-off, some waters in the second molecule may be matched more than once against waters in the first molecule ! A suggested value for the cut-off is ~1-2 A.
----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- LSQMAN > ch re LSQMAN > re m1 /nfs/pdb/full/5rub.pdb LSQMAN > re m2 /nfs/pdb/full/2rus.pdb LSQMAN > at ext LSQMAN > ex m1 a1-999 m2 a1 ... Atom types | CA | N | C | O | CB | Nr of atoms to match : ( 2128) The 2128 atoms have an RMS distance of 0.545 A RMS delta B = 4.905 A2 Corr. coeff. = 0.9261 ... LSQMAN > im m1 a* m2 a* LSQMAN > sh m1 m2 LSQMAN > waters m1 m2 Distance cut-off (A) ? (1.50) Plot file ? (m1_m2_dist_db.plt) Water comparison of mol 1 : (M1) and mol 2 : (M2) Waters in mol 1 : ( 736) Waters in mol 2 : ( 714) Applying current operator to mol 2 : ( 1.000 0.003 -0.004 -0.003 1.000 -0.003 0.004 0.003 1.000 -0.189 -0.236 0.186)1 HOH-C 4 <-> HOH-C 7 | D 0.20 | B 14.74 14.06 2 HOH-C 5 <-> HOH-C 8 | D 0.19 | B 21.94 13.00 3 HOH-C 6 <-> HOH-C 9 | D 0.17 | B 16.73 11.17 4 HOH-C 8 <-> HOH-C 601 | D 0.30 | B 24.66 30.83 5 HOH-C 10 <-> HOH-C 13 | D 0.41 | B 25.37 20.04 6 HOH-C 11 <-> HOH-C 14 | D 0.41 | B 25.49 44.41 ... 241 HOH-C 720 <-> HOH-C 311 | D 0.83 | B 73.33 57.27 242 HOH-C 727 <-> HOH-C 553 | D 0.90 | B 62.94 59.38 243 HOH-C 730 <-> HOH-C 713 | D 0.51 | B 48.13 32.37 244 HOH-C 733 <-> HOH-C 341 | D 0.77 | B 59.37 48.07
Nr of matched waters : ( 244) % matched waters mol 1 : ( 33.152) % matched waters mol 2 : ( 34.174) Average B of non-matched waters in mol 1 : ( 49.714) Average B of matched waters in mol 1 : ( 38.196) Average B of matched waters in mol 2 : ( 37.940) RMS distance (A) : ( 0.796) RMS delta-B (A2) : ( 10.949) Matching distances : Average : 0.70 St. dev. : 0.39 Minimum : 0.05 Maximum : 1.49 Delta-B values : Average : 8.37 St. dev. : 7.06 Minimum : 0.09 Maximum : 37.02 Correlation coefficient : ( 0.274) Plot file written CPU total/user/sys : 1.1 0.9 0.1 ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE -----
----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- REMARK Created by LSQMAN V. 950224/3.2 at Sat Feb 25 02:50:29 1995 for user gerard XLABEL Distance (A) between matched water molecules YLABEL |Delta-B| (A2) of matched water molecules REMARK Scatter plot of distance and abs(delta-B) of matched water molecules in two models or chains REMARK Waters are those of mol 1 = M1 = file /nfs/pdb/full/5rub.pdb REMARK Matched waters are from mol 2 = M2 = file /nfs/pdb/full/2rus.pdb REMARK Distances ave/sdv/min/max = 0.70 0.39 0.05 1.49 REMARK |Delta-B| ave/sdv/min/max = 8.37 7.06 0.09 37.02 REMARK Correlation coefficient = 0.27 REMARK Cut-off distance used (A) = 1.50 REMARK Waters in mol 1, mol 2, matched 736 714 244 XYVIEW 0.00 1.60 0.00 38.00 NPOINT 244 COLOUR 4 XVALUE * 0.20 0.19 0.17 0.30 0.41 0.41 0.52 0.57 0.60 ... 7.99 22.04 16.04 0.09 5.96 2.61 16.06 3.56 15.76 11.30 END ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE -----
You can also use this option to see how many waters obey the NCS, if present, and how well they do this. Simply do an explicit fit of two chains and run the WAters command. In the following example (PDB code 5RUB), only ~40 % of the waters have an "NCS-mate" within 1.5 A.
----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- LSQMAN > ex m1 a1-999 m1 b1 LSQMAN > im m1 a* m1 b* LSQMAN > wa m1 m1 WARNING - mol1 == mol2 ! Distance cut-off (A) ? (1.50) Plot file ? (m1_m1_dist_db.plt) Water comparison of mol 1 : (M1) and mol 2 : (M1) Waters in mol 1 : ( 736) Waters in mol 2 : ( 736) Applying current operator to mol 2 : ( 0.390 -0.071 0.918 -0.045 -0.997 -0.058 0.920 -0.019 -0.392 5.419 17.580 -7.606)1 HOH-C 3 <-> HOH-C 59 | D 0.81 | B 41.96 39.42 2 HOH-C 4 <-> HOH-C 32 | D 0.44 | B 14.74 15.61 3 HOH-C 5 <-> HOH-C 116 | D 0.65 | B 21.94 23.09 4 HOH-C 6 <-> HOH-C 115 | D 0.70 | B 16.73 13.64 ... 298 HOH-C 695 <-> HOH-C 592 | D 1.41 | B 50.81 69.92 299 HOH-C 699 <-> HOH-C 486 | D 0.81 | B 61.57 41.81 300 HOH-C 709 <-> HOH-C 368 | D 1.21 | B 37.86 35.01 301 HOH-C 724 <-> HOH-C 456 | D 0.75 | B 57.56 46.63
Nr of matched waters : ( 301) % matched waters mol 1 : ( 40.897) % matched waters mol 2 : ( 40.897) Average B of non-matched waters in mol 1 : ( 50.817) Average B of matched waters in mol 1 : ( 38.783) Average B of matched waters in mol 2 : ( 37.359) RMS distance (A) : ( 0.949) RMS delta-B (A2) : ( 11.968) Matching distances : Average : 0.88 St. dev. : 0.36 Minimum : 0.09 Maximum : 1.50 Delta-B values : Average : 8.70 St. dev. : 8.22 Minimum : 0.05 Maximum : 46.68 Correlation coefficient : ( 0.142) Plot file written CPU total/user/sys : 1.1 1.0 0.2 ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE -----
----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- LSQMAN > hi m1 m2 50 0.25 Distance histogram of mol 1 : (M1) and mol 2 : (M2) Applying current operator to mol 2 : ( -0.592 -0.646 0.482 -0.645 0.021 -0.764 0.483 -0.763 -0.429 169.723 133.330 34.824)Nr of matched atoms : ( 3092) Nr of atoms in mol 2 : ( 3092) % matched atoms mol 2 : ( 100.000) RMS distance (A) : ( 1.525)
Matching distances : Average : 1.22 St. dev. : 0.91 Minimum : 0.01 Maximum : 9.36
86 in [ 0.00- 0.25> = 2.78% (Cumul 2.78 %) 382 in [ 0.25- 0.50> = 12.35% (Cumul 15.14 %) 635 in [ 0.50- 0.75> = 20.54% (Cumul 35.67 %) 513 in [ 0.75- 1.00> = 16.59% (Cumul 52.26 %) 359 in [ 1.00- 1.25> = 11.61% (Cumul 63.87 %) 305 in [ 1.25- 1.50> = 9.86% (Cumul 73.74 %) ... 1 in [ 8.00- 8.25> = 0.03% (Cumul 99.97 %) 1 in [ 9.25- 9.50> = 0.03% (Cumul 100.00 %) CPU total/user/sys : 18.0 18.0 0.1 ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE -----
A somewhat better result:
----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- ... NOT MATCHED :CA CA-C 440 NOT MATCHED : O HOH-C 441Nr of matched atoms : ( 3518) Nr of atoms in mol 2 : ( 7038) % matched atoms mol 2 : ( 49.986) RMS distance (A) : ( 0.160)
Matching distances : Average : 0.11 St. dev. : 0.12 Minimum : 0.00 Maximum : 2.50
2227 in [ 0.00- 0.10> = 63.30% (Cumul 63.30 %) 945 in [ 0.10- 0.20> = 26.86% (Cumul 90.16 %) 216 in [ 0.20- 0.30> = 6.14% (Cumul 96.30 %) 64 in [ 0.30- 0.40> = 1.82% (Cumul 98.12 %) 24 in [ 0.40- 0.50> = 0.68% (Cumul 98.81 %) 10 in [ 0.50- 0.60> = 0.28% (Cumul 99.09 %) 8 in [ 0.60- 0.70> = 0.23% (Cumul 99.32 %) 6 in [ 0.70- 0.80> = 0.17% (Cumul 99.49 %) 3 in [ 0.80- 0.90> = 0.09% (Cumul 99.57 %) 5 in [ 0.90- 1.00> = 0.14% (Cumul 99.72 %) 2 in [ 1.00- 1.10> = 0.06% (Cumul 99.77 %) 1 in [ 1.10- 1.20> = 0.03% (Cumul 99.80 %) 4 in [ 1.20- 1.30> = 0.11% (Cumul 99.91 %) 2 in [ 1.50- 1.60> = 0.06% (Cumul 99.97 %) 1 in [ 2.40- 2.50> = 0.03% (Cumul 100.00 %) CPU total/user/sys : 95.2 93.8 1.4 ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE -----
----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- LSQMAN > d1 m1 a1-999 m1 b1 cbh1_d1d2.plt WARNING - mol1 == mol2 ! Delta-1/Delta-2 plot Plot of M1 A1-999 And M1 B1 Nr of residues matched : ( 434) RMS delta Delta-1 : ( 2.137) Average |delta D-1| : ( 1.455) Nr |delta D-1| > 10 : ( 1) Percentage : ( 0.230) RMS delta Delta-2 : ( 6.046) Average |delta D-2| : ( 4.386) Nr |delta D-2| > 10 : ( 37) Percentage : ( 8.525) Plot file written CPU total/user/sys : 1.1 1.0 0.0 ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE -----
----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- LSQMAN > d1 m2 a1-999 m2 b1 3sdp_d1d2.plt WARNING - mol1 == mol2 ! Delta-1/Delta-2 plot Plot of M2 A1-999 And M2 B1 Nr of residues matched : ( 186) RMS delta Delta-1 : ( 57.323) Average |delta D-1| : ( 40.262) Nr |delta D-1| > 10 : ( 144) Percentage : ( 77.419) RMS delta Delta-2 : ( 78.515) Average |delta D-2| : ( 60.437) Nr |delta D-2| > 10 : ( 160) Percentage : ( 86.022) Plot file written ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE -----
This command enables you to produce a set of models that show the transition between two conformational states. Examples include: a rigid-body domain motion (e.g., the open and closed conformation of ribose-binding protein, 1URP and 2DRI), the open and closed lid of lipase (1CRL and 1TRH), a loop movement, etc. Using these models you can animate the transition in O (or other programs), produce animated GIFs, etc.
Morphing can be done in two different ways, namely in internal and in Cartesian coordinate space. Internal coordinate space is usually to be preferred, except when any of the torsion angles changes to a very large extent (e.g., more than 60 degrees). In internal coordinate space, the central atom trace (central atom would be CA for proteins, but can be set to anything using the ATom_type command in LSQMAN) is represented as follows:
CA1---CA2---CA3---CA4
the coordinates for CA4 would be:
- 1 = distance (CA4,CA3)
- 2 = angle (CA4,CA3,CA2)
- 3 = torsion angle (CA4,CA3,CA2,CA1)
To morph the transtion from state A to state B, LSQMAN calculates the internal coordinates for each state, and then generates the intermediate values by simple linear interpolation. For instance, if the torsion angle (CA4,CA3,CA2,CA1) changes from 34 to 61 degrees, and if there are a total of 10 models (including start and end models), model 1 would have a torsion of 34 degrees. The torsion range is 27 degrees (for 9 more models), so model 2 would have a torsion of 34+(27/9) = 37 degrees, model 3 40 degrees, etc.
If one of the torsions changes a lot, this means that all residues C-terminal of it will swing with it, which may lead to very strange effects (e.g., try this out on the A and B molecules of PDB entry 1SHF). In those cases, morphing has to be done in Cartesian coordinate space. For this to work, the two molecules (start and end point) *must* be superimposed ! The algorithm is very similar, in that every atom moves in regular steps from its starting point to its end point. The disadvantage of Cartesian space morphing is that the geometry will almost definitely be distorted (in internal space, the distances and angles are usually essentially fixed, e.g. CA-CA distances will be ~3.8 Å with little variation). As a rule, try morphing in internal coordinate space first; if it gives a strange effect, do it in Cartesian space instead.
For internal coordinate morphing, only one atom type can be used (e.g., CA for proteins), and only those atoms will be written to the model PDB files. However, for Cartesian space morphing you may select any set of atoms (e.g., main-chain atoms or all atoms).
Specifically for proteins, if you select the ATom_type TRace, you can morph in internal coordinate space with both the CA trace and the non-hydrogen side-chain atoms. This enables you to visualise which residues change most drastically upon domain closure, ligand or substrate binding, or whatever. Of course, you want to use the NOmenclature and FIx commands to prevent artifactual changes (e.g., Phe-ring flip because of how you named the ring carbons). Usually, trace morphing will show large changes for surface residues, whereas you are probably more interested in the active site or ligand-binding residues. The solution is simple: prepare a PDB file which contains only the main-chain atoms of your protein PLUS those side-chain atoms that are of interest (can be done with a text editor, or with MOLEMAN2, for example). Trace morphing is the most complicated in terms of programming, but I think it should work in most cases (unless, again, there is a large change somewhere in one or more of the virtual CA torsions). It will not work very well for moieties that are not connected to your protein (e.g., waters, ligand), so you may want to exclude those.
PLEASE NOTE: simple morphing does NOT pretend to simulate a favourable pathway for effecting the conformational change ! It is merely a (suggestive) visualisation method !
HINT: if you really want to impress your boss, you could also "morph" the diffusion of a substrate etc. into an active site, binding site, or whatever. Generate your substrate inside the site, and a copy far away, and do a Cartesian morphing. The result will be your substrate floating into the binding site. (If you combine this with an internal morph of a domain motion, e.g. in ribose-binding protein: do the two morphs separately in LSQMAN, and append the morphed ligand to the morphed PDB file of the protein. You may want to reset all "B-factors" of the ligand. And you will want to draw all atoms of the ligand in O.)
The models' PDB files will only contain coordinates for the selected atoms (usually, CA atoms). Their B-factors will be replaced by the magnitude of the change of the torsion around each CA-CA bond, so that if you paint_ramp the CA model in O, the "hot spots" will be coloured towards red, whereas the parts of the structure that do not change much will be blue or green. (In Cartesian space, the B-factors will contain the distance for each central atom between its position in the starting and end model.)
LSQMAN creates a macro for itself. This macro will superimpose all morphing models onto the very first one. By default, the same residue range will be used as that given for molecule 1 in the MOrph command; if this is not appropriate (e.g., for ribose-binding protein, you could use residue 100 to 230 instead and see what happens), you can provide a different range as a parameter to the MOrph command.
LSQMAN also creates two O macros: basename_read.omac and basename_morph.omac . The first will read the models, paint_ramp them by B-factors, and draw the CA trace (or zone). The second contains the instructions to draw one model after the other so as to go from start to end and back to start again. Unfortunately, when O executes a macro, the display is not updated until the macro is finished, so you must cut and paste the instructions from the second macro into your O command window !!!
The parameters to the MOrph command are:
- molecule 1
- residue range 1
- molecule 2
- residue range 2
- the total number of morphing steps (including start and end)
- base name for output files (used for generating file names for
the output PDB files, LSQMAN macro and O macros)
- morph type (internal or Cartesian)
- O molecule name suffix (one character; default is "M", but if
you want to combine multiple morphs, you can use different
characters, e.g. "X" for the protein and "Y" for the substrate)
- superpositioning range (default is same as "residue range 1");
this will be used in the LSQMAN macro to superimpose and improve
the operator between all models and the first one; you can use
this if you specifically want to superimpose on residues A100-230
since you know that these are rock-solid
- torsion angle range cut-off (default is not to use this facility
by providing a number larger than 180 degrees here); if this number
is smaller than 180 degrees, and if you do internal coordinate
morphing, the program will attempt to replace central atom (CA-CA)
bonds with too large torsions by pseudo-bonds to other atoms
that yield smaller torsion changes. This sometimes solves the
problem of "unfolding proteins" (e.g., molecule A and B from PDB
entry 1SHF can be morphed successfully in this fashion), but not
always. It can also introduce artefacts (broken bonds in particular).
If straightforward internal coordinate morphing produces artefacts,
the use of this parameter is worth a try. If it still doesn't
work, consider morphing in Cartesian coordinate space. (NOTE:
bonds will still be coloured correctly if this option is used,
and the O macro will change the maximum allowed central-atom
spacing to 15.0 A so as still to connect sequential central atoms
that may become too widely apart during some of the morphing.)
For example, for 1URP and 2DRI (ribose-binding protein) we will trace morph the transition between the closed (ribose-bound) and open conformation:
(1) Only select the main-chain atoms plus those side-chain atoms that are near the ligand of 2DRI (using MOLEMAN2):
----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- MOLEMAN2 > re /nfs/pdb/full/2dri.pdb MOLEMAN2 > sel none MOLEMAN2 > sel or res rip MOLEMAN2 > select dist 0.0 8.0 MOLEMAN2 > sel by_residue MOLEMAN2 > sel or class main MOLEMAN2 > sel and type prot MOLEMAN2 > wr 2dri.pdb pdb selected MOLEMAN2 > quit ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE -----
(2) Do the trace morphing in LSQMAN (don't forget to fix the ambiguous side-chain torsions with the NOmenclature and FIx commands !):
----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- LSQMAN > re m1 1urp.pdb ... LSQMAN > re m2 2dri.pdb ... LSQMAN > nomen m1 Command > (nomen m1) Enforce proper nomenclature for : (M1) Nr of atoms : ( 2002) Nr of residues : ( 271)# of PHE checked : 7 # errors : 0 # of TYR checked : 3 # errors : 0 # of ASP checked : 21 # errors : 0 # of GLU checked : 11 # errors : 0 # of ARG checked : 6 # errors : 0 No problem, mon ! LSQMAN > fix m1 a1-999 m2 a1 strict seq torsion Command > (fix m1 a1-999 m2 a1 strict seq torsion) Reference atoms M1 A1-999 Fix atoms for M2 A1 Only fix Asp/Glu/Arg/Phe/Tyr Use sequential residues (1:1 correspondence) Minimise torsion-angle differences Minimum improvement : ( 0.010)
Zone : ( 1) Fix sidechain of PHE-A- 15 ( 164.38 versus 17.20) Fix sidechain of ASP-A- 52 ( 91.24 versus 88.01) Fix sidechain of GLU-A- 143 ( 93.35 versus 85.79) Fix sidechain of GLU-A- 246 ( 152.36 versus 26.93) Fix sidechain of GLU-A- 255 ( 112.10 versus 68.33)
Residues checked : ( 48) Residues fixed : ( 5) LSQMAN > at trace Command > (at trace) Nr of atom types : ( 1) Types : ( TRAC) LSQMAN > morph m1 a1-999 m2 a1 Command > (morph m1 a1-999 m2 a1) Number of steps ? ( 10) 25 Basename for output PDB files ? (morphy) trace Morph type (Internal/Cartesian) ? (internal) O mol name suffix ? (m) Superpositioning range ? (A1-999) a100-230 Torsion range cut-off ? ( 999.0000)
Morph in internal coordinate space Atom type(s) : ( TRAC) Morph CA and side-chain atoms Nr of atoms matched : ( 429) RMSD matching atoms : ( 47.653) Nr of CA atoms : ( 271) Nr of side-chain atoms : ( 158)
B-factors replaced by torsion angle differences: Average : ( 7.059) St.dev. : ( 14.452) Minimum : ( 0.012) Maximum : ( 150.835)
Morphing ... Creating LSQMAN macro : (trace.lsqmac) Creating first O macro : (trace_read.omac) Morph step number : ( 1) Morph step number : ( 2) Morph step number : ( 3) ... Morph step number : ( 25) Creating second O macro : (trace_morph.omac)
Morphing done ... execute the new LSQMAN macro to superimpose the morphed models ! CPU total/user/sys : 2.0 1.9 0.1 ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE -----
Note how little CPU time this operations requires (R10000) !
(3) Execute the LSQMAN macro to superimpose all morphing models on the first model:
----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- LSQMAN > @trace.lsqmac ... LSQMAN > quit ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE -----
(4) Now start a fresh O session; execute the macro that reads all models (@trace_read.omac). Then cut and paste instructions from the other macro (trace_morph.omac) into your O command window and impress your friends !!!
----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- LSQMAN > re m1 /nfs/pdb/full/1ldn.pdb Cell : ( 84.900 118.200 135.500 90.000 96.070 90.000) Old chain |A| becomes chain A ... Old chain |H| becomes chain H Nr of lines read from file : ( 21617) Nr of atoms in molecule : ( 20716) Nr of chains or models : ( 8) CPU total/user/sys : 5.0 4.9 0.1 LSQMAN > at ca Nr of atom types : ( 1) Type : ( CA) LSQMAN > set sim Setting defaults for 2 A fit of similar molecules LSQMAN > mc m1 1-999 im Find central chain/modelAligning B to A The 312 atoms have an RMS distance of 0.353 A SI = RMS * Nmin / Nmatch = 0.35740 MI = (1+Nmatch)/{(1+W*RMS)*(1+Nmin)} = 0.83930 RMS delta B for matched atoms = 14.206 A2 Corr. coefficient matched atom Bs = 0.262 Rotation : -0.81756556 0.23434444 -0.52599353 0.21982557 -0.71724868 -0.66123450 -0.53222477 -0.65622938 0.53488296 Translation : 60.9938 2.1685 22.1344
...
Chain/model A - RMSDs (A) to the others: 0.000 0.353 0.368 0.363 0.359 0.328 0.347 0.354 RMS(RMSD) for chain/model A = 0.353
...
Chain/model H - RMSDs (A) to the others: 0.354 0.324 0.336 0.319 0.326 0.324 0.319 0.000 RMS(RMSD) for chain/model H = 0.329
==> Central chain is G
CPU total/user/sys : 45.2 45.1 0.1 ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE -----
----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- LSQMAN > ma m1 1-999 im g Align all to one chain/model Chain/model A - RMSD (A) to the selected one = 0.347 Applying operator to chain ... Chain/model B - RMSD (A) to the selected one = 0.335 Applying operator to chain ... ... Chain/model H - RMSD (A) to the selected one = 0.319 Applying operator to chain ... CPU total/user/sys : 12.7 12.7 0.0 LSQMAN > wr m1 ../1ldn_aligned.pdb Number of atoms written : ( 20716) CPU total/user/sys : 6.6 5.3 1.3 ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE -----
----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- LSQMAN > re m3 /home/gerard/proteins/cbh2/nati/o/m12.pdb Cell : ( 49.100 75.800 92.900 90.000 103.200 90.000) ... LSQMAN > md m3 a cbh2_phi_psi_sigma.plt Multiple chain/model dihedral analysis Reference chain : (A) Residue range : 86 - 447 # 86 | 0.0 0.0 0.0 0.0 | -53.9 8.2 -62.0 -45.7 | 0 2 # 87 | -71.4 0.9 -72.3 -70.6 | 155.4 1.9 153.5 157.2 | 2 2 # 88 | -149.2 0.6 -149.7 -148.6 | 168.2 0.6 167.6 168.9 | 2 2 ... # 445 | -69.0 0.4 -69.4 -68.6 | 149.7 0.5 149.3 150.2 | 2 2 # 446 | -103.5 0.2 -103.7 -103.3 | -25.8 0.8 -26.6 -25.1 | 2 2 # 447 | -82.7 1.4 -84.1 -81.2 | 0.0 0.0 0.0 0.0 | 2 0 Nr of residues found : ( 362) SIGMA(phi) Ave, Sdv, Min, Max : 1.4 1.3 0.0 11.7 RANGE(phi) Ave, Sdv, Min, Max : 2.7 2.6 0.0 23.4 SIGMA(psi) Ave, Sdv, Min, Max : 1.5 1.3 0.0 8.2 RANGE(psi) Ave, Sdv, Min, Max : 2.9 2.5 0.0 16.3 Plot file written CPU total/user/sys : 4.3 4.2 0.1 ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE -----
----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- LSQMAN > re m2 /nfs/pdb/full/3sdp.pdb Cell : ( 81.900 49.100 61.700 90.000 106.800 90.000) ... LSQMAN > md m2 a 3sdp_phi_psi_sigma.plt Multiple chain/model dihedral analysis Reference chain : (A) Residue range : 5 - 191 # 5 | 0.0 0.0 0.0 0.0 | 54.3 21.1 33.2 75.4 | 0 2 # 6 | -91.5 2.0 -93.5 -89.6 | 157.0 22.1 134.9 179.1 | 2 2 # 7 | -143.2 2.7 -145.9 -140.5 | 30.3 32.2 -1.9 62.5 | 2 2 # 8 | -76.9 29.7 -106.6 -47.3 | 191.9 20.0 171.9 211.9 | 2 2 # 9 | -228.6 69.7 -298.3 -158.9 | 142.7 0.3 142.4 143.0 | 2 2 # 10 | -138.2 77.6 -215.8 -60.5 | 61.1 86.3 -25.2 147.4 | 2 2 # 11 | -196.8 46.0 -242.9 -150.8 | -95.7 56.3 -152.0 -39.4 | 2 2 ... # 188 | -128.1 34.2 -162.3 -93.8 | 129.6 8.8 120.8 138.4 | 2 2 # 189 | -130.0 13.7 -143.7 -116.3 | 24.8 42.6 -17.8 67.5 | 2 2 # 190 | 189.9 69.2 120.7 259.1 | 0.0 0.0 0.0 0.0 | 2 0 Nr of residues found : ( 186) SIGMA(phi) Ave, Sdv, Min, Max : 24.8 24.0 0.0 88.5 RANGE(phi) Ave, Sdv, Min, Max : 49.6 48.0 0.0 176.9 SIGMA(psi) Ave, Sdv, Min, Max : 25.7 24.6 0.0 89.1 RANGE(psi) Ave, Sdv, Min, Max : 51.4 49.2 0.0 178.1 Plot file written ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE -----
----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- LSQMAN > re m3 /home/gerard/proteins/cbh2/nati/o/m12.pdb Cell : ( 49.100 75.800 92.900 90.000 103.200 90.000) ... LSQMAN > mb m3 a cbh2_b_sigma_range.plt Multiple chain/model B-factor analysis Reference chain : (A) Residue range : 86 - 447 Central atom type : ( CA) # 86 | 26.4 2.9 23.5 29.3 | 2 # 87 | 25.5 4.6 21.0 30.1 | 2 # 88 | 20.8 5.0 15.8 25.8 | 2 ... # 445 | 19.7 0.2 19.5 19.9 | 2 # 446 | 22.6 0.8 21.9 23.4 | 2 # 447 | 32.6 2.0 30.6 34.5 | 2 Nr of residues found : ( 362) SIGMA(B) Ave, Sdv, Min, Max : 1.8 1.2 0.0 8.6 RANGE(B) Ave, Sdv, Min, Max : 3.7 2.5 0.0 17.2 Plot file written CPU total/user/sys : 2.3 2.3 0.1 ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE -----
----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- LSQMAN > re m1 /nfs/pdb/full/1ldn.pdb Cell : ( 84.900 118.200 135.500 90.000 96.070 90.000) ... LSQMAN > mb m1 a 1ldn_b_sigma_range.plt Multiple chain/model B-factor analysis Reference chain : (A) Residue range : 1 - 353 Central atom type : ( CA) # 15 | 44.7 7.9 34.9 63.3 | 8 # 16 | 49.8 11.0 29.9 63.3 | 8 # 17 | 43.9 15.4 17.7 63.3 | 8 # 18 | 45.5 12.2 23.5 63.3 | 8 # 19 | 35.8 10.0 25.9 57.3 | 8 # 20 | 29.7 12.1 11.1 48.3 | 8 # 21 | 21.5 4.9 15.1 30.6 | 8 # 22 | 17.2 7.7 7.6 35.5 | 8 ... # 328 | 37.3 14.1 20.8 63.3 | 8 # 329 | 39.8 14.1 20.6 61.6 | 8 # 330 | 45.5 12.1 26.5 59.7 | 8 Nr of residues found : ( 316) SIGMA(B) Ave, Sdv, Min, Max : 8.9 2.7 3.7 18.8 RANGE(B) Ave, Sdv, Min, Max : 27.8 8.7 10.6 62.8 Plot file written CPU total/user/sys : 2.8 2.8 0.1 ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE -----
----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- LSQMAN > mrama m2 a fasoonmr_multi_rama.ps Multiple Ramachandran plot Reference chain : (A) Residue range : 1 - 86 => XPS_GRAF - GJK (2.1 @ 950215) Opened PostScript file : (fasoonmr_multi_rama.ps) Date : (Mon May 29 19:39:13 1995) User : (gerard) Program : (LSQMAN) # 1 | 0.0 0.0 0.0 0.0 | 76.4 66.6 -64.5 155.0 | 0 13 # 2 | -135.6 63.0 -217.0 28.3 | -229.6 67.0 -342.0 -149.4 | 14 14 ... # 85 | 121.3 24.3 93.4 190.8 | 54.1 38.9 -46.5 87.5 | 14 14 # 86 | -115.7 21.1 -139.4 -76.8 | 0.0 0.0 0.0 0.0 | 14 0 Nr of residues found : ( 86) SIGMA(phi) Ave, Sdv, Min, Max : 12.1 11.9 0.0 78.9 RANGE(phi) Ave, Sdv, Min, Max : 42.1 38.0 0.0 245.3 SIGMA(psi) Ave, Sdv, Min, Max : 13.0 16.1 0.0 92.1 RANGE(psi) Ave, Sdv, Min, Max : 45.1 49.4 0.0 226.1 PostScript file written CPU total/user/sys : 3.0 2.5 0.5 ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE -----
----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- LSQMAN > re m3 /home/gerard/proteins/cbh2/nati/o/m12.pdb Cell : ( 49.100 75.800 92.900 90.000 103.200 90.000) ... LSQMAN > mside m3 a ../cbh2_chi12_sigma.plt Multiple side-chain torsion analysis Reference chain : (A) Residue range : 86 - 447 THR 87 | 60.5 3.7 56.8 64.3 | 0.0 0.0 0.0 0.0 | 2 0 TYR 88 | 64.2 1.3 62.9 65.5 | -81.8 1.6 -83.4 -80.2 | 2 2 SER 89 | 113.4 49.8 63.5 163.2 | 0.0 0.0 0.0 0.0 | 2 0 ASN 91 | -171.4 1.7 -173.1 -169.7 | -10.7 0.9 -11.6 -9.8 | 2 2 ... SER 445 | -176.8 0.8 -177.5 -176.0 | 0.0 0.0 0.0 0.0 | 2 0 PHE 446 | -81.8 1.9 -83.8 -79.9 | -81.8 0.0 -81.8 -81.8 | 2 2 LEU 447 | -68.6 1.6 -70.2 -67.0 | 163.1 5.0 158.1 168.1 | 2 2 Nr of residues found : ( 362) SIGMA(chi1) Ave, Sdv, Min, Max : 3.2 10.1 0.0 82.5 RANGE(chi1) Ave, Sdv, Min, Max : 6.3 20.1 0.0 165.0 SIGMA(chi2) Ave, Sdv, Min, Max : 3.4 11.4 0.0 88.3 RANGE(chi2) Ave, Sdv, Min, Max : 6.7 22.9 0.0 176.6 Plot file written CPU total/user/sys : 7.4 7.3 0.1 ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE -----
----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- LSQMAN > re m2 /nfs/pdb/full/3sdp.pdb Cell : ( 81.900 49.100 61.700 90.000 106.800 90.000) ... LSQMAN > mtor m2 a ../3sdp_chi12_dist.ps Multiple torsion plot Reference chain : (A) Residue range : 5 - 191 => XPS_GRAF - GJK (2.1 @ 950215) Opened PostScript file : (../3sdp_chi12_dist.ps) Date : (Mon May 29 23:13:11 1995) User : (gerard) Program : (LSQMAN) PRO 5 | 11.4 1.5 9.9 12.9 | -31.5 3.6 -35.0 -27.9 | 2 2 PRO 6 | 24.1 21.5 2.6 45.5 | -13.4 32.2 -45.7 18.8 | 2 2 LEU 7 | -123.9 17.7 -141.6 -106.3 | 102.1 71.3 30.8 173.4 | 2 2 PRO 8 | -3.8 31.8 -35.6 28.0 | 19.6 25.8 -6.2 45.4 | 2 2 TYR 9 | -150.8 14.4 -165.2 -136.4 | 20.5 23.8 -3.2 44.3 | 2 2 HIS 11 | 99.1 70.5 28.7 169.6 | -38.6 46.6 -85.3 8.0 | 2 2 ... PHE 185 | -178.3 39.2 -217.5 -139.2 | -28.7 38.9 -67.6 10.2 | 2 2 VAL 186 | 39.0 88.6 -49.6 127.6 | 0.0 0.0 0.0 0.0 | 2 0 GLU 188 | -65.5 1.0 -66.5 -64.5 | -124.3 65.6 -189.8 -58.7 | 2 2 GLU 189 | -75.7 14.0 -89.8 -61.7 | 18.9 88.3 -69.3 107.2 | 2 2 Nr of residues found : ( 187) SIGMA(chi1) Ave, Sdv, Min, Max : 25.5 26.4 0.0 88.6 RANGE(chi1) Ave, Sdv, Min, Max : 51.1 52.8 0.0 177.2 SIGMA(chi2) Ave, Sdv, Min, Max : 22.4 28.4 0.0 88.3 RANGE(chi2) Ave, Sdv, Min, Max : 44.7 56.8 0.0 176.5 PostScript file written CPU total/user/sys : 2.0 1.9 0.1 ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE -----
----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- CV = 1.0 - (1/N)*SQRT ( (SUM cos)**2 + (SUM sin)**2 ) ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE -----
Hence, the circular variance lies between 0 and 1, with low values indicating a high degree of similarity between the various observations of the angle.
----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- LSQMAN > re m1 /nfs/pdb/full/1ldn.pdb Cell : ( 84.900 118.200 135.500 90.000 96.070 90.000) Old chain |A| becomes chain A Old chain |B| becomes chain B Old chain |C| becomes chain C Old chain |D| becomes chain D Old chain |E| becomes chain E Old chain |F| becomes chain F Old chain |G| becomes chain G Old chain |H| becomes chain H Nr of lines read from file : ( 21617) Nr of atoms in molecule : ( 20716) Nr of chains or models : ( 8) Stripped hydrogen atoms : ( 0) Nr of HETATMs : ( 1132) CPU total/user/sys : 2.9 2.8 0.0 LSQMAN > vm m1 a Main-chain circular variance plot Plot file ? (m1_phi_psi_cv.plt) Reference chain : (A) Residue range : 1 - 353 Residue <phi> S(phi) Min Max <psi> S(psi) Min Max #phi #psi V(phi) V(psi) MET 15 | 0.0 0.0 0.0 0.0 | 132.4 10.1 118.4 149.1 | 0 8 | -1.000 0.015 LYS 16 | -87.0 11.1 -103.3 -66.8 | -9.8 8.7 -19.9 7.9 | 8 8 | 0.019 0.011 ASN 17 | -123.8 9.5 -139.7 -113.1 | 72.1 8.0 55.5 80.2 | 8 8 | 0.014 0.010 ASN 18 | 51.4 11.3 34.3 76.3 | 62.5 13.0 39.1 78.6 | 8 8 | 0.019 0.025 GLY 19 | -167.8 10.4 -187.4 -149.8 | 5.4 8.5 -7.9 21.7 | 8 8 | 0.016 0.011 GLY 20 | -119.5 13.4 -134.9 -90.0 | -144.5 11.6 -160.8 -127.9 | 8 8 | 0.027 0.020 ... ALA 326 | -48.9 11.6 -65.8 -30.3 | -50.0 14.2 -70.6 -25.7 | 8 8 | 0.020 0.030 ARG 327 | -90.0 10.4 -102.0 -72.7 | -10.6 15.5 -33.9 10.1 | 8 8 | 0.016 0.036 ALA 328 | -120.9 26.5 -162.0 -70.7 | 39.4 14.3 10.5 54.7 | 8 8 | 0.103 0.031 PHE 329 | -95.7 8.2 -106.7 -83.8 | 106.1 73.7 91.5 272.6 | 8 8 | 0.010 0.497 THR 330 | 57.8 43.5 -20.0 149.0 | 0.0 0.0 0.0 0.0 | 8 0 | 0.241 -1.000 Nr of residues found : ( 316) SIGMA(phi) Ave, Sdv, Min, Max, # : 9.02 5.12 2.92 58.45 315 RANGE(phi) Ave, Sdv, Min, Max, # : 28.52 17.95 9.94 189.73 315 SIGMA(psi) Ave, Sdv, Min, Max, # : 8.91 6.06 2.54 73.71 315 RANGE(psi) Ave, Sdv, Min, Max, # : 28.02 18.49 6.98 192.70 315 CV(phi) Ave, Sdv, Min, Max, # : 0.015 0.026 0.001 0.276 315 CV(psi) Ave, Sdv, Min, Max, # : 0.015 0.035 0.001 0.497 315 Plot file written CPU total/user/sys : 4.4 4.3 0.0 ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE -----
Dihedrals for which there are no observations are listed as having a circular variance of -1.0 (to recognise them easily), but in the plot they will have values of 0.0. The plot file may look as follows:
----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- REMARK Created by LSQMAN V. 970722/5.5 at Tue Jul 22 19:22:45 1997 for user gerard XLABEL Residue number YLABEL CV(phi) and CV(psi) REMARK Plot of CV(phi) (solid blue) and CV(psi) (dotted red) as a function of residue nr REMARK Values are for mol M1 = file /nfs/pdb/full/1ldn.pdb XYVIEW 14.00 331.00 0.00 1.00 NPOINT 316 COLOUR 4 XVALUE * 15 16 17 18 19 20 21 22 23 24 25 26 ... 327 328 329 330 REMARK SIGMA(phi) ave, sdv, min, max 9.02 5.12 2.92 58.45 REMARK RANGE(phi) ave, sdv, min, max 28.52 17.95 9.94 189.73 REMARK CV(phi) ave, sdv, min, max 0.02 0.03 0.00 0.28 ! MOLNAM_RESIDUE_CVPHI R 316 (9f8.3) YVALUE * 0.000 0.019 0.014 0.019 0.016 0.027 0.023 0.007 0.009 0.007 0.006 0.006 0.014 0.013 0.010 0.007 0.006 0.014 ... 0.011 0.007 0.009 0.015 0.013 0.020 0.016 0.103 0.010 0.241 MORE COLOUR 1 REMARK SIGMA(psi) ave, sdv, min, max 8.91 6.06 2.54 73.71 REMARK RANGE(psi) ave, sdv, min, max 28.02 18.49 6.98 192.70 REMARK CV(psi) ave, sdv, min, max 0.02 0.04 0.00 0.50 ! MOLNAM_RESIDUE_CVPSI R 316 (9f8.3) YVALUE * 0.015 0.011 0.010 0.025 0.011 0.020 0.012 0.009 0.007 0.008 0.005 0.009 0.017 0.006 0.008 0.004 0.003 0.023 0.011 0.006 0.007 0.008 0.008 0.010 0.007 0.007 0.011 ... 0.005 0.022 0.021 0.004 0.017 0.030 0.036 0.031 0.497 0.000 END ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE -----
Convert plot files to PostScript with O2D.
----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- LSQMAN > re m1 /nfs/pdb/full/1ldn.pdb ... LSQMAN > vs m1 Side-chain circular variance plot Reference chain ? (A) Plot file ? (m1_chi12_cv.plt) Reference chain : (A) Residue range : 1 - 353 Residue <c1> S(c1) Min Max <c2> S(c2) Min Max #c1 #c2 V(c1) V(c2) MET 15 | -67.6 14.6 -85.9 -46.5 | -166.7 9.5 -186.0 -153.8 | 8 8 | 0.032 0.014 LYS 16 | -75.8 22.0 -111.6 -31.8 | 32.9 43.9 -83.3 64.6 | 8 8 | 0.071 0.226 ASN 17 | -130.6 12.1 -150.8 -107.2 | -109.6 6.4 -118.6 -95.3 | 8 8 | 0.022 0.006 ASN 18 | -44.0 10.4 -57.5 -23.3 | 56.0 10.0 40.4 66.8 | 8 8 | 0.016 0.015 ARG 22 | 158.0 27.3 100.3 183.2 | 167.4 22.3 128.5 195.5 | 8 8 | 0.108 0.074 VAL 23 | 175.3 13.1 147.6 195.6 | 0.0 0.0 0.0 0.0 | 8 0 | 0.026 -1.000 VAL 24 | 174.3 9.5 156.9 186.6 | 0.0 0.0 0.0 0.0 | 8 0 | 0.014 -1.000 VAL 25 | 175.1 10.4 157.1 192.3 | 0.0 0.0 0.0 0.0 | 8 0 | 0.016 -1.000 ... ARG 327 | 38.2 28.4 -30.2 65.1 | 146.4 15.7 122.6 176.4 | 8 8 | 0.113 0.037 PHE 329 | -116.1 13.2 -143.2 -102.7 | -43.4 13.0 -68.8 -30.4 | 8 8 | 0.026 0.025 THR 330 | 161.9 46.8 53.3 226.5 | 0.0 0.0 0.0 0.0 | 8 0 | 0.269 -1.000 Nr of residues found : ( 316) SIGMA(chi1) Ave, Sdv, Min, Max, # : 13.45 8.54 3.32 46.78 254 RANGE(chi1) Ave, Sdv, Min, Max, # : 43.02 29.38 9.66 173.23 254 SIGMA(chi2) Ave, Sdv, Min, Max, # : 20.94 16.81 3.37 85.66 197 RANGE(chi2) Ave, Sdv, Min, Max, # : 63.97 45.48 11.36 212.63 197 CV(chi1) Ave, Sdv, Min, Max, # : 0.036 0.048 0.002 0.276 254 CV(chi2) Ave, Sdv, Min, Max, # : 0.089 0.146 0.002 0.923 197 Plot file written CPU total/user/sys : 16.9 16.9 0.0 ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE -----
From version 6.0 on, LSQMAN can produce VRML files of molecules in memory (VRML = Virtual Reality Modelling Language). Rather than writing a dedicated set of routines to display molecules, use of of VRML is trivial for the programmer, and easy for the user.
Some things you may need to know:
- VRML files have the extension ".wrl"
- use your favourite browser with VRML viewer plug-in to inspect
the displays (you can launch it from inside LSQMAN, e.g.:
"$ netscape test.wrl &")
- colours can be defined by name or by RGB values (red-green-blue,
three numbers in the range 0-1). The VRml COlour_list command
will list all (> 400) predefined colour names and their RGB
values
A typical series of commands would be:
- read mol1 ..
- read mol2 ..
- superimpose mol2 onto mol1 (EX, BR)
- apply the operator to mol2
- VRml SEtup (if necessary)
- VRml INit filename
- VRml ADd mol1 [chain]
- VRml ADd mol2 [chain]
The VRML interface was written for two purposes:
- quick inspection of superimposed structures without the need
to write the structures to new PDB files, fire up a separate
graphics program, reading the molecules and displaying them;
for this purpose you probably want to re-use the same file
over and over (just hit the RELOAD button of your VRML browser
when you have written new molecules to the file)
- creating files with superimposed molecules which you can
include in your web pages (in this case, don't forget to
compress the files with the "gzip" command to reduce their
size !)
The options have been kept simple and fast. For fancier pictures you should use dedicated software (e.g., all-atom ball-and-stick models).
With this command you can define the following parameters:
- the central atom type (" CA " for proteins)
- the maximum allowed distance between two subsequent central
atoms for them to be connected on the display (4.5 Å is a
reasonable cut-off for CA-CA distances in proteins)
- the background colour (default is black)
- the default colour for molecules (default is white)
----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- LSQMAN > vr set " CA " 4.5 white "0.35 0.87 1.0" Central atom type : ( CA) Max central atom distance : ( 4.500) Background colour : (1.000000 1.000000 1.000000) Default colour : (0.3500000 0.8700000 1.000000) ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE -----
----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- LSQMAN > vr se Central atom type ? ( CA) Central atom type : ( CA) Max central atom distance ? (4.5) Max central atom distance : ( 4.500) Background colour ? (1.000000 1.000000 1.000000) grey Background colour : (0.5000000 0.5000000 0.5000000) Default colour ? (0.3500000 0.8700000 1.000000) red Default colour : (1.000000 0.0000000E+00 0.0000000E+00) ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE -----
This command opens a new VRML file (default: same file name as before if the file name is not provided). To actually write molecules to it, use the VRml ADd command
----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- LSQMAN > vr in test.wrl Open VRML file : (test.wrl) Opened VRML file ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE -----
To help you find colours, more than 400 colour names have been predefined. This command will list their names and their RGB values.
----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- LSQMAN > vr co Nr of colours : ( 411) # 1 (black ) = 12595212 RGB 0.000 0.000 0.000 # 2 (red ) = 12596212 RGB 1.000 0.000 0.000 # 3 (green ) = 13619212 RGB 0.000 1.000 0.000 # 4 (blue ) = 1061171212 RGB 0.000 0.000 1.000 # 5 (yellow ) = 13620212 RGB 1.000 1.000 0.000 # 6 (magenta ) = 1061172212 RGB 1.000 0.000 1.000 # 7 (cyan ) = 1062195212 RGB 0.000 1.000 1.000 # 8 (light_grey ) = 852276012 RGB 0.800 0.800 0.800 # 9 (grey ) = 537395712 RGB 0.500 0.500 0.500 # 10 (dark_grey ) = 222515412 RGB 0.200 0.200 0.200 # 11 (white ) = 1062196212 RGB 1.000 1.000 1.000 # 12 (gainsboro ) = 917351274 RGB 0.862 0.862 0.862 # 13 (honeydew ) = 1000330169 RGB 0.941 1.000 0.941 # 14 (mistyrose ) = 938355700 RGB 1.000 0.894 0.882 ... # 407 (dodgerblue2 ) = 991454330 RGB 0.110 0.525 0.933 # 408 (lightsteelblue3 ) = 855328391 RGB 0.635 0.709 0.803 # 409 (green3 ) = 13417484 RGB 0.000 0.803 0.000 # 410 (orangered4 ) = 12745261 RGB 0.545 0.146 0.000 # 411 (mediumorchid1 ) = 1061582714 RGB 0.878 0.401 1.000 ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE -----
Add a trace of the central atoms of a molecule or chain to the current VRML file. You can also provide the colour to use. If you don't provide a chain identifier (e.g., A, B, ...), all chains in the molecule will be drawn (chain = "*").
----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- LSQMAN > re m1 /nfs/pdb/full/1azu.pdb ... LSQMAN > re m2 /nfs/pdb/full/2aza.pdb ... LSQMAN > br m1 a m2 a 50 25 100 Brute-force fit of M1 A And M2 A ... LSQMAN > im m1 * m2 * Improve fit of M1 * And M2 * ... LSQMAN > ap m1 m2 Bring Mol 2 on top of Mol 1 ... Molecule 1 : (M1) Molecule 2 : (M2) Apply to mol 2 chain : (*) Nr of atoms moved : ( 2263) Resetting ALL operators of mol 2 ... LSQMAN > vr in test.wrl Closed VRML file Open VRML file : (test.wrl) Opened VRML file LSQMAN > vr ad m1 a "0.705 0.322 0.803" VRML - Add mol M1 chain A Nr of central atoms written : ( 126) LSQMAN > vr ad m2 a cornsilk3 VRML - Add mol M2 chain A Nr of central atoms written : ( 129) ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE -----
Add a trace of the central atoms of each chain/model of a molecule to the current VRML file. Each chain/model will be drawn in a different colour.
----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- LSQMAN > vr in Open VRML file : (lsqman.wrl) Opened VRML file LSQMAN > vr all m1 VRML traces for mol : (M1) VRML - Add chain A colour yellow Nr of central atoms written : ( 106) VRML - Add chain B colour green ... VRML - Add chain Y colour mint_cream Nr of central atoms written : ( 106) VRML - Add chain Z colour bisque Nr of central atoms written : ( 106) ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE -----
The following illustrates a simple LSQMAN session in which you want to superimpose 1AZU on top of 2AZA, improve the operator, create an O macro and execute this macro in O:
----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- LSQMAN > read 2aza 2aza.pdb Nr of lines read from file : ( 1211) Nr of atoms in molecule : ( 987) Nr of chains or models : ( 1) LSQMAN > read 1azu 1azu.pdb Nr of lines read from file : ( 1041) Nr of atoms in molecule : ( 931) Nr of chains or models : ( 1) LSQMAN > li *List : (2AZA) File : (2aza.pdb) Comment : (Read from 2aza.pdb) Nr of atoms in mol : ( 987) Multiple NMR models ? (F) Nr of chains/models : ( 1)
List : (1AZU) File : (1azu.pdb) Comment : (Read from 1azu.pdb) Nr of atoms in mol : ( 931) Multiple NMR models ? (F) Nr of chains/models : ( 1) LSQMAN > sh 2aza 1azu Operator bringing : (1AZU) on top of : (2AZA) Last command was : (none) The 0 atoms have an RMS distance of 1000.000 A SI = RMS * Nmin / Nmatch = 1000.00000 MI = (1+Nmatch)/{(1+W*RMS)*(1+Nmin)} = 1000.00000 Rotation : 1.00000000 0.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 1.00000000 Translation : 0.0000 0.0000 0.0000 Determinant of rotation matrix = 1.000000 Rotation angle = 0.000000 ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE -----
----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- LSQMAN > atom_types define " ca " " n " " c " " co " " cb " " cg &q Nr of atom types : ( 7) Type : ( CA) Type : ( N) Type : ( C) Type : ( CO) Type : ( CB) Type : ( CG) Type : ( CD) LSQMAN > ex 2aza Range 1 ? (A1-10) "a4-10 a19-23 a28-36 a44-51 a53-66 a91-97 a106-111 a123:126" Mol 2 ? (2AZA) 1azu Range 2 ? (A1) "a4 a19 a28 a44 a53 a91 a106 a123" Explicit fit of 2AZA "A4-10 A19-23 A28-36 A44-51 A53-66 A91-97 A106-111 A123:126" And 1AZU "A4 A19 A28 A44 A53 A91 A106 A123" Atom types | CA | N | C | CO | CB | CG | CD | Nr of atoms to match : ( 265) The 265 atoms have an RMS distance of 0.893 A Rotation : -0.956401 0.130562 -0.261248 0.169145 -0.481603 -0.859912 -0.238090 -0.866610 0.438522 Translation : 13.816 26.765 38.539 ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE -----
----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- LSQMAN > set dist 4 Max matching distance (A) : ( 4.000) LSQMAN > set decay 0.95 Decay factor : ( 0.950) LSQMAN > set min 10 Min fragment length (res) : ( 10) LSQMAN > set frag 0 Fragment length decay (res) : ( 0) LSQMAN > set max 25 Max nr of improve cycles : ( 25) LSQMAN > set opt mi Criterion : (MI) LSQMAN > set seq on Sequential hits : (ON) LSQMAN > set rms 0.5 RMS weight : ( 0.500) LSQMAN > im 2aza a* 1azu a* Improve fit of 2AZA A* And 1AZU A* Atom type | CA | Nr of atoms in mol1 : ( 129) Nr of atoms in mol2 : ( 126)Found fragment of length : ( 126)
Cycle : ( 1) Distance cut-off (A) : ( 4.000) Min fragment length (res) : ( 10) The 126 atoms have an RMS distance of 0.906 A SI = RMS * Nmin / Nmatch = 0.90630 MI = (1+Nmatch)/{(1+W*RMS)*(1+Nmin)} = 0.68816 Rotation : -0.95771867 0.11354620 -0.26435241 0.17979124 -0.48112354 -0.85801822 -0.22461088 -0.86926830 0.44036639 Translation : 13.5455 27.2343 38.5374
...
Found fragment of length : ( 102) Found fragment of length : ( 23)
Cycle : ( 13) Distance cut-off (A) : ( 2.161) Min fragment length (res) : ( 10) The 125 atoms have an RMS distance of 0.880 A SI = RMS * Nmin / Nmatch = 0.88718 MI = (1+Nmatch)/{(1+W*RMS)*(1+Nmin)} = 0.68894 Rotation : -0.95701498 0.11345596 -0.26692718 0.18237905 -0.48019871 -0.85799015 -0.22552218 -0.86979133 0.43886536 Translation : 13.4690 27.2135 38.5830
Found fragment of length : ( 34) Found fragment of length : ( 67) Found fragment of length : ( 23)
Cycle : ( 14) Distance cut-off (A) : ( 2.053) Min fragment length (res) : ( 10) The 124 atoms have an RMS distance of 0.862 A SI = RMS * Nmin / Nmatch = 0.87625 MI = (1+Nmatch)/{(1+W*RMS)*(1+Nmin)} = 0.68773 Rotation : -0.95704645 0.11349409 -0.26679796 0.18196884 -0.48126674 -0.85747868 -0.22571975 -0.86919582 0.43994224 Translation : 13.4796 27.2430 38.5840
Fit deteriorated in this cycle ! Alignment based on previous operator !
Fragment CYS-A 3 <===> CYS-A 3 @ 2.00 A GLU-A 4 <===> SER-A 4 @ 1.15 A ALA-A 5 <===> VAL-A 5 @ 0.64 A ... PRO-A 104 <===> GLU-A 104 @ 1.13 A Fragment GLU-A 106 <===> GLU-A 106 @ 1.80 A ALA-A 107 <===> GLN-A 107 @ 1.82 A ... SER-A 128 <===> LYS-A 128 @ 1.76 A
Nr of residues in mol1 : ( 129) Nr of residues in mol2 : ( 126) Nr of matched residues : ( 125) Nr of identical residues : ( 77) % identical of matched : ( 61.600) % matched of mol1 : ( 96.899) % identical of mol1 : ( 59.690) % matched of mol2 : ( 99.206) % identical of mol2 : ( 61.111)
----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE -----
----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- LSQMAN > sav 2aza 1azu Operator bringing : (1AZU) on top of : (2AZA) File name ? (rt_1azu_to_2aza.odb) Save in file : (rt_1azu_to_2aza.odb) Datablock name : (.lsq_rt_1azu_to_2aza) LSQMAN > omac init 2aza File name ? (lsq_2aza.omac) O macro initialised LSQMAN > omac appe 1azu O macro extended LSQMAN > omac close O macro file closed LSQMAN > quit*** LSQMAN *** LSQMAN *** LSQMAN *** LSQMAN *** LSQMAN *** LSQMAN ***
Version - 931022/0.4 Started - Fri Oct 22 23:28:21 1993 Stopped - Fri Oct 22 23:36:37 1993
CPU-time taken : User - 2.9 Sys - 0.6 Total - 3.5
*** LSQMAN *** LSQMAN *** LSQMAN *** LSQMAN *** LSQMAN *** LSQMAN ***
>>> This program is (C) 1993, GJ Kleywegt & TA Jones <<< E-mail: "gerard@xray.bmc.uu.se" or "alwyn@xray.bmc.uu.se"
*** LSQMAN *** LSQMAN *** LSQMAN *** LSQMAN *** LSQMAN *** LSQMAN ***
----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE -----
----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- ! O macro lsq_2aza.omac ! Created by LSQMAN V. 931022/0.4 at Fri Oct 22 23:36:05 1993 for user gerard ! o_setup off off on ! print ... Analysing 2AZA print ... From file 2aza.pdb ! sam_at_in 2aza.pdb 2AZA mol 2AZA obj c2AZA ca ; end_obj ! paint_colour red ! ! print ========================================== ! print ... Comparing 1AZU print ... From file 1azu.pdb ! print ... Nr of matched residues 125 print ... RMS distance of these 0.88014 print ... Similarity index 0.88718 print ... Match index 0.68894 ! sam_at_in 1azu.pdb 1AZU ! db_create .lsq_rt_1AZU_to_2AZA 12 R ! db_set_data .lsq_rt_1AZU_to_2AZA 1 1 -0.95701498 db_set_data .lsq_rt_1AZU_to_2AZA 2 2 0.11345596 db_set_data .lsq_rt_1AZU_to_2AZA 3 3 -0.26692718 db_set_data .lsq_rt_1AZU_to_2AZA 4 4 0.18237905 db_set_data .lsq_rt_1AZU_to_2AZA 5 5 -0.48019871 db_set_data .lsq_rt_1AZU_to_2AZA 6 6 -0.85799015 db_set_data .lsq_rt_1AZU_to_2AZA 7 7 -0.22552218 db_set_data .lsq_rt_1AZU_to_2AZA 8 8 -0.86979133 db_set_data .lsq_rt_1AZU_to_2AZA 9 9 0.43886536 db_set_data .lsq_rt_1AZU_to_2AZA 10 10 13.46904564 db_set_data .lsq_rt_1AZU_to_2AZA 11 11 27.21351051 db_set_data .lsq_rt_1AZU_to_2AZA 12 12 38.58302689 ! lsq_mol 1AZU_to_2AZA 1AZU ; mol 1AZU obj c1AZU ca ; end_obj paint_object c1AZU ! ! del_obj c1AZU ; ! db_kill *1AZU* ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE -----
----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- % 428 gerard rigel 19:30:13 progs/lsq > ono general.o... Run 4d_ono
... Executing /nfs/taj/alwyn/o/bin/4d_ono general.o ... For gerard on rigel at Fri Oct 22 23:38:31 MDT 1993
O > Use of this program implies acceptance of conditions O > described in Appendix 1 of the O manual O > O version 5.9.1 , Tue Aug 10 18:33:27 MET DST O > Loading general.o O > Maximum inter-residue link distance = 2.00 O > There were 23 residues. O > 175 atoms. O > Do you want to use the display? [Yes]: O > Graphics board GL4DXG-4.0 O > O > Trackball on (F7KEY) O > @lsq_2aza.omac O > Macro in computer file-system. O > O > As4> ... Analysing 2AZA O > As4> ... From file 2aza.pdb O > O > Sam> File type is PDB Sam> Database compressed. Sam> Space for 47589 atoms Sam> Space for 10000 residues Sam> Molecule 2AZA contained 129 residues and 987 atoms O > O > O > O > O > O > As4> ========================================== O > O > As4> ... Comparing 1AZU O > As4> ... From file 1azu.pdb O > O > As4> ... Nr of matched residues 125 O > As4> ... RMS distance of these 0.88014 O > As4> ... Similarity index 0.88718 O > As4> ... Match index 0.68894 O > O > Sam> File type is PDB Sam> Database compressed. Sam> Space for 46151 atoms Sam> Space for 10000 residues Sam> Molecule 1AZU contained 127 residues and 931 atoms O > O > O > O > O > O > O > O > O > O > O > O > O > O > O > O > O > O > O > Paint> C1AZU ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE -----
This section describes some of the niceties of the improve
option in LSQMAN.
With the default settings, this option functions in a way
that is similar to the LSQ_IMPROVE command in O. However,
apart from being considerably faster, the performance of
the algorithm can be further improved by playing around
with its parameters. Some of the "extras" compared to O:
* you may use residues from just ONE chain without knowing the names of the first and last residues
* you may impose "sequentiality", i.e., if residue A12 in molecule 1 was matched with A34 in molecule 2, then residue A88 in molecule 1 may only be matched with a residue in molecule 2 which is > A34
* residues in the second molecule are NEVER used twice
* a choice of optimisation criteria (which also give a better control over the convergence behaviour of the algorithm)
* optional use of decaying parameters
* informative output regarding, for instance, the percentage of matched and identical residues in both molecules
----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- - NM - the number of matched residues (not normally used) - RM - the RMS distance of the matched atoms (not normally used) - SI - the similarity index; this is calculated as follows:RMSD * min(N1,N2) SI = --------------------- Nmatched
where: N1,2 = nr of selected residues in molecule 1,2 Nmat = nr of matched residues RMSD = their RMS distance
SI assumes values >= 0.0; the lower the value of SI, the better the fit and the more similar the two molecules are - MI - the match index; this is calculated as follows:
(1 + Nmatched) MI = -------------------------------------- (1 + W * RMSD ) * (1 + min(N1,N2))
W is weight factor (SEt RMs_weight) which is > 0; the larger the weight, the bigger the influence of the RMSD on the value of MI (suggested values for W are between 0.1 and 1)
MI assumes values between 0 and 1, where "0" indicates a "perfect mis-match" and "1" a perfect match ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE -----
- SEt DIst = define the maximum distance between two atoms in order for them to be considered matched (default 3.8 A)
- SEt MIni = the minimum length of contiguous matching fragments of residues (default 5 residues)
in addition, however, both parameters may be allowed to "decay", i.e. their value may be changed slightly in every iteration:
- SEt DEcay = a factor by which the maximum distance is MULTIPLIED after every cycle (suggested values in the range 0.9 to 1.1)
- SEt FRagm = a value which is ADDED to the minimum fragment length after every cycle
hence, for example, you may start with a fairly small set of closely matched atoms and allow the distance to become larger in every cycle provided that this leads to larger fragments:
----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- LSQMAN > set dis 3.5 Max matching distance (A) : ( 3.500) LSQMAN > set dec 1.1 Decay factor : ( 1.100) LSQMAN > set min 4 Min fragment length (res) : ( 4) LSQMAN > set fra 1 Fragment length decay (res) : ( 1) LSQMAN > se opt mi Criterion : (MI) LSQMAN > im lipa a* 1ace a* Improve fit of LIPA A* And 1ACE A* Atom type | CA | Nr of atoms in mol1 : ( 317) Nr of atoms in mol2 : ( 526) ... Cycle : ( 1) Distance cut-off (A) : ( 3.500) Min fragment length (res) : ( 4) The 85 atoms have an RMS distance of 1.959 A SI = RMS * Nmin / Nmatch = 7.30601 MI = (1+Nmatch)/{(1+W*RMS)*(1+Nmin)} = 0.09140 Rotation : -0.77263975 -0.28095514 -0.56929082 0.05460826 0.86400366 -0.50051534 0.63249171 -0.41780603 -0.65222114 Translation : -24.2804 -17.6301 105.6828 ... Cycle : ( 2) Distance cut-off (A) : ( 3.850) Min fragment length (res) : ( 5) The 135 atoms have an RMS distance of 2.061 A SI = RMS * Nmin / Nmatch = 4.83898 MI = (1+Nmatch)/{(1+W*RMS)*(1+Nmin)} = 0.13973 Rotation : -0.76273268 -0.28683752 -0.57962328 0.05579499 0.86373103 -0.50085485 0.64430255 -0.41435844 -0.64279181 Translation : -25.1862 -17.7377 105.2635 ... Cycle : ( 3) Distance cut-off (A) : ( 4.235) Min fragment length (res) : ( 6) The 129 atoms have an RMS distance of 2.043 A SI = RMS * Nmin / Nmatch = 5.01958 MI = (1+Nmatch)/{(1+W*RMS)*(1+Nmin)} = 0.13436 Rotation : -0.75659031 -0.31367165 -0.57374316 0.03643082 0.85584819 -0.51594251 0.65287358 -0.41125903 -0.63609910 Translation : -24.4675 -17.0481 105.8078Fit deteriorated in this cycle ! Alignment based on previous operator ! ... ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE -----
----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- ... Fragment PRO-A 33 <===> VAL-A 111 @ 3.09 A ILE-A 34 <===> MET-A 112 @ 1.84 A LEU-A 35 <===> VAL-A 113 @ 0.75 A LEU-A 36 <===> TRP-A 114 @ 0.65 A VAL-A 37 <===> ILE-A 115 @ 0.27 A PRO-A 38 <===> TYR-A 116 @ 0.60 A GLY-A 39 <===> GLY-A 117 @ 0.81 A THR-A 40 <===> GLY-A 118 @ 1.03 A Fragment GLY-A 41 <===> SER-A 122 @ 1.58 A THR-A 42 <===> GLY-A 123 @ 1.54 A THR-A 43 <===> SER-A 124 @ 0.95 A GLY-A 44 <===> SER-A 125 @ 1.04 A PRO-A 45 <===> THR-A 126 @ 1.71 A GLN-A 46 <===> LEU-A 127 @ 2.01 A ... Nr of residues in mol1 : ( 317) Nr of residues in mol2 : ( 526) Nr of matched residues : ( 135) Nr of identical residues : ( 11) % identical of matched : ( 8.148) % matched of mol1 : ( 42.587) % identical of mol1 : ( 3.470) % matched of mol2 : ( 25.665) % identical of mol2 : ( 2.091) ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE -----
Gerard's recipe for improving rough DEJAVU alignments, tested using CBHI (1CEL) and 1LTE:
----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- chain_mode original atom_types extended_main_chain set reset ! read cbh1 /nfs/taj/gerard/progs/secs/cbh1/a16.pdb omacro init cbh1! read 1lte /nfs/pdb/pre/1lte.pdb ! explicit cbh1 a118-122 a140-143 a287-295 a299-306 a359-365 a414-423 1lte 31 55 165 178 207 225 show cbh1 1lte ! set coarse imp cbh1 * 1lte * show cbh1 1lte ! set intermediate imp cbh1 * 1lte * show cbh1 1lte ! set fine imp cbh1 * 1lte * show cbh1 1lte ! omacro append 1lte ! omacro close ! quit ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE -----
The initial, explicit fit (using 43 residues !) gives:
----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- The 212 atoms have an RMS distance of 10.609 A SI = RMS * Nmin / Nmatch = 10.60882 MI = (1+Nmatch)/{(1+W*RMS)*(1+Nmin)} = 0.08614 Rotation : -0.69291258 -0.10764210 -0.71294129 0.03076268 -0.99230647 0.11992305 -0.72036505 0.06116420 0.69089299 Translation : 49.1372 64.3310 50.8504 Determinant of rotation matrix = 1.000000 Rotation angle = 175.683167 ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE -----
After coarse improvement (note the big changes in the operator !):
----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- The 159 atoms have an RMS distance of 3.199 A SI = RMS * Nmin / Nmatch = 4.80841 MI = (1+Nmatch)/{(1+W*RMS)*(1+Nmin)} = 0.25646 Rotation : -0.57405788 -0.15695305 -0.80363131 0.22625503 -0.97364998 0.02853779 -0.78693473 -0.16544329 0.59444284 Translation : 52.3044 70.6993 52.1137 Determinant of rotation matrix = 1.000000 Rotation angle = 167.589386 ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE -----
After intermediate improvement:
----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- The 108 atoms have an RMS distance of 2.106 A SI = RMS * Nmin / Nmatch = 4.66147 MI = (1+Nmatch)/{(1+W*RMS)*(1+Nmin)} = 0.22120 Rotation : -0.57900333 -0.11083046 -0.80775720 0.21638666 -0.97607797 -0.02118141 -0.78608650 -0.18705200 0.58913463 Translation : 52.4746 71.2050 51.4827 Determinant of rotation matrix = 1.000000 Rotation angle = 169.411850 ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE -----
After fine-tuning:
----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- The 76 atoms have an RMS distance of 1.743 A SI = RMS * Nmin / Nmatch = 5.48040 MI = (1+Nmatch)/{(1+W*RMS)*(1+Nmin)} = 0.17144 Rotation : -0.57834578 -0.10955796 -0.80840164 0.19439344 -0.98090446 -0.00613647 -0.79229248 -0.16069698 0.58859926 Translation : 52.5953 70.5723 51.8284 Determinant of rotation matrix = 1.000000 Rotation angle = 170.172287 ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE -----
NOTE: with the BRute_force command (from version 5.0 onwards) you can get the same result without knowing anything beforehand about which residues align in the two molecules.
Since the atom types to be used for alignment can be defined by the user, LSQMAN can easily be used for other types of macromolecule, such as RNA, DNA, and oligosaccharides. The exceptions are commands which are specific for proteins, such as MRama etc.
The following example shows how to analyse the NCS relation between two DNA molecules (PDB entry 130D) - in this case the phosphor atoms are used as "central atoms" (i.e., analogous to CA in proteins):
----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- LSQMAN > re m1 /nfs/pdb/full/130d.pdb ... LSQMAN > at de " P " Nr of atom types : ( 1) Type : ( P) ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE -----
Now use the BRute_force command to align the two chains:
----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- LSQMAN > br m1 a m1 b 5 3 5 WARNING - mol1 == mol2 ! Brute-force fit of M1 A And M1 B Atom types | P | B-factor range used -1000.00 - 10000.00 A2 Fragment length 5 Fragment step size 3 Min matched residues 5 Mol 1 zone to try : (A1-12) Mol 2 zone to try : (B13-24)Try zone : (A1-5) Max match so far : ( 10) RMSD (A) : ( 0.938)
Max match : ( 10) RMSD (A) : ( 0.938) Mol 1 res : ( 1) Mol 2 res : ( 13)
Regenerating best alignment ... The 10 atoms have an RMS distance of 0.938 A SI = RMS * Nmin / Nmatch = 1.03201 MI = (1+Nmatch)/{(1+W*RMS)*(1+Nmin)} = 0.47295 MC = Maiorov-Crippen RHO (0-2) = 0.07081 RMS delta B for matched atoms = 3.246 A2 Corr. coefficient matched atom Bs = -0.801 Rotation : 0.75101489 -0.66026980 -0.00451462 -0.65996760 -0.75084811 0.02588229 -0.02047909 -0.01645848 -0.99965483 Translation : 18.1981 48.0588 16.0850 ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE -----
Plot the distances between corresponding P atoms in the two chains:
----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- LSQMAN > di m1 a1-12 m1 b13 m1_m1_di.plt WARNING - mol1 == mol2 ! Central-atom distance plot Central atom type : ( P) Plot of M1 A1-12 And M1 B13 Nr of residues matched : ( 11) Average distance : ( 1.103) Minimum distance : ( 0.550) Maximum distance : ( 2.981) Plot file written ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE -----
Make a plot of the differences between the pseudo-angles and torsions defined by subsequent P atoms in the two chains:
----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- LSQMAN > dd m1 a1-12 m1 b13 m1_m1_dd.plt WARNING - mol1 == mol2 ! Central-atom delta-dihedral plot Central atom type : ( P) Plot of M1 A1-12 And M1 B13 Nr of residues matched : ( 8) RMS delta DIH : ( 34.455) Average |delta DIH| : ( 29.385) Nr |delta DIH| > 10 : ( 7) Percentage : ( 87.500) RMS |delta ANG| : ( 9.706) Average |delta ANG| : ( 7.767) Nr |delta ANG| > 5 : ( 6) Percentage : ( 75.000) Plot file written ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE -----
(1) With atom types All or NOnh explicit alignment sometimes uses only a fraction of the atoms. Fixed in version 4.7.
(2) The MAlign command doesn't work sometimes. This bug is fixed in version 4.8.
If you run into these bugs, you may have an old version of the program.