290 likes | 468 Views
JavaLab.chem.virginia.edu. Charles M. Grisham University of Virginia. 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”.
E N D
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 Tutorial Exercise Mechanism Player Interactive Biochemistry
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
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
Thiago’s simulation: Real data from Georgetown University: Interactive Biochemistry
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/index.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