Version |
Date |
Comments |
2.4.4
|
2006/09/28 |
-
Fixed a bug in
org.systemsbiology.util.ClassRegistry that
caused a ClassCastExcption for certain Windows installations; it
appears to be something appearing in the classpath that is neither a
directory or a JAR file. Inserted defensive code to check before
casting, and to ignore the case where the URLConnection cannot be cast
to a JarURLConnection. Thanks to Patrick Grant for reporting this
bug.
-
Fixed a bug in
org.systemsbiology.chem.TimeSeriesOutoutFormat that
resulted in localized numbers being output, which in Germany means
that a comma is used as the symbol for the decimal place. This was
causing problems for Matlab interpreting the "matlab output" file
format. Thanks to Steffen Waldherr (Univ. Stuttgart) for pointing out
this bug, and for providing a bug fix.
-
Fixed a bug in
org.systemsbiology.chem.SimulatorStochasticGibsonBruck ,
that was preventing reactions whose propensities are an explicit function of time,
from having their next "firing time" updated after each iteration of the
algorithm. Thanks to Dominique Chu (University of Kent, UK) for reporting
this bug.
|
2.4.3
|
2006/04/18 |
-
Fixed a bug in
org.systemsbiology.chem.sbml.ModelBuilderMarkupLanguage , in
handling a species concentration rule in an SBML model. Thanks to Nguyen Van
Tam (JMI, New Delhi) for submitting this bug report, and the bug fix.
-
Fixed a bug in
org.systemsbiology.chem.SimulatorStochasticGibsonBruck ,
that was preventing reactions whose propensities are an explicit function of time,
from having their next "firing time" updated after each iteration of the
algorithm. Thanks to Dominique Chu (University of Kent, UK) for reporting
this bug.
|
2.4.2
|
2006/01/26 |
-
Installed the new version of
SBWCore.jar , for compatibility
with the Systems Biology Workbench (SBW) version 2.5.0.
|
2.4.1
|
2005/08/11 |
-
Fixed a bug in
org.systemsbiology.chem.app.EditorPane , where
a NullPointerException was occurring when the user attempted
to run "Tools->Simulate" on a model that did not have a filename associated
with it yet, in the editor pane.
|
2.4.0
|
2005/07/08 |
-
Added a new class
org.systemsbiology.chem.ModelExporterCommandLanguage ,
which saves a Model in Chemical Model Definition Language (CMDL) format.
- Added a new method
org.systemsbiology.chem.SymbolEvaluationPostProcessor.modifySymbol() , which
will replace a species symbol name with the ratio "sym/com" where "sym" is the species
symbol name, and "com" is the compartment name. This is used
by the org.systemsbiology.chem.ModelExporterCommandLanguage
for exporting a SBML model to CMDL. Implemented this method in the subclass
org.systemsbiology.chem.sbml.SymbolEvaluationPostProcessorChemMarkupLanguage .
- Changed method
org.systemsbiology.chem.ModelBuilderCommandLanguage.getDefaultCompartment()
to be package visible, and removed an unneeded assertion within the method. The method is called
by org.systemsbiology.chem.ModelExporterCommandLanguage , from outside the class.
-
Added a new method
org.systemsbiology.math.Expression.Element.isAtomic() ,
which returns true if the Element is either a symbol or
a numeric element. This is used in the new org.systemsbiology.chem.ModelExporterCommandLanguage
class.
-
Fixed a bug in the
org.systemsbiology.chem.app.ModelExporter class, where the
current working directory was not being set when the file browser is opened, to select
the output file for exporting a model.
-
Refactored the current directory code, so that only the
org.systemsbiology.chem.app.MainApp
has a mCurrentDirectory field. The mCurrentDirectory field was removed
from the EditorPane class, and the latter class now uses the field from the MainApp
class.
|
2.3.0
|
2005/07/01 |
-
Removed all classes in
org.systemsbiology.chem.sbw , and
added three classes ISimulationDriverService ,
SimulationDriverModule , and SimulationDriverService
to that package. These implement a Systems Biology Workbench (SBW) Analysis
service, that will process a model description in either SBML or
CMDL, and display a
org.systemsbiology.chem.app.SimulationLauncher window for
running simulations on the model.
- Added fields and methods to
org.systemsbiology.util.AppConfig ,
for the application copyright string and the application maintainer's
full name.
- Modified
org.systemsbiology.chem.app.AboutDialog to
display the copyright string contained in the AppConfig.xml
configuration file, obtained through the AppConfig class.
- Updated the external library
SBWCore.jar to version 2.3.0,
in order to get a bug fix related to non-Windows platforms; this allows
the removal of OS-specific workaround code that had been used in the
org.systemsbiology.chem.sbw.SimulationDriverModule class.
|
2.2.2
|
2005/06/19 |
-
Modified
org.systemsbiology.chem.sbw.SimulationService and
ISimulationService to add the method loadCMDLModel() ,
which allows remote invocation of the SBW simulation services by passing the
model definition text in CMDL format.
-
Created a test program
org.systemsbiology.chem.sbw.tp.TestCMDLBuilder ,
which connects to the SBW broker and passes the text of a model, in CMDL format,
to the org.systemsbiology.chem.sbw.GibsonBruckService simulation
service.
-
Added some operating-system-specific initialization code to the
main()
method of org.systemsbiology.chem.sbw.SimulationModule , to work around
a bug in SBWCore.jar on non-Windows platforms. (Thanks to
Frank Bergmann for supplying this patch.) The bug causes clients to fail to
connect to the SBW broker on non-Windows systems with newer versions of SBW.
-
Modified
org.systemsbiology.chem.ModelBuilderCommandLanguage to allow
a null IncludeHandler to be passed to buildModel() . This
state indicates that file inclusion is not allowed in processing the model text,
for security reasons. This feature is used by the loadCMDLModel()
method in the SBW service class org.systemsbiology.chem.sbw.SimulationService .
|
2.2.1
|
2005/06/15 |
- Fixed a bug in
org.systemsbiology.chem.app.MainApp.updateMenus() ,
where the "File->Close" menu item was not being enabled after the user loads a zero-length
file into the edit buffer.
- Updated the
SBWCore.jar library distributed in the lib
subdirectory. The new version of SBWCore.jar is taken from version 2.2.1
of the Systems Biology Workbench (SBW) software distribution, and is compatible with
SBW versions 2.2.1 and newer. This fixes an incompatibility
with the 2.X.X versions of SBW, that was causing an exception when the
org.systemsbiology.chem.sbw.SimulationModule program was executed.
|
2.2.0
|
2005/04/05 |
- Updated
org.systemsbiology.inference.SignificancesData and
org.systemsbiology.inference.ObservationsData to require
a BufferedReader object instead of a File object in their
loadFromFile() methods, thus allowing defining a data object based on
an alternative type of data stream, other than a file.
- Added a new data normalization class,
org.systemsbiology.inference.DataNormalizer .
A graphical user interface driver is included, org.systemsbiology.inference.DataNormalizerDriver .
- Added a new data management class,
org.systemsbiology.inference.DataManagerDriver ,
which is essentially a spreadsheet program adapted for
manipulating multi-evidence biological systems data. Data merging, sorting, and (evidence-specific) subselection
are supported.
- Added a
writeToFile() method to the org.systemsbiology.inference.ObservationsData class.
- Modified
org.systemsbiology.inference.SignificancesData.loadFromFile() so that
it will interpret a cell containing the string "null" (and not in the first row or first
column of the data file) as an empty cell.
-
Added the
org.systemsbiology.inference package, which has code for
inferring a set of affected network elements from multiple evidence types.
-
Fixed a
NullPointerException that was occurring when a call to
org.systemsbiology.chem.ISimulator.initialize() failed (i.e., threw
an exception), and when the exception was handled and initialize() was
called again. This was causing unexpected behavior in org.systemsbiology.chem.app.SimulationLauncher
when the model initial conditions validation (i.e., the call to
org.systemsbiology.chem.SimulatorStochasticBase.checkDynamicalSymbolsInitialValues() )
failed. Thanks to Vincent Rouilly for submitting the bug report.
-
Improved the error message in the exception thrown by the
org.systemsbiology.chem.SimulatorStochasticBase.checkDynamicalSymbolsInitialValues()
method, called indirectly by the org.systemsbiology.chem.Simulator.initialize() method, hen one of the species has an initial population value that exceeds the maximum
allowed for stochastic simulations. The error message now gives the offending species name and
the initial population value.
-
Refactored
org.systemsbiology.chem.IModelBuilder so that the
getBufferedReader() method is now turned into a readModel()
method. Added a writeModel() method to the same interface.
This creates a set of symmetric methods which decode/encode a model from/to a byte
stream, respectively.
-
Fixed a potential problem with
org.systemsbiology.chem.app.EditorPane
where the saveEditBufferToFile() method was implicitly calling
String.getBytes() on the contents of the edit buffer, which means
that the file is being written with the platform's default character encoding. This
meant that (in the case of SBML models) the encoding specified in the XML header was
being ignored, and (in the case of CMDL models) the model would not be written in
the UTF-8 encoding on platforms whose default encoding is not UTF-8. This means that
on certain platforms, the saveEditBufferToFile method would end up writing
a file that does not conform to published character encoding specifications for SBML and CMDL.
-
Fixed a bug in
org.systemsbiology.chem.app.SimulationLauncher where the
"secs remaining" text field would show too many significant digits when the number
of estimated seconds remaining is very large.
-
Modified
org.systemsbiology.chem.app.EditorPane so that it no longer
uses the platform-default character encoding when translating a model into a byte
stream that is passed to the org.systemsbiology.chem.IModelBuilder . This
was causing unexpected behavior because different platforms have different default
character encodings. The solution was to add a writeModel() method to the
IModelBuilder interface, so that the EditorPane can transparently
write the model to a byte stream that can be understood by the IModelBuilder .
This fixed a bug whereby a SBML model with UTF-8 character encoding loaded into
the EditorPane , and then subsequently passed to the IModelBuilder , would
cause a SAXParserException on the Macintosh OSX platform. Thanks to Vincent Rouilly
for submitting this bug report.
-
Fixed a bug in
org.systemsbiology.util.DebugUtils.describeSortedObjectList()
where the separator string was not being printed in every case that it should have.
- Fixed a bug in
org.systemsbiology.math.SymbolEvaluator.getValue() that was
causing inconsistent results in subsequent calls to getValue() when
the model is an SBML model with "substance" units of "mole" and when
expression-value caching is enabled. Thanks to Vincent Rouilly for
submitting the bug report.
- Fixed a bug in
org.systemsbiology.chem.app.EditorPane that was causing
the editor to fail to "forget" the org.systemsbiology.chem.IModelBuilder
when the edit buffer is cleared.
- Modified
org.systemsbiology.chem.SimulatorStochasticBase to call
org.systemsbiology.chem.SimulatorStochasticBase.checkDynamicalSymbolsValues() to check all
dynamical symbols to see if any species value exceeds the maximum allowed for stochastic
simulations (approximately 9.0771993e+15), just before addRequestedSymbolValues()
is called. This ensures that the stochastic simulators will continuously check to
see if any species values exceed the maximum allowed species value, throughout the
course of the simulation.
- Changed
main() method of org.systemsbiology.chem.app.MainApp ,
to "final".
- Added a static factory method
org.systemsbiology.util.AppConfig.get() ,
which finds the application configuration file and instantiates an AppConfig
object containing the configuration data loaded from the file. Refactored
org.systemsbiology.chem.app.MainApp and all four main
programs in org.systemsbiology.inference (EvidenceWeightedInferer ,
SignificanceCalculator , DataNormalizer , and DataManager )
to use this new method.
- Created a two-argument constructor for
org.systemsbiology.util.ExceptionNotificationOptionPane . This allows passing
a message text to be included in the body of the dialog box.
- Refactored classes
SimulationLauncher , MainApp , and
EditorPane in org.systemsbiology.chem.app , to use the
two-element constructor for org.systemsbiology.util.ExceptionNotificationOptionPane.
- Added a static method
org.systemsbiology.math.probability.Normal.cdf() ,
which is simply a wrapper to a call in the Colt library .
- Fixed bug in
org.systemsbiology.chem.app.SimulationLauncherCommandLine
where the command-line simulation launcher was not obtaining the defualt
relative and absolute error tolerances for the simulator, so the user would get an error
if both tolerances were not explicitly specified on the command-line.
- Modified
org.systemsbiology.chem.app.ModelViewerCytoscape so that
the NetX start-up dialog box does not appear at application start-up.
The dialog box asks you where to store your JNLP cache. After this modification,
the dialog box should only appear the first time you actually use the
"Tools -> View... -> cytoscape" feature.
|
2.1.1
|
2005/02/18 |
- Added an enumeration class defining the three allowed states of
graphical user inferface table column sorting status,
org.systemsbiology.gui.SortingStatus .
- Added a
scrubIdentifier() method to the org.systemsbiology.data.DataFileDelimmiter
class, which takes a string identifier and converts any instances of the DataFileDelimiter
object's delimiter character (or string) into the "_" (underscore) character.
- Modified
org.systemsbiology.gui.HelpBrowser to cache the HelpBroker ,
which may help speed up the initialization process for the help browser.
- Removed
cytoscape.jar that was mistakenly being included in the
ISBJava.tar.gz distribution.
|
2.1.0
|
2005/02/04 |
- Renamed
org.systemsbiology.gui.DataColumnSelector to
org.systemsbiology.gui.TableFrame .
- Moved the
org.systemsbiology.chem.SymbolEvaluationPostProcessorChemMarkupLanguage
class to the org.systemsbiology.chem.sbml package.
- Made
org.systemsbiology.chem.LoopIndex an inner class of
org.systemsbiology.chem.ModelBuilderCommandLanguage .
- Fixed a bug in
org.systemsbiology.util.ClassRegistry , where
certain JRE problems were causing a NoClassDefFoundError which
was not being properly handled. This was causing the application to abort,
when a warning message to STDERR would suffice. Now, when this
error occurs, a warning message is printed, and the JRE does not abort.
- Fixed an XML syntax error in the boilerplate application configuration
resource file
org.systemsbiology.chem.app.AppConfig.xml .
- Removed the
org.systemsbiology.pointillist package from
the JavaDoc documentation, because it is still under development.
- Fixed a problem with the build script
build.xml , where the
resource JAR files for external libraries were not included in the compilation
classpath for compiling the test programs.
-
Moved the
org.systemsbiology.math.MathFunctions static functions
that implement vector arithmetic, to the new class
org.systemsbiology.math.DoubleVector . Updated all classes that
depend on these functions, to reference the new class name.
-
Added code to set the
org.systemsbiology.chem.ReservedSymbolMapper
in the test programs in the org.systemsbiology.chem.tp package.
This code change is not necessary for the programs to work properly, but it
is useful from a pedagogical standpoint, since most uses of the API will
want to be able to access the reserved symbols defined in the CMDL.
-
Defined a package of probability distribution functions,
org.systemsbiology.math.probability .
-
Changed
org.systemsbiology.chem.SimulationAccuracyException to
org.systemsbiology.math.AccuracyException .
-
Improved some parser error messages in
org.systemsbiology.chem.ModelBuilderCommandLanguage .
-
Fixed a
NullPointerException that was occurring in
org.systemsbiology.chem.app.EditorPane ,
when a parser error occurred in a parsing model text when there is no filename associated with the
editor buffer.
-
Refactored
org.systemsbiology.chem.app.ParserPicker so that it
now has two methods, selectParserAliasFromFileName() and
selectParserAliasManually() . The latter method no longer displays
a confirmation dialog, when the user cancels the parser selection dialog (it is
left up to the calling method to detect the null return value and issue the
confirmation dialog).
-
Fixed a bug in
org.systemsbiology.chem.app.EditorPane where the
current directory was not being set, when "save as" operation is performed.
-
Fixed a bug in
org.systemsbiology.chem.ModelBuilderCommandLanguage
that was disallowing parenthetic mathematical expressions within a loop definition
statement. Refactored some code in same class, to ensure more consistent mathematical
expression parsing in various contexts. Modified same class to allow for a comma
character to appear within a mathematical expression, in preparation for allowing
the min(a,b) and max(a,b) functions within the
org.systemsbiology.math.Expression class.
-
Modified
org.systemsbiology.math.Expression to permit two-argument
functions in general, and the min() and max() functions
in particular. Thanks to Adam Duguid for submitting the source code patch.
-
Fixed a bug in the
cdf() method of the
org.systemsbiology.math.probability.Maxwell class, in which the
asymptotic limit of large argument was returning an incorrect value (greater than
1.0).
-
Added code to the
org.systemsbiology.math.probability.DistributionPrinter.print()
method to print the cumulative distribution function (CDF), in addition to the
probability distribution function (PDF).
-
Added a file filter regular expression and a default file extension, to
each instance of the
org.systemsbiology.data.DataFileDelimiter
class.
-
Updated the
org.systemsbiology.data.MatrixString class to
accept a org.systemsbiology.data.DataFileDelimiter as a
delimiter, instead of a String delimiter. Fixed a potential
bug for the case of a space delimiter and a column-aligned data file.
-
Fixed a bug in
org.systemsbiology.math.ScientificNumberFormat.format()
that was resulting in a negative argument always being formatted in scientific
notation.
-
Changed the
org.systemsbiology.data.DataFileDelimiter.forName() method to
get() .
-
Fixed some incorrect error messages in
org.systemsbiology.chem.SimulatorDeterministicRungeKuttaFixed ,
for the case of an org.systemsbiology.math.AccuracyException .
-
Modified
org.systemsbiology.util.CommandLineApp to permit
passing the string "null" as an argument modifier, to obtain a null modifier
for a command-line argument.
-
Modified
org.systemsbiology.chem.app.SimulationLauncher and
org.systemsbiology.chem.app.SimulationLauncherCommandLine to
allow disabling error checking for the fixed-stepsize Runge-Kutta integrator.
-
Modified the
org.systemsbiology.chem.Simulator.checkSimulationParametersForDeterministicSimulator
method to allow a null parameter for the maxRelativeError and
maxAbsoluteError fields of the org.systemsbiology.chem.SimulatorParameters
class. This change required some modifications to several of the org.systemsbiology.chem.Simulator
subclasses.
|
2.0.1
|
2004/11/18 |
-
Fixed a bug in
org.systemsbiology.gui.DataColumnSelector , which
was causing a NullPointerException when the "save" button is
clicked, when the selector object was constructed using the parameterized
constructor.
-
Refactored
org.systemsbiology.chem.app.ModelExporter to minimize
back-references to org.systemsbiology.chem.app.MainApp .
-
Refactored
org.systemsbiology.chem.app.SimulationLauncher to minimize
back-references to org.systemsbiology.chem.app.MainApp .
-
Changed
org.systemsbiology.util.AppConfig.getProperty() method
so that it is now public.
-
Modified
org.systemsbiology.util.ClassRegistry to cache the
set of class names for classes implementing
org.systemsbiology.util.IAliasableClass . This way, we are
only searching the tree of all packages and classes once. This dramatically
speeds up invocations of buildRegistry() for the second and
all subsequent instances of ClassRegistry .
-
Created
org.systemsbiology.chem.IModelViewer as an interface
for classes that implement a model-vizualization capability, whether graphical
or textual. Moved org.systemsbiology.chem.app.CytoscapeViewer to
org.systemsbiology.chem.app.ModelViewerCytoscape , which implements
this interface. Modified
org.systemsbiology.chem.app.ModelViewerHumanReadable
to implement this interface.
Modified org.systemsbiology.chem.app.MainMenu to have a "View"
sub-menu containing the aliases of all classes implementing IModelViewer .
-
Modified
org.systemsbiology.chem.app.MainMenu to have a "Export"
sub-menu containing the aliases of all classes implementing IModelExporter .
-
Moved the
org.systemsbiology.chem.app.MainApp.handleWindowsArgumentMangling()
method to the
fixWindowsCommandLineDirectoryNameMangling()
method in the org.systemsbiology.util.FileUtils class..
-
Created
org.systemsbiology.pointillist.IAction , which
is now the interface implemented by all "Action" classes in Pointillist.
-
Moved the GUI part of
org.systemsbiology.pointillist.EditPreferencesAction to
a new class, org.systemsbiology.pointillist.EditPreferencesFrame .
-
Fixed a bug in
NetworkIntegrationcAction , NormalizeAction ,
and StatisticalTestsAction that was causing a NullPointerException
when the output file already exists, and the user decided to cancel the operation at the
confirmation dialog box.
-
Modified
org.systemsbiology.pointillist.App so that it keeps
track of all open DataColumnSelector frames for data files, and
when someone attemps to re-open a file that is already open, it simply raises
the correponding DataColumnSelector frame. This required changes
to the
org.systemsbiology.pointillist.FileOpenAction class also.
-
Modified
org.systemsbiology.pointillist.MatlabConnectAction to
set the wait cursor, while the MatlabConnectionManager.connect()
method is being called.
-
Removed the
org.systemsbiology.util.BrowserLauncher class,
because it is hacky, it is not being used, and it no longer works on
Unix-type systems that do not have Netscape installed.
-
Deleted unused class
org.systemsbiology.math.ISymbolValueMap .
-
Added a line counter feature to
org.systemsbiology.chem.app.EditorPane .
|
2.0.0
|
2004/11/12 |
-
Fixed a bug in
org.systemsbiology.chem.app.SimulationResultsTable ,
which was causing the table window to not be resizable.
-
Fixed a bug in
org.systemsbiology.chem.app.EditorPane in
which the Tools->Simulate menu item was not being enabled
after the first character was typed in the editor text area.
-
Changed the
org.systemsbiology.util.URLUtils class into
the org.systemsbiology.util.FileUtils class. Added
getExtension() and a removeExtension() methods.
-
Restructed the GUI-related classes in
org.systemsbiology.chem.app
and org.systemsbiology.util , to move the commonly used
GUI classes to org.systemsbiology.gui . This includes
org.systemsbiology.util.FramePlacer ,
org.systemsbiology.util.ImageTransferHandler ,
org.systemsbiology.chem.app.FileChooser ,
org.systemsbiology.chem.app.RegexFileFilter ,
org.systemsbiology.chem.app.SimpleTextArea ,
org.systemsbiology.chem.app.ExceptionDialogOperationCancelled
-
Modified
org.systemsbiology.util.ExceptionUtility to
allow passing any Throwable to getStackTrace() ,
instead of only the Exception subclass.
-
Moved the code that disables double-clicking on a Swing component, from
org.systemsbiology.gui.FileChooser to a new class
org.systemsbiology.gui.ComponentUtil .
-
Renamed the
org.systemsbiology.util.ExceptionUtility class
to org.systemsbiology.util.ExceptionUtils .
-
Renamed the
org.systemsbiology.gui.ComponentUtil class
to org.systemsbiology.gui.ComponentUtils .
-
Fixed a bug in
org.systemsbiology.math.SignificantDigitsCalculator ,
for case of NaN and Infinity
input to the calculate() method.
-
Modified
org.systemsbiology.chem.ISimulator to add a
canComputeFluctuations() method. Implemented this method
in org.systemsbiology.chem.Simulator . Modified the
org.systemsbiology.chem.app.SimulationLauncherCommandLine to
check this method and issue an error message, if the simulator returns false
and the user has requested -computeFluctuations .
-
Added a new class
org.systemsbiology.gui.DataColumnSelector .
-
Refactored the
org.systemsbiology.gui.FileChooser class, to
remove unnecessary methods that were provided adequately by the superclass.
In particular, the show() was removed, in favor of the
showOpenDialog() , showSaveDialog() and
showDialog() methods in the superclass.
-
Modified
org.systemsbiology.math.ScientificNumberFormat class
to allow for overriding the default symbols for not-a-number and infinity.
Modified org.systemsbiology.chem.TimeSeriesOutputFormat to define
the symbols for not-a-number and inifity, for the different output file formats.
-
Fixed a bug in
org.systemsbiology.chem.ModelBuilderCommandLanguage ,
which was occurring when a macro reference is embedded within another macro definition.
The bug was causing an exception for an undefined symbol.
-
Fixed bug in
org.systemsbiology.chem.app.EditorPane in which the
file dirty bit was being set, when a file was closed. This was prompting a
needless dialog box about saving changes to the editor buffer, the next time
the user attempted to load a model definition file.
-
Modified
org.systemsbiology.math.Expression to enable parsing
of floating-point numeric literals in scientific notation.
-
Added a new class
org.systemsbiology.data.DataFileDelimiter ,
for enumerating the possible delimiters for text data files.
-
Added a new class
org.systemsbiology.data.MatrixString ,
for loading a data file into a matrix of String objects.
-
When processing model definition files, the default locale encoding is now
ignored, to ensure that model processing is consistent in all locales.
Fixed bug in
org.systemsbiology.chem.ModelBuilderCommandLanguage
that was using different encodings on different platforms. This class now uses UTF-8
encoding on all platforms, for interpreting the CMDL model description from
the byte stream. Files loaded with an "include" directive in any model builder,
will now be processed in the same character encoding as the parent file. Thus,
in a CMDL file, when processing a "#include", the included file is required to be
in UTF-8 encoding.
-
Moved the
org.systemsbiology.util.Queue class and all subclasses,
as well as org.systemsbiology.util.AbstractComparator to the
org.systemsbiology.data package. Also moved the
SlidingWindowTimeSeriesQueue class to the org.systemsbiology.data
package.
-
Moved the
org.systemsbiology.chem.app.HelpBrowser and the
classes ExHelpSearchNavigator and ExHelpSearchNavigatorUI
to the org.systemsbiology.gui package. Added some new mutator
methods to the HelpBrowser class, to make it more flexible.
-
Added method
addSuffixToFilename() to the
org.systemsbiology.util.FileUtils class.
-
Fixed a potential bug in
org.systemsbiology.chem.sbml.ModelBuilderMarkupLanguage
where SBML files were being read in the default
locale encoding for text files, and not in the encoding specified in the
XML file header.
-
Moved the
processModel method of the
org.systemsbiology.chem.app.ModelProcessor
class into the org.systemsbiology.chem.app.EditorPane class.
-
Fixed a bug (reported by Alex Kowald) in the CMDL in which an exception is
thrown, if a quoted string is embedded within a deferred-evaluation mathematical
expression. This prevents referencing a symbol name that contains
an integer (e.g., an index) obtained from a mathematical expression,
within the context of a deferred-evaluation mathematical expression.
This bug potentially affects models in which the loop construct is used,
in conjunction with reaction definitions with complex (deferred-evaluation)
kinetic rate expressions.
-
Renamed the Ant target
compiletests to compileTests .
-
Included the first version of the source code for Pointillist application,
in the package
org.systemsbiology.pointillist
-
Added new class
org.systemsbiology.util.MatlabInterface for
communicating with the Matlab console via a TCP/IP bridge. This class is
used by Pointillist for executing Matlab function calls..
-
Modified
org.systemsbiology.gui.HelpBrowser so that it
initially sets the size of the frame to never more than 800x600.
|
1.8.0
|
2004/10/11 |
-
Fixed a bug in the build file that was preventing the source code from
being included in the source distribution archives
ISBJava.tar.gz and ISBJava.zip .
-
Modified the chemical model definition language to disallow user definition
of a symbol that begins with an underscore character. This ensures that
user-defined symbols will not conflict with the names of automatically
defined symbols (such as automatically defined chemical reaction names).
-
Refactored
Model.java , Simulator.java , and
ModelBuilderCommandLanguage.java so that the internal symbol
prefix does not appear as a quoted string in these classes, but is
abstracted to a String field variable of the
org.systemsbiology.chem.Model class.
-
Modified
org.systemsbiology.chem.Model so that internal
symbols are never displayed in the listbox of symbols in the
org.systemsbiology.chem.app.SimulationLauncher window,
and the org.systemsbiology.chem.app.SimulationLauncherCommandLine
text output.
-
Modified build system to enable optimization during compilation, by default.
-
Modified
org.systemsbiology.math.Expression so that the
log() command in the CMDL has been changed to the ln()
command. This was done for consistency with standard computer science notation,
in which ln() represents the natural logarithm, and log()
represents the logarithm base 10.
-
Added an
initialize() method to
org.systemsbiology.util.SlidingWindowTimeSeriesQueue , separate
from the constructor, which can be used to re-initialize the data structure
with a different number of data points.
-
Added method
containsDelayedOrMultistepReaction() to the
org.systemsbiology.chem.Model class, so that the
org.systemsbiology.chem.app.SimulationLauncher can
query whether a Model contains a delayed or multi-step
reaction. This enables the simulation launcher to decide whether or
not to display the "number of history bins" text field.
-
Added a new text field "number of history bins" to the
org.systemsbiology.chem.app.SimulationLauncher user
interface panel. This field is only displayed if the
org.systemsbiology.chem.Model contains a delayed
or multi-step reaction.
-
Added a new command-line option "
-numHistoryBins "
to the org.systemsbiology.chem.app.SimulationLauncherCommandLine
class. This option enables the specification of the number of bins
that are to be used to store the past values of a species that participates
in a delayed or multi-step reaction. Added a new parameter numHistoryBins
to org.systemsbiology.chem.SimulatorParameters , for passing this
information to the simulator. Modified
org.systemsbiology.chem.DelayedReactionSolver to allow
changing the number of bins for storing the species value history.
-
Removed the parameter
minNumSteps from the
org.systemsbiology.chem.SimulatorParameters class,
and all of the org.systemsbiology.chem.Simulator subclasses
that depend on this parameter. This parameter was replaced with a
floating-point parameter stepSizeFraction , which
specifies the initial step size (as a fraction of the total time of
the simulation) in the case of a deterministic/ODE simulator, and
specifies the minimum number ratio of the reaction time to the
leap time, in the case of the Tau-Leap simulators.
-
Changed the variable
flagGetFinalSymbolFluctuations in
org.systemsbiology.chem.SimulatorParameters to
computeFluctuations , for consistency with the parameter
name in the user interface class
org.systemsbiology.chem.app.SimulationLauncherCommandLine .
-
Added a new method
checkSimulationParameters to the
org.systemsbiology.chem.ISimulator interface. This
allows validating a set of parameters, without actually running a
simulation. If the simulation parameters are determined to be invalid,
an exception is thrown.
-
Added the option
testOnly to
org.systemsbiology.chem.app.SimulationLauncherCommandLine .
This option instructs the simulation launcher to process the model
definition file, validate the simulation parameters, and then exit.
It can be used to test a model and simulation parameters for
correctness, without having to execute a simulation.
- Removed the intermediate species history storage in
org.systemsbiology.chem.DelayedReactionSolver ,
for performance reasons, since it was not being used by the
computeRate() method.
-
Refactored the code for validating simulator parameters to
a method
checkSimulationParameters() in
org.systemsbiology.chem.Simulator . This method
calls an abstract method checkSimulationParametersImpl
that must be provided by each Simulator subclass,
in order to allow the subclass to perform its own simulator-specific
simulation parameter validation.
-
Modified
org.systemsbiology.chem.app.SimulationLauncherCommandLine
to print out the average number of iterations per second, during the
last status statistics-collecting interval.
-
Fixed a serious inefficiency in
org.systemsbiology.chem.Simulator
in which the clearExpressionValueCaches() method was looping
over an array of all non-dynamic symbols, including those symbols that
were not expressions. Modified to loop only over an array of non-dynamic
symbols that are expressions. Changed the aforementioned method to be
non-static, so that the subclasses of Simulator do not have
to pass the array data structure to the method.
-
Changed the "print" output type so that it now is called
"table", in the
org.systemsbiology.chem.app.SimulationLauncher
dialog box. In the same dialog, changed the output type
"file" to "store".
Add a org.systemsbiology.chem.app.SimulationResultsTable
class that displays the simulation results in a JTable .
-
Changed
org.systemsbiology.chem.app.Plotter into
org.systemsbiology.chem.app.SimulationResultsPlot , and
made it extend JFrame . The class now displays the
model name, date/time, and simulator alias in a JLabel
outside the plot image.
-
Modified
org.systemsbiology.chem.app.SimulationLauncher to
keep a JList of past simulation results, and to allow
re-generating a plot or simulation results table, from the past simulation
results. This list is re-initialized each time the model is re-processed.
-
Added classes
org.systemsbiology.math.SignificantDigitsCalculator
and org.systemsbiology.math.ScientificNumberFormat , which are
used to display a floating-point number with the number of significant
digits calculated from specified absolute and relative error tolerances.
-
Added a function
log10() to the
org.systemsbiology.math.MathFunctions class. This is
used by org.systemsbiology.math.SignificantDigitsCalculator .
-
Added new methods
placeInCascadeFormat() and
placeInCenterOfScreen() to org.systemsbiology.util.FramePlacer ,
that accept a JFrame as an argument. These are used in
org.systemsbiology.chem.app.SimulationLauncher for placing the
SimulationResultsTable and SimulationResultsPlot frames.
Modified the method call in org.systemsbiology.chem.app.MainApp , accordingly.
-
Moved
generateSimulationResultsLabel() method from
org.systemsbiology.chem.app.SimulationLauncher to
org.systemsbiology.chem.SimulationResults class, so that
applications using the programmatic org.systemsbiology.chem.ISimulator API
will have access to the simulator results label, for display purposes. Added the
model name to the SimulationResults class as a data member.
-
Fixed a potential bug in
org.systemsbiology.chem.Simulator
and org.systemsbiology.chem.SimulatorStochasticTauLeapBase so that
the maximum allowed relative error cannot be greater than unity.
-
Modified
SimulationLauncherCommandLine to use the
org.systemsbiology.math.ScientificNumberFormat class, for
formatting the floating point values that it prints out.
|
1.7.0
|
2004/06/08 |
-
Added the capability to detect the "substance" units in an SBML model,
to the SBML-parsing library,
SBMLReader . Modified the
ModelBuilderMarkupLanguage to use this capability to configure
the SymbolEvaluationPostProcessorChemMarkupLanguage to auto-convert
species symbols appearing in formulas, from molecules to molar concentration.
-
Fixed a bug in the
org.systemsbiology.util.ClassRegistry such that
the registry was not working properly, when an application using ISBJava
is deployed using Java Web Start. The ClassRegistry class was not
using the correct method to obtain the current user-space class loader.
-
Overhauled the
org.systemsbiology.util.Queue class so that it is now an abstract base
superclass for IndexedPriorityQueue , PriorityQueue ,
and ListQueue . This enables the alternate use of PriorityQueue
and ListQueue within org.systemsbiology.chem.DelayedReactionSolver ,
for storing the expected times for a delayed reaction to produce product molecules.
-
Made
org.systemsbiology.math.SymbolEvaluationPostProcessor
cloneable, which is necessary because some of the post processor class
implementations are stateful and therefore need to be cloned by the
org.systemsbiology.chem.Simulator before they can be used.
Each Simulator needs to have its own separate copy
of the applicable SymbolEvaluationPostProcessor object. Otherwise,
models loaded from SBML with substance units of "mole" will not
function properly in any but the first simulator selected in the simulation
controller window.
-
Modified the
org.systemsbiology.chem.sbml.ModelExporterMarkupLanguage
so that it preserves the substance units that the model originally had when
it was imported, when exporting a model to SBML.
-
Modified the
org.systemsbiology.chem.odetojava.SimulatorOdeToJavaBase
so that it takes a smaller initial step size, when there are delayed reactions in
the model.
- Modified the
org.systemsbiology.chem.sbw.SimulationModule so that
it prints out a message indicating that the simulators have been registered
or initiated.
- Fixed potential
ArrayIndexOutOfBoundsException in
org.systemsbiology.chem.app.SimulationLauncher if there is
a class loading problem, and the ClassRegistry does not
discover any org.systemsbiology.chem.ISimulator classes
in the classpath.
- Modified the
org.systemsbiology.chem.TimeSeriesSymbolValuesReporter
class so that it prints symbol values in scientific notation.
- Fixed a bug in
org.systemsbiology.chem.SymbolEvaluatorChem.getExpressionValue()
where it was not finding symbols in the local symbols map. This was causing a
NullPointerException when an SBML model with local reaction parameters,
is simulated using the org.systemsbiology.chem.SimulatorStochasticTauLeapComplex
simulator.
- Moved the
org.systemsbiology.chem.Reaction.computeRatePartialDerivative()
method to the org.systemsbiology.chem.Simulator class, in order to fix
a bug where SBML models with local parameters were not being simulated correctly.
- Modified the
org.systemsbiology.chem.DelayedReactionSolver so that
multistep and delayed reactions are handled completely separately. Fixed some problems
with how delayed reactions were being numerically solved in the ODE simulators.
|
1.6.4
|
2004/04/05 |
- Added the
IVisitor interface to the org.systemsbiology.math.Expression
class, which makes it possible to call some user-constructed code on every node of a
parsed expression tree. This was needed in order to fix some inefficiencies in the
Gibson-Bruck simulator, as described below.
- Refactored the
ReactionParticipant inner class code from the
org.systemsbiology.chem.Reaction class to become a
separate class. This makes it less cumbersome for the Simulator class to
refer to the ReactionParticipant.Type enumerations.
- Moved all of the data structures used by the
Simulator
class tree, out of the org.systemsbiology.chem.Reaction class, and
into the org.systemsbiology.chem.Simulator class.
- Fixed an inefficiency in the
SimulatorStochasticGibsonBruck ,
where reaction rates for reactions with custom reaction rate expressions, were
being recomputed after every iteration. Now, the Expression.IVisitor
interface is used to build a dependency tree of the reaction rate expression.
The reaction rate is then recomputed only when one of the dynamical elements it is
dependent upon, has changed.
- Split the
SimulatorStochasticGillespieTauLeap into two
separate simulators, SimulatorStochasticTauLeapComplex and
SimulatorStochasticTauLeapSimple . This allows for using
different algorithms for calculating the leap time, for complex and
simple models.
- Modified the
updateSymbolValuesForReaction() method in the
SimulatorStochasticBase class, in order to improve speed.
- Changed the
org.systemsbiology.chem.DelayedReactionSolver class
so that it is no longer a subclass of org.systemsbiology.math.Expression .
Fixed a problem with the org.systemsbiology.chem.DelayedReactionSolver.computeValue()
where the delay was artificially long in some cases, and renamed the method
computeRate() .
|
1.6.3
|
2004/03/26 |
- Fixed a bug in
org.systemsbiology.chem.sbml.ModelBuilderMarkupLanguage ,
that was reported by Adam Margolin. This bug would cause an error in some cases, where
there are more boundary species than dynamical species in a model.
- Improved the speed of the
SimulatorStochasticGillespieTauLeap
simulator, for large models with complex reaction rate expressions.
- Made some speed improvements to
org.systemsbiology.math.Expression.computeValue()
|
1.6.2
|
2004/03/22 |
- Implemented expression value caching for the deterministic simulators.
This improves simulation performance for complex models containing nested
sub-expressions. Removed the
usesExpressionValueCaching()
method from the org.systemsbiology.chem.Simulator class and
its subclasses. Refactored clearExpressionValueCaches() from
the simulator subclasses to the Simulator parent class, and
made this method a static method to improve performance.
- Modified the
SimulatorStochasticBase so that if the initial
value for a dynamic species is not an integer, it will use the random number
generator to select the nearest integer, in a weighted fashion, so that
on average the initial value is equal to the floating-point value specified.
- Fixed a bug in
org.systemsbiology.chem.app.SimulationLauncherCommandLine ,
such that the output file format specified on the command-line was being ignored.
- Modified
org.systemsbiology.chem.Reaction.computeRate() so that it
correctly handles fractional species populations for non-dynamic (boundary)
species, for the case of stochastic simulations.
|
1.6.1
|
2004/03/12 |
- Fixed some instability problems with the
org.systemsbiology.chem.SimulatorStochasticGillespieTauLeap simulator.
- Optimized the
org.systemsbiology.chem.SimulatorStochasticGillespieTauLeap simulator.
|
1.6.0
|
2004/03/10 |
- Added a new stochastic simulator,
org.systemsbiology.chem.SimulatorStochasticGillespieTauLeap .
- Made some performance improvements to the
org.systemsbiology.util.Queue class, and added a new
peekNext() method that is now used by the
org.systemsbiology.chem.DelayedReactionSolver .
- Made several speed improvements to the
org.systemsbiology.util.PriorityQueue class, which
also required a slight change to the
org.systemsbiology.util.IndexedPriorityQueue class.
- Added the
getExpressionValue() method to the
org.systemsbiology.math.Value class and the
org.systemsbiology.math.SymbolEvaluator class.
- Changed several classes to type
final , to
improve run-time performance.
- Added several new methods to the
Expression class:
add() , multiply() , subtract()
divide() , negate() , and square() .
These new methods are used by the SimulatorStochasticGillespieTauLeap
simulator, and the Reaction class.
- Changed the
simulate() method to return
a SimulationResults object, to allow for different
and more complex types of simulation results.
- Switched the
org.systemsbiology.chem.DelayedReactionSolver
to using a faster Queue data structure, instead of the
slower PriorityQueue data structure.
- Added a feature whereby the
Simulator classes are
now capable of computing the fluctuations of dynamical symbols (species),
at the final time point of the simulation. For stochastic simulators,
a direct ensemble average calculation is done to obtain the fluctuations,
in org.systemsbiology.chem.SimulatorStochasticBase ..
For ODE simulators, the Jacobian of the model is used to obtain an
estimate of the fluctuations, in
org.systemsbiology.chem.SteadyStateAnalyzer .
- Refactored the
org.systemsbiology.math.SymbolEvaluator
class and subclasses, to improve modularity and performance. This
resulted in the creation of the
org.systemsbiology.chem.ReservedSymbolMapperChemCommandLanguage
class, and the
org.systemsbiology.chem.SymbolEvaluationPostProcessorChemMarkupLanguage
class, and the removal of the
org.systemsbiology.chem.SymbolEvaluatorChemCommandLanguage class and the
org.systemsbiology.chem.SymbolEvaluatorChemMarkupLanguage class.
- Fixed a bug in
org.systemsbiology.chem.ModelBuilderCommandLanguage
where a symbol defined within an included file, would never appear as a species
in the containing model, even if it is included as a participant in a reaction.
- Fixed a bug in
org.systemsbiology.chem.odetojava.SimulatorOdeToJavaBase
where the initial step size was too large, in the case of large stopTime ,
in models with a delayed reaction with a large delay time. Fixed a similar bug in
org.systemsbiology.chem.SimulatorDeterministicBase , so that it
correctly calculates the initial step size, for cases of a delayed single-step
reaction.
- Fixed a problem in the
org.systemsbiology.chem.Reaction class, that was
causing stochastic simulations with a non-integer initial value for species populations,
to become unstable.
|
1.5.2
|
2004/02/25 |
- Modified the
org.systemsbiology.math.Expression
class so that it is possible to use a custom SymbolPrinter
class to print symbols in any format desired. This is used by the
org.systemsbiology.chem.sbml.ModelExporterMarkupLanguage
to export a model built from CMDL, into SBML.
- Fixed bugs in
org.systemsbiology.chem.sbml.ModelExporterMarkupLanguage ,
so that it now exports correct kineticLaw formulas in
the case where the model was originally built from a CMDL description.
- Removed the
SpeciesRateFactorEvaluator class and
subclasses, for performance reasons.
- Created a new
SymbolEvaluatorChem class and subclasses,
to handle the different ways that Species symbols are
interpreted in models built from SBML and CMDL.
- Fixed a problem whereby formulas in SBML models were not
being interpreted correctly by the simulator; species symbols
were not being interpreted as representing a concentration.
|
1.5.1
|
2004/02/24 |
- Fixed a bug in how the "secs remaining" text field in
org.systemsbiology.chem.app.SimulationLauncher behaves
when the "Pause" button is pressed, to pause the simulation.
- The progress bar and "secs remaining" text field in
org.systemsbiology.chem.app.SimulationLauncher are now
always visible, rather than only when a simulation is running.
- Fixed a bug in how the "secs remaining" text field in
org.systemsbiology.chem.app.SimulationLauncher behaves
when the "Cancel" button is pressed, to cancel the simulation.
|
1.5.0
|
2004/02/13 |
- Major reorganization of the source code tree. This will make it easier
to compile the tree without optional external libraries, such as
odeToJava and SBMLReader . It will also make it
easier to reuse certain classes that have been refactored to the
org.systemsbiology.util and org.sytemsbiology.chem
packages.
- Changed the
org.systemsbiology.math.SymbolEvaluator abstract
class and its derived classes, in order to increase the speed of the
SymbolEvaluator.getValue(Symbol) method.
- Changes to the
org.systemsbiolgoy.math.MutableDouble class,
for performance improvement.
- Refactored the
getIndexedValue() and
getIndexedValueWithCaching() methods of the
org.systemsbiology.math.Symbol class to the
org.systemsbiology.math.SymbolEvaluator class,
which is the more appropriate place for this functionality. Also
made all data field members of the Symbol class
package-visible. This will also improve speed by preventing
unnecessary function calls in the dominant-case of processing a
SymbolEvaluator.getValue(Symbol) invocation.
- Removed the unneeded
initialize() method on the
org.systemsbiology.chem.DelayedReactionSolver class.
- Renamed the
checkIfCancelled() method of the
org.systemsbiology.chem.SimulationController class
to handlePauseOrCancel method. Made all methods
of this class final, which may improve speed.
- Created a
org.systemsbiology.chem.SimulationProgressReporter
class that gives periodic updates (with a customizable interval) on the
progress of the simulation (fraction complete, number of iterations,
and timestamp of the update.
- Updated the
org.systemsbiology.chem.Simulator to
use a customizable update interval for both the check of the
SimulationController status (for pause or cancel) as
well as status updates through the SimulationProgressReporter .
Added an abstract method isStochasticSimulator() to the
Simulator class, and removed the method from the
ISimulator interface, so that independent
ISimulator class implementations do not need to
implement this method.
- Created a new class
org.systemsbiology.chem.TimeSeriesOutputFormat
to replace the inner class
org.systemsbiology.chem.TimeSeriesSymbolValuesReporter.OutputFormat .
This makes it somewhat easier to use the TimeSeriesSymbolValuesReporter
class.
- Removed needless call to
clearExpressionValueCaches in
org.systemsbiology.chem.SimulatorStochasticGillespie and in
org.systemsbiology.chem.SimulatorStochasticGibsonBruck . This
gives a small increase in the speed of these two simulators.
- Made the
ISimulator.initialize() method no longer take
SimulationController as an argument. Instead, the simulation
controller (if desired) is set using the setController() method
on the ISimulator interface.
- Added a new progress bar control to the
org.systemsbiology.chem.app.SimulationLauncher .
- Changed the
org.systemsbiology.chem.app.SimulationLauncherCommandLine
to allow for optionally printing out progress information to stderr ,
including the expected "time to completion" of the simulation, in seconds.
- Modifided the
org.systemsbiology.chem.app.SimulationLauncher
to show the expected "time to completion" of the simulation, in seconds.
- Fixed a problem in the
jfreechart.jar archive that
was causing error messages on start-up of the
org.systemsbiology.chem.app.MainApp class.
- All external libraries needed in order to compile the
ISBJava library, are now included in the downloadable installer
for ISBJava. The external libraries are installed as JAR files
into the "
extlib " subdirectory of the
user-selected installation directory.
|
1.4.4
|
2004/02/10 |
- Fixed a bug in
org.systemsbiology.chem.SimulatorOdeToJavaBase , in which
the simulator was failing to delete the temporary file containing the simulation results.
This was cluttering up the temporary files directory with old (unneeded) data files.
|
1.4.3
|
2004/02/06 |
- Created a new program
org.systemsbiology.chem.app.SimulationLauncherCommandLine
that runs a simulation in batch mode, saving the results to a file that the user specifies.
- Fixed a bug in
org.systemsbiology.util.CommandLineApp regarding
arguments with short string lengths, causing problems in the method
checkAndHandleHelpRequest .
- Refactored the string
org.systemsbiology.chem.scripting.ModelBuilderCommandLanguage.NAMESPACE_IDENTIFIER
to the org.systemsbiology.chem.Model class.
- Added new method
getIterationCounter() to the
org.systemsbiology.chem.ISimulator interface. This allows
users of the simulators to obtain the number of iterations in the previously
run simulation.
- Converted integer simulation parameters in
org.systemsbiology.chem.SimulatorParameters
to type "long".
- The
org.systemsbiology.chem.SimulatorStochasticBase simulators now
keep track of the total number of iterations across the entire ensemble average.
- Removed all
assert() statements from performance-critical code
sections within the org.systemsbiology.chem.SimulatorStochasticGillespie
and the org.systemsbiology.chem.SimulatorStochasticGibsonBruck simulators,
to increase runtime speed.
|
1.4.2
|
2004/02/05 |
- Fixed a bug in
org.systemsbiology.chem.app.EditorPane
where if the user had made a change to the model definition editor buffer,
and then selected "open" to open a new file, the system would
disregard the user's answer to the confirmation dialog box. If the
user answered "no" to the prompt for whether to proceed, the
system would still open the file and discard the previous edits to the buffer.
- Modified the
org.systemsbiology.chem.Simulator class
and the org.systemsbiology.chem.SimulatorDeterministicBase class,
and the org.systemsbiology.chem.SimulatorOdeToJavaBase class, so that
the initializeDynamicSymbolAdjustmentVectors() method is only
called for deterministic (not stochastic) simulators. This prevents huge
unnecessary memory allocations when performing purely stochastic simulations
of models with a very large number of reactions and species.
- Fixed problem where an
OutOfMemoryError occuring within
the org.systemsbiology.chem.Simulator.initialize() method was
not being caught and handled properly.
- Modified the
org.systemsbiology.chem.app.SimulationLauncher
so that the org.systemsbiology.chem.Simulator.initialize()
method is no longer called on the AWT event thread. Instead, it is called
from the org.systemsbiology.chem.app.SimulationLauncher.SimulationRunner
thread.
- Modified the
org.systemsbiology.chem.app.SimulationLauncher
to rename the "stop" button to the "pause" button.
- Modified the
org.systemsbiology.chem.SimulatorDeterministicBase
so that it calls the org.systemsbiology.chem.DelayedReactionSolver.update()
directly, rather than implicitly through the DelayedReactionSolver.computeValue()
method. This increases stability of the numeric integrator, as well as speed.
- Refactored the interation counter to the
org.systemsbiology.chem.Simulator
class, from the SimulatorStochasticBase and SimulatorDeterministicBase
classes. The new method is
Simulator.incrementIterationCounterAndCheckForCancellation() .
- Modified the
SimulatorOdeToJavaBase and
SimulatorOdeToJavaRungeKuttaAdaptive classes, to permit pause/cancel
of the running simulation via the SimulationController class.
- Modified the
SimulatorOdeToJavaBase class to call the
DelayedReactionSolver.update() method after each successful iteration
of the integrator.
- Modified the
org.systemsbiology.math.Expression class to add the
computePartialDerivative() method, which computes the symbolic partial
derivative of a given Expression , with respect to a given Symbol .
- Removed support for the functions
gammaln() and rand() in
mathematical expressions. The rand() function causes problems with
the expression value cachying feature introduced in version 1.4.0, and the
gammaln() code is likely encumbered with license issues.
|
1.4.1
|
2004/02/02 |
- Fixed a bug in
org.systemsbiology.chem.scripting.ModelBuilderCommandLanguage
where an exception is thrown if an include directive occurs after a symbol definition.
- Modified the
org.systemsbiology.chem.scripting.ModelBuilderCommandLanguage
so that it gives a more comprehensible error message if the user attempts to define
a symbol name that is reserved for a default model element.
|
1.4.0
|
2004/01/30 |
- Optimized the
org.systemsbiology.chem.Reaction.computeRate() method.
- Rewrote the
org.systemsbiology.math.Expression.valueOfSubtree() method,
to improve speed.
- Optimized the accessor/mutator methods in the
org.systemsbiology.math.MutableDouble class.
- Added a caching feature for expression values
in the
org.systemsbiology.math.Value class.
- Optimized the
org.systemsbiology.math.Symbol class,
and modified it to use the caching feature added to the
org.systemsbiology.math.Value class.
- Modified the stochastic simulators
org.systemsbiology.chem.SimulatorStochasticGillespie and
org.systemsbiology.chem.SimulatorStochasticGibsonBruck
to use the expression value-caching feature in the Value class.
- Modified the
org.systemsbiology.chem.app.SimulationLauncher so that
it remembers the directory of the last output file selected, when the output type
is set to "File".
- Modified the
org.systemsbiology.chem.app.SimulationLauncher so that
the Cancel/Stop/Resume buttons are disabled in the OdeToJava simulators, which do
not allow interruption by the org.systemsbiology.chem.SimulationController .
- Modified the
org.systemsbiology.chem.app.SimulationLauncher and the
org.systemsbiology.chem.TimeSeriesSymbolValuesReporter so that different
CSV output file formats are supported, for saving simulation results to a file. This
also makes it more clear that the choice of
"File" output type, refers to a comma-separated-value file format.
- Modified the
org.systemsbiology.chem.app.MainApp and .MainMenu
classes so that they now support the "view model in human-readable format" feature.
Created a new org.systemsbiology.chem.scripting.ModelExporterHumanReadable model
exporter, to allow for saving a model description in human-readable format.
- Modified the
org.systemsbiology.chem.scripting.ModelBuilderCommandLanguage
to fix a hard-to-understand error message that occurs when there is a syntax error inside
nested loops.
- Modified the
org.systemsbiology.chem.app.SimulationLauncher to permit
the user to specify a texual label that is added as a subtitle to the simulation results
plot.
- Fixed a bug in
org.systemsbiology.chem.app.ExHelpSearchNavigatorUI
where the search hit index was not getting re-set to zero for a subsequent search.
- Added a text area to the
org.systemsbiology.chem.app.ExHelpSearchNavigatorUI ,
that explains the "jump to the next search hit" feature.
|
1.3.1
|
2004/01/27 |
- Fixed a bug in the
ModelBuilderCommandLanguage for the case where a
macro definition contains a loop construct.
- Fixed a bug in the
ModelBuilderCommandLanguage for the case where a
reaction definition statement comes after a loop construct.
- Modified the
ModelBuilderCommandLanguage to allow the value of
a SymbolValue to be redefined, as long as the symbol has not been promoted to a
Species , Reaction , Parameter , or Compartment
at the point where the value of the symbol is redefined. The purpose of this feature is
to permit the user to define a template definition with an "output" parameter.
|
1.3.0
|
2004/01/26 |
- Added a template feature to the
org.systemsbiology.chem.scripting.ModelBuilderCommandLanguage .
- Refactored the
org.systemsbiology.chem.scripting.ModelBuilderCommandLanguage class
to use the java.io.StreamTokenizer for initial tokenization pass. Improved syntax error
detection by rewinding the token stream completely to the beginning of the statement,
before calling the handler function for a statement.
- Fixed a bug in the
org.systemsbiology.chem.scripting.ModelBuilderMarkupLanguage where
it was not catching the case of a parameter defined without any value (or parameter rule) being provided.
This was leading to a NullPointerException within the org.systemsbiology.chem.Model
class.
- Added support to the
org.systemsbiology.chem.scripting.ModelBuilderMarkupLanguage
for reading an SBML model containing a reaction with an intrinsic time delay.
- Added a function
isFunctionName() to the org.systemsbiology.math.Expression
class, that is used to determine if a given string matches any known built-in mathematical function
names.
- Moved the
isValidSymbol() method from the
org.systemsbiology.math.Symbol class to the
org.systemsbiology.chem.scripting.ModelBuilderCommandLanguage , which moves
the naming policy out of the base Symbol class and into a more appropriate
layer; this change was also to facilitate the template definition feature in the CMDL.
- Modified the
org.systemsbiology.math.SymbolEvaluatorHashMap to add a new
protected getValue(String) method, which is used by the
org.systemsbiology.chem.scripting.ModelBuilderCommandLanguage class in
processing template references.
- Improved error handling in the
org.systemsbiology.chem.app.MainApp class,
by adding debugging code to standard error in cases of exceptions. Removed an unneeded exit()
method from same class.
- Fixed the
org.systemsbiology.chem.app.ModelProcessor so that it no longer
calls System.exit() when an error is detected.
- Removed some unneeded code from
org.systemsbiology.chem.Simulator ,
pertaining to the handling of multi-step or delayed reactions.
- Modified the
org.systemsbiology.chem.scripting.ModelExporterMarkupLanguage
so that it translates illegal ":: " characters in symbol names, to permitted
"__ " characters. Fixed a bug where delayed reactions were not being
written to the kineticLaw field using the "delay(species,time) "
construct.
- Modified the
org.systemsbiology.chem.scripting.ModelExporterMarkupLanguage
so that it can properly export a model containing a reaction with an intrinsic time delay.
- Fixed a potential
NullPointerException in the
org.systemsbiology.math.SymbolEvaluatorHashMap class, in the case where a
SymbolValue object does not have a Value object defined.
|
1.2.0
|
2004/01/13 |
- Fixed a bug in the layout of the
org.systemsbiology.chem.app.SimulationLauncher
control screen, where the full text of the "select all" button was not being
displayed.
- Fixed a bug in the
org.systemsbiology.chem.app.SimulationLauncher
where the simulation was not being cancelled, in the case where the user
selects too many symbols for displaying on a plot.
- Fixed a bug in the
org.systemsbiology.chem.scripting.ModelBuilderCommandLanguage
where the org.systemsbiology.chem.app.ModelProcessor was
getting an unexpected IllegalArgumentException when the model definition
file contains a mathematical expression that has invalid syntax.
- Fixed a bug in the
org.systemsbiology.chem.scripting.ModelBuilderCommandLanguage
where parsing errors in the model definition file were resulting in the exception class
name being unnecessarily included in the message part of the exception.
- Changed the
org.systemsbiology.chem.app.Plotter class so that the
vertical axis label is the more generally applicable "value" rather than
"populations".
- Added a new SBW simulation service, the
org.systemsbiology.chem.sbw.GibsonBruckService .
- Modified the class (
org.systemsbiology.chem.sbw.SimulationModule )
that registers the various
org.systemsbiology.chem.sbw.SimulationService simulation services
with the SBW broker, to add the DeterministicService
and the GibsonBruckService services to the list of services
offered by this module.
- Fixed a bug in the
org.systemsbiology.util.ImageTransferHandler , where the
createTransferableImage() method was returning a Transferable object
that was failing to properly set the "transfredSuccessfully " flag in
some cases.
- Fixed a bug in the error-handling code in the
org.systemsbiology.chem.app.MainApp class, for the case of when
a syntactially invalid model is processed and a null pointer is passed
to the org.systemsbiology.chem.app.CytoscapeViewer class.
- Extended the
org.systemsbiology.chem.scripting.ModelExporterMarkupLanguage
so that it is capable of exporting SBML Level 1, versions 1 and 2. Previously it
was only capable of exporting version 2. The version 1 export is needed for the
org.systemsbiology.chem.app.CytoscapeViewer to export a model to Cytoscape.
- Fixed a bug in
org.systemsbiology.chem.app.MainApp where the
MainMenu.MenuItem.FILE_SAVE_AS menu item was not being enabled
under the correct conditions.
- Fixed a bug in
org.systemsbiology.chem.app.SimulationLauncher where model
reloading (into the simulation launcher window) was not working properly.
|
1.1.1
|
2004/01/05 |
- Modified the
org.systemsbiology.util.SlidingWindowTimeSeriesQueue so that
the internal average variable is recalculated from scratch, each time numTimePoints
number of points has been inserted into the queue.
- Fixed bug in
org.systemsbiology.chem.app.ParserPicker pertaining to case
where the model builder fails to construct the model from the model definition file.
- Modified
org.systemsbiology.chem.app.SimulationLauncher to dump a stack
backtrace to STDERR if a Throwable (but not an Exception )
condition is detected.
- Changed
org.systemsbiology.chem.MultistepReactionSolver into
org.systemsbiology.chem.DelayedReactionSolver , to permit phenomenological
modelling of reaction processes with an intrinsic time delay.
- Changed
org.systemsbiology.chem.scripting.ModelBuilderCommandLanguage
for extensions to the chemical model definition language (CMDL) for specifying a
multistep or delayed reaction.
- Fixed bugs in
org.systemsbiology.chem.app.MainApp and
org.systemsbiology.chem.app.Plotter , where window resizing
was not working correctly on the Windows platform.
|
1.1.0
|
2003/12/22 |
- Added a
reload menu item to the org.systemsbiology.chem.app.MainMenu
class, which is used for loading a new org.systemsbiology.chem.Model into the
org.systemsbiology.chem.app.SimulationLauncher .
- Fixed a bug in
org.systemsbiology.chem.app.SimulationLauncher where it was
still calling handleOutput() even when the simulation was cancelled.
- Made simulation plot window (
org.systemsbiology.chem.app.Plotting.Plot )
a separate class, which is now dynamically resizable.
- Made the main editor pane (
org.systemsbiology.chem.app.EditorPane )
dynamically resizable.
- Added a
setModel() method to the org.systemsbiology.chem.app.SimulationLauncher ,
so that an application can dynamically change the model loaded in the simulation launcher.
- Added a
addListener() method to the org.systemsbiology.chem.app.SimulationLauncher ,
so that an application can provide a callback method to detect when the simulation launcher is closed.
- Fixed bug where the
org.systemsbiology.chem.scripting.ModelBuilderCommandLanguage was
rejecting model definition files that ended with whitespace.
- Added an "append" check-box to the
org.systemsbiology.chem.app.SimulationLauncher
window, which allows for specifying that the output file should be appended to, rather than overwritten.
- Added a "save as PNG image" button to the
org.systemsbiology.chem.app.Plotter.Plot
class window, which is used to save the plot as a PNG image file.
- Modified the
org.systemsbiology.chem.app.SimulationLauncher to display
all symbols (not just org.systemsbiology.chem.Species ) in the list-box of
symbols that can be displayed in the simulation results.
- Modified the
org.systemsbiology.chem.app.SimulationLauncher to allow for
hiding the Output Type controls, and added a callback mechanism to return the simulation
results to the calling application as a org.systemsbiology.chem.SimulationResults
object, on a queue; this entailed a change to the SimulationLauncher constructor.
- Added a
org.systemsbiology.util.Queue data structure.
- Added support for copying the
org.systemsbiology.chem.app.Plotter.Plot
image to the system clipboard, on operating systems that support image transfer to the
clipboard.
- Added full-text search capability for online help, in the
org.systemsbiology.chem.app.HelpBrowser class.
- Refactored the code that sets locations for new JFrames, to the
org.systemsbiology.util.FramePlacer class.
- Added "select all symbols" feature to the
org.systemsbiology.chem.app.SimulationLauncher class.
|
1.0.0
|
2003/12/08 |
- Added new deterministic (ODE) simulators to the
org.systemsbiology.chem package,
based on the "odeToJava" library for numerical solution of ODEs. This library
includes a Dormand-Prince 4/5 Runge-Kutta solver with adaptive step-size control, and
an implicit/explicit Runge-Kutta solver with adaptive step-size control (for models
with a high degree of stiffness).
- Modified the
org.systemsbiology.chem.scripting.ModelBuilderMarkupLanguage
to permit inclusion of "rules" in SBML models
- Modified the
org.systemsbiology.chem.scripting.ModelExporterMarkupLanguage
to export models in SBML level 1, version 2.
- Fixed a bug in
org.systemsbiology.chem.app.MainApp when model-building
fails after the user selects "Export" from the "Tools" menu.
- Created separate fields in
org.systemsbiology.chem.app.SimulationLauncher
for specifying the matximum allowed relative and absolute errors
- Fixed a bug in
org.systemsbiology.chem.Parameter , in which a
clone() implementation was not provided, leading to incorrect behavior
of the simulator when a parameter is defined with a deferred-evaluation expression
|
0.0.8
|
2003/11/21 |
- Created a new
org.systemsbiology.chem.SimulatorParameters mechanism to pass
simulator-specific parameters to the simulator object.
- Modified the fixed-stepsize deterministic simulator, so that it can detect when the step-size
is insufficient.
- Fixed an error-handling bug in the
org.systemsbiology.chem.app.Plotter class.
- Modified the
SimulationLauncher so that default simulator-specific parameters
are auto-filled, and are updated when the simulator selection is changed.
|
0.0.7
|
2003/11/07 |
- Modified
org.systemsbiology.chem.app.EditorPane so that it "remembers" the
directory of the last file opened in the editor. The default directory for the
org.systemsbiology.chem.app.FileChooser
for the next "Open" command, is set to this directory.
- Adjusted the default vertical dimension of the
org.systemsbiology.chem.app.EditorPane
for the model editor, to 40 characters.
|
0.0.6
|
2003/10/22 |
- In
org.systemsbiology.chem.app.SimulationLauncher , make
plotting the default output mode
- Redefined how the stochastic simulators compute
reaction rates for dimerization reactions, for model interchangability with the ODE simulators.
|
0.0.5
|
2003/10/20 |
- Fixed a bug in the
GibsonSimulator initialization code, for the case of a boundary
reactant species.
- Fixed a bug in the
ModelBuilderCommandLanguage tokenizer, so that
it can now accept a tab character as valid whitespace in a model definition file.
- Modified the
SBMLValidate package so that it can process SBML Level 1, Version 2 model definition files.
- Modified
org.systemsbiology.chem.app.MainApp class, to work around a limitation of
DOS shell command-line argument processing.
|
0.0.4
|
2003/08/28 |
Modified the Cytoscape bridge to use JNLP, so Cytoscape does not have to be bundled with Dizzy. |
0.0.3 |
2003/08/26 |
Added the ability to simulate a multistep chemical reaction as a single composite reaction. |
0.0.2 |
2003/08/06 |
Added the ability to display a model in a Cytoscape window. |
0.0.1 |
2003/08/04 |
First version of the library. It is an alpha version,
intended only for internal use at Institute for Systems Biology. |