1 / 12

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. Outline. An application developer perspective General Description of the package-Class Hierarchy

thuy
Download Presentation

The Molecular Biology Toolkit – Geometry Generation Capabilities

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. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. The Molecular Biology Toolkit – Geometry Generation Capabilities Apostol Gramada John Moreland Philip E. Bourne (PI) • Supported by: • SPAM project: NIH NIGMS 1P01GM63208-01A1

  2. Outline • An application developer perspective • General Description of the package-Class Hierarchy • Instantiating Geometry Objects – Creating 3D molecular scenes • Technical and performance-related aspects

  3. 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)

  4. Two-steps process Create a Geometry Class and set parameters Generate the Java3D object that can be directly attached to the graphical scene. Motivation 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) etc branchGroup = coil.generateJ3dGeometry( ) Creating Geometry • branchGroup = bond.generateJ3dGeometry() • bond = new BondGeometry( double[][] coords ) • bond.setColor1( float[] color ) • Bond.setQuality( float quality )

  5. SsGeometry, PsGeometry offer convenience methods for assembling full scenes Advantages: 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

  6. 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

  7. Main elements Extrusions ribbons and thick bonds line segments for bonds and backbone traces spheres for atoms Basic Geometrical Objects

  8. 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 Spheres

  9. Ribbons • 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

  10. 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

  11. 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 Solution

  12. 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. Solution: 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

More Related