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

Support SBML <notes> in Antimony #68

Open
mastevb opened this issue May 5, 2022 · 0 comments
Open

Support SBML <notes> in Antimony #68

mastevb opened this issue May 5, 2022 · 0 comments

Comments

@mastevb
Copy link

mastevb commented May 5, 2022

Currently, Antimony does not support the tag in SBML models.
For example,

<parameter constant="false" id="CL_rest" metaid="_274131" sboTerm="SBO:0000035" units="l_per_h">
    <notes>
        <p xmlns="http://www.w3.org/1999/xhtml">
        L-Dopa clearance via unspecified elimination pathways</p>
    </notes>
</parameter>

The textual description of the parameter will be lost when converting the model to Antimony.
We would like to support the tag to preserve important information in the model.

We have a few design proposals to consider.

Design Proposal 1

Embed the SBML notes as Antimony comments.
For example, a single-line comment would look like this:

// something about k1
k1 = 0.1

And a multi-line comment would look like this:

/*
something about k1
something else  about k1
*/
k1 = 0.1

Design Proposal 2

Create a new "notes" keyword in Antimony.
A single-line comment would look like this:

k1 = 0.1
k1 notes "something about k1"

Multi-line comments might be a little bit tricky to handle.
One way to handle multi-line comments could be:

k1 notes begin:
    abc
    sdf
    dsdc
notes end

where we use the "notes begin" and "notes end" keyword to signify the start and end of notes.

Design Proposal 3

Create a new operator in Antimony for notes to distinguish regular comments and SBML comments.
A single-line comment would look like this:

k1 = 0.1
k1 //! "something about k1"

We could use the ''' operator for multi-line comments. Example:

k1 '''
    abc
    sdf
    dsdc
'''

Another operator to consider is { and }, example:

model { this is my model
    and my model alone
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant