View
223
Download
1
Category
Tags:
Preview:
Citation preview
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.
Recommended