GRIP
GRIP (Graphics Representation of Interacting Proteins), the University of North Carolina's interactive molecular graphics system, which let biochemists fit protein models to electron density maps on screen from the 1970s into the mid-1980s.
Created by William V. Wright and Frederick P. Brooks, Jr. (University of North Carolina at Chapel Hill)
GRIP, short for Graphics Representation of Interacting Proteins, was an interactive computer graphics system for studying and changing models of large molecules. It was built at the University of North Carolina at Chapel Hill. William V. Wright wrote the first version as his doctoral project around 1970-71, and Frederick P. Brooks, Jr.’s molecular graphics group then developed it further. The best-known version, GRIP-75, ran as an NIH-funded service from 1975 into the mid-1980s. Biochemists brought their electron density maps to Chapel Hill and fitted atomic models to them on a vector display. In 1976 the system was used for what its users believed was the first protein structure interpreted entirely by computer graphics, without building a physical model.
GRIP was not a general-purpose programming language. Users drove it through menus, function buttons, joysticks and dials. Inside, GRIP-75 had a layer that UNC called a geometric manipulation language, which sat between the user’s menu commands and the PL/I code underneath. The developers wrote new menu commands in that layer. This page covers GRIP as a graphics command system, because that is what the historical record describes.
History & Origins
Wright’s pilot system (1970-1972)
The first GRIP was built by William V. Wright, a graduate student supervised by Brooks. UNC’s 1976 report says it was “the pilot system for molecular graphics built by Dr. Wright in 1970”. The first annual report calls it “the embryonic system (also called GRIP) which was developed at UNC in 1970/71”. It ran on an IBM System/360 Model 50 with an IBM 2250 vector graphics display.
Wright finished his dissertation, An Interactive Computer Graphic System for Molecular Studies, in 1972. That October he published “The Two-Dimensional Interface of an Interactive System for Molecular Studies” in ACM SIGPLAN Notices (vol. 7, no. 10). The paper came from the SIGPLAN symposium on two-dimensional man-machine communication, held at Los Alamos, and it describes the two-dimensional interface, built around a vector graphics display, through which a chemist worked on a protein model.
The NIH Research Resource (1974)
In the summer of 1974 the National Institutes of Health funded UNC’s molecular graphics project as a Research Resource under grant RR-00898, with Brooks as principal investigator. The master list’s year of 1974 probably refers to this event, though the system itself is older. Wright had moved to IBM by then. The first annual report (March 1975) says he directed GRIP through “a joint study agreement between UNC and his employer, IBM”.
The team had a choice: design a new system or extend Wright’s. The first annual report says they chose to “build onto GRIP to quickly learn more about the needs of biochemists and crystallographers”. GRIP was rebuilt for a DEC PDP-11/45 with a Vector General display, reusing most of Wright’s System/360 code. A companion system, GRAB, was layered on top of it for fitting molecular fragments into electron density maps. The developers called both systems prototypes. A 1976 report warns that much of their organization rested on “design decisions made 6 years ago, for a system configuration quite dissimilar to our own”.
GRIP-75 goes into service
The production system was called GRIP-75. It ran as a satellite-host pair: the PDP-11/45 drove the Vector General display, and an IBM System/360 Model 75 did the heavier computing. The application code was written in PL/I. The 1982 annual report dates the start of “demonstrations and productive operation” to 15 July 1975.
A planned clean redesign, GRIP-II, was started in 1975-76. It was shelved when funding fell to maintenance level in 1976-77, and the 1977 report says the team “chose to continue pilot service as our chief activity”.
Design Philosophy
Brooks wanted the GRIP project to work as a computer scientist serving other scientists, and his 1977 IFIP paper about it is titled “The Computer ‘Scientist’ as Toolsmith”. The 1986 annual report sets out the project’s working principles. The first is that “The GRIP Resource is designed to help chemists get results from their research, and its success is measured only by theirs.”
Three ideas follow from that:
- The chemist does the thinking. GRIP was built to help crystallographers see their molecules and maps, so that they could apply chemical knowledge the computer did not have. It was not designed to solve structures automatically.
- Real users drive development. Visiting scientists used the system on real problems, and most enhancements were written in response to their most urgent needs. In his 1976 letter to Brooks, Tsernoglou noted “the need for continued input from protein crystallographers as regular users”.
- Perception is a research question. The group studied how people perceive 3-D structure on a flat screen. UNC’s 1983 proposal, citing James Lipscomb’s studies, calls the kinetic depth effect (the apparent depth produced when the model moves) the strongest depth cue available for molecules.
Key Features
The 1975 and 1976 annual reports list GRIP’s main interactive functions:
| Feature | What it did |
|---|---|
| Stick-figure models | Kendrew-style stick models of proteins and nucleic acids |
| Real-time rotation | Joystick control of the viewing direction, giving motion parallax as a depth cue |
| Stereo and depth cues | Stereo through an Evans & Sutherland lorgnette or a half-silvered mirror, plus intensity depth-cueing and z-axis clipping |
| Levels of detail | Per-residue choice of alpha-carbon trace, main chain only, or all bonds |
| 3-D cursor | A three-axis joystick for pointing into model space, faster than the keyboard and light-button input of the original GRIP |
| Bond manipulation | Twisting a model about rotatable bonds and asking for distances and directions |
| Density fitting | Overlaying a molecular model on contoured electron density and moving residues into it |
The command layers
A 1983 report describes the “geometric manipulation language” between the menu commands and the PL/I (later C) code as one of GRIP-75’s most powerful attributes, because it “enabled us to build new menu commands for users very quickly”. The surviving reports describe this layer only in general terms and do not document its syntax. The planned successor, GRIP-X, was to have a formal adjunct language that would let users define their own menu items from its primitives.
Distributed processing
The UNC group also built CAGES, a system for configurable distributed programs. With CAGES, PL/I-subset program modules could be moved between the host and the satellite computer without rewriting them. James Foley and Wright described this host-satellite design at the ACM’s 1975 annual conference.
Evolution
| Period | System | Hardware and implementation |
|---|---|---|
| 1970-72 | Embryonic GRIP (Wright) | IBM System/360 Model 50 with an IBM 2250 display |
| 1974-75 | GRIP and GRAB prototypes | PDP-11/45 and Vector General display, using Wright’s earlier code |
| 1975-early 1980s | GRIP-75 production service | IBM System/360 Model 75 host, PDP-11/45 satellite, Vector General 3 display, PL/I |
| 1982-84 | GRIP-75 conversion | DEC VAX-11/780, Vector General 3303, C, 4.2BSD Unix |
| 1983 onward | TRAILBLAZER | Built on the VAX/Unix/C version of GRIP-75, adding GRINCH ridge-line map interpretation |
The conversion began in spring 1982 as a COMP 145 software-engineering student project at UNC. It moved GRIP-75 from PL/I to C, from the System/360 to the VAX and from OS/MVT to Unix. UNC’s September 1984 report says the conversion was “a lot of work”, and that the first visiting collaborators had already used the converted system. The February 1985 report says the port was complete and the system was in productive use.
In parallel, UNC worked on a next-generation design, GRIP-X, with Wright’s team at the IBM UK Scientific Centre in Winchester, England. That team was building a GRIP-X-type system in PL/I for an IBM host and a Vector General display. The two groups held weekly conference calls. In the reports, the UK group is credited with the idea of building on an existing relational database instead of writing data-management code from scratch.
Current Relevance
GRIP is a historical system. It depended on specific display hardware and was never distributed as a portable product. The 1984 report itself calls the software “essentially unexportable”, and no public release of its code or a runnable version is known. Its record survives mainly in UNC Chapel Hill’s computer science technical reports. Those reports include annual NIH progress reports from 1975 through the mid-1980s that list users, hours of use, hardware and publications.
GRIP’s influence spread through the people who used it rather than through its code. The 1986 report says that “at least seven of our scientific collaborators have obtained their own graphics systems as a direct result of their successful work here.” UNC later moved from GRIP-75 to GRINCH and TRAILBLAZER. Crystallographers in general moved from brass wire models and optical comparators to interactive fitting on graphics workstations.
Not to be confused with
Another graphics language used the same name in the same years. Wolfgang K. Giloi’s paper “On High-Level Programming Systems for Structured Display Programming” (SIGGRAPH 1975) introduces “a model language for interactive display programming (GRIP)”. That design is unrelated to UNC’s molecular system.
Why It Matters
- Proof that computer fitting worked. UNC’s 1983 proposal says the first demonstration that the graphical technique could fully solve protein molecules “was done here by Petsko and Tsernoglou in 1976”. Before then, crystallographers usually built physical models to interpret density maps.
- Real scientific results. The 1984 report counts more than 35 papers by collaborators based on GRIP-75 work. It names superoxide dismutase and erabutoxin as structures determined entirely on GRIP-75.
- A model for the user-driven research lab. Brooks’s “toolsmith” approach treated biochemists’ real problems as the test of a computer science project. That way of working went on to shape UNC’s later graphics, virtual-reality and haptics research.
- Early human-factors work in 3-D graphics. GRIP was used for studies of depth cues, nested rotations and display update rates, which were published at SIGGRAPH and elsewhere. One example is “Making Nested Rotations Convenient for the User” by Britton, Lipscomb and Pique (SIGGRAPH 1978).
Sources
- UNC Chapel Hill Department of Computer Science annual reports to NIH on grant RR-00898: First (TR75-03, March 1975), Second (TR76-004, May 1976), Third (TR77-005, May 1977), Fourth (TR78-02, February 1978), Seventh (TR81-03, March 1981), Eighth (February 1982, filed as TR88-038), Ninth (TR83-002, February 1983), Tenth (TR84-09, September 1984) and Final Technical Report (TR84-008, September 1984), Eleventh (TR85-025, February 1985) and Twelfth (TR86-007, March 1986); the proposal Progress 1978-83, Proposal 1984-89 (TR83-06, June 1983). All are at
techreports.cs.unc.edu/papers/. - W. V. Wright, “The Two-Dimensional Interface of an Interactive System for Molecular Studies”, ACM SIGPLAN Notices 7(10), October 1972.
- W. V. Wright, “GRIP: An Interactive Computer Graphics System for Molecular Studies”, in D. Sayre (ed.), Computational Crystallography, Oxford University Press, 1982 (as cited by UNC; HOPL gives the volume as Oxford, 1981).
- D. Tsernoglou and G. A. Petsko, “Three-Dimensional Structure of Neurotoxin a from Venom of the Philippines Sea Snake”, PNAS 74(3), 971-974, March 1977.
- W. K. Giloi, “On High-Level Programming Systems for Structured Display Programming”, SIGGRAPH 1975 (ACM SIGGRAPH History Archives).
Timeline
Notable Uses & Legacy
Sea-snake neurotoxin (Wayne State University)
Demetrius Tsernoglou and John McQueen fitted a 2.2 Å electron density map of a sea-snake neurotoxin on GRIP-75 in 1976. Tsernoglou wrote to Brooks that the map was completely interpreted in less than two weeks, against their own estimate of two months or more by conventional optical methods. The structure appeared in PNAS in March 1977 (Tsernoglou and Petsko)
Copper-zinc superoxide dismutase (Duke University)
David and Jane Richardson, with Elizabeth Getzoff and John Tainer, fitted their superoxide dismutase models on GRIP from 1975 onward, loading a new 2 Å map in June 1976. UNC's 1984 final report names SOD as one of the structures determined entirely on GRIP-75, without brass models
Erabutoxin b (Columbia University)
Barbara Low's group used GRIP-75 for the sea-snake neurotoxin erabutoxin b, returning in the early 1980s to refit it to an improved 1.4 Å map. The 1984 report lists erabutoxin alongside SOD as determined entirely on GRIP-75
Visiting crystallography teams
GRIP-75's hardware made the software essentially unexportable, so crystallographers came to Chapel Hill to use it. The 1984 report counts some thirty visiting teams and more than 35 published papers based on work done with the system