molecular biology toolkit (mbt) a java toolkit for molecular visualization john moreland apostol...

19
Molecular Biology Molecular Biology Toolkit (MBT) Toolkit (MBT) http://mbt.sdsc.edu http://mbt.sdsc.edu A Java toolkit for A Java toolkit for molecular molecular visualization visualization John Moreland John Moreland Apostol Gramda Apostol Gramda PI: Phil Bourne PI: Phil Bourne

Upload: estefany-rumford

Post on 15-Dec-2015

223 views

Category:

Documents


1 download

TRANSCRIPT

Molecular Biology Toolkit Molecular Biology Toolkit (MBT)(MBT)http://mbt.sdsc.eduhttp://mbt.sdsc.edu

A Java toolkit for A Java toolkit for molecular visualizationmolecular visualization

John MorelandJohn MorelandApostol GramdaApostol GramdaPI: Phil BournePI: Phil Bourne

SAN DIEGO SUPERCOMPUTER CENTER

University of California, San Diego SDSCSDSC

What is MBT?What is MBT?

• Java toolkit for developing custom Java toolkit for developing custom molecular visualization applicationsmolecular visualization applications

• High-qualityHigh-qualityinteractiveinteractive3D rendering3D rendering

• and more…and more…

SAN DIEGO SUPERCOMPUTER CENTER

University of California, San Diego SDSCSDSC

MBT FunctionalityMBT Functionality

• ProvidesProvides– Data loadingData loading

• Local files (PDB, mmCIF, Fasta, etc)Local files (PDB, mmCIF, Fasta, etc)• Compressed files (zip, gzip)Compressed files (zip, gzip)• Remote (http, ftp, database, etc)Remote (http, ftp, database, etc)

– Efficient data accessEfficient data access• Raw data (Structure)Raw data (Structure)• Derived data (StructureMap)Derived data (StructureMap)

– Vizualization (plug-in Viewers)Vizualization (plug-in Viewers)

SAN DIEGO SUPERCOMPUTER CENTER

University of California, San Diego SDSCSDSC

MBT ArchitectureMBT Architecture

SAN DIEGO SUPERCOMPUTER CENTER

University of California, San Diego SDSCSDSC

Loading dataLoading data

• Local PDB fileLocal PDB fileStructure structure = StructureFactory.load(Structure structure = StructureFactory.load(

new File( “data/1STN.pdb” ) );new File( “data/1STN.pdb” ) );

• Remote compressed mmCIF URLRemote compressed mmCIF URLStructure structure = StructureFactory.load(Structure structure = StructureFactory.load(

new URL( “http://mbt.sdsc.edu/data/5ebx.cif.gz” new URL( “http://mbt.sdsc.edu/data/5ebx.cif.gz” ) );) );

• PDB ID CodePDB ID CodeStructure structure = StructureFactory.load( “4hhb” );Structure structure = StructureFactory.load( “4hhb” );

SAN DIEGO SUPERCOMPUTER CENTER

University of California, San Diego SDSCSDSC

Accessing raw dataAccessing raw data

• The Structure ClassThe Structure Classint atomCount = structure.getStructureComponentCount(int atomCount = structure.getStructureComponentCount(

SturctureComponentRegistry.TYPE_ATOM );SturctureComponentRegistry.TYPE_ATOM );

for ( int i=0; i<atomCount; i++ )for ( int i=0; i<atomCount; i++ )

{{

Atom atom = structure.getStructureComponentByIndex(Atom atom = structure.getStructureComponentByIndex(

SturctureComponentRegistry.TYPE_ATOM, SturctureComponentRegistry.TYPE_ATOM, i );i );

System.out.println( atom.coordinate[0] );System.out.println( atom.coordinate[0] );

}}

SAN DIEGO SUPERCOMPUTER CENTER

University of California, San Diego SDSCSDSC

Accessing derived dataAccessing derived data

• The StructureMap ClassThe StructureMap Class– Primary StructurePrimary Structure

• Atom -> Residue -> Chain -> etc…Atom -> Residue -> Chain -> etc…

– Secondary StructureSecondary Structure• From source data (conformations)From source data (conformations)• Computed (eg: Kabsh & Sander)Computed (eg: Kabsh & Sander)

– BondsBonds

SAN DIEGO SUPERCOMPUTER CENTER

University of California, San Diego SDSCSDSC

MBT StructureDocumentMBT StructureDocument

• A StructureDocument contains A StructureDocument contains Structures and provides event Structures and provides event propagation to all Viewerspropagation to all Viewers

• Viewers view Viewers view StructureDocument contentStructureDocument content

SAN DIEGO SUPERCOMPUTER CENTER

University of California, San Diego SDSCSDSC

MBT ViewersMBT Viewers

• StructureViewerStructureViewer– 3D primary and secondary structure 3D primary and secondary structure

displaydisplay• Sequence ViewerSequence Viewer

– Residue displayResidue display• TreeViewerTreeViewer

– Hierarchical displayHierarchical display• Others (MultSeq)Others (MultSeq)

SAN DIEGO SUPERCOMPUTER CENTER

University of California, San Diego SDSCSDSC

StructureViewerStructureViewer

• Primary StructurePrimary Structure– Balls & Sticks, CPK spheres, BondsBalls & Sticks, CPK spheres, Bonds

• Secondary StructureSecondary Structure– Helix, Turn, Strand, CoilHelix, Turn, Strand, Coil

• Backbone tracesBackbone traces

SAN DIEGO SUPERCOMPUTER CENTER

University of California, San Diego SDSCSDSC

3D Geometry Engine3D Geometry Engine

• General / Re-usable componentsGeneral / Re-usable components– Extrusion class supporting arbitrary cross-Extrusion class supporting arbitrary cross-

sections with “twist” and “scale” along pathsections with “twist” and “scale” along path– Cached/shared sphere geometryCached/shared sphere geometry– Cached/shared color attributesCached/shared color attributes

• Consistent shape interconnectionsConsistent shape interconnections– Path continuityPath continuity– Smooth shape-to-shape transitionsSmooth shape-to-shape transitions

SAN DIEGO SUPERCOMPUTER CENTER

University of California, San Diego SDSCSDSC

Optimized for Large Optimized for Large MoleculesMolecules

• Loaders optimized for speed and small Loaders optimized for speed and small memory footprintmemory footprint

• List and hierarchical data viewsList and hierarchical data views• Sorts data where possible for O(logN) Sorts data where possible for O(logN)

binary searchesbinary searches• Display styles use “RangeMaps” to Display styles use “RangeMaps” to

coalesce attribute referencescoalesce attribute references• Style “interfaces” reduce storage of Style “interfaces” reduce storage of

duplicate scalar valuesduplicate scalar values

SAN DIEGO SUPERCOMPUTER CENTER

University of California, San Diego SDSCSDSC

MBT DemosMBT Demos

• Local 4hhb PDBLocal 4hhb PDB• Remote 10mh Gzip mmCIFRemote 10mh Gzip mmCIF• ExamplesExamples

– FiltersFilters– StructureMappingStructureMapping– StylesStyles

SAN DIEGO SUPERCOMPUTER CENTER

University of California, San Diego SDSCSDSC

MBT StatusMBT Status

• Now SupportsNow Supports– Derived Secondary StructuresDerived Secondary Structures– Ligand map & displayLigand map & display

• Working onWorking on– Style and authoring classesStyle and authoring classes

• ContributorsContributors– Multiple Sequence Alignment viewer (PKR)Multiple Sequence Alignment viewer (PKR)– Kinase Database Loader (PKR)Kinase Database Loader (PKR)– Rasmol/Chime Scripting Engine (RIT)Rasmol/Chime Scripting Engine (RIT)

SAN DIEGO SUPERCOMPUTER CENTER

University of California, San Diego SDSCSDSC

MBT FuturesMBT Futures

• RNA/DNA chain “cartoons”RNA/DNA chain “cartoons”• Surfaces (computed, imported)Surfaces (computed, imported)• LOTS of GUI classesLOTS of GUI classes• XML import/export (Data and XML import/export (Data and

Authored Documents)Authored Documents)

SAN DIEGO SUPERCOMPUTER CENTER

University of California, San Diego SDSCSDSC

MBT TeamMBT Team

Philip E. Bourne, PhD (UCSD)Philip E. Bourne, PhD (UCSD)Project principle investigatorProject principle investigator

Apostol Gramada (UCSD)Apostol Gramada (UCSD)Postdoc, toolkit co-developerPostdoc, toolkit co-developer

John L. Moreland (SDSC)John L. Moreland (SDSC)Project technical lead, toolkit co-Project technical lead, toolkit co-

developerdeveloper

SAN DIEGO SUPERCOMPUTER CENTER

University of California, San Diego SDSCSDSC

MBT CollaboratorsMBT Collaborators

• Sasha Buzko (UCSD)Sasha Buzko (UCSD)– GUIs, Authoring, Data Structures GUIs, Authoring, Data Structures

• Paul Craig, PhD (RIT)Paul Craig, PhD (RIT)– Biochemistry consulting, ScriptingBiochemistry consulting, Scripting

• Douglas S. Greer, PhD (UCSD)Douglas S. Greer, PhD (UCSD)– Software design, OpenMMS toolkitSoftware design, OpenMMS toolkit

• John Tate, PhD (UCSD)John Tate, PhD (UCSD)– MBT prototype co-designerMBT prototype co-designer

• And many more!And many more!

SAN DIEGO SUPERCOMPUTER CENTER

University of California, San Diego SDSCSDSC

MBT FundiingMBT Fundiing

• This project was funded as part of This project was funded as part of the NIH PPG grant number 1-P01-the NIH PPG grant number 1-P01-GM63208 and its NIGMS division.GM63208 and its NIGMS division.

SAN DIEGO SUPERCOMPUTER CENTER

University of California, San Diego SDSCSDSC

Questions?Questions?

For more information, visit:For more information, visit:

http://http://mbtmbt..sdscsdsc..eduedu