pov4grasp HowTo Page

POV4GRASP is a great little program that allows you to convert grasp molecular surfaces files into povray output. Povray allows you to control every aspect of your figure-which makes it a very powerful graphics rendering program. The pov4grasp home page is: http://pov4grasp.free.fr/index.php

According to the authors, the best way to make a "Good GRASP molecular surface" is to do the following when setting up GRASP.

  1. Create a copy of the grasp/data files to you home directory.
  2. Edit therein the init_grasp file by adding VERTEXMAXIMUMPERBUILD=500000 for instance. This tells GRASP to build molecular surfaces with up to 500,000 vertices; usually the number of triangles is about twice.
  3. Type setenv GRASP PathToYourCopyOf/grasp/data in your shell.
  4. Run GRASP.

Now you can construct high quality molecular surface with much more triangles. Before using any construction method (such as Build Molecular Surface or the Surf_Charge_PB_Interpolate macro), you have to set the minimum surface resolution required.

  1. Enter the main menu (right click)
  2. Choose Set Parameters
  3. Select System Miscellaneous
  4. Find Minimum Surface Resolution and enter a new value.

Try at least 1.5 or 2, and increase this value until you obtain a surface of about 200,000 triangles for instance.

Now your set to use GRASP.

Use GRASP to create your molecular surface and color it any way you like (electrostatic potential, curvature, hydrophobics, etc.) and write out the surface file and a pdb file with absolute centering and rotation. This srf file is used by pov4grasp. The pdb file may be useful for later figures.


The next part involves using pov4grasp.

You first need to have a scene.inc file which describes the background, camera, lighting, etc settings in your figures world. An example scene.inc file is found here.

Depending on how you colored your GRASP surface, you'll need to use one of the following commands:

To color by electrostatic surface potential: colored_by potentials
To color by curvature: colored_by curvatures
To color by anything else: colored_by discretecolors

To control the transparency of your surface, use the filter command: filter 0.1
To control the overall brightness/contrast of the color scheme: gradient rgb<1,1,0>, rgb 1 transmit 0.9, rgbf<0,1,0,0.9>
Finally, to control the overall color range use: range <-3,-1.5,2>

An example script file is below. It illustrates how to clone your object and place the clone somewhere else in the image, color by curvatures and control the color range.

#version 3.1;
#include "scene.inc"

#declare surf = grasp_surface
{
  "crambin.srf"
  colored_by curvatures
  range <-50,0,10>
finish{ diffuse 0.6  specular 0.75  roughness 0.005 }

  scale <1,1,-SYSTEM>
correct_translate(-11,-10.5,0)
}

object{ surf                correct_translate(-8,-1, -50) }
object{ surf  rotate y*180  correct_translate(22,12,-250) }

Finally, to run pov4grasp type the following:
pov4grasp +Ihydro.p4g +Oscene.tga +W600 +H600 +A +V +P +D

+I is your input file to be used by povray.
+O is the name of your output file (in tga format).
+W controls the width of the window output (in pixels).
+H controls the height of the window output (in pixels).
+V controls the verbosity of the programs output.
+P tells the program to pause after displaying the image in a window (Click on the window to get rid of it) (Use with +D).
+D tells the program to display the image as it is being rendered.
+A i forgot?