What's New with JSim?
This page is for the current JSim version 2.0.
Click here for the earlier JSim 1.6 version.
This document provides a running log of changes made in the various public and beta releases of JSim 2.0 as well as pending changes to upcoming releases. Most recent changes are listed first. All changes by EB unless othersize noted.
Version 2.12 - Release pending
Changed the term "Normalized covariance matrix" to "Correlation matrix". Change request by JB.
Version 2.11 - Beta release 13 May 2013
Added numerous descriptions to the ontological tagging in the Consolidated Model Database. 3387 of the 5307 ontological tags (64%) now have descriptions. Previously, only 1555 did (29%). Work continues to associate descriptions with all the ontological tags in the database.
Fixed bug in MML parser that failed to warn user if a variable had multiple conflicting unit definitions. Bug report by BJ.
JSim MacOS are now digitally signed, which makes them simpler to install on version 10.8 and above. Previously, the MacOS security monitor needed to be manually disabled before JSim could be installed on Mac OS version 10.8 and above.
Fixed bug that caused a NullPointerException during save if the user visited a model's "Browser" tab without rendering. Bug report by GR.
Fixed bug that caused project data sets to fail at load time if a regularly spaced data grid within the data set had a number of points more compactly notated as an exponential than as an integer (e.g. 1E3 vs 1000). The exponential count for the number of points was not correctly interpreted at file read time, causing the data set to disappear from the project. This problem has been fixed. Bug report by GR.
Changed JSim's default memory allocation on Windows from 1500MB to 1200MB. We've had reports of several Windows machines that fail to start JSim when more that 1200MB is requested.
Added cellMLNames property to MML code generated on CellML import. This property is a semi-colon separated list of CellML component.variable names mapped to the MML variable. Feature request by MN.
Version 2.10 - Beta release 30 Jan 2013, Public release Apr 2013
Changed the number of significant digits for output values on model pages from 8 to 5 digits to prevent text-field overflow. Change request by JB.
Widened best parameter value column in optimization report from 12 to 15 characters because some values were being truncated. Bug report by GR.
The JSim Consolidated Model Database is now available, providing uniform model search across 5 model archives: NSR Webmodels, Biomodels, JWS, CellML and Kegg pathways.
Fixed bug in Nested Plot printing that caused some of the component plots to be pushed off the edge of the page when then plot window was made very wide. Bug report by GR.
Fixed bug in Matlab data export that generated Matlab-incompatible names for expressions starting with a digit (e.g. 10*F). Bug report by MB.
Modified JSim local server so that it does not load native solver libraries until run-time. This allows access the server translation facitilies by Java clients without the need for native libraries. Change based on request by MN.
Improved binary distribution scripts so that multiple copies of libsbml are not included. Previous distributions made copies instead of symbolic links for libsbml libraries.
Version 2.09 - Beta release 16 Oct 2012, public release 30 Jan 2013
Added new Save Every Nth Point feature, reducing the memory required for long model runs. Feature request JB.
Texts in a model's "Debug" tab (e.g. standard units file) are now initially positioned at the beginning of the file. Previously, they were positioned at the end of the file. Change request JB.
Added -builddirsfx switch to jsbatch and jsfim to enable running large numbers of simultaneous jobs on high-performance clusters. Feature request by AA.
Added -ofinal switch to jsbatch, allowing printing of only the final values for model variables after a run.
Added JSim.plan.XMMLTranslator class for light-weight MML to XMML translation. Feature request by MN.
Due to internal engine changes, JSim release 2.09 will require a new compatible release of QPP (0.916) to work with it.
Version 2.08 - Beta release 8 Aug 2012
Fixed bug in LSFEA PDE solver in which problems with x-dependent source terms were not calculated correctly. Bug report by GR.
A revised version of the LSFEA PDE solver is now available under the name LSFEA3. This is expected to replace the existing LSFEA solver, once users have had a chance to evaluate it. The algorithm change is as follows. The spatial resolution equals the number of grid points used by the other solvers (no longer restricted to just the odd integers) and the solution values at the endpoints of the spatial array are no longer used to store information needed for the next time step. This has resulted in more accurate spatial displays. The calculations for system transit time and mass balance are approximately the same with minor differences. New code thanks to GR.
Fixed bug in MacIntosh version in which double-clicking on model or project files did not always launch the most recent version. Bug fix thanks to AS.
Most tabs in the JSim GUI now have a "Help" menu. Selecting items from this menu causes the relevant documentation page to be loaded into your desktop web browser.
JSim's Model Browser now retains any user edited layout between refreshes. The layout is also stored in the project file so it can be restored when reloaded. Selecting "Revert to default layout" from the Render menu abandons user edits and performs a fresh computer generated layout. Update thanks to BJ.
Each JSim download and documentation page now has a button to send comments and questions to JSim support staff.
Version 2.07 - Beta release 12 Jun 2012
JSim Nested Plots, implementing Bosan-Harris "worlds within worlds" graphics for multidimensional parameter visualization, are now available.
JSim multiple optimization runs now work properly with a remote server. This allows you run Monte Carlo analysis in applets and jsfim now supports the same -server switch as JSim and jsbatch.
Note for QPP users: Above changes to multiple optimization mean that a new QPP release (0.915) will be required to work correctly with JSim 2.07.
JSim can now export models in Matlab .m format. Thanks to SG, BJ and GR.Updates to SBML import (most thanks to LS):
- More warnings for untranslateable bits.
- Bugs in variable stoichiometry translation were fixed.
- SBML conversion factors are now translated.
- Variable compartments are now correctly handled, both in terms of species amounts or concentrations varying in time, and in terms of species initial amounts/concentrations being set.
- Formulas that use SBML function definitions now correctly note that they vary in time.
- Reactions with local parameters with IDs that duplicate global parameters and/or other local parameters are now given unique global IDs for the translated version.
- Variable and unit names starting with and underscore are now properly mapped to JSim-safe names.
- All variables renamed due to JSim name-space considerations, are now tagged with property "sbmlName" mapping to the original SBML name or identifier. Bug report by MN.
Bumped default JSim maximum memory allocation from 600 to 1500MB. If your computer has less than 2GB of memory, you will need to configure JSim to use less than the default allocation.
Plot data text display now scrolls properly using the mouse wheel.
Changed values of Monte-Carlo "addMethod" control parameter from "scaled" and "fixed" to "proportional" and "additive". Change request by JB.
Fixed bug in Monte-Carlo printing that caused "can't be cast to Printable" error message when any graph other than the histogram was printed.
Fixed bug in Antimony code generation that caused at timeout error message for very large models. Bug report by GR.
Fixed bug in model and data file import in which loading a misformatted data file or XML model file caused the GUI to become confused, creating a temporarily invisible, but empty, project data set or model. Bug report by MB.
Added option to delete model custom RTML to model RunTime "Pages" menu.
Fixed bug in Monte Carlo graphs in which the View menu selected item was not properly set when an existing project file was reloaded.
Messages indicating project file settings that do not apply to the current version of JSim now appear only in verbose mode (-v switch).
Version 2.06 - Beta release 2 Feb 2012
JSim's Monte Carlo analysis module is now available. This module, found in the new "Monte Carlo" tab in the JSim GUI, allows the user to estimate parameter confidence by running multiple optimizations on noisy data sets. Currently, this functionality is not available when using a remote server (e.g. running applets).
JSim now allows export of models in CellML format using either the JSim GUI or jsbatch. Feature implementation thanks to LS.
Fixed bug in the handling SBML models with time-varying compartment volumes. Bug fix by LS.
JSim's Linux Makefiles now support both EL5 or EL6 releases of Redhat Linux. Previously, only EL5 was supported. This change only affects those building JSim from source. Additions thanks to BJ.
Removed extraneous console messages when rendering graphics in a model's "Browser" tab. Change thanks to BJ.
Fixed bug in UtilIO.readBytes(File) that caused inconsistent QPP "File not found" error due to accumulation of unclosed FileInputStreams. Bug report by AA.
Version 2.05 - Beta release 19 Dec 2011
JSim distributions are now built with JDK 1.6. Previously, JDK 1.5 was used. This change keeps JSim in step with current Java feature, performance and security developments. JSim WWW users are advised to update their browser JRE to 1.6. Because of this change, Macintoshes must now run Snow Leopard or later (earlier versions do not support Java 1.6). This change fixes a two bugs noted in the previous version:
- GR noted JSim would occasionally exit with an "insufficient heap memory" error during contour plotting.
- MH reported JSim on his Windows 7 box would consistently crash when navigating directories in file selection menus.
Improvements to parameter set functionality:
- Parameter sets now include sections for model loops, sensitivity analysis and optimization. Feature request by JB.
- The parSetModified flag (indicating that model parameter values have been changed since the last parameter set load or store) is now restored properly when a project file is loaded. Previously, the flag was written to the project file correctly, but restored incorrectly when the project file was reloaded. Bug report by JB.
- User changes to solver and function generator parameters now set the parSetModified flag properly. Previously, only model parameter changed affected the parSetModified flag.
- JSim now supports parameter files with the .par suffix. These files are designed to be both human and machine readable and support programatic interation with JSim parameter sets. The .par file text displays in JSim ParSet tabs and may be written via the "Export par file..." item in the GUI File menu or via the -opar switch in jsbatch. Par files may be loaded into the GUI via either Project tab Add menu item "Import par file", or via the -f command line switch
- The ParSet tab File menu now has an item "Import selected pars..." that allow you to import selected contents from other parameter sets.
JSim's CellML importer has been substantially improved (thanks to LS):
- Implicit equations are now handled better. Previously, implicit equations generated compilation errors that needed to be corrected by user.
- Models contain unit consistency errors now have unit conversion set off. Previously, for the model to compile successfully, the user was required to either turn unit conversion off, or correct the model unit errors.
- Constant variables that appear in exponents may cause problem for unit-balance, since JSim allows you to adjust these values. Such variables are now replaced by their constant values, allowing the model to pass unit balance.
- MathML piecewise without otherwise is now supported.
- Variable and units are now renamed if they cause conflicts with JSim reserved words or pre-defined units.
- For further details of this update, see here.
- For information on using JSim to curate CellML models, see here.
- NSR's CellML archive has been updated with more recent versions of the v1.0 models. As a result of these changes, 615 of the 642 models now run under JSim, and 494 of those pass unit balance.
Added list of value labels to XMML output for choice variables. Feature request by MN.
Increased precision in definition of unit atm (atmosphere) in nsrunit.mod to 101325 pascals. Previously, it was 101300 pascals.
Fixed bug in unit processing that incorrectly allowed unit prefixes to be applies to non-prefixable units. Bug report LS.
Fixed bug in tracking parameter set changes. Previously, the parameter set change flag was erroneously set whenever a model was recompiled. Bug report by JB.
Fixed bug that sometimes caused applet plotpages with "update during run" enabled to generate an "Array index exception" message. Bug report by GR.
Version 2.04 - Beta release 24 Oct 2011, public release 19 Dec 2011
Added control to model optimization page for rounding precision of optimization results. Feature request by GR.
Widened parameter value text boxes in model Run Time tab by one digit (was 11, now 12). Feature request by JB.
Fixed bug in Simulated Annealing in which optimizer sometimes returned a bogus error code, with the result that the optimized parameters were not updated properly. Bug fix by GR.
Fixed bug in SBML import that calculated species concentration incorrectly. Bug fix by LS.
Improved unit handling during SBML import to produce more user-friendly names (e.g. millimeter*second^-1.0 is now mm/s).
CellML import now uses improved MathML processing routines that were previously used only by SBML import. The result is that approximately 100 more models on the CellML Models Page now run under JSim than did under version 2.03.
JSim's Biomodels archive has been updated to include approximately 150 new models.
Version 2.03 - Beta release 20 Sep 2011
PowerPC-based Macintoshes are no longer supported. You must have an Intel-based Mac to run JSim 2.03 and above.
Numerous upgrades to SBML import/export, thanks to LS:
- SBML export now includes units for variables.
- SBML import now treats units in a more idiomatic JSim-like fashion.
- An initial assignment to a constant value that uses a non-constant variable in the formula now gets the phrase 'when (t=t.min)' in front of it.
- Initial assignments for compartments were being lost, but now are found.
- Rational numbers in mathml now accepted.
- Stoichiometry Math is now working for SBML level 3 (this is where the stoichiometry of a reaction is a variable that can be used in other mathematical contexts, and changed or assigned values to over time.)
- The algebraic rule sorter had a bug when converting overdetermined systems to just-enough-determined systems.
- 'exponentiale' now accepted.
- A variety of functions like 'arctan' etc. are now converted to more basic forms.
- avogadro as a csymbol in mathml is now accepted.
- Boolean symbols 'false' and 'true' now accepted in mathML.
- A constant value with a delay equation ('x three seconds ago' when x is constant) is now converted to just 'x' in JSim.
- A bug where a species with an initial assignment that was flagged 'isSubstanceOnly' would cause JSim to crash if converting from sbml to sbml was fixed (a pointer was being saved in JSim that was part of the sbml model--when the model went out of scope, it deleted the pointer.)
Antimony model import, export and embedding are now supported.
jsbatch -osbml switch now accepts an SBML version number, e.g.
jsbatch -f test.mod -osbml l2v1
XMML output now supports constants with units.
The process of building JSim from source has changed somewhat.
Version 2.02 - Beta release 11 May 2011, public release 9 Aug 2011
Fixed bug in compiler's handling of delay ODEs that caused run-time errors in the VS001 model. Bug reports by MN, GR.
Improved error message for improperly formed integrals and summations. Bug report by JB.
Fix bug that caused stack dump during font resize when model is not compiled. Bug report by BJ.
Version 2.01 - Beta release 28 Mar 2011, public release 11 May 2011
Added Genetic algorithm based optimizer. Code by DC and GR.
Added alternative standard units file "nsrunitcgs.mod", which defines the same units as "nsrunit.mod", but implements CGS-based unit compatibility rather that SI-based compatibility. This can be important for some electrophysiology models in which, for example, conductivity may be expressed in either sec/cm or siemens, which are compatible units under CGS, but not under SI. The model "Debug" tab in the JSim GUI, now offers view options for both nsrunit and nsrunitcgs. To support nsrunitcgs, the JSim computational engine was modified to be units agnostic. Previously, "nsrunit" was assumed by all model, regardless of whether it was included in the model. Change request by JB.
Fixed bug in JSim GUI where SBML ouput text in model "Debug" pane did not properly refresh when model was recompiled. Bug report by BJ.
Completed XMML specification and implementation. Additions include unit types, implicit bounds and matrix, and calculation sequence. Also modified a number of tag names for consistency.
Added explicit error message when LSFEA PDE solver is run with too few grid points. Previously this error resulted in unhelpful ArrayIndexException. New code by GR.
SBML output now properly handles implicit equations.
Modified jsbatch -i and -o switches to replace at signs (@) in switch arguments by spaces. This is useful when specifying expressions with united constants which require embedded spaces, e.g. "(1 sec)".
MathML "logbase" tag is now properly handled during SBML/CellML import.
Version 2.00 - Public release Feb 22, 2011
This version introduces the new JSim compiler and associated functionality. See here for details.
JSim pop-up help is now disabled at program startup. Use F1 to enable hover help, Shift-F1 to enable fast help.
JSim's default background color is a deeper shade of blue for version 2. If you prefer the old color, select "Light blue background" from the Project tab Preferences menu.
PlanWriter plugins have been discontinued in version 2. Use the new XMML output instead.
The following bug has been noted: in the JSim GUI, SBML output text in model "Debug" pane does not properly refresh when a model is recompiled.
Previous versions
For information on earlier JSim releases, see here .
Comments or Questions?[This page was last modified 21May13, 11:53 am.]
Model development and archiving support at physiome.org provided by the following grants: NIH/NIBIB BE08407 Software Integration, JSim and SBW 6/1/09-5/31/13; NIH/NHLBI T15 HL88516-01 Modeling for Heart, Lung and Blood: From Cell to Organ, 4/1/07-3/31/11; NSF BES-0506477 Adaptive Multi-Scale Model Simulation, 8/15/05-7/31/08; NIH/NHLBI R01 HL073598 Core 3: 3D Imaging and Computer Modeling of the Respiratory Tract, 9/1/04-8/31/09; as well as prior support from NIH/NCRR P41 RR01243 Simulation Resource in Circulatory Mass Transport and Exchange, 12/1/1980-11/30/01 and NIH/NIBIB R01 EB001973 JSim: A Simulation Analysis Platform, 3/1/02-2/28/07.
