`
`
`visualization and modelling of
`
`proteins, nucleic acids and small
`molecules
`
`
`
`H E Dayringer*, A Tramontanot, S R Sprangt and R J Fletterickt
`
`
`
`•Monsanto Company, 700 Chesterfield Village Parkway, Chesterfield, MO 63198, USA
`tDepartment of Biochemistry/Biophysics, University of California San Francisco, San Francisco, CA 94143, USA
`
`The graphics package Insiglll for the DEC VAX and
`Evans and Sutherland PS300, created as part of a joint
`university-industry research project, provides a broad set
`of capabilities which allow the user to display molecular
`models in slick figure and surface representation. The
`Insight program allows the user to model and manipulate
`proteins, nucleic acids and small molecules. The software
`accepts coordinate input from several possible sources and
`provides both a command and menu interface for manipu
`lation of the graphics objects. The command language
`and program structure make it easy for the biochemist
`or molecular biologist to use.
`
`Keywords: proteins, nucleic acids. small molecules, vizual
`ization, modelling
`
`received 27 November 1985, accepted 2 December 1985
`
`the user may choose from both command and menu
`input streams which are simultaneously active and pro
`vide overlapping capabilities. The command
`input
`stream allows interaction with the program via the key
`
`board connected to the host. This interface provides
`
`a great deal of flexibility and allows a full range of
`options (see Table I) but requires typing. The menu
`input stream allows selection of a command or reference
`to an object simply by pointing to the command or
`object with a cursor controlled via a data pad (see Colour
`Plates I and 2). The menu input stream is very simple
`to learn to use, requires very little typing and is com
`pletely visual. Experience has been that both frequent
`and casual users adapt to the system very quickly. The
`casual user learns to use the menu very easily. The
`advanced user gets considerable power and efficiency
`from using the command stream as the primary input.
`The authors wanted to avoid the limitations inherent
`the user. Thus, except
`in current systems that restrict
`The investigation of structure-function relationships in
`
`for the limitations enforced by the computer hardware,
`proteins and nucleic acids has increased the demand
`there are no limits on the number of objects defined
`for sophisticated graphics systems for their visualiz.ation
`
`or displayed, the size of objects (number of atoms, resi
`
`and manipulation1• The need for versatile and flexible
`dues or vectors), or the colouring of the objects or their
`software capable of display and manipulation of
`surfaces (sec Colour Plate 3). The c language4 was
`molecules ranging in size from a few to thousands of
`chosen to achieve thse objectives because of its ability
`atoms was recognized as one common to both academic
`to manage memory dynamically.
`and industrial researchers as each pursue their interests
`Finally, the system was required to be extensible.
`in complex biological systems. Several excellent pro
`Addition of new functions should be fairly simple for
`
`grams exist1-3 or are under development. However, each
`example; external functions such as energy minimization
`has limitations such as number of objects displayed,
`are anticipated and should be easily added. To this end,
`generality, speed or ease of use. For this reason a joint
`the software is modular and takes advantage of features
`
`
`development of software capable of providing the neces
`of both the c language and VAX/VMS to provide simple
`sary support for display and manipulation of macro
`methods for integration of functions both internal and
`molecules was undertaken. The Insight software is
`external to the program.
`designed to operate with an Evans and Sutherland
`PS300
`calligraphic display device linked to a VAX mini
`computer or similar host. The results of this work are
`described here.
`
`OBJECTIVES
`One major goal in creating a new software package was
`
`to make it as easy as possible for the novice and expert
`user to get the most from the program. To this end,
`
`CAPABILITY
`
`The capabilities of the program can be divided into
`several broad classes, each of which are represented in
`the system by several commands or menu items. Each
`such class will be discussed along with representative
`
`examples. A complete list of the commands is shown
`in Table I.
`
`82
`
`0263-7855/86/020082-06 $03.00 © 1986 Butterworth & Co (Publishers) Ltd Journal of Molecular Graphics
`
`1 of 6
`
`BI Exhibit 1075
`
`
`
`Table 1. List of commands available to the user
`simply as objects. Operations applicable only to mole
`cular objects are noted. Unless specifically noted, all
`Define new command in terms of
`functions can be executed either from the menu or
`existing commands
`command interface.
`Add new object 10 global associalion
`The program places no limit on the number of objects
`Add new alias name for object
`Measure planar angle for three atoms
`which can be defined and displayed simultaneously. The
`Create new global associati on
`PS300 limit on stored and displayed vectors is generally
`Deline axis system for object
`reached at about 20 000 atoms for I Mbyte of mass
`Create or destroy bonds
`memory.
`Define unit cell parameters
`Define rotation cenler of object
`Change label colour
`Change label size
`Change colour of atoms. surface or
`object
`Connect button to object
`Connect dials to object
`Create a copy of an object
`Delcie an object
`Measure dihedral angle for four atoms
`Control display of object, molecular
`surface or axes
`Measure distance between two atoms
`Leave program
`Detailed explanation of last error
`Input new object
`Display hydrogen bonds
`Gel help on commands and options
`Display control for association
`components
`Label atoms, residues and objecls, user
`labels
`Add and remove bonding distances in
`table
`S11mmarize status of defined objects
`Combine or split molecular objects
`Setup dynamic distance monitor
`Move objecl by specified amount
`Display neighbours of an atom
`Output Cartesian coordinates to
`external ASCil file
`Change alias name for object
`Change a residue to a new type
`Get back objects from a save file
`Rock the object about the vertical
`screen axis
`Rotate the object by spedficd amount
`Store complete object definition in an
`external binary file
`Change scale to specified value
`Change CSM and depth status of
`object
`Execute external command file
`Put displayed objects into stereo mode
`
`Superimpose two proteins
`Genemle a surface for the molecule
`angle
`Change torsional
`Create VMS subprocess
`Wail specified time interval
`
`ABBREVIATE
`
`ADD
`ALIAS
`ANGLE
`ASSOCIATE
`AXES
`BOND
`CELL
`CENTER
`CHARACTER COLOR
`CHARACTER SIZE
`COLOR
`
`CONNECT BUTTON
`CONNECT DIALS
`COPY
`DELETE
`DIHEDRAL
`DISPLAY
`
`DISTANCE
`EXIT
`EXPLAIN
`GET
`HBO ND
`HELP
`IGNORE
`
`LABEL
`
`LINK
`
`LIST
`MERGE
`MONITOR
`MOVE
`NEIGHBOR
`PUT
`
`RENAME
`REPLACE
`RESTORE
`ROCK
`
`ROTATE
`SAVE
`
`SCALE
`SET
`
`SOURCE(@)
`STEREO
`SUPERIMPOSE
`SURFACE
`TORSION
`VMS
`WAIT
`
`Store and retrieve operations
`Objects for display can be input (GET+)• from the
`Brookhaven Protein Data Bank5, Cambridge Crystal
`Data Base6, Frodo output3, an amino-acid definition
`file or user defined vector lists. The GET command
`requires specification of the appropriate code name for
`the molecular data base type and the coordinate file
`name. For example, the GET PDB command specifies
`the four character PDB entry name. A keyword can
`be appended to the command line for inclusion of
`HETATM cards. The program does any necessary co
`ordinate conversions and scaling, and computes connec
`tivity. New objects can also be created by making a
`copy (COPY) of an existing object. Any object can be
`saved (SA VE) in a disc file in the program internal
`format for later retrieval (RESTORE). After user modi
`fication with the Insight program (see below), molecular
`objects can be output (PUT+) in either PDB fonnat
`or in a format suitable for use with Connolly's analytical
`molecular surface programs7• Objects can also be flushed
`from the system (DELETE).
`
`Object manipulation
`These operations are divided into three categories. The
`first category refers to commands which manipulate the
`whole object. These
`include translation (MOVE),
`rotation (ROTATE) and scaling (SCALE) operations
`which can be done either by command, menu or from
`the PS300 dials. When an object is connected to the
`PS300 dials (CONNECT DIALS) the user has control
`of x. y and z rotations and translation and the scale
`of the object. The eighth dial is connected to the viewing
`window position and thickness. The user can optionally
`specify the centre (CENTER) and axis system (AXES)
`for rotation and translation; the default centre of
`rotation is the centre of mass. The axis system about
`which rotation and translation are carried out can be
`either the external world system or an object-based
`system whose default is the moment of inertia axes8.
`This category of object manipulation also includes a
`command
`to visually
`superimpose
`two proteins
`(SUPERIMPOSE-).
`The second category of object manipulation applies
`only to molecular objects and allows internal changes
`in torsional angles (TORSION), addition and removal
`of bonds (BOND), changing the type of a residue
`(REPLACE), merging (MERGE) molecules and separa
`tion of a molecule into non-bonded molecular objects.
`Torsional changes are made by selecting the atoms
`involved in the rotation, and then using the PS300 dials
`to adjust the angle.
`
`"The parcnthcsc:s indicate a command which implements
`this feature.
`only from the command stream.
`'This option is available
`
`The Insight program can display and manipulate both
`molecular and nonmolecular objects. A molecular object
`is one which contains atoms which are divided into resi
`dues. Each atom and residue has a name, and can be
`referenced in commands or selected from the screen
`using the data tablet. Nonmolecular objects are those
`which do not have atoms. A user defined object is one
`example of a nonmolecular because it has only vectors
`or dots. An association of objects (see below) is also
`a nonmolecular object because it is composed of a collec
`tion of other objects. Nonmolecular objects can only
`be referred to in their entirety. Individual lines or dots
`cannot be referenced.
`When commands can be applied to both molecular
`and nonmolecular objects, they will be referred to
`
`Volume 4 Number 2 June 1986
`
`83
`
`2 of 6
`
`BI Exhibit 1075
`
`
`
`The third category of object manipulation is the
`creation of object associations (ASSOCIATE). An
`association is a loose coupling of objects which allows
`them to be treated as if they were a single object while,
`at the same time, retaining the individual objects as
`separate entities. ASSOCIATE applies to all objects
`including those that are nonmolecular. This is in contrast
`to MERGE which works only for molecular objects and
`creates a single object in which the identity of the original
`objects is lost. By default, control of the display status
`of the individual objects of which the association is com
`posed is an attribute of the association. A command
`(IGNORE) is provided to allow control to revert to
`the individual objects. This command is used when one
`wants to tum off the display of a single object which
`is part of a global association.
`When an association of objects is created, a common
`centre of mass and axis system is calculated. The asso
`ciation is treated as a single object and can be rotated,
`translated and scaled with the effect of these operations
`applied simultaneously to all objects of which the asso
`ciation is composed. This function of the INSIGHT pro
`gram is particularly useful in visually aligning molecules.
`Associations can be nested such that a member of an
`association can itself be an association.
`
`Parameter measurement
`Spatial distances {DISTANCE), planar angles (ANGLE)
`and dihedral angles (DIHEDRAL) for atoms in the same
`or different molecular objects may be determined using
`the program. All of the intramolecular spatial distances
`for the neighbours of any atom (NEIGHBORS) within
`a specified distance range may be displayed, and up
`to 100 pairs of distances, inter- or intramolecular, may
`be dynamically monitored (MONITOR). The latter faci
`lity is a real-time display of the displayed spatial dis
`tances between the atoms and is very useful for
`monitoring docking experiments or torsional operations.
`
`Visual attributes
`An extensive set of commands are available for mani
`pulation of visual attributes. Display of objects, residues,
`atoms, axis systems and the surfaces of atoms can be
`selectively enabled and disabled (DISPLAY). Objects
`can be coloured (COLOR) by specification of both a
`hue and a saturation value. Molecular object colouring
`is allowed at the residue or atom level. A special colour
`(COLOR PROPERTY+) command allows properties
`of residues to be represented using colour. This allows
`the program to display, for example, the SHAPELY
`colour scheme for a protein where each of the side chains
`is distinctly coloured by physical property9• Other visual
`attributes include surfacing of atoms (SURFACE) with
`either van der Waals or Connolly10 surfaces, and colour
`ing these surfaces; labelling (LABEL) of atoms, residue
`and objects; user defined labels; changing the colour
`(CHARACTER COLOR) and size (CHARACTER
`SIZE) of the labels; rocking (ROCK) the object; and
`displaying alternate left/right eye images (STEREO) for
`use with the Terabit stereo viewer.
`
`Parameter setting
`Parameter setting options are used to setup special
`attributes for the system or for a set of objects. They
`
`ASSOC.ENZ
`
`Table 2. Examples of the name syntax for objects
`Refers to:
`Name string
`
`Total object (includes all atoms and
`ENZ
`residues)
`
`The ENZ components of an
`association
`Specific residue of object
`ENZ:Al37
`
`Ranges of residues in an object
`ENZ:Al37-Al40
`
`Every third residue in a range
`ENZ:Al37-Al70@3
`
`All lysines of the object
`ENZ:LYS
`The a-carbon of a specific residue
`ENZ:Al37:CA
`The backbone of a specific residue
`ENZ:A I 37:CA,N,C,O
`All atoms of the specified residue
`ENZ:Al37:*
`AU carbons of the residue
`ENZ:Al37:C•
`
`All a-carbons of the object
`ENZ:•:CA
`All side chains of the B chain
`ENZ:B*:CB-•
`•:•:•or•::
`All atoms of all residues of all
`molecules
`of type
`All objects, regardless
`
`•
`
`include commands to rename (RENAME) an object or
`to assign additional alias names (ALIAS), specify unit
`cell sizes (CELL+) for use in symmetry replication
`(SYMMETRY) and a command to change the maxi
`mum distance between atoms considered to be bonding
`(LINK+). In addition, the PS300 colour screen mode
`(CSM) and depth-queueing functions can be disabled
`(SET+) for any object and the viewing window position
`and thickness (z axis) can be controlled using a PS300
`dial.
`
`Command environment
`A set of commands are available to allow control of
`the program itself. A command abbreviation feature
`(ABBREVIATE+) allows one to define new commands
`or keywords in terms of existing commands. Predefined
`command files can be executed (SOURCE or @ .... ).
`Commands can be passed to the operating system
`(VMS+) without leaving the program. A command to
`pause (y{ AIT+) for some number of seconds is imple
`mented for use with the SOURCE command files to
`aid in making movies.
`
`Syntax for object specification
`The user specifies, to the command interface, a name
`of the form:
`
`Alias:Residue:Atom
`The al.ias name is the name assigned to the object when
`it was created or through use of the ALIAS or
`RENAME commands. In addition to the specification
`of an individual object, components of an association
`may be referenced by specifications of the form:
`Assoc.Entity
`The residue and atom portions of the name are valid
`only for molecular objects and may or may not be
`required depending on the command given. Examples
`of name syntax are shown in Table 2. The residue
`specification is of the form
`residue = type @#
`or= ID@#
`or = /D1 - IDm@#
`or = ID"ID2, ••• ([Y#
`
`84
`
`Journal of Molecular Graphics
`
`3 of 6
`
`BI Exhibit 1075
`
`
`
`where 'type' is a one or three character abbreviation
`for an amino acid type (for example K or Lys) and
`'ID' is an identifier, usually a residue number, but in
`general an alphanumeric (for example in the PDB format
`it is of the form 'chain# alt' as in B131A). Position
`specifications may be separated by commas to give single
`positions, or by dashes to give a range of positions.
`If post-fixed with @# (for example @3), every third
`residue is referenced.
`Specification of atoms is similar to specifying residues,
`allowing single atoms, ranges of atoms and every nth
`atom to be specified. In the alias, residue and atom
`specification, a question mark(?) can be used to match
`any single character and a star (*) can be used to match
`any number of characters. This wild card capability is
`allowed, as appropriate, in any object name specifi
`cation.
`
`PROGRAM STRUCTURE
`To meet the objectives of ease of use and extensibility
`it was necessary to design an efficient internal structure
`for the program. Several different systems for storing
`and manipulating coordinates have been used11 in pre
`vious systems. The authors chose to store the informa
`tion in a three level network database style11 in memory
`using a forward linked list and queue list head implemen
`tation.
`The information maintained at each level of the three
`levels of the memory based network data base is shown
`in Table 3. The per object information (level one)
`includes the information required to address the object
`in the PS300 and parameters which determine the orien
`tation, position and size of the object on the screen.
`The flag word contains status information for display
`control and the type of the object.
`Each object is assigned a unique alias name by the
`user when initially defined (level 2). This name can subse
`quently be changed or additional unique names defined
`as required by the user.
`The display control list contains information about
`which atoms are displayed, and the colour in which
`they are displayed. Each control list consists of a header
`containing colour, number of atoms and a sequence
`number. The remainder of the list entry is a bitmap
`of the atoms referenced by this list. The bitmap is com
`pact and easy to reference in the c language and vector
`lists for the PS300 can be constructed very quickly based
`on this information.
`
`Level 3
`Residue list
`Atom list
`
`Table 3. Information stored in levels of the hierarchy (per
`object)
`Level 2
`Alias name list
`Label list
`Display control
`Surface points list
`Pointer to level 3
`data
`
`Level 1
`PS300 name
`Flags
`Point to level 2 data
`Centre of mass
`Current rotation*
`
`Current translation*
`Current scale*
`Axis system
`Unit cell parameters
`•valid only when object is not connected to dials
`
`Surface information is held in two lists. A bitmap
`controls which atoms of the surface are displayed. A
`second structure contains pointers to coordinates for
`all surface points which are to be displayed in the same
`colour. Using this representation it is possible to change
`the colour or display status of an atom or its surface
`simply by setting or clearing bits or changing pointers.
`The residue list (at level 3) contains the residue name,
`type, first and last sequence number of atoms in the
`residue and the minimum and maximum x, )' and z
`coordinates of atoms in the residues which are used
`in computing connectivity. The atom list contains the
`atom name, x, y and z cartesian coordinates of the atom,
`a pointer to the residue, flags, sequence number and
`a table of the sequence numbers of the directly-bonded
`atoms.
`
`RESULTS AND DISCUSSION
`
`The objective in creating this software was to make a
`flexible, efficient, extensible program capable of aiding
`in the solution of complex problems in macromolecular
`modelJing. At the same time, it was required to be con
`venient for use by both casual and frequent users.
`Through careful design of the program and data struc
`tures, the program is efficient. It requires a minimum
`of memory on both the VAX and PS300 and grows
`only to the size required to hold the objects defined.
`There are no fixed limits on the size of molecules. (Con
`nections are stored in 16 bits which imposes a limit
`of 65535 atoms per object, but this is easily changed).
`Ease of use is achieved by implementing both a menu
`and command interface to the program. Our experience
`indicates that it takes only a few hours of hands-on
`experience with the program before one can do esssen
`tially anything of which the program is capable. A com
`plete online help facility and extensive user guide are
`also available to aid when problems arise.
`The capabilities of the Insight program are substan
`tial. What makes this program different from other
`existing software is the degree of automation of useful
`functions and the ability to integrate external functions
`and subprocesses into the program. This can be illus
`trated by examining how the program finds atomic
`bonds and builds surfaces.
`The speed with which bonding or connectivity can
`be determined is, in general, of order n2 (where n is
`the number of atoms), since each atom must be com
`pared with all other atoms except itself. For proteins
`or any other known polymer, this can be simplified
`because the internal connectivity of each portion of the
`structure can be encoded in a template. However, even
`after application of the template to protein residues the
`connections of the C and N atoms (and the S in Cys)
`are still unknown. In general one should not assume
`that the user has presented the residues in the proper
`order. Thus the problem for proteins is generally of
`the order (#residuesf These remaining connections
`must be found by examination, for which the program
`must know the maximum length of the bond. This length
`is a function of atom type. The Insight program allows
`the user to define the maximum threshold bonding dis
`tances via the LINK command. There are defaults for
`all of the usual protein atom pairs.
`The Insight program is also designed to handle any
`
`Volume 4 Number 2 June 1986
`
`85
`
`4 of 6
`
`BI Exhibit 1075
`
`
`
`I Clear ·connect complete' Oag for eac:h atom.
`2 For eac:h residue, compare the type and number of atoms
`to eac:b template residue. If a match to the template is found,
`determine the atom correspondence between object and tem
`plate atoms of this residue. If all atoms of the residue have
`a corresponding atom in the template, establish these bonds
`and mark as complete all but the C and N (and S of CYS)
`atoms.
`3 Ir atoms remain afler step 2 which are not marked complete,
`do step 4.
`4 If more than 200 atoms remain to complete, try to use the
`array processor. If fewer than 200 atoms remaining or an AP
`is not available, use VAX Macro code.
`5 APcodc:
`For atoms i= I to n- I compute squared distance to atoms
`j= i + I to n. If the distance squared is less than maximum
`value (square of largest value in LINK table), save index i
`and j and squared distance. On VAX: for each pair of indices
`saved, compare the distance found to proper entry in LINK
`table. Save as bonds those which are within the table distance.
`6 VAX Macro:
`for rei;iclue<: i= I rn n-1 and residuesj=i+ I lo n determine
`if the distance between the residue boundaries is less than
`maximum (uses residues limits stored in residue block). If resi
`dues arc sufficiently close to allow bonding, consider tbe atoms
`of the two residues. For each atom of residue i which is not
`marked complete, determine the squared distance to all incom
`plete atoms of residue j. For any distance which is less than
`the proper entry in LINK table, store the connection between
`these atoms in tbe atom data structure.
`
`Figure 1. Algorithm for computing connectivity for mole
`cules
`
`molecule as well as nonstandard residues in defined
`polymers, and thus cannot depend on prior knowledge
`of the species of macromolecule or its constituent parts.
`Therefore, it automatically employs template or a priori
`methods as required. The algorithm is outlined in Figure
`I. Both the array processor and VAX Macro code are
`n2 algorithms for the atoms whose connectivity cannot
`be established by template matching. The VAX 11/780
`CPU time required to compute connectivity for some
`example compounds is shown in Table 4. Use of this
`hybrid approach allows a general and very fast computa
`tion of connectivity.
`The second example of function integration is genera
`tion and display of the molecular surface. The program
`can display two types of surfaces: a low or high density
`van der Waals surface (two or four dots per square
`A) and a solvent accessible or Connolly surfaceJO.
`The van der Waals surface is generated internally by
`the program from precalculated spheres of appropriate
`radii and density. For each atom whose surface is to
`be displayed, a copy is made of the sphere of proper
`
`Table 4. Computation of connections
`Number atoms
`VAX 11/780 CPU Time (s)
`With
`Compound
`ln object After
`Without
`AP*
`template AP
`
`10
`94
`
`2
`94
`
`<0.01
`0.18
`
`327
`0.40
`92
`748
`13.87
`2972
`1632
`63.50
`6651
`•Array processor is FPS 5105
`
`N/A
`N/A
`
`N/A
`8.06
`31.60
`
`Amino PHE
`Cambridge
`CA RHIM
`PDB lCRN
`PDB 5API
`Phosphorylase
`
`radius and density13• Any point on this model sphere
`which lies inside the sphere of any directly bonded atom
`is discarded. The remaining points are stored in a
`memory-based list for use in generation of the picture.
`The data points arc stored 'atom centred' (origin at zero)
`to facilitate torsional angles changes.
`The solvent accessible surface14 is much more compu
`tationally intensive, requiring several minutes of CPU
`time to surface 200 atoms. For this reason, the genera
`tion of this surface is done as a subprocess of the main
`program. The user indicates the atoms to be surfaced
`and the context within which to surface. The context
`includes both the atoms whose solvent accessible surface
`is to he illustrated as well as any other atoms that poten
`tially contribute surrounding or intersecting surface
`points. Use of a context makes it possible to surface
`an inhibitor bound to an enzyme ignoring the presence
`of the enzyme atoms.
`All atoms to be surfaced and the atoms of the context
`are written and transferred to a disc file. A subprocess
`is created and the commands to run the Connolly pro
`grams are passed to it. When the subprocess is complete,
`it causes an interruption to the owner process. The sur
`face file, containing the coordinates of the surface points,
`is processed and the coordinates stored in lists identical
`to those used for the van der Waals surface. When fully
`processed, the surface is automatically added to the dis
`play. Using this integrated approach the user can obtain
`the surface, van der Waals or solvent accessible, without
`leaving the Insight program.
`
`FUTURE DEVELOPMENT
`Plans for future developments include interfacing the
`Insight program to external energy calculations and
`simulation programs, as well as integrating an energy
`evaluation function for real-time energy display. The
`authors also plan to build in a number of features to
`enhance the model building capability of the program
`including the ability to insert and delete residues.
`To summarize, graphics software for the modelling
`of chemical compounds has been created which is com
`pletely general and whose capabilities can be easily
`expanded. The program has a simple and powerful user
`interface, based on either command or menu input, mak
`ing it possible for both the novice and expert user to
`get the most out of the system. There are no limits
`on the number, or size of the objects displayed, their
`colours or the surfacing. Objects can be associated to
`create new objects which can then be treated as if they
`were single entities. Full advantage is taken of the
`features of both the c language and the VMS operating
`system to make the program efficient in its use of com
`puter and graphics resources. The software is available,
`including the sources, from Biosym Technologies's.
`
`ACKNOWLEDGEMENTS
`The authors thank D Agard for his advice on the features
`and design of this program, and M Peterson for process
`ing the help files and testing the program.
`
`REFERENCES
`1 Langridge, R et aJ. 'Real time color graphics in
`studies of molecular interactions' Science Vol 211
`(1981) pp 661�6
`
`86
`
`Journal of Molecular Graphics
`
`5 of 6
`
`BI Exhibit 1075
`
`
`
`2 Dearing, A 'Computer graphics and related tech
`pp 1118-1124
`
`8 Rollett, J S (eel) Computing methods in crystallo
`
`niques in the study of protein substrate interactions'
`graphy Pergamon, Oxford, UK (1965)
`(600th Meeting of the Biochemical Society, Oxford,
`
`9 Fletterick, R J and Matela, R 'Color coded alpha
`UK) Biochem, Soc. Trans. Vol 10 No 5 (1982)
`
`carbon models of proteins', Biopolymers Vol 21 No
`
`pp307-309
`5 (1982) pp 999-1003
`3 Jones, T A in Sayre, D (ed), Computational
`crystallo
`
`10 Connolly, M L J. Appl. Crysta/log. Vol 16 (1983)
`graphy
`Clarendon Press, UK (1982), pp 307-317
`pp 548-558
`4 Kernighan, B W and Ritchie, D M The C program
`11 MorfTew, A Comp111. Graph. Vol 2 (1984) pp 66--69
`
`Prentice Hall, USA (1978)
`ming language,
`
`12 Date, C J An introduction to data base systems (3rd
`
`5 Bernstein, F C et al. 'The protein data bank: a
`
`edo) Addison-Wesley, Reading, USA (1981)
`computer based archival file for macromolecular
`13 Bash, PA et a.I. Science Vol 222 (1983) pp 1325-1327
`
`structures' J. Mo/. Biol. Vol 112 {1977) pp 535-542
`14 Richards, F M Ann. Rev. Biophys. Bioeng. Vol 6
`6 Cambridge crystallographic database, user manual,
`(1977) pp
`
`Cambridge Crystallographic Data Centre, Cam
`157
`15 Biosym Technologies Jnc., 9605 Scranton Rd, Suite
`
`
`bridge University, UK (1978)
`101, San Diego, CA 92121, USA
`M L J. Am. Chem. Soc. Vol 107 (1985)
`7 Connolly,
`
`Volume 4 Number 2 June 1986
`
`87
`
`6 of 6
`
`BI Exhibit 1075
`
`