throbber
Interactive program for
`
`
`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
`
`

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket