the molecular biology toolkit – geometry generation capabilities

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

Upload: thuy

Post on 25-Feb-2016

34 views

Category:

Documents


1 download

DESCRIPTION

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 - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: The Molecular Biology Toolkit – Geometry Generation Capabilities

04/22/23

The Molecular Biology Toolkit – Geometry Generation

Capabilities

Apostol GramadaJohn MorelandPhilip E. Bourne (PI)

Supported by:• SPAM project: NIH NIGMS 1P01GM63208-01A1

Page 2: The Molecular Biology Toolkit – Geometry Generation Capabilities

04/22/23 SDSCSDSC

Outline

An application developer perspective General Description of the package-Class

Hierarchy Instantiating Geometry Objects – Creating 3D

molecular scenes Technical and performance-related

aspects

Page 3: The Molecular Biology Toolkit – Geometry Generation Capabilities

04/22/23 SDSCSDSC

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)

C oilG eom etry S tran d G eom etry H e lixG eom etry

S s G eom etry

A tom G eom etry B on d G eom etry

P sG eom etry

G eom etryE n tity

Page 4: The Molecular Biology Toolkit – Geometry Generation Capabilities

04/22/23 SDSCSDSC

Creating Geometry 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• 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( )

branchGroup = bond.generateJ3dGeometry() bond = new BondGeometry( double[][] coords )

bond.setColor1( float[] color )Bond.setQuality( float quality )

Page 5: The Molecular Biology Toolkit – Geometry Generation Capabilities

04/22/23 SDSCSDSC

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 )

Page 6: The Molecular Biology Toolkit – Geometry Generation Capabilities

04/22/23 SDSCSDSC

Technical perspectiveBasics 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

Page 7: The Molecular Biology Toolkit – Geometry Generation Capabilities

04/22/23 SDSCSDSC

Basic Geometrical Objects

Main elements Extrusions ribbons

and thick bonds line segments for

bonds and backbone traces

spheres for atoms

Page 8: The Molecular Biology Toolkit – Geometry Generation Capabilities

04/22/23 SDSCSDSC

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

Page 9: The Molecular Biology Toolkit – Geometry Generation Capabilities

04/22/23 SDSCSDSC

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

)ˆ,ˆ,̂( bnt

)ˆ,ˆ( bn

Page 10: The Molecular Biology Toolkit – Geometry Generation Capabilities

04/22/23 SDSCSDSC

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

bnt ˆ,ˆ,̂

C0 continuity only

Frenet-frame continuity

Page 11: The Molecular Biology Toolkit – Geometry Generation Capabilities

04/22/23 SDSCSDSC

Solution 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

Page 12: The Molecular Biology Toolkit – Geometry Generation Capabilities

04/22/23 SDSCSDSC

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.

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

nn log