Interactive Software for Biochemistry Using Java, Chime, and Virtual

Download Report

Transcript Interactive Software for Biochemistry Using Java, Chime, and Virtual

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