Giter Site home page Giter Site logo

myersresearchgroup / ibiosim Goto Github PK

View Code? Open in Web Editor NEW
54.0 54.0 20.0 830.11 MB

iBioSim is a computer-aided design (CAD) tool aimed for the modeling, analysis, and design of genetic circuits. It is capable of importing and exporting models specified using the Systems Biology Markup Language (SBML). iBioSim also supports the Synthetic Biology Open Language (SBOL), an emerging standard for information exchange in synthetic biology.

Home Page: http://www.async.ece.utah.edu/ibiosim

License: Apache License 2.0

Shell 0.03% Batchfile 0.01% Java 97.48% GAP 1.08% Perl 0.53% ANTLR 0.48% Verilog 0.37% Dockerfile 0.01%

ibiosim's People

Contributors

3ach avatar cjmyers avatar fontanapink avatar giarve avatar jmante1 avatar leandrohw avatar lukasbuecherl avatar mglont avatar michael13162 avatar thakurneupane avatar tramyn avatar zgzn avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

ibiosim's Issues

CHANGE: add better import and export support for SED-ML L1V2

Begin forwarded message:

From: David Nickerson [email protected]
Subject: Discussion on SED-ML future from COMBINE 2013
Date: October 1, 2013 10:00:53 PM MDT
To: [email protected]
Cc: Chris Myers [email protected]
=20
Hi all,
=20
At the recent COMBINE meeting in Paris we had a session where we
discussed some potential future features and requirements that may be
needed in SED-ML to make it more able to encode the requirements of
various user communities. Slides and video from the session will
(soon) be available at: http://co.mbine.org/events/COMBINE_2013/agenda
=20
The latter part of the session looked into some issues raised by Chris
Meyers and his experiences in evaluating SED-ML for use with the
iBioSim tool (http://www.async.ece.utah.edu/iBioSim/). As Chris was
unable to attend the session at COMBINE, and because these issues are
likely of wider interest to the SED-ML community, I provide here a
summary of the discussion from that session (my recollection, at
least, please correct me if I get anything wrong!). Everything is, of
course, open for discussion :)
=20

About a year ago, we implemented support for importing SED-ML files =
into iBioSim. More specifically, the subset of SED-ML that is used in =
the SBML test suite. This worked reasonably well, and we then =
considered potentially using SED-ML to describe internally the =
information that we store about our simulations, but we ran into several =
snags and have abandoned this for now. Note that my comments are at =
least a year old, so some of these items may have been addressed, and =
others may have been our own ignorance of how to use SED-ML. Also, this =
is likely not a complete list and some things are very specific to =
iBioSim. However, you may find some of the limitations useful to know =
about. Here are the items that we could not describe in SED-ML without =
using custom annotations:
=20

  1. Our SBML models are often converted to new models at various =
    levels of abstraction. Describing this process of conversion would not =
    be easy to express. We need to be able to say though which abstraction =
    we are using. This is likely a custom annotation.
    =20
    =20
    agreed, this is a custom annotation. It would be nice to see these
    kinds of annotations and how they are used in SED-ML to see if anyone
    else uses this sort of information when performing simulation
    experiments. I wonder if this is somewhat similar to the idea of
    having a template simulation experiment which can be applied to many
    different models, as long as there is some systematic manner by which
    to identify the required data from the model... if so, there may be
    some overlap with Jonathan's functional curation work and some of the
    extensions he has been using with SED-ML might be worth investigating
    to see if there is any common ground that could be standardised and
    exchanged?
    =20
  2. It would be nice to know a general class of analysis algorithm =
    being used (i.e., ODE, monte carlo, markovian, FBA, etc.) as well as =
    the more specific type of analyzer used. Ideally, this can be handled =
    by KISAO, but the support for KISAO did not make this very easy to do. =
    This may have been fixed by now.
    =20
    =20
    This should now be handled by KiSAO and libKiSAO
    (http://biomodels.net/kisao/libkisao.html). If not, feature requests
    (or code!) should be submitted there.
    =20
  3. Since we develop new simulation methodologies, we are often =
    creating new ones. This would require a lot of back in forth with KISAO =
    which is not very appealing especially since we abandon or consolidate =
    methods as time goes by. Perhaps, it is good to have custom analysis =
    method term with a string for the custom method. We also have methods =
    like produce GraphViz file or xHTML file, etc. Are these analysis =
    methods for KISAO? Not so sure that custom with string is not better =
    for those as well. Or in those, maybe term for display model and then a =
    custom field for type of display.
    =20
    =20
    Everyone agreed that being able to have a custom simulation algorithm
    would be a useful feature. I have added a feature request to the
    SED-ML tracker for this
    (https://sourceforge.net/p/sed-ml/feature-requests/5/). It would be
    good to get feedback from the community on this issue.
    =20
  4. We also have several options for an analysis that there is no =
    field for, such as whether runs should be generated or just statistics, =
    whether to use number of steps or a print interval (also have a minimal =
    print interval for non-uniform stepping). We need to be able to specify =
    both minimum and maximum allowed time steps, absolute error, random =
    seed, and number of runs. Some of these may be supported but I pretty =
    sure they are not all supported.
    =20
    =20
    Some of these are possible in SED-ML L1V2 using the simulation
    algorithm parameters now available in KiSAO (http://goo.gl/Bg8Pm1).
    These can be specified in the new construct
    introduced in SED-ML L1V2. Others can be implemented making use of the
    new nested tasks and simulation classes that will also be available in
    SED-ML L1V2. Others, such as random seed, might need extensions to
    KiSAO or SED-ML to be completely supported. Similar features may also
    be supported by the post-processing of simulation results in the
    SED-ML data generators.
    =20
    In any case, if there are specific use-cases not supported by any of
    the above we are very keen to hear about them and see them in action.
    =20
  5. I mentioned that we have various model abstraction techniques, =
    things like applying steady state approximations, etc. There is no way =
    to specify these and their corresponding parameters.
    =20
    =20
    SED-ML L1V2 introduces the steady-state simulation class which might
    address some of your requirements here. It would be great to see if
    you could encode your other abstraction techniques in SED-ML, perhaps
    using the custom simulation algorithm mentioned above along with some
    custom algorithm parameters.
    =20
  6. We have means to modify parameters and initial values for =
    simulation, but I was not enamored with the method for this in SED-ML. =
    I feel like something like replacements and deletions in comp may work =
    better.
    =20
    =20
    People involved in the COMBINE discussion agreed that it would not be
    a good idea to make use of SBML's comp package directly and that the
    current methods available in SED-ML worked sufficiently well to meet
    peoples needs. If you have specific examples where something closer to
    the comp constructs might be better, then it would be great to discuss
    them here.
    =20
  7. We have a visualization tool that allows us to play back a =
    simulation on a schematic, so we need a way to associate colors =
    gradients to values from the simulation.
    =20
  8. The graphing support in SED-ML is lacking things like colors to =
    use, shapes to use, whether the points should be connected or not, or =
    the shapes should be visible or filled. Also, how to scale the plots, =
    whether to have a log axis, should the legend be visible. How about =
    using an x-axis other than time? We also support histograms for some =
    types of data like the probability of each type of constraint being =
    violated, and I don't think there is support for that.
    =20
    =20
    SED-ML provides a method to encode the application of a simulation
    algorithm to a model to produce some data, along with pre- and
    post-processing steps. It doesn't have any concept for the graphical
    representation of the data, other than the possibly badly named plot*,
    curve, and surface elements. People at COMBINE feel that this is a
    good scope for SED-ML and that we don't want to start getting in to
    describing the graphical rendering of the resultant data. The output
    classes currently available in SED-ML are aimed at producing the
    required data, rather than what to actually do with that data - other
    than the hints provided by the element names such as plotting a curve
    on a set of axes. During the meeting, Nicolas pointed out the Charts
    Ontology (http://data.lirmm.fr/ontologies/chart), which might be
    useful if we want to extend the output classes in SED-ML in future
    versions if the community agrees that this is something we do need to
    address.
    =20
    Things like an x-axis other than time, scaling of data, and log axes
    are already a part of SED-ML.
    =20
    Issues like producing the data for a histogram or other more detailed
    post-processing are likely beyond the scope of the current data
    generators in SED-ML. One way to address this is by being able to link
    the results from one simulation as the inputs to another simulation,
    which would allow arbitrary complexity in the post-processing inasmuch
    as the modelling language you use to encode the model supports it.
    Feature requests and proposals for extensions to SED-ML are always
    welcome :)
    =20
    I should probably look at SED-ML again and re-evaluate, but last time =
    it seemed like our SED-ML file would be more custom annotation than =
    SED-ML file which is why we abandoned it. I'm not sure which items =
    above are common across tools, but it would be interesting to see if =
    there is at least some commonality that can be weaved into SED-ML.
    =20
    =20
    It would be great if iBioSim were to be able to export SED-ML,
    especially given that you support (or will support) a large number of
    the SBML L3 packages and will therefore provide a great test-case for
    the usefulness of SED-ML with a wide range of types of SBML models. If
    you, or anyone out there, have any further questions or points for
    discussion, I'm sure there are people on this list happy to help out
    where possible.
    =20
    Stay tuned for the release of SED-ML L1V2 :)
    =20
    =20
    Cheers,
    David.

BUG: problems with two biomodels

For two biomodels (13 and 70), simulation is incredibly slow. Details
of road runner on these examples is below. Can this be exploited to
improve our results.

Begin forwarded message:

From: "Frank T. Bergmann" [email protected]
Date: February 8, 2010 1:46:01 PM MST
To: "'Chris J. Myers'" [email protected]
Subject: RE: Question

We are using CVODE as available from here:

https://computation.llnl.gov/casc/sundials/description/
description.html

roadRunner can be controlled via web service ... and thus all values
can
easily be changed ... currently roadRunner is using:

<section name = "integration" method ="CVODE" description = "CVODE
Integrator">
<cap name = "BDFOrder" value = "5" hint = "Maximum order for BDF
Method"
type = "int"/>
<cap name = "AdamsOrder" value = "12" hint = "Maximum order for
Adams
Method" type = "int"/>
<cap name = "rtol" value = "1E-06" hint = "Relative Tolerance"
type =
"double"/>
<cap name = "atol" value = "1E-16" hint = "Absolute Tolerance"
type =
"double"/>
<cap name = "maxsteps" value = "10000" hint = "Maximum number of
internal
steps" type = "int"/>

http://128.208.17.26/generate/edu_kgi_roadRunner.asmx/getCapabilities

however you are correct, CVODE uses adaptive step sizes, and
roadRunner only
supplies the points closes to the requested output points.

best
Frank

-----Original Message-----
From: Chris J. Myers [mailto:[email protected]]
Sent: Monday, February 08, 2010 12:40 PM
To: Frank Bergmann
Subject: Question

What ODE algorithm are you using in road runner? I assume that it is
adaptive time step. What absolute and relative error are the
defaults
for the web interface? Are there any other special parameters?

It seems that models 13 and 70 require a very small time step
initially which bogs down my simulator. If I try to prevent the time
step from getting too small, the results diverge. It is quite
strange.

Thanks,

Chris

CHANGE: flattening rules for merging SBML elements

  1. Compartment information should come from the associated compartment
    or the top-level compartment is no compartment is associated.

  2. For input species, drop all initial assignments, rules, and events
    involving them.

  3. For output species which are port mapped to a species which is port
    mapped only to other input species, rule 2 should prevent any conflicts.

  4. For output species which are port mapped to a species which is port
    mapped to other output species, need to rename the species using the
    component instance name and add an assignment rule that adds up all
    the species amounts for the corresponding output species.

  5. For function and unit definitions with the same ID, check that they
    are identical. If so, keep one copy. If not, need to rename the
    function or unit definition using the component instance name.

BUG: Events with Delay Don't Work in iSSA

When restarts occur at the start of the next increment in iSSA, the event q=
ueue is lost. This means that if an event has delay larger than the curren=
t run's increment, then the event will be placed on the queue, but will nev=
er fire because that part of the state is lost. We need to figure out how =
to preserve the event queue or decide that events with delay are disallowed=
in iSSA. Perhaps we can store the event queue for each run and then resto=
re the event queue for the selected path.

BUG: need to ensure that export SBML produces valid models

When creating a single SBML file for export should ensure that all deletions/replacements are still valid. Submodels may have changed, so a cleanup may be necessary.

This should also likely be done at various other points such as when you edit a component or perhaps even load a model.

FEATURE: Model Organism Templates

Considering that synthetic gene circuits are mainly being built and tested =
in model organisms, it may be helpful in the future to have template iBioSi=
m models with typical compartment sizes, mRNA and protein degradation rates=
, etc. for E. coli and S. cerevisiae. Another nice future functionality cou=
ld be if the effects of cell growth (binomial partitioning and dilution of =
molecules) could be automatically incorporated into models in organism-depe=
ndent manner.=

FEATURE: general initial assignments

When reading an SBML file with initial assignments, if the index variables are not just "i" and "j" OR the dimension is not simply the full size of the object being assigned then, provide additional fields to allow these to be edited and customized.

FEATURE: decomposition of cyclic genetic networks

Decompose and partition cyclic genetic networks into a set of acyclic genetic networks which cover all regulation. Then, each can be individually covered. However, there may be dependencies across the partitions in that they will need to agree on source/sink node species.

FEATURE: add support for connection through IDs

Allow species with the same idea to be identified perhaps using the type to indicate that they should be connected with other species of the same id when the model gets generated. This is to reduce the clutter and avoid the need for port mapping in some instances.

We may want to consider adding a global Id perhaps using SBML groups.

This feature was inspired by this email from Jason below:

Hi everyone,

I've been thinking about connecting species between components. The current input/output method works well for small systems, but it seems like to would become cumbersome if you're connecting species between, say, 10 components (that all exist within the same compartment). Let's say you want these 10 components to have AHL as an input and output. Biologically, the AHL from these 10 components would wander over to the other components. With the current input/output method, if you want these 10 components to "share" a common stock of AHL, I don't think it's possible. The closest thing you can do is have all 10 components produce 10 different AHL output species and accept 10 different AHL input species. Then you've got to do 10^2 pairwise input/output connections to get the AHLs to go between each component. (If I'm missing something here, please correct me.)

So, the input/output method does not scale very well. Moreover, if you choose to not use input/output, and you stick 10 components together in the same compartment, you inadvertently have created 10 compartments, essentially. There are no automatic cross-component interactions.

What I propose is a project-level species management panel. This panel would list all species in the project (which you can narrow down). Next to the species would be a list of all components where this species occurs (ie, where the species' global ID** occurs). You could then select which components you wish to allow this species to automatically migrate to, which would be limited by compartment "membranes" unless the species is diffusible. (By "migrate to" I mean "become well-stirred with".) There would be options for "all" or "none", which would be the most commonly used things. ("All would be the default. "None" would be useful if you want the species to participate in a spatial modeling grid.) So, within compartments, all "allowed" component species with the same global ID** would be merged (their initial amounts/concentrations added together), and then this merged species would be the one used in reactions within that compartment. All RNAP/Promoter bindings and production reactions, for instance, would use this compartment-level species, so that means there are automatic cross-component interactions.

**I also propose a new identifier for species. This would be called a global ID (or something like that). An example would be "AHL" or "glucose" or "TetR" or "Part004523" or whatever. These are not required to be unique and the program would consider all species with the same global ID to be identical. This would allow you, for instance, to assign an SBOL file to a global ID and then all species with that global ID would have that SBOL file associated. The same goes for various rates and constants. There would be a separate place to manage all of the global species and their values associated SBOL (and save them and so on). Alternatively, we could have the name identifier be this global ID, but it seems like a global ID and a name could both be used (and if we do that, we could keep the species ID hidden).

Hopefully that all makes sense. Let me know what you think.

Best,
Jason

BUG: accuracy issues with test suite examples

The following examples will not get accurate enough results with an
inf maximum time step:

00028, 00173, 00194, 00196, 00197, 00198, 00200, 00201, 00269, 00274,
00276, 00278, 00279, 00870, 00872

BUG: Move Random error rkf45 (java)

Bug reported by: [email protected]

Description:
When I simulate a cell with random movement in the rkf45 (java) simulator it comes up with a NullPointerException. This error does not come up when using the SSA-Direct (java) simulator.

Stack trace:
java.lang.NullPointerException
at analysis.dynamicsim.Simulator.fireEvents(Simulator.java:2183)
at analysis.dynamicsim.SimulatorODERK.simulate(SimulatorODERK.java:285)
at analysis.dynamicsim.DynamicSimulation.simulate(DynamicSimulation.java:85)
at analysis.Run.execute(Run.java:1266)
at analysis.AnalysisView.run(AnalysisView.java:2214)
at analysis.AnalysisThread.run(AnalysisThread.java:24)

FEATURE: events in transient Markov analysis

Events can be translated to LPN transitions with delays, and they can be fired during Markov analysis.

Details of what would be allowed still need to be worked out.

Likely needs to be a very deterministic event.

CHANGE: use XMLNode to parse annotations when supported by JSBML

Begin forwarded message:

From: Nicolas Rodriguez [email protected]
Subject: Re: [jsbml-team] Annotations
Date: November 13, 2013 at 4:34:03 AM MST
To: The JSBML development team mailing list [email protected]
Cc: "Chris J. Myers" [email protected]
=20
On 11/12/2013 09:55 PM, Chris J. Myers wrote:

I see. It is just unfortunate that libsbml uses a different scheme. =
I think libsbml may bias towards putting the namespace before other =
attributes. At least, it appears that way. We are using Java Pattern =
to parse our custom annotations, so we had to rewrite our regular =
expressions to match either order. Perhaps, we need to make a real =
parser for our custom annotations. However, most of them are meant to =
be temporary before packages are developed such as Arrays.
=20
In the long run, when jsbml does support them on annotation, the best =
way would be to use XMLNode to query for your annotation.
=20
Nico
=20
On Nov 12, 2013, at 2:47 PM, Andreas Dr=E4ger =
[email protected] wrote:
=20

Am 09.11.13 09:47, schrieb Chris J. Myers:

Is there some reason that JSBML outputs annotation attributes =
before namespaces? libsbml has the opposite behavior making our parsing =
of annotations really complicated as we have to look for both scenarios =
to be backwards compatible with our libsbml generated examples.
Hi Chris,
=20
Actually, JSBML does not rank the attributes when writing XML code. =
I am assuming you mean attributes for one XML element, i.e., not nested =
elements. However, the methods writeAttribute in all elements in JSBML =
use a sorted map internally. Thus, you have:
=20
<element attribute1=3D"value1" attribute2=3D"value2" .../>,
=20
i.e., all attributes should be alphabetically ordered. The other =
option would be to have a random order. JSBML does not have any more =
sophisticated logic or assumptions about the order of attributes.
=20
Cheers
Andreas
=20
--=20
Dr. Andreas Draeger
University of California, San Diego, La Jolla, CA 92093-0412, USA
Bioengineering Dept., Systems Biology Research Group, Office #2506
Phone: +1-858-534-9717, Fax: +1-858-822-3120, twitter: @dr_drae

FEATURE: immediate transitions for Markov analysis

Markov analysis can support immediate transitions in the following way:

During state exploration, immediate transitions (i.e., those with 0
delay) should be interleaved only with other immediate transitions and
fired before any non-immediate transitions.

During Markov analysis, the transition probabilities for the immediate
states should be determined via the priority if specified as an
exponential random variable. Otherwise, assume all immediate
transitions are equally likely. All immediate states should have
their probability set to 0 when finding the CTMC steady state
probabilities.

CHANGE: more options for dynamic objects

Currently dynamically created objects inherit appearance from their parents. Is this the best approach? Would it be better for some uses to be able to allow children to have different appearance, for example to track generations?

FEATURE: arbitrary dimension ids

When dimension ids do not match the defaults (d0, d1, d2, etc.) then we should show them in the ID field like this:

[=0..] etc.

CHANGE: need to check SBO terms on import

When importing a model, should check that SBO terms are used as expected for iBioSim. Terms will need to be changed or at least warnings given when there is a clash with an SBO term being used by iBioSim.

Chris

CHANGE: redo model generation code using comp

The model generation code is still very tied to the old GCM model. This code should be rewritten to use SBML and comp. In particular, the current SBML model is nearly an abstracted model to begin with. To expand it, should be able to use comp to create new submodels to represent genetic regulation, transcription, and translation at various levels of abstraction. This should address the aliasing problems due to species being created in these expanded models.

For abstracted models, this can potentially be done either by removing elements or possibly using replacements/deletions. In the former case, layout can be preserved.

In this redone version, we should also put units back in.

This should address bugs 5124, 5409, 5570, and 5808 so I'm closing them.

BUG: Disconnect between cell movement and diffusible species

iBioSim Version 2.4.6

Operating system: Linux

Bug reported by: [email protected]

Description:
When I model random cell movement with species diffusing from the moving cell, a very strange thing appears to happen. Even though I can see the cell moving around on the schematic, the diffusible proteins that are being produced by the cell and get pumped out to the grid always go to the original cell location. Thus, even though the cell may move many grid locations away, the proteins it produces always go to the same place.

FEATURE: change threshold boxes to single text box

Everywhere (learn views, logic thresholds, etc.) use a single text box
with a comma separated list of values. Only refer to the number when
the textbox is empty as the number of thresholds you want to find.
Update the number if the text box exists with the number of values in
the text box.

FEATURE: fast reaction support

Reactions marked as fast should only be used to set the equilibrium
value. In other words, they should occur infinitely fast during
simulation.

CHANGE: change conversion between libsbml and jsbml

For some operations, we still need libsbml. Should convert them more =
seemlessly without go to/from files, if possible.

Begin forwarded message:

From: Andreas Dr=E4ger [email protected]
Subject: Re: [jsbml-team] does JSBML support level/version conversion =
?
Date: November 12, 2013 4:33:24 PM MST
To: The JSBML development team mailing list [email protected]
Cc: LEANDRO HIKIJI WATANABE [email protected], Goksel Misirli =
[email protected], Curtis Kendall Madsen =
[email protected], Chris Myers [email protected]
=20
Hi Chris,
=20
Please have a look at these folders:
=20

http://sourceforge.net/p/jsbml/code/HEAD/tree/trunk/modules/libSBMLio/test=
/org/sbml/jsbml/libsbmlio/

=20
and
=20

http://sourceforge.net/p/jsbml/code/HEAD/tree/trunk/modules/libSBMLio/test=
/org/sbml/jsbml/libsbmlio/test/

=20
You can find a simple application and also some test cases. Important =
is always the TreeNodeChangeListener that updates libSBML's data =
structures upon any change in the JSBML structure. There is always a =
pointer from each JSBML object to the corresponding libSBML object.
=20
However, packages are not implemented (simply because of a lack of =
time).
=20
Cheers
Andreas
=20

Cool. Do you have any sample code using this?
=20
Chris
=20
On Nov 12, 2013, at 2:08 PM, Andreas Dr=E4ger =
[email protected] wrote:
=20

Am 11.11.13 06:52, schrieb Chris J. Myers:

Sure. I added code to use libsbml via a write, read into libsbml =
object, write, and read into jsbml object. But, it would be nice to =
have the web service as well.
Hi,
=20
There is a module for libSBMLio in JSBML, which uses libSBML for =
reading the model converting it into JSBML data structures and to =
synchronize any change in the JSBML model at any time to the libSBML =
data structure. When writing the model, again the libSBML writer can be =
used. In this way, local consistency checks are possible as well as =
access to level/version conversion and again reading the model using =
libSBML again. You can find it in the modules folder. I have just =
updated the entire module and am still working on it.
=20
Cheers
Andreas
=20
--=20
Dr. Andreas Draeger
University of California, San Diego, La Jolla, CA 92093-0412, USA
Bioengineering Dept., Systems Biology Research Group, Office #2506
Phone: +1-858-534-9717, Fax: +1-858-822-3120, twitter: @dr_drae
=20
=20
--=20
Dr. Andreas Draeger
University of California, San Diego, La Jolla, CA 92093-0412, USA
Bioengineering Dept., Systems Biology Research Group, Office #2506
Phone: +1-858-534-9717, Fax: +1-858-822-3120, twitter: @dr_drae

FEATURE: convert genetic networks to canonical form

Convert a genetic network to its canonical form which likely consists of just repression arcs.

This should be applied to both library gates and the subject graph before covering and after decomposition into acyclic graphs.

BUG: problem with stochastic simulation with non-item units

When stochastic simulation is performed on a model that is not in item units, it is necessary to first convert it to a model in item units. For example, if the substance units is in moles, then you need to multiply by avogadro's number first.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.