190 likes | 339 Views
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-quality interactive 3D rendering and more….
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