Biological Modeling
Some of my research centers around building interesting models of biological computation.
The models I am building use a lot of ideas from BioPhysics which most of my students and colleagues are not familiar with; so I have been working on developing an educational primer that can help interested people learn about my work. This is something that is still evolving, not yet very good, but the tutorial so far can be found by
clicking
here.
This version is dated 4/30/2002.
If you wish to download the pdf file on BioPhysics
please
click here.
Also, there are a lot of tools that are useful. I have been documenting some of them in a collection I call
BioTools
which you can access
by clicking
here.
Here I talk about ODE modeling with MatLab, basic graphical programming with X windows as that is the tool I use in both my C++ based simulations and my CORBA work and a primer on the mathematics behind artificial neural networks and how to use the Neural Network toolbox in Matlab. This version is dated 5/7/2002.
I am building models of biological information processing using several computational tools: C++ computational engines, Matlab and genesis scripts for interactive computation. In addition, the C++ object oriented tools require a graphical front end which is written in standard X Window GUI tools. The simulation I am using to debug and prototype models of biological information processing uses a basic X Windows environment which I try to explain in the following notes.
I also explain how to use Matlab as a tool; specifically Matlab based ODE engines. This is also a set of notes that is still evolving, not yet very good, but the tutorial so far can be found by
clicking
here.
This version is dated 4/30/2002.
A fairly complete model of the computation in a single excitable nerve cell that uses soma or cell body with Sodium, Potassium and Calcium gates and includes a simple Calcium diffusion model with binding to buffers has currently been implemented. This will be a building block for additional models that incorporate dendrite models for use in neural ensemble computations.
If you wish to browse the html tutorial on a cell model with standard Hodgkin - Huxley Sodium and Potassium gates only
please
click here.
This tutorial tries to describe in detail all of the pieces necessary to understand how to build such a model and includes both C++m and Matlab implementations as well as numerous graphs. This version is dated April 30, 2002.
If you wish to browse the html tutorial on a more advanced membrane model using three types of potassium gates
please
click here.
This version is dated April 30, 2002.
If you wish to browse the html tutorial on the full model with Calcium diffusion
please
click here.
This version is dated April 30, 2002
Also, for some tutorial information on the basic uses of MatLab as a computational tool
MatLab for Numerical Analysis
please click
here.
This version is dated April 30, 2002.
The first step towards realizing this is to develop a general software architecture for linking together arbitrary computational modules. I have chosen to use typeless graphs for this purpose. The html documentation is now in five parts: tutorial information on writing C and Fortran programs (Volume -1); tutorial information on writing X Window/ Motif applications (Volume 0), how to write classes in C++ and dynamic binding (Volume 1), how to write other classes for abstract data types such as lists (Volume 2), full descriptions of the typeless graph classes (Volume 3) and finally, the use of typeless graphs in constructing dynamic programming objects (Volume 4).
If you wish to browse the html tutorial on C/ Fortran programming
please
click here.
This version is fairly old and dates from 1997.
If you wish to browse the html tutorial on X Windows/ Motif programming
please
click here.
This version is dated 4/13/99.
If you wish to browse the html tutorial on class design and dynamic binding
please
click here.
This version is dated 4/22/99 and includes some new material on designing matrix applications like simple linear equation solvers using row reduction.
If you wish to browse the html tutorial on the class design of other abstract data types such as lists, polynomials using lists and applications such as the Fast Fourier Transform,
please
click here.
This version is dated 4/22/99. This version is now closer to completion. I have added exercises for most of the chapters (although they are still very sketchy) and completely redone the documentation on the complex class, the complex polynomials and the Fast Fourier Transform code.
If you wish to browse the html document on the design and building of graph classes and the extension of the class to typeless data (void *)
please
click here.
This version also includes new material on typeless list objects occuring as an early chapter. Eventually, there will be full coverage of the typeless list classes which will force a rewrite of how some of the typeless graph material is covered.
I have completely rewritten both the code and the documentation of the graph class for the class methods removeNode() and removeEdge(). These functions use the PtrEdgeBagManip and PtrNodeBagManip classes and some of the class methods in these classes were implemented incorrectly. They have now been rewritten, debugged and run-time examples of their use are included. This version is dated 5/16/99.
If you wish to browse the html document on the design and building of the dynamic programming objects using the typeless graph classes
please
click here.
This version is dated 3/3/99.
The tutorial documents on CORBA programming are currently pretty raw, but they are getting better.
If you wish to browse the html document we have written on CORBA programming using the C Orb in ILU from Xerox Parc (currently not under active development)
please
click here.
In this tutorial, we have built a X Window based version of the standard Calculator tutorial.
If you wish to browse the html document we have written on CORBA programming using ORBit, the CORBA C language orb underneath the gnome window manager
please
click here.
If you wish to browse the html document we have written on CORBA programming using Orbacus, a nice CORBA C++ orb
please
click here.
If you wish to browse the first html document we have written on our ideas on how to implement plastic software objects that are based on ideas from biological information processing
please
click here.
Now in this document, we pushed the object oriented programming environment of C++ as far as it would go. We learned a great deal from this exercise and we are using our experiences in our new work with CORBA. The new CORBA ideas are quite raw still, but eventually, they will be accessible on the web also.
The typeless graph architecture tool will be used to develop agents with emotional attributes. This is ongoing work.
The typeless graph architectures coupled with instantiated agents will then be coupled to 3D sprites in a 3D virtual world. This is ongoing work.
Author:
Dr. Peterson
,
Mathematical Sciences
,
Clemson University
Last Updated:
April 30, 2002
petersj@clemson.edu