Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Where possible return unit information with get_parameters_variables_outputs_for_simulation #69

Open
5 tasks
jonrkarr opened this issue Oct 10, 2021 · 3 comments
Labels
enhancement New feature or request Modeling format

Comments

@jonrkarr
Copy link
Member

This information would be useful for composition.

  • Languages with units
    • SBML -- SBML has some support for units, but many models don't use this.
  • Languages with implicit units
    • RBA
    • GINML/ZGINML -- units are dimensionless
    • Smoldyn -- units are number of particles
  • Languages with implicit units for stochastic algorithms; units not captured for other algorithms
    • BNGL -- units are particles
  • I think units may be implicit. In any case, more documentation or community help is needed to provide introspection for these.
    • NeuroML
    • LEMS
  • Languages without units
    • CellML -- could capture units with annotations, but I don't think this is done and certainly sufficiently consistently to read this information with code. Units could be captured in OMEX Metadata files, but no one is doing that.
    • XPP -- stochastic simulations sort have implicit units of particles

Tagging @eagmon.

@jonrkarr jonrkarr added enhancement New feature or request Modeling format labels Oct 10, 2021
@bilalshaikh42
Copy link
Contributor

  • CellML -- could capture units with annotations, but I don't think this is done and certainly sufficiently consistently to read this information with code. Units could be captured in OMEX Metadata files, but no one is doing that.

CellML has units defined as follows:

   <units name="uA">
      <unit prefix="micro" units="ampere"/>
   </units> 

which can then be used in variables as

   <component name="membrane">
      ...  
      <variable name="I_Stim" public_interface="out" units="uA"/>
  </component>

Am I missing something regarding why this is different from SBML/ considered not supported?

@luciansmith
Copy link
Contributor

Not only are CellML units present and supported, they are also required.

@luciansmith
Copy link
Contributor

Actually, it goes even further than that--CellML interpreters are supposed to at least have the option to have units affect the mathematics. In SBML '1 + 1' will always equal '2' even if they are different units (in which case, you can get a unit validation error/warning.) But in CellML, '1 g + 1 cg' should be allowed to equal 1.01 g. (Though somehow this is optional? I think?)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request Modeling format
Development

No branches or pull requests

3 participants