JavaLab.chem.virginia.edu Charles M. Grisham University of Virginia Interactive Biochemistry Guidelines for Good Software • Software should do what books cannot • Should focus on teaching/learning problem areas • Should be easy to use – essentially transparent to the user • Should be “available anytime/anywhere” Interactive Biochemistry What software should be…. “We look at it and do not see it.” Lao-tzu, 6th century B.C. Interactive Biochemistry Another version…. “It takes a lot of money to make me look this cheap.” Dolly Parton, 20th century A.D. Interactive Biochemistry Our Projects • • • • • Java-XML learning tools 3D Virtual Laboratory Wireless networks Hand-held devices – PDAs and cell phones small Java Virtual Machines (VMs) are here Interactive Biochemistry Java – Portable Code • • • • Java is cross-platform and object-oriented Applications or Applets (latter in browser) Compiler produces “bytecode” A platform-dependent interpreter interprets the platform-independent bytecode • Java can bring dynamic behavior and interactivity to the Web environment Interactive Biochemistry Java in Interactive Biochemistry • Applets can be designed for specific tasks • Applets are small and load quickly • Examples – – – – – – Amino acids Enzyme kinetics and mechanisms Sugar, nucleotide structures Helical wheel Coenzymes Metabolic Map Database Interactive Biochemistry Enzyme Mechanism Tutorials • • • • • • Effective teaching/learning devices 27 tutorials in Interactive Biochemistry But each one is a separate Java applet Hundreds remain to be done Programming costs would be prohibitive This is a job for XML Interactive Biochemistry XML – Portable Data • • • • • • • XML = Extensible Markup Language XML is HTML on steroids XML can describe any collection of data “Tags” identify different kinds of data <Animal>Dinosaur</Animal> <Name>Barney</Name> <Color>Purple</Color> Interactive Biochemistry Better Organized XML <Animal> <Name>Barney</Name> <Color>Purple</Color></Animal> • Tagging organizes data • Tagged data can be parsed (read) and utilized by a program Interactive Biochemistry An XML-Based Mechanism Tool • Two parts: – A Mechanism Design Tool (written in Java) – A Mechanism Player (written in Java) • The design tool is menu-driven and can be used (without knowledge of Java or XML) to create mechanism tutorials • The mechanism player reads the XML file and runs the tutorial for the student Interactive Biochemistry XML is the Data Interface Design Tool XML file Mechanism Player Interactive Biochemistry Tutorial Exercise A Mechanism Step from the XML File Interactive Biochemistry More Information • Check this site for a project description: • http://javalab.chem.virginia.edu/Java-XML/ Interactive Biochemistry The 3D Virtual Laboratory • Uses Java 3D to create real 3D environment • Provides controls (not shown) to manipulate all objects in the environment • Permits the user to do anything they choose in the laboratory • Keeps track of all materials, solutions made, instruments used, and data collected • Allows the user to design and execute any experiment Interactive Biochemistry Interactive Biochemistry Amino Acid Titrations • 3D scene created with Java3D • Apparatus created in 3DS Max and added to scene with a VRML loader • Swing interface • Chemistry handled by Thiago Ize’s classes • All the parts work and integration is nearly complete Interactive Biochemistry lab3D titration 14 12 Thiago’s simulation: 10 pH 8 6 4 2 0 0 5 10 15 20 25 30 35 40 45 Volume real titration Real data from Georgetown University: 14 12 pH 10 8 6 4 2 0 0 10 Interactive Biochemistry 20 30 Volume 40 50 The Isotrak II 6-DOF Digitizing and Tracking Device Interactive Biochemistry 6-DOF Tracking • • • • The Isotrak works in Hyperterminal Java classes for data collection are available (See http://www.cyber.koganei.tokyo.jp/vr/) Need only to debug and implement the Isotrak device in our 3D scenes • Isotrak sensor could be used on any laboratory apparatus Interactive Biochemistry More Information • Check this site for a project description: • http://javalab.chem.virginia.edu/ Interactive Biochemistry Java on PDAs and Cell Phones • Uses the Java Wireless Toolkit, based on the Mobile Information Device Protocol • aka MIDP • http://java.sun.com/products/j2mewtoolkit/i ndex.html • You create Midlets and use a Converter utility to convert midlets to .prc files Interactive Biochemistry Java Midlets are converted to .prc files and downloaded to a PDA: Interactive Biochemistry There is an event model to handle user input, as well as internet and database classes for PDAs and cell phones. Interactive Biochemistry Nonlinear Least Squares Data Fitting • Marquardt matrix algorithm combining a grid search with a gradient search • Can be rapidly adapted to any equation with any number of parameters • Runs fast • Uses Java 2D for plotting Interactive Biochemistry Data with initial estimates for Km and Vmax Interactive Biochemistry 1 pass through fitting routine Interactive Biochemistry 5 passes through fitting routine Interactive Biochemistry “No more good must be attempted than the people can bear.” Thomas Jefferson Interactive Biochemistry