How To ....


Start EDPDB

This paragraph discusses how to start EDPDB from a (VMS) DCL command line.

Syntax:
$ EDPDB [file_name_1 [mark_1]] [file_name_2 [mark_2]] [/EDPINI[=edp_file]]

Note:
1) A mark is a character string which can be used to distinguish different peptide chains. It is particularly useful when more than one PDB files are read in and the peptide chains need to be distinguished. Whenever a new chain is found, its chain name will be replaced with a new character in the character string of the mark, unless the character is an underscore `_'. In the latter case (which is the default), no substitution will be made. If all of the characters in the string have already been used, it starts from the first character of the string again. A string of mark characters of alphabetic order may be abbreviated with a hyphen, `-'. For example, a-f is equivalent to abcdef.
2) For the VMS version, the default file type of the input file is .pdb.
3) The edp_file is the file name of a macro which can be used to customize the initial configuration of EDPDB. The default file name is edpini.edp, if the qualifier /EDPINI is specified.

See also: QUIT

Examples:
1) Start EDPDB by reading a PDB file, pdb4lzm.pdb, on a VMS computer.

      $ edpdb pdb4lzm
2) Read two PDB files. One contains A, B, C and D four peptide chains, and is called abcd_1.pdb. The other contains A, B, C and D four peptide chains too, and is called abcd_2.pdb.
      $ edpdb abcd_1.pdb abcd abcd_2.pdb stuv
In this example, the peptide chains from the second PDB file will be labelled as S, T, U and V.

3) Customize EDPDB with a macro called vms.edp. (See the example in the ALIAS section).

      $ edpdb/edpini=vms.edp

A quick check

      ! Try this
      initialize
      zone all
      zone 
      residue
      atom
      sort dfres
      analyze

Input multiple PDB files

1) Read in two files which have the same chain names (eg. A,B,C and D)
      read  file_a.pdb  abcd  initialize
              ; input the first file, keeping the chain names
      read  file_b.pdb  efgh
              ; input the first file, change the chain names
              ; to E,F,G and H
2) or start the program by typing
      $ edpdb file_a.pdb abcd file_b.pdb efgh
See also: READ

Save the intermediate result

1) If the result can be listed with the LIST command, WRITE command can be used to make an output file to save the result.

2) If the result is listed on the terminal with a prompt saying " return for more ... ", the result actually has a copy in a file of the same file-name as the 1st input PDB file and a file type of .scr. To save this file, one has to terminate the program using the QUIT command with the SAVE option.

3) To save other intermediate results, one may either run EDPDB in a batch job mode, or redirect the result to a file (eg. edpdb.log) using the following command.

      file log edpdb.log
See also: FILE

List the currently opened files

      file

List the header of the 1st input PDB file

      initialize
      write junk.pdb header

Restart without quitting

      reset

Coordinate transformation

1) Command mode. Assume the transformation matrix has been stored in a file rtn.dat
      ! select the records on which the transformation are applied.
      ...
      rtn file rtn.dat
See also: RTN

Superimpose two structures

Overlay molecule A to molecule B, based on the least square minimization between main-chain atoms of the two molecules.
      group mola from { main from { chain a }}
      group molb from { main from { chain b }}
      initialize
      load mola
      overlay molb rtn.dat
      chain a
      rtn file rtn.dat
A more general aproach can be done with a macro, match3d.edp.

See also: ALIGN3D, MATCH3D and OVERLAY.


Matrix manipulation

1) Copy the transformation matrix in the file rtn_a.dat to a file rtn_b.dat.
      initialize
      rtn file rtn_a.dat save rtn_b.dat
2) Calculate the inverse transformation of a given one, eg. in file rtn.dat, store it in another file, say inv_rtn.dat.
      initialize
      rtn file rtn.dat inve inv_rtn.dat
3) Multiply the transformation matrix in the file rtn.dat with the matrix of symmetry operator #2, store the production in rtn.dat.
      initialize
      rtn symm 2 0 0 0 mult rtn.dat rtn.dat
                                
See also: RTN

Calculate solvent accessible area

An isolate protein molecule (eg. zone 1 - 164).
      initialize
      zone 1 - 164
      access
See also: ACCESS

Calculate buried solvent accessible area

1) The buried solvent accessible area (SAA) of molecule A by molecule B equals the difference between the SAA of molecule A in the presence and absence of the molecule B. Note that the buried SAA of molecule A by molecule B is not necessary to equal the buried SAA of molecule B by molecule A.
      initialize
      group molB from { chain B}
      chain A
      access molB
           ; get the SAA of molecule A
           ; in the presence of molecule B
      access
           ; get the SAA of molecule A
           ; in the absence of molecule B
See also: ACCESS

Calculate distance

1) List distances of atom pairs between two groups. For example, the distances between oxygen atoms and nitrogen atoms which are less 3.0 A and seperated by at least two residues.
      group Natm from { atom N* }
      group Oatm from { atom O* }
      initialize
      load Oatm
      distance Natm 0.0 3.5 2
See also: NAYB, NAYBR, MMIG and AB

Calculate angle

1) List all the C-alpha - C-beta - C-gamma angles.
	dfabc ca cb cg 0 0 0
	initialize
	atom ca cb cg
	abc
2) Calculate the angle that formed by atoms from different residues, eg. the C-O-OH angle, where C and O are the carbonyl carbon and the carbonyl oxygen atoms of an amino acid residue and OH is a water molecule.
	dfbrg C O OH CA x 0 x 0  ,,,,  0.0 3.5 0.0 180.0 0.0 360.0 zwxy
		; The 1st 'x 0' indicates that the C atom (atom_w) belongs
		; to the same residue as the O atom (atom_x).
		; The 2nd 'x 0' indicates that the CA atom (atom_z) also 
		; belongs to the same residue as the O atom (atom_x).
		; The O-OH distance, the C-O-OH angle and CA-C-O-OH torsion
		; angle will be calculated.
	initialize
	atom C O OH
	bridge
See also: ABC and BRIDGE

Calculate torsional angles

1) Calculate the phipsi torsional angles
      @phipsi
      write phipsi.lis
2) Calculate the chi (I,II) angles.
      @chi
      write chi.lis
3) Calculate the zeta angles to check chirality.
      initialize
      dfabcd ca n c cb
      atom ca n c cb
      abcd
      quit save
See also: ABCD command and RTN ABCD command.

Disulfide bridge geometry and prediction

1) Define a bridge of disulfide bond, and list out all the bridges.
      dfbrg cb sg sg cb x 0 y 0
      residue cys
2) Search for candidates of sites of engineered disulfide bridges. The search criterion is the following. The two residues should be 20 residues apart in the amino acid sequence. The Cb-Cb distance should be between 2.5 and 6.0 Å. One of the Ca-Cb-Cb angle should be between 80.0 and 180.0 degrees. (The Ca-Cb-Cb-Ca torsional angle is unrestricted).
      initialize
      dfbrg ca cb cb ca x 0 y 0 t t t t 2.5 6.0 80 180 0 360 wxyz 20
      atom ca cb
      bridge

Hinge bending angle

Analyze the hinge bending angle between two molecules A and B, assuming that they have rigid body domains (residues 15 - 60) and (residues 80 - 160).
      initialize
      group n_a from { main a15 - a60 }
      group n_b from { main b15 - b60 }
      load  n_a
      overlay n_b match_n_domain.dat
      initialize
      group c_a from { main a80 - a160 }
      group c_b from { main b80 - b160 }
      load c_a
      rtn file match_n_domain.dat
      overlay c_b match_c_domain.dat
      initialize
      axis match_c_domain.dat
           ; the hinge bending angle will be listed
           ; with the AXIS command.

Compare solvent molecules from homologous structures

! for each protein molecule you may create 
!  a PDB file containing the protein and the associated solvents 
!  using a macro similar to the following

cell 100 100 100 90 90 90 1
!    ^^^^ your cell parameters 
!    the last number is important if your cell is not
!    orthogonal.
@p212121
!^^^ your space group

initialize
zone a1 - a234
!    ^^^^^^^^^ your protein zone
system rm tmpa.pdb
write tmpa.pdb
!     ^^^^ your new pdb file name
group prta
initialize
{atom O2H | residue  SOL}
!    ^^^ your solvent atom name(s)

mmig prta 4.0 move_all
!      ^^^ cutoff for a solvent molecule to be considered 
!          associated with one protein molecule
quit


! % edpdb tmpa.pdb a tmpb.pdb b  
!                  ^          ^
! define molecules a  and     b


! superimpose the two protein molecules using CA atoms
initialize
{ ca | zone a1 - a234 }  ; select CA atoms from chain a
!           ^^^ your protine zone
group prta

initialize
{ ca | zone b1 - b234 }  ; select CA atoms from chain b
!           ^^^ your protein zone
over prta b_to_a.dat
!         ^^^^ matrix from molecule b to a

initialize
chain b
rtn file b_to_a.dat 
!  apply the matrix to molecule b including its solvent molecules

initialize
{ atom O2H | residue SOL | chain b }
!      ^^^ your solvent atom name 
group solb

initialize
{ atom O2H | residue SOL | chain a } 
!      ^^^ your solvent atom name
distance solb 0 1.2  0 1000
!               ^^^ your choice for two solvent molecules to be related. 
quit save 
!    check the tmpa.scr file

Edit the PDB records

1) Reset the entry number

      sete
2) Split the chain name from the residue number in the input residue id.
      seti
See also: the editing category.

Standardize the PDB file

See also: SORT DFRES, SETI, SETC and PERMUTE

Sort the PDB file

1) Sort the records according to B factors
      zone all
      sort B
      list
2) Sort the records according to X coordinates
      zone all
      setw x
      sort w
      list
See also: SORT and SETW

Crystallographic symmetry

1) Input symmetry operators of space group P3(2)21 for T4 lysozyme enzyme.
      initialize
      cell 61.2 61.2 96.8 90 90 120 1
      symmetry x, +y, +z
      symmetry -y, x-y, +z+2/3
      symmetry -x+y, -x, +z+1/3
      symmetry +y, x, -z
      symmetry -x, -x+y, -z+2/3
      symmetry x-y, -y, -z+1/3
2) Check the crystal packing contacts between molecules A and B.
      group mola from { chain A }
      group molb from { chain B }
      initialize
      load mola
      mmig mola 4.0     ; check A-A contacts
      mmig molb 4.0     ; check A-B contacts
      initialize
      load molb
      mmig molb 4.0     ; check B-B contacts
3) The solution of a molecular replacement search may put the protein molecule in an asymmetric unit which is far away from the origin. The MOVECENTER command can bring the molecule close to the origin (or any user specified asymmetric unit).
     zone all
     movecenter rtn.dat  0.0 0.0 0.0 0.5 0.5 0.5
     rtn file rtn.dat
See also: SYMMETRY, MMIG and MOVECENTER

Analyse a rotation function result

1) Assume that the space group is P3(2)21; the positions of the cross rotation function solution peaks are stored in a PDB format file.
	! First, input the polar angles using a PDB format file
	cell 61.2 61.2 96.8 90.0 90.0 120.0 1
		; input the cell parameters 
	@p3221
		; input the symmetry operators using a macro file
	zone all
	list	; take a look of the initial peaks
	polar to_polar 
		; standardize the angles
	list	; take a look again
	polar asymm 
		; convert the peaks to one asymmetric unit
	list	
	polar unique 3.
		; exclude redandent peaks
	list
	reset
	zone all
	polar move_to_o 1 ca
		; apply a rotation such that the first peak,
		; which is stored in the "CA" record of the residue "1",
		; will move to the origin.
	list
2) Assume that the space group is P3(2)21; the positions of the self rotation function solution peaks are stored in a PDB format file.
	! First, input the polar angles using a PDB format file
	cell 61.2 61.2 96.8 90.0 90.0 120.0 1
		; input the cell parameters 
	@p3221
		; input the symmetry operators using a macro file
	zone all
	list	; take a look of the initial peaks
	polar srf_red
		; convert the peaks to one asymmetric unit
	list	
	polar unique 3.
		; exclude redandent peaks
	list

Model mutation

1) Mutate residue at position 6 to Ile.
      initialize
      zone all
      write backup.pdb   ; save the current file for safety
      @mutate 6 ile      ; a VMS version macro
           ; to run this macro, one may need to copy the aalib.pdb
           ; to the current directory.
2) Set the chi-I and chi-II angles of residue 6 Ile to -60 and 170 degrees using a macro file, set_chi_ile.edp.
      @set_chi_ile  6  -60 170
where set_chi_ile.edp contains the following.
      ! set_chi_ile.edp
      initialize
      side    $(p1)
      rtn abcd $(p1) n  $(p1) ca $(p1) cb  $(p1) cg1 $(p2)
      exclude atom cg2
      rtn abcd $(p1) ca $(p1) cb $(p1) cg1 $(p1) cd1 $(p3)
or simply
      @set_chi 6 -60  170

Fix the chirality problem

To fix a chirality problem brucely, a mirror operation has to be applied to some atoms.

1) Change the Ca position of residue 164.

      initialize
      ca 164
      rtn overlay 164 N C CB 0 0 0 , ,,, ,,, inve tmp.dat
      rtn matrix  -1 0 0 0 1 0 0 0 1 0 0 0
      rtn file tmp.dat

See also: the macros fix_hand.edp.

2) Change the position of the side chain of residue 164.

      initialize
      side 164
      rtn overlay 164 N CA C 0 0 0 , ,,, ,,, inve tmp.dat
      rtn matrix -1 0 0 0 1 0 0 0 1 0 0 0
      rtn file tmp.dat

Build a molecule, eg. a substrate

1) To build a molecule from scratch, See also: the examples in the NEWXYZ section

2) To build a molecule from pieces of fragments, see RTN OVERLAY command.


Analyze polar/eulerian angles

Convert polar angles to eulerian ones, assuming the x,y,z fields store the polar angles.
      zone all
      polar  to_euler

Copyright 1995, Cai X.-J. Zhang, All Rights Reserved.