Overview:Smoldyn is a spatial stochastic simulator for investigating chemical and biochemical reaction networks in complex geometries. It uses a Brownian dynamics algorithm for reaction-diffusion systems at the Smoluchowski level of approximation.
See the main Smoldyn web page here.
Overview: HillSim analyzes
and optimizes models of biological signaling networks. These
networks are comprised of nodes and arrows, where nodes typically
represent signaling proteins, and arrows typically represent causal
influences whereby one protein can activate or inactivate another
protein. While HillSim can simulate the dynamics of a model
signaling network, it is best for analyzing network steady-state
properties. It calculates steady-state dose-response behaviors
for network nodes, fits them to Hill functions, and compares these fits
to "target" dose-response behaviors that the user inputs. HillSim
can also optimize the signaling model parameters so that the model
dose-responses will match the target dose-responses as closely as
possible.
Platform: Mac, Windows, or
Linux.
Current version: 1.0
Download: A downloadable
HillSim package with the source code, documentation, makefiles, example
files, and binaries is available as a .tgz format for Mac and Linux
users, HillSim.tgz, or as a .zip
format for Windows users, HillSim.zip.
History:
1.0 (11/17/08) - First public release.
Overview: SpectFit is an interactive non-linear data fitting program. It is reasonably easy to use and is powerful enough for a wide variety of routine curve fitting. Strong features are Fourier data analysis, highly versatile fitting methods, and complete documentation.
Platform: Macintosh OS X. SpectFit uses Macintosh toolbox routines.
Current version: 2.0
Documentation: The manual includes instructions on how to use SpectFit, a complete list of functions, and documentation for the source code in the main file. It is available as a pdf or a Word document.
Download: The file is stored as a self-extracting archive. Downloading will put a file called SpectFit.sea.hqx on your disk. Double clicking that produces a file called SpectFit.sea, which can be killed, and a folder called SpectFit. The executable program, a sample data file called "sample1", and a sample fit to the data called "samplefit", are in the folder. Download.
Source code: The main program for SpectFit is in SpectFit.h and SpectFit.c. These call the following library files: BasisFn.c, BasisFns.c, Cn.c, DiskIO.c, errors.c, math2.c, PlotX.c, random.c, Rn.c, RnLU.c, RnSort.c, Set.c, Spectra.c, string2.c, Utility.c, VoidComp.c, and their header files. These files are available below. All code is in ANSII C, plus some calls to Macintosh toolbox routines.
History: Major work in April, 2002.
10/2002: fixed incorrect error estimates for fitting parameters.
Known bugs: None.
Overview: Rebinding was written solely for the serial ligation research that was published in Physical Biology. All of the parameters of the program are in the code rather than entered by a user, and the output is just text. Thus, I expect that this program will only be useful for people who want to check or follow up on this component of my research.
Platform: All, because only the original source code is provided here (the compiled version would be useless since all the parameters are in the code).
Documentation: The code contains a reasonable number of comments that should make it decipherable.
Source code: The code is in Rebind.c. This calls the library files: math2.c, random.c, and their header files, which are available below. All code is in ANSII C.
History: The first version was written in 2002; it was completely rewritten in 2003 and modified substantially in 2004.
Known bugs: None.
Overview: Helices
was written for research on the shapes of bacterial cytoskeletal
polymers, including MinD, MreB, and FtsZ. This work has been
submitted to the Biophysical Journal
for publication.
Avaiable here is the complete source code that was used for the
research in case others want to check or
follow up on this component of my research. This code is
reasonably well written, but still not particularly friendly to work
with.
Platform: All, because only the original source code is provided here (the compiled version would be useless since all the parameters are in the code).
Documentation: The code contains some
comments. Also, all library files have documentation that is
included in the package.
Source code: The code is provided with a self-extracting archive HelicesSource.sitx. All code is in ANSII C.
History: Most of this code was written in 2004 to 2006, with a few slight changes in 2007.
Known bugs: Some functions in RandomWalk.c may have some bugs. Otherwise I think it's pretty good.
Below is a list of software libraries that I have written, entirely in C. They are available for others to use and modify, provided that their use is acknowledged. Significant fractions of a few routines were copied nearly verbatim from Numerical Recipes in C, which is noted where appropriate. No warrenty is made regarding the performance, suitability, or accuracy of any portion of code or documentation. I believe that this code is essentially free of bugs, but some of these packages are much less complete than would be desired.
Cn (9/2011) - Vector arithmetic with complex numbers.
Cn.c
Cn.h
Cn_doc.pdf
Cn_doc.doc
Constants (9/2011) - Header with some fundamental constants.
Constants.h
Constants_doc.pdf
Constants_doc.doc
DiskIO (10/2011) - Disk input and output for text files.
DiskIO.c
DiskIO.h
DiskIO_doc.pdf
DiskIO_doc.doc
dynsys2 (4/2014) - Dynamical systems simulation and ODE integrator.
dynsys.c
dynsys.h
dynsys_doc.pdf
dynsys_doc.doc
Geometry (7/2019) - 2-D and 3-D geometry mathematics.
Geometry.c
Geometry.h
Geometry_doc.pdf
Geometry_doc.doc
gnuPipe (9/2018) - Piped output to gnuPlot for simple graphics.
gnuPipe.c
gnuPipe.h
gnuPipe_doc.pdf
gnuPipe_doc.doc
Ising (9/2011) - Simulation of various Ising type lattices.
Ising.c
Ising.h
Ising_doc.pdf
Ising_doc.doc
math2 (3/2019) - Special functions, integer functions, and more.
math2.c
math2.h
math2_doc.pdf
math2_doc.doc
minimize (9/2011) - Stochastic optimization.
minimize.c
minimize.h
minimize_doc.pdf
minimize_doc.doc
opengl2 (3/2019) - Graphics routines using OpenGL.
opengl2.c
opengl2.h
opengl2_doc.pdf
opengl2_doc.doc
Plot (9/2011) - Old graphics routines using Macintosh toolbox.
Plot.h
PlotX.c
Plot_doc.pdf
Plot_doc.doc
Plot3D (9/2011) - Old 3 dimensional plotting using Macintosh toolbox.
Plot3D.c
Plot3D.h
Plot3D_doc.pdf
Plot3D_doc.doc
Quantum (9/2011) - Quantum mechanics arithmetic.
Quantum.c
Quantum.h
Quantum_doc.pdf
Quantum_doc.doc
queue (4/2012) - Routines for a queue type data structure.
queue.c
queue.h
queue_doc.pdf
queue_doc.doc
random2 (5/2016) - Random number functions.
random.h
random.c
random_doc.pdf
random_doc.doc
Rn (9/2011) - Vector arithmetic with real numbers.
Rn.c
Rn.h
Rn_doc.pdf
Rn_doc.doc
RnLU (9/2011) - LU matrix decomposition with real numbers.
RnLU.c
RnLU.h
RnLU_doc.pdf
RnLU_doc.doc
RnSort (6/2016) - Manipulation of sorted vectors of real numbers.
RnSort.c
RnSort.h
RnSort_doc.pdf
RnSort_doc.doc
rxnparam (3/2019) - Parameters for Smoldyn bimolecular reactions.
rxnparam.c
rxnparam.h
rxnparam_doc.pdf
rxnparam_doc.doc
Set (9/2011) - Routines for a set type data structure.
Set.c
Set.h
Set_doc.pdf
Set_doc.doc
Sphere (10/2015) - Mathematics for spheres and spherical coordinates.
Sphere.c
Sphere.h
Sphere_doc.pdf
Sphere_doc.doc
string2 (3/2019) - String manipulation and parsing.
string2.c
string2.h
string2_doc.pdf
string2_doc.doc
SurfaceParam (11/2010) - Parameters for molecule-surface interactions.
SurfaceParam.c
SurfaceParam.h
SurfaceParam_doc.pdf
SurfaceParam_doc.doc
VoidComp (9/2011) - Functions for comparison of void pointers.
VoidComp.c
VoidComp.h
VoidComp_doc.pdf
VoidComp_doc.doc
Zn (3/2019) - Tensor manipulation with integers.
Zn.c
Zn.h
Zn_doc.pdf
Zn_doc.doc