Uppsala Software Factory

Uppsala Software Factory - ODBM Manual


1 ODBM - GENERAL INFORMATION

Program : ODBM
Version : 940415
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 : manipulate O datablocks
Package : X-UTIL


2 REFERENCES

Reference(s) for this program:

* 1 * G.J. Kleywegt (1992-1999). Uppsala University, Uppsala, Sweden. Unpublished program.

* 2 * G.J. Kleywegt & T.A. Jones (1999 ?). Chapter 25.2.6. O and associated programs. Int. Tables for Crystallography, Volume F. To be published.


3 VERSION HISTORY

940415 - 1.3 - improved O2D plot files


4 NOTES

(1) CONVERT FREE FORMAT FILES INTO O DATABLOCK FILES
(2) QUICK ANALYSIS OF O DATABLOCK FILES
(3) QUICK COMPARISON OF O TWO DATABLOCK FILES
(4) QUICK GENERATION OF O2D PLOT FILE FROM A DATABLOCK FILE
(5) EXTRACT O DATABLOCKS FROM A PROCHECK OUTPUT FILE

==> NOTE : THIS PROGRAM HAS BEEN SUPERCEDED BY ODBMAN !!!


5 CONVERT FREE FORMAT FILES INTO O DATABLOCK FILES

Use this little patch program to convert free-format data into "O"-style data-block files. You could use this, for example, to convert XPLOR/brefine output into a data block that "O" can use immediately for colouring your molecule.

The following is an example, followed by the files produced:

      
 ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE -----
< % 148 gerard rigel 21:59:41 gerard/rax1> ODBM

*** ODBM *** ODBM *** ODBM *** ODBM *** ODBM *** ODBM *** ODBM *** ODBM ***

Version - 930502/0.9 By - 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

Started - Mon May 3 22:59:38 1993 User - gerard Mode - interactive Host - rigel ProcID - 3211 Tty - /dev/ttyq6

*** ODBM *** ODBM *** ODBM *** ODBM *** ODBM *** ODBM *** ODBM *** ODBM ***

Max length of an input line : ( 256) Max nr of items on an input line : ( 50) Max nr of items in store : ( 100000)

Valid options are: ? ! convert_free_format_file analyse_O_db_file investigate_two_O_db_files o2d_plot_file_from_datablock quit

Option ? () c Free-format input file ? (junk.asc) unitcell.denzo "O" data-block file ? (junk.odb) Data-block name ? (junk_stuff) Data type (Real/Integer) ? (R) Format for data block ? ((7(1x,f10.3)))

Enter the following information to control which lines and which item from each line are read : 1 - You may require that a number of lines be skipped from the top of the file 2 - Number of lines to skip after reading a line 3 - Item number to read from a line For example: to skip the first 5 lines and then to read the third item from every other line, use the values 5 1 3, respectively

For XPLOR xxx.rf files, use: 1 0 5 For XPLOR filter.list , use: 0 0 11 For XPLOR search.dat , use: 0 0 4

First/Skip/Item ? ( 0 0 1) 0 0 3 Number of lines read : ( 30) Number of values read : ( 30) Minimum : ( 4.139E+01) Maximum : ( 4.157E+01) Sum of values : ( 1.245E+03) Average : ( 4.150E+01) St deviation : ( 5.182E-02) Variance : ( 2.686E-03)

Valid options are: ? ! convert_free_format_file analyse_O_db_file investigate_two_O_db_files o2d_plot_file_from_datablock quit

Option ? (C) q

*** ODBM *** ODBM *** ODBM *** ODBM *** ODBM *** ODBM *** ODBM *** ODBM ***

Version - 930502/0.9 Started - Mon May 3 22:59:38 1993 Stopped - Mon May 3 23:02:29 1993

CPU-time taken : User - 0.1 Sys - 0.2 Total - 0.4

*** ODBM *** ODBM *** ODBM *** ODBM *** ODBM *** ODBM *** ODBM *** ODBM ***

STOP ... All done ... statement executed ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE -----

      
 ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE -----
 sinning @ sirius in /home/sinning/gst/xplor > head geomplot.list m10a_res_energy.o
==> geomplot.list <==
  1  1.38073
  2  1.41411
  3  3.22725
  4  2.24163
  5  1.50906
  6  1.86624
  7  1.1742
  8  2.18473
  9  0.981215
  10  0.690585

==> m10a_res_energy.o <== M10A_RESIDUE_ENERGY R 252 (5(1X,F15.3)) 1.381 1.414 3.227 2.242 1.509 1.866 1.174 2.185 0.981 0.691 4.228 0.650 1.162 3.518 1.859 1.022 0.746 2.057 3.048 2.314 0.908 0.697 0.538 0.601 0.690 0.668 1.890 1.253 1.913 1.422 2.661 0.808 1.287 0.800 0.866 0.722 1.983 0.748 0.692 0.509 1.474 1.482 1.169 0.879 0.913 ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE -----


6 QUICK ANALYSIS OF O DATABLOCK FILES

From version 0.5 onwards, there is an analysis option. This will read an INTEGER OR REAL "O" datablock and print the minimum, maximum, average, standard deviation and variance of the values encountered.

      
 ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE -----
 Valid options are:
 ?
 !
 convert_free_format_file
 analyse_O_db_file
 quit

Option ? () a "O" datablock file ? (junk.asc) junk.odb Opening O datablock : (junk.odb) Datablock : (JUNK_STUFF) Data type : (R) Number : (74) Format : ((7(1X,F10.3)))

Nr of values : ( 74) Minimum value : ( 1.987E+01) Maximum value : ( 1.562E+02) Sum of values : ( 7.199E+03) Average : ( 9.729E+01) St deviation : ( 3.210E+01) Variance : ( 1.031E+03)

Option ? (A) ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE -----


7 QUICK COMPARISON OF O TWO DATABLOCK FILES

From version 0.6 onwards, there is an option to compare two different datablocks (e.g., RS-fit before and after refinement).

      
 ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE -----
...
 Max length of an input line      : (        256)
 Max nr of items on an input line : (         50)
 Max nr of items in store         : (     100000)

Valid options are: ? ! convert_free_format_file analyse_O_db_file investigate_two_O_db_files quit ... Option ? (I) "O" datablock file 1 ? (rsfit_p21_5.o) rsfit_p21_0.o Opening O datablock : (rsfit_p21_0.o) Datablock : (NEW_RESIDUE_RSFIT) Data type : (R) Number : (314) Format : ((5f13.5))

Nr of values : ( 314) Minimum value : ( 0.000E+00) Maximum value : ( 7.389E-01) Sum of values : ( 1.552E+02) Average : ( 4.944E-01) St deviation : ( 1.182E-01) Variance : ( 1.397E-02)

"O" datablock file 2 ? (rsfit_p21_0.o) rsfit_p212121_5.o Opening O datablock : (rsfit_p212121_5.o) Datablock : (NEW_RESIDUE_RSFIT) Data type : (R) Number : (314) Format : ((5f13.5))

Nr of values : ( 314) Minimum value : ( 0.000E+00) Maximum value : ( 7.219E-01) Sum of values : ( 1.712E+02) Average : ( 5.453E-01) St deviation : ( 1.087E-01) Variance : ( 1.181E-02)

RMSD datablocks : ( 1.058E-01) Shape similarity : ( 0.984) ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE -----


8 QUICK GENERATION OF O2D PLOT FILE FROM A DATABLOCK FILE

From version 0.7 onwards, there is an option to quickly generate an O2D plotfile from an "O" datablock file. Use this option, edit the plot file to suit your preferences (e.g., set the viewport - XYVIEW - to nice values; change the colour of the graph etc.).

      
 ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE -----
...
 Valid options are:
 ?
 !
 convert_free_format_file
 analyse_O_db_file
 investigate_two_O_db_files
 o2d_plot_file_from_datablock
 quit

Option ? () o "O" datablock file ? (junk.odb) Opening O datablock : (junk.odb) Datablock : (JUNK_STUFF) Data type : (R) Number : (74) Format : ((7(1X,F10.3)))

Nr of values : ( 74) Minimum value : ( 1.987E+01) Maximum value : ( 1.562E+02) Sum of values : ( 7.199E+03) Average : ( 9.729E+01) St deviation : ( 3.210E+01) Variance : ( 1.031E+03)

O2D plot file ? (junk.odb) junk.plt O2D file written Edit it to suit your preferences ... ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE -----

      
 ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE -----
< % 170 gerard rigel 01:38:43 progs/odbm> cat junk.plt
! Created by ODBM
NPOINT      74
XLIMIT   1.000   1.000
COLOUR       2
XYVIEW   1.000  74.000  19.871 156.210
YVALUE *
    1.08970E+02    8.59070E+01    1.09800E+02    1.07730E+02    9.97770E+01
    1.16310E+02    1.37030E+02    8.34600E+01    9.63820E+01    8.41130E+01
    9.11690E+01    1.17200E+02    1.05030E+02    8.76950E+01    1.08950E+02
    1.09300E+02    1.08690E+02    1.49250E+02    7.51390E+01    7.36850E+01
    1.21890E+02    1.02600E+02    1.20970E+02    2.65320E+01    8.44150E+01
    1.13240E+02    9.37640E+01    1.11740E+02    9.19960E+01    1.12360E+02
    1.09620E+02    8.42250E+01    1.13150E+02    1.14070E+02    9.40660E+01
    1.22030E+02    8.33360E+01    2.38120E+01    1.47420E+02    8.35700E+01
    7.88040E+01    1.09250E+02    1.12390E+02    8.78300E+01    2.15150E+01
    8.17850E+01    1.49360E+02    1.16460E+02    3.17550E+01    7.89300E+01
    9.92560E+01    2.30630E+01    8.59360E+01    1.08560E+02    1.52340E+02
    1.38470E+02    3.17040E+01    1.13810E+02    1.14160E+02    1.48570E+02
    8.63090E+01    1.37800E+02    8.96190E+01    1.11530E+02    2.49810E+01
    1.01890E+02    8.82930E+01    9.76420E+01    8.06610E+01    8.35740E+01
    8.56770E+01    1.56210E+02    1.40920E+02    1.98710E+01
END
 ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE -----
   


9 EXTRACT O DATABLOCKS FROM A PROCHECK OUTPUT FILE

You may extract O datablocks from a PROCHECK "XXX.out" file. The following example shows how it works and what you may extract at present:


9.1 example

      
 ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE -----
...
 Option ? () e

Extract O datablocks from PROCHECK output

Max nr of residues : ( 10000)

Name of your molecule in O ? (M1A) m8a

Name of PROCHECK "XXX.out" file ? (m8a.out) m7a.out 1 PRO A1 - 1 0.0 2 SER A2 XX 0 -2.0 3 VAL A3 XX 0 0.0 4 PHE A4 E B 0 -1.9 ... 260 VAL A453 E B 0 -2.3 261 THR A454 E B 1 -1.3 262 GLU A455 e - 0 -1.7

End of residue listing; skip rest of file Nr of lines read : ( 561) Name of residue TYPE file ? (m8a_restyp.o) Name of residue NAME file ? (m8a_resnam.o) Name of residue DSSP file ? (m8a_dssp.o) Name of residue Ramachandran file ? (m8a_ramach.o) Name of residue bad contacts file ? (m8a_badcon.o) Name of residue H-bond energy file ? (m8a_hbond.o) All done ! ... ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE -----


9.2 output files

The above gave the following files:

      
 ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE -----
 % 136 gerard rigel 23:05:46 progs/odbm > ls m8a*
   4 -rw-r--r--   1 gerard      1709 Nov  5 23:56 m8a_restyp.o
   4 -rw-r--r--   1 gerard      1709 Nov  5 23:56 m8a_resnam.o
   4 -rw-r--r--   1 gerard      1709 Nov  5 23:56 m8a_dssp.o
   4 -rw-r--r--   1 gerard      1709 Nov  5 23:56 m8a_ramach.o
   2 -rw-r--r--   1 gerard       843 Nov  5 23:56 m8a_badcon.o
   3 -rw-r--r--   1 gerard      1382 Nov  5 23:57 m8a_hbond.o
 ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE -----
   

The "head" of each of these files looks as follows:

      
 ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE -----
 % 138 gerard rigel 23:05:46 progs/odbm > head -5 m8a*.o
==> m8a_badcon.o <==
m8a_residue_badcon i 262 (1x,25i3)
   1  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0
   0  0  0  1  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  1  0  0  0
   1  0  0  0  0  0  1  0  0  0  0  0  0  0  0  0  0  0  0  0  0  1  0  0  0
   0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0

==> m8a_dssp.o <== m8a_residue_dssp c 262 (1x,5a) E E E H H H H H H h T T T

==> m8a_hbond.o <== m8a_residue_hbond r 262 (1x,15f5.1) 0.0 -2.0 0.0 -1.9 0.0 -2.2 0.0 0.0 0.0 0.0 0.0 -1.0 -1.4 -1.1 -2.5 -0.8 0.0 -2.2 0.0 0.0 0.0 -2.2 -2.3 -2.6 -2.8 -3.2 -0.6 0.0 -1.2 -1.6 0.0 0.0 -0.6 0.0 -0.7 0.0 -1.7 0.0 -2.0 0.0 -2.0 -1.9 -2.7 -0.8 -1.2 0.0 -0.8 -1.7 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -2.5 0.0

==> m8a_ramach.o <== m8a_residue_rama c 262 (1x,5a) - XX XX B B B - - B - A A A A B A A B B -

==> m8a_resnam.o <== m8a_residue_name c 262 (1x,5a) A1 A2 A3 A4 A5 A6 A7 A8 A9 A10 A11 A12 A13 A14 A15 A16 A17 A18 A19 A20

==> m8a_restyp.o <== m8a_residue_type c 262 (1x,5a) PRO SER VAL PHE LEU PHE PRO PRO LYS PRO LYS ASP THR LEU MET ILE SER ARG THR PRO ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE -----

NOTE that all character properties have been converted to UPPERCASE !!


9.3 use inside O

Use these properties in O to colour your molecule:

* colour molecule according to secondary structure (DSSP-like):

      
 ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE -----
  O > read m8a_dssp.o
  O > mol m8a pai_zo m8a a1 a455 yellow
  O > pai_case residue_dssp 5 e h t s g green red blue magenta cyan
  O > obj dssp ca ; end
 ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE -----
   

* colour residues with bad phi/psi angles:

      
 ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE -----
 O > read m8a_ramach.o pai_zo m8a a1 a455 blue
 O > pai_case residue_rama 5 ~a ~b ~l ~p xx yellow yellow yellow yellow red
 O > obj rama ca ; end
 ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE -----
   

* colour residues according to the number of bad contacts:

      
 ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE -----
  O > read m8a_badcon.o
  O > mol m8a pai_ramp residue_badcon ; blue red
  O > obj badcon ca ; end
 ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE -----
   

* colour residues using their H-bond energy:

      
 ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE -----
  O > mol m8a pa_zo m8a a1 a455 blue
  O > pai_prop residue_hbond < -4 red
  O > pai_prop residue_hbond > 0 yellow
  O > obj hbond ca ; end
 ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE ----- EXAMPLE -----
   


10 KNOWN BUGS

None, at present.


Uppsala Software Factory Created at Fri Dec 18 19:42:21 1998 by MAN2HTML version 971024/1.6