190 likes | 200 Views
MBT is a Java toolkit for molecular visualization, providing high-quality interactive 3D rendering and functionality for data loading, efficient data access, and visualization. It supports local and remote data loading, access to raw and derived data, and offers various viewers for structure display.
E N D
Molecular Biology Toolkit (MBT)http://mbt.sdsc.edu A Java toolkit for molecular visualization John Moreland Apostol Gramda PI: Phil Bourne
What is MBT? • Java toolkit for developing custom molecular visualization applications • High-qualityinteractive3D rendering • and more…
MBT Functionality • Provides • Data loading • Local files (PDB, mmCIF, Fasta, etc) • Compressed files (zip, gzip) • Remote (http, ftp, database, etc) • Efficient data access • Raw data (Structure) • Derived data (StructureMap) • Vizualization (plug-in Viewers)
Loading data • Local PDB file Structure structure = StructureFactory.load( new File( “data/1STN.pdb” ) ); • Remote compressed mmCIF URL Structure structure = StructureFactory.load( new URL( “http://mbt.sdsc.edu/data/5ebx.cif.gz” ) ); • PDB ID Code Structure structure = StructureFactory.load( “4hhb” );
Accessing raw data • The Structure Class int atomCount = structure.getStructureComponentCount( SturctureComponentRegistry.TYPE_ATOM ); for ( int i=0; i<atomCount; i++ ) { Atom atom = structure.getStructureComponentByIndex( SturctureComponentRegistry.TYPE_ATOM, i ); System.out.println( atom.coordinate[0] ); }
Accessing derived data • The StructureMap Class • Primary Structure • Atom -> Residue -> Chain -> etc… • Secondary Structure • From source data (conformations) • Computed (eg: Kabsh & Sander) • Bonds
MBT StructureDocument • A StructureDocument contains Structures and provides event propagation to all Viewers • Viewers view StructureDocument content
MBT Viewers • StructureViewer • 3D primary and secondary structure display • Sequence Viewer • Residue display • TreeViewer • Hierarchical display • Others (MultSeq)
StructureViewer • Primary Structure • Balls & Sticks, CPK spheres, Bonds • Secondary Structure • Helix, Turn, Strand, Coil • Backbone traces
3D Geometry Engine • General / Re-usable components • Extrusion class supporting arbitrary cross-sections with “twist” and “scale” along path • Cached/shared sphere geometry • Cached/shared color attributes • Consistent shape interconnections • Path continuity • Smooth shape-to-shape transitions
Optimized for Large Molecules • Loaders optimized for speed and small memory footprint • List and hierarchical data views • Sorts data where possible for O(logN) binary searches • Display styles use “RangeMaps” to coalesce attribute references • Style “interfaces” reduce storage of duplicate scalar values
MBT Demos • Local 4hhb PDB • Remote 10mh Gzip mmCIF • Examples • Filters • StructureMapping • Styles
MBT Status • Now Supports • Derived Secondary Structures • Ligand map & display • Working on • Style and authoring classes • Contributors • Multiple Sequence Alignment viewer (PKR) • Kinase Database Loader (PKR) • Rasmol/Chime Scripting Engine (RIT)
MBT Futures • RNA/DNA chain “cartoons” • Surfaces (computed, imported) • LOTS of GUI classes • XML import/export (Data and Authored Documents)
MBT Team Philip E. Bourne, PhD (UCSD) Project principle investigator Apostol Gramada (UCSD) Postdoc, toolkit co-developer John L. Moreland (SDSC) Project technical lead, toolkit co-developer
MBT Collaborators • Sasha Buzko (UCSD) • GUIs, Authoring, Data Structures • Paul Craig, PhD (RIT) • Biochemistry consulting, Scripting • Douglas S. Greer, PhD (UCSD) • Software design, OpenMMS toolkit • John Tate, PhD (UCSD) • MBT prototype co-designer • And many more!
MBT Fundiing • This project was funded as part of the NIH PPG grant number 1-P01-GM63208 and its NIGMS division.
Questions? For more information, visit: http://mbt.sdsc.edu