the molecular biology toolkit geometry generation capabilities l.
Skip this Video
Loading SlideShow in 5 Seconds..
PowerPoint Presentation
Download Presentation

Loading in 2 Seconds...

play fullscreen
1 / 12

- PowerPoint PPT Presentation

  • Uploaded on

The Molecular Biology Toolkit – Geometry Generation Capabilities Apostol Gramada John Moreland Philip E. Bourne (PI) Supported by: SPAM project: NIH NIGMS 1P01GM63208-01A1 Outline An application developer perspective General Description of the package-Class Hierarchy

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
Download Presentation

PowerPoint Slideshow about '' - benjamin

Download Now An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
the molecular biology toolkit geometry generation capabilities

The Molecular Biology Toolkit – Geometry Generation Capabilities

Apostol Gramada

John Moreland

Philip E. Bourne (PI)

  • Supported by:
  • SPAM project: NIH NIGMS 1P01GM63208-01A1
  • An application developer perspective
    • General Description of the package-Class Hierarchy
    • Instantiating Geometry Objects – Creating 3D molecular scenes
  • Technical and performance-related aspects
class hierarchy
Class Hierarchy
  • Basic manipulation of specific vertex generation methods
  • Container for most geometry data and static convenience methods (Ex: full scene assembling methods at either secondary structure level or ball and ball-and-stick level)
creating geometry
Two-steps process

Create a Geometry Class and set parameters

Generate the Java3D object that can be directly attached to the graphical scene.


need to add/remove/edit fragments rather than chains

specific rendering properties

smooth transition requires setting boundary tangents, normals in advance

coil = new CoilGeometry( )

coil.setCoordinates( double[][] coords )

coil.setColorMap( float[][] colorMap )

coil.setPreviousCaCoord( double[] coord)


branchGroup = coil.generateJ3dGeometry( )

Creating Geometry
  • branchGroup = bond.generateJ3dGeometry()
  • bond = new BondGeometry( double[][] coords )
    • bond.setColor1( float[] color )
    • Bond.setQuality( float quality )
creating geometry cont d
SsGeometry, PsGeometry offer convenience methods for assembling full scenes


a single line of code

automatic smoothing

automatic rendering quality-performance control

SsGeometry.drawSs(group, structureMap, structureStyles, hash)

PsGeometry.drawBonds(group, bonds, structureStyles, quality, mode, hash)

PsGeometry.drawAtoms( group, atoms, structureStyles, quality, hash )

Creating Geometry cont’d
technical perspective basics
Built on the Java3D™ extension API.

The view platform is built in a separate package of the toolkit, the viewer

The Content branch is created by the geometry package

Technical perspectiveBasics
basic geometrical objects
Main elements

Extrusions ribbons and thick bonds

line segments for bonds and backbone traces

spheres for atoms

Basic Geometrical Objects
Most demanding graphical element

100-200 vertices (even for moderate quality) – memory intensive

Shading – hardware intensive

Typically many atoms to render

John wrote a customized sphere class so that geometry is shared for the same type of atoms

Appearance attributes also shared within a given type class

  • Cross section polygon + translation along a path defined by CA
  • Orientation of the cross section conserved with respect to a local reference frame
  • Local reference frame usually tied to the Frenet trihedron
  • Typically, the cross section lies in the plane but not necessary
ribbons technical issues
Ribbons – technical issues
  • High quality representation of ribbons requires geometrically smooth curves (i.e. at least continuous vectors). Problems:
    • Polypeptide chain is naturally rather “discontinuous” (high variability in the C=O & N-H plane orientations)
    • CA coordinates form a rather sparse set along the backbone path => Interpolation needed
    • Definition of local tangent, normal and binormal vectors is ambiguous for a discrete set of points => Make difficult to insure orthogonality and a high degree of geometric continuity
  • Piecewise interpolation

C0 continuityonly

Frenet-frame continuity

Option: use a sofisticated interpolation scheme that insure a high degree of continuity

Computationally demanding

A larger number of parameters -> more difficult to control the shape of the interpolated curve

May not work with a piecewise interpolation approach

Alternative Implemented

Priestle smoothing (CA coordinates, normals)

Hermite Interpolation

Independent interpolation for normal/binormal

Orthogonality is not always strictly inforced

performance challenges
A number of tasks have high natural complexity n2

Covalent bond detection for ball-and-stick rendering

hydrogen bonding for secondary structure assignment (in the Kabsch-Sander algorithm)

Some types of surface representation require calculation of the same order of magnitude, i.e. n2

Very time consuming for big structures.


Implemented an Octree-based algorithm for the determination of the closest neighbors within a given sphere in 3D.

Complexity reduced to

Overhead associated with building the tree is of the same order of magnitude

Typical observed speed-up 10-20 times

Performance challenges