Dear Grasp User,
Version 1.2 has not yet been fully documented, however, rather than delay further, i decided to release the program as is. For one thing, as described below, many of the improvements do not require much additional description. plus, the release notes below contain much of the essentials on this update. There are alternative documents available in rtf and word format from Kim Andersen, who has nicely formatted the original manual so that it actually looks organized. Thanks Kim!

A brief probably incomplete list of improvements in the program:

Also, there were considerable problems porting to the 5.2 version of the operating system on the SGI. these seem to have been overcome, though somewhat unsatisfactorily in my opinion. people had complained that Grasp ran slowly under 5.2. i was never able to reproduce this on our machines. hopefully, however, the fully 5.2 compiled version will not have this problem. we will also provide a 4.0.x version for those who think SGI operating systems are getting worse not better. (grasp_1.2.5 for 5.x and grasp_1.2.4 for 4.x)

There are more than one hundred names on the current mailing list, which is only the ones i could safely extract from my disk-filling mailbox. This might suggest that a users newsgroup might be a good idea, both for me to find out what people are using Grasp for and for users to discuss problems, anger, angst, whatever. if there is interest let me know.

Though it may be obvious, this update is free. the original 1.0 version of Grasp in 1992 promised "at least two free updates" and 1.1 promised "at least one free update", and so this fulfulls both. however, it is my intention to continue to provide free "meaningful" upgrades for as long as it is in my power to do so. i still intend to include many of the features in the original "plan" for Grasp in the program. what has slowed development has to a large extent been the limited interface tools provided by SGI. as detailed below, we have now developed our own such tools and i predict this will be a real spur to program functionality, as well as providing new avenues to explore what a modelling program should really be like (i.e. is there no drag and drop functionality in modelling programs?).

Finally, Isabelle Cretegny, who joined the lab but a little over a year ago, has been the driving force behind the interface development and this release is as much hers as mine. She will be taking over the responsibility for email support of Grasp in the coming months as well as continuing her herculean efforts to make Grasp a more user-friendly program. I shall be trying to actually deliver some of the functionality i've always promised!

Anthony Nicholls


Release Notes: Version 1.2, December 26th 1994

The predominant changes to the program from 1.1 to 1.2 are systematic, i.e. although there is new functionality the major changes are internal. for instance, two major program advances are dynamic memory and a panel interface. the first removes limits on the size of molecules or surfaces, except for how much memory/swop space you can afford. the second should allow new users to more easily get to use Grasp, and also provide more functional information to users already adept at Grasps byzantine ways. (NB that the old menu methods are all still operative).

Panels
the construction of a panel interface has been a major undertaking and one which has been entirely coded by Isabelle Cretegny. Isabelle has performed a major feat of program engineering, not only by her interface design but by writing it in C and grafting this onto my unruly fortran. the work is far from finished however as less than half of Grasp functionality is so far "panelized". the panels are GL based, as opposed to mosaic or X, partly because of Isabelle's experience, and partly because the latter are so ugly. A drawback of our approach is probably that our panels are not as functionally robust as they might be, however I think they are good enough for people to try and give us some feedback on. help is provided within each window if one has the file "help.txt" in ones Grasp data directory (/data/help.txt on the Grasp server).

A few words on usage. typically buttons light up when the mouse rests upon them. if text can be entered a red line appears. if neither happens try taking the mouse off and back onto the panel again. some text windows require an enter after the text to cement the entry, some (most) do not. windows can be shrunk/enlarged to any size and retain functionality (neat, neat, neat). they can of course be iconized. use either the left or right mouse to make things happen. the middle button is being reserved for a more efficient help system. the main panel can be popped open from the main menu or by having the line "panels=on" in ones init_grasp file.

DELPHI
one major limitation in the present panels is that actions through such are not recorded in the history file. this limitation will be addressed with the highest priority. On the positive side, there is an interface to the program DelPhi, from which much of the inspiration for Grasp came. by adding the name of a DelPhi version to your init_grasp file, DelPhi can be driven from within Grasp to provide high resolution potentials within a chosen domain of a protein, compared to Grasp's low resolution potential maps. example line in init_grasp: DELPHI=/usr/people/nicholls/bin/delphi

Dynamic Memory
atoms: the program should take any number of atoms but is only set to read in 25,000 at a time. but you can alter this default by putting a line which reads:

MAXIMUMATOMSPERPDB=n 

in your init_grasp defaults file, where you set n > 25,000 obviously. secondly you can reduce the memory requirements for REALLY large files by changing a typical file header like:

GRASP PDB FILE 

to

GRASP ATOM FILE 

in the latter case no bonds are calculated or shown.

Surfaces:
To define a higher resolution go to the menu "Set Parameters: system parameters: minumum surfacing scale" and enter a value larger than the default value one gets when a surface is constructed with default resolution. this forces the program to define larger grids for the surfacing. beware that this can be memory expensive. if more than 25,000 vertices are needed per surface build you have to ALSO set a parameter in your init_grasp file like so:

VERTEXMAXIMUMPERBUILD=n 

where n > 25,000 (Possible bug: deleting surfaces. i'm still waiting to reproduce this reliably)

Secondary Structure:
residues can be "assigned" to a structural type via the line commands: alt(s=b),rn=(n,m) assignes beta sheet to residues n-m, alt(s=r) to assign random coil and alt(s=h) for helix. once assigned one can use these in subset selection, e.g. c=2,r=bet colors red all beta sheet atoms. similarly r=hel, r=ran for the obvious.

State Save
this saves all variables in the current grasp session for later start-up, which is then instant. one problem is sometimes the size of these files (which can often be dramatically compressed via standard system calls). access via usual read/write menus.

Antialiasing.
those making critial pictures for publication might like to try the new feature under "miscellaneous" entitled "antialiasing (polygons) (one shot)". this enacts a mulitpass filtering which sharpens up the edges of solids. If one then writes out an rgb file from within grasp IMMEDIATELY after this operation is run it will repeat and write out a sharpened rgb file. WARNING! once you are used to antialiased images it is hard to go back.

Recentering.
for those hardy souls trying to align two objects in space it may come as some comfort to know that one can now (via control J) change the center of a formal subset as well as the world center.

DOTS on surfaces/ transparent CPK atoms
Grasp dot surfaces where never very useful as the dot density was always too low. this can be increased by factors of 2 or 8 via the system parameter menu. as an alternative to molecular surfaces try atoms in full sphere mode, but with a transparency factor.

External File control.
The miscellaneous menu also contains a facility to have Grasp "look" for an external file, and act out an internal macro when it sees it. this queuing allows one to have Grasp act as a slave to another program via external files. try it for more details.

Labelling.
An often repeated request. Under "Mouse Function" is the option to assign one of the mouse buttons to a labelling funtion. labelling is treated as an "object" with regards hiding or viewing menus. The text automatically assigned is that which would be sent to the screen from a "pick", though users can also enter their own. not completed yet, but there in case it is useful as-is.

Distance Lines/ Surfaces
One can now have grasp display lines between points labelled by the length of this line. NB this updates if atoms at the end of lines are moved. One can also measure surface distance/angles/ torsions now.

History File redirects.
Grasp by default writes history files to the current directory. since it writes down every rotation/translation this can be a lot of lines. if you are running one a remote disk this means a lot of net traffic/ requests for file info. this can bring rotations to a crawl even if the machine fast. solution: put a line like:
HISTORYDIRECTORY=/usr/people/me/history/
and create a directory history for the history files to be store LOCALLY. (or write them to scratch or temp...)

Bond Colors
The file bond.color in the data directory on the grasp server illustrates how this file can control default bond colors. note that this file must be in your CURRENT directory to be effective, i.e. it can NOT be left in the grasp data directory.

Proteus
This is a program marilyn gunner has been developing to add protons rapidly and "correctly" without using molecular dynamics. it has much functionality not yet included in the current Grasp which will be incorporated at a later date. one is refered to the directory /proteus and the files within for further details.

MORASS
Grasp supports a varient of the standard interaction pair file for use with the NMR structure refinement program MORASS. bruce luxon (University of Texas at Galveston) was responsible for pushing this through, (thanks bruce!). for more info on MORASS try website http://www.nmr.utmb.edu. An example of the file format is given below:
GRASP Rij %THE DIFFERENCE PAIR-WISE INPUT FILE

FORMAT = 4 

H6    CYT A  10    H8   ABP A  12     2     0.744693 
HC42  ABP A  12    HC44 ABP A  12     5     1.424259 
HC34  ABP A  12    HC40 ABP A  12     5     1.326961 

the difference with other formats is that this is atom based but simpler than the HINT format.

WINDOW PARAMETERS.
use the following init_grasp commands to customize your window:
WINDOWWIDTH=n
WINDOWHEIGHT=m
WINDOWPOSITION=i,j
(bug: if the window is sized greater than the usual 800 by 800) there seems to be a slight distortion in the view which is only "repaired" by effecting a window redraw..i.e. push and pop the window once.)

Worms:
Grasp uses a b-spline to calculate worms. this leads to a smooth worm which is not necessarily passing through alpha carbons. it has been brought to my attention that this is unfortunate when one wants to draw side chain bonds and a worm together, i.e the CB-CA bond "hangs" in mid-air. the worm parameter menu now contains a "fix" to this which allows a temporary displacement of the CA end of this bond to the worm itself.


Note: v1.3.6 is similar in almost all respects to v1.2.5 except that this version doesn't crash on SGI 6.X operating systems. This includes the IRIS INDIGO IMPACTs and the O2 machines.