160 likes | 164 Views
Alternative Representations for Biological Complexes: Decreasing Complexity while Increasing Knowledge. John L. Moreland moreland@sdsc.edu. 1GRL. Challenges. Biologists want to analyze and visualize larger structures but still drill down to the atomic level
E N D
Alternative Representations for Biological Complexes:Decreasing Complexity while Increasing Knowledge John L. Morelandmoreland@sdsc.edu 1GRL
Challenges • Biologists want to analyze and visualize larger structures but still drill down to the atomic level • Need hierarchical and spatial data models • Size of data may preclude reading complete atomic-level data into memory at once • Need seekable file formats and spacially indexed DBs • Complexity of structure may preclude rendering all at the atomic level even with fast GPUs • Need LOD control (both automatic and authored) • Need alternative and new visual representations
Structure Complexity Roadmap (or, Train Wreck?) Non-seekable file formats, non-hierarchical data structures, and brute force rendering may not work any more… Structure Atoms Atom 1x10e0 Residue/ChemComp 1x10e1 S.Structure Fragment 1x10e2 Chain 1x10e3 Asymetric Unit 1x10e4 Biological Unit 1x10e5 <-- You are here... Macromolecular Complex 1x10e6 <-- How do we go bigger? Organelle 1x10e9 <-- Eek! Cell 1x10e11 Tissue 1x10e17 Organ 1x10e23 Organism (Human) 1x10e27 <-- Can we get here? 1HTQ mmCIF: 105MB 1 million atoms
Complexity Problems • Data • 1HTQ.cif • 1M atoms, 105MB • "Complexes" 10-100x • 10-100M atoms, 1-10GB RAM+ (won't fit in PC RAM) • Graphics • 200 polys/atom, 60 polys/bond • NVidia FX3400, 25M polys/sec, but at 30fps we can only render 1M polygon scenes • 2.6M-26M polygons (can't render)
Controlling Rendering Complexity • Complexity =~ (A+B)*R*G • A = number of Atoms • B = Number of Bonds • R = Representation Constant • G = Graphics Rendering Cost • Assume maximum detail is fixed by A and B • Have to pick SOME representation that costs R (may be a fraction) • Can control G by varying rendering detail and style
RepresentationIssues • Data Representations • File Formats • PDB and mmCIF are not seekable (hard to find/read subsets) • Consider seekable, hierarchical, and perhaps binary file formats • Consider pre-indexing for common access patterns (for example, C-alpha atoms, hierarchical subsets) • Consider toolkit specific seekable disk caches (don't have to toss existing formats) • Databases • Consider spacial indexing and queries • Visual Representations • Need new representations beyond backbones, ribbons, and even Connolly type surfaces which reduce rendering complexity but more than an envelope
Traditional Visual Representations • Atoms, Bonds, Residues • Ball-and-Stick • CPK Spheres • Chains, Secondary Structures, Asymetric Units • Backbone Traces • Ribbon / Cartoon Diagrams • Biologically Active Structures and Beyond • Already getting too big for these representations
Bake-Off StructuresMBT Renderings 1FFK 1IBM 1GRL 1UF2
Bake-Off StructuresObservations • Visual Representations • Chains = S.Structure Cartoons • DNA, Ligands = Ball-And-Stick • Can see silhouette and clefts, but… • Too cluttered • Atomic representation useless • Inefficient to render unseen detail • Does it reveal anything useful?
What Detail is Needed? • Need input from domain scientists • What data attributes and biological concepts need to be represented? • Active Sites, Protein-Ligand Binding • Crystallographic Symmetry • Biological Complex Features? • Need meaningful visual representations for even larger biomolecular complexes! • We can also cheat on representation detail at rendering time…
LOD HierarchyNew Representations… • As new visual representations of biomolecular complexes are developed, think about simplified variations for rendering
Intelligent use of Detail For some special cases, we can apply detail where its needed
Summary • Data Representations • Need seekable hierarchical file formats and spacially queryable DBs • Need hierarchical and spatial data models • Visual Representations • Need new visual representations which reveal useful information about large structural features • Need LOD control • Automatic view-based rendering simplification • Hierarchical bounding polytopes? • Progressive refinement techniques?