How to create a VIPERdb web page


This document describes the ways and means of generating a VIPERdb webpage. As of the Jan 2000, VIPERdb web-entry requires 6 pieces of significant information/data/figures.

  1. Transformed coordinates in VIPERdb convention Z35X (from the coordinates deposited in PDB).
  2. A  depthcued rendered surface.
  3. A schematic icosahedral cage representing the geometry/architecture of quaternary organization of the capsid structure.
  4. Ribbon diagram representing the tertiary structure of the subunit/protomer.
  5. Oligomeric (capsomeric) organization of the subunits.
  6. List the properties/information such as PDB-ID, SWISS-PROT-ID for amino acid sequence, maximum diameter, transformation matrix (pdb2viper) and transformed coordinates.

1) How to transform the coordinates into VIPERdb convention:

  1. cd /cb/multiscale/viper/O (takes you to the place, where the VIPERdb stuff is located)
  2. download the coordinates from PDB
  3. check in the header of the PDB file for information how the coordinates were stored. If they are not in a standard orientation and not at the origin, check any information on the transformation matrix (rho) is given. If so apply the matrix (mat1*) on the deposited coordinates and use the transformed coordinates for throughout the following steps.
  4. startup the graphics program 'O'  by typing the script filename "begin_O"
  5. readin the menu items by typing "read multi_menu.odb"
  6. type in the text window  "@main_menu"
  7. then go and select 'user menu' under 'Menus' ( result: you would see the list of user menu items)
  8. read in the colour specifications by typing "read rgb.o"
  9. read in the pdb coordinates  by doing the following:
    • click on @pdb_menu in the user menu
    • click on @load_pdb (which prompts you for the pdb file name (in the text window)followed by for the O molecule name)
  10. display the 'C-alpha' back bone of the molecule:
    • click on Display (O-menu) and select the O molecule
    • click on Display (O-menu) and select Ca atoms (this would generate the Ca backbone, if you do not see the molecule, then "zoom out" using either dial-box or fake dials available part of the Menus (O-menu))
  11. click on @main menu
  12. click on @my_menu1
  13. click on @t1x, @t1y  (@t3x, @t3y, if it is a T=3 structure) -> icosahedral cage appears.
  14. Edit gent1x.odl and replace 'vipr' (whaterever the word following 'instance) by `name of the CA-object name', then click on @gent1x and see if you can generate a complete virion, without holes/clashes.
  15. repeat the same thing for gent1y.odl followed by clicking on @gent1y etc.,
  16. Identify in which case (e.g, gent1x, gent1y) you are able to generate the complete particle.
    • If it is gent1x, then the coordinates are already in the standard VIPERdb convention, if it is gent1y then you need rotate the model by 90 deg along Z-axis (use the matrix z_90.mat) to get to the VIPERdb
      standard. Let's call this matrix mat2.
  17. Then the transformation matrix is going to be the product of [mat2][mat1]*.
  18. apply this matrix on the pdb coordinates and name the trasformed coordinates as pdb_id.pdb1 and store them in /cb/multiscale/viper/HTML/TPDB directory. The transformation matrix is saved as
    pdb_id.tmat and store the matrix in /cb/multiscale/viper/HTML/TMAT.
  19. Hint: If there exists an entry that belongs to the same family or comes from the same research group, it is possible the current entry could be in the same orientation as the predecessor. So save time by applying the transformation matrix of the predecessor first.
  20. Caution: This step requires often times a lot of fudging. So be as creative as you can be.
2) How to create a Z-coordinate depthcued rendered interface:

This  particular step requires the need for the program GRASP (Graphical representation and Analysis
of surface properties).

-  cd /cb/multiscale/viper/Grasp

- copy the pdbid.pdb1 to the current directory

- estimate the average Z-coordinate
edit (vi) gen_half_bo.sh and change the number above EOF to 0.0
run gen_half_bo.sh pdb_id.pdb1 t3x_60.mat (result is you get minimum, maximum and avergage z-coordinate for each chain).

- now plug-in the maximum AVERAGE radius in place of  0.0 (number above EOF) in gen_half_bo.sh
run gen_half_bo.sh pdb_id.pdb1 t3x_60.mat  (result is you generate pdb_1, pdb_2 etc files for each
chain). Depending on how main pdb_* file you generate, correspondingly use the history files
chn3.his or chn4.his n GRASP.

- Now you are ready to create the surface rendering:
fireup GRASP (/jj/tetraw1/Xtal/Grasp/grasp_v1.3.6).
click on the right mouse button select with right mouse click, Read, then History/Script, then chn3.his
wail until the program generates the surface
screen capture the image using 'snapshot' (you convert this rgb formatted image to jpg/gif using imgcopy snap.rgb sanp.jpg).
type CNTL b to get the bar showing the color values, screen capture this as well.
click right mouse button select Quit GRASP to exit the program

- Create a HTML document with the two above images that correspond to the rendered image
seen in the individual web-page.

3) A schematic icosahedral cage representing the geometry/architecture of  quaternary organization of the capsid structure.

cd  /cb/multiscale/viper/CHAINS

to generate T1 cage:
molscript -r < t1_cage.mols | render -sgi t1_cage.rgb

to generate T3 cage:
molscript -r < t3_cage.mols | render -sgi t3_cage.rgb

to generate T3 (truncated icosahedral cage)
molscript -r < t3_trc.mols | render -sgi t3_trc_cage.rgb

to generate a GENERIC cage:
gen_cage.sh 1 0  (for T=1) and use newly generated 'draw.mols' to generate the molscript.image
gen_cage.sh 1 1  (for T=3)
gen_cage.sh 2 0 ( for T=4)
gen_cage.sh  1 2 (for T=7d)
gen_cage.sh 3 1 (for T=13l)

4) Ribbon diagram representing the tertiary structure of the subunit/protomer.

cd /cb/multiscale/viper/HTML/UNIT

** copy the pdb coordinates to your directory:
cp ../TPDB/pdb_id.pdb1 ./
edit and select the coordinates corresponding to a subunit or the entire protomer.

molauto -nice pdb_id.pdb1 >! pdb_id.mols

edit pdb_id.mols
insert a line: "background white ;" after the line plot.

molscript -r < pdb_id.mols | render -sgi pdb_id.rgb

** convert 'rgb' image file to 'jpg' file (on sgi)
imgcopy pdb_id.rgb pdb_id.jpg

** link the 'pdb_id.jpg' as an image in the pdb_id.html (webpage).

5) Oligomeric (capsomeric) organization of the subunits.

1) cd /cb/multiscale/viper/CHAINS

2) Split the protomer into individual subunits:
get_chain.sh pdb_id.pdb1   (the script would list all the individual pdb files)

3) Now generate the symmetry related subunits;

for each pdb-file run

capsomer.sh pdb_id_A.pdb t3a.mat pdb_1(or t4a.mat, if it's a T=4 virus)
capsomer.sh pdb_id_B.pdb t3b.mat pdb_2(or t4b.mat, if it's a T=4 virus)
(you end up having pdb_1, pdb_2 etc.)

4) obtain first and last residues in each pdb_? and incarporate them in  t3.mols/t4.mols etc. under the
respective filename (e.g., pdb_1).

5) now run molscript

molscript -r < t3.mols | render -sgi pdb_id.rgb

imgcopy pdb_id.rgb pdb_id.jpg

move the the file to /cb/multiscale/viper/CAP/pdb_id.rgb and link it up.

6) List the properties/information such as PDB-ID, SWISS-PROT-ID for amino acid sequence, maximum diameter, transformation matrix (pdb2viper) and transformed coordinates.

1) by now, you know how to get the PDB-ID information. If not check the http://www.rcsb.org/pdb/

2) to get the SWISS-PROT ID go to http://www.expasy.org/sprot/
click on full text_search, enter the virus name
obtain the coat-protein sequence accesssion number and link it the similarway in the other entries.

3) get the max. raidus by

 cd /cb/multiscale/viper/CHAINS

ave_rad < ../HTML/TPDB/???.pdb1

check for the 'Overall' maximum radius and 2 x that would give you the Max. diameter.

Main | Data & Analysis | Utilities | Search | Contact Us | Help | Links | Mailing List | Cite VIPERdb | Disclaimer

©1998-2020. TSRI. All rights Reserved.