Presentation is loading. Please wait.

Presentation is loading. Please wait.

6/2/2015 The Molecular Biology Toolkit – Geometry Generation Capabilities Apostol Gramada John Moreland PI: Phil Bourne Supported by: SPAM project: NIH.

Similar presentations


Presentation on theme: "6/2/2015 The Molecular Biology Toolkit – Geometry Generation Capabilities Apostol Gramada John Moreland PI: Phil Bourne Supported by: SPAM project: NIH."— Presentation transcript:

1 6/2/2015 The Molecular Biology Toolkit – Geometry Generation Capabilities Apostol Gramada John Moreland PI: Phil Bourne Supported by: SPAM project: NIH NIGMS 1P01GM63208-01A1

2 SDSC 6/2/2015 Outline An application developer perspective General Description of the package-Class Hierarchy Instantiating Geometry Objects – Creating 3D molecular scenes Technical and performance aspects

3 SDSC 6/2/2015 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 SDSC 6/2/2015 Creating Geometry At Secondary Structure fragment level Two-steps process 1. Create a Geometry Class and set parameters 2. Generate the Java3D object that can be directly attached to the graphical scene. Motivation need to add/remove/edit fragments rather than chains smooth transition requires setting boundary tangents, normals in advance specific rendering properties coil = new CoilGeometry( ) coil.setCoordinates( double[][] coords ) coil.setColorMap( float[][] colorMap ) coil.setPreviousCaCoord( double[] coord) etc branchGroup = coil.generateJ3dGeometry( ) branchGroup = bond.generateJ3dGeometry() bond = new BondGeometry( double[][] coords ) bond.setColor1( float[] color ) Bond.setQuality( float quality )

5 SDSC 6/2/2015 Creating Geometry cont’d 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 )

6 SDSC 6/2/2015 Technical perspective Basics Built on the Java3D™ extension API. The view platform is built in a separate package of the toolkit, the viewer Content branch is created by the geometry package

7 SDSC 6/2/2015 Basic Geometrical Objects Main elements spheres for atoms extrusions for ribbons and thick bonds line segments for bonds and backbone traces

8 SDSC 6/2/2015 Spheres 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

9 SDSC 6/2/2015 Ribbons Only CA coordinates are used Ribbon = 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 SDSC 6/2/2015 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 C 0 continuity only Frenet-frame continuity

11 SDSC 6/2/2015 Solution Option: use a sophisticated 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 enforced

12 SDSC 6/2/2015 Performance challenges A number of tasks have high natural complexity n 2 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. n 2 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


Download ppt "6/2/2015 The Molecular Biology Toolkit – Geometry Generation Capabilities Apostol Gramada John Moreland PI: Phil Bourne Supported by: SPAM project: NIH."

Similar presentations


Ads by Google