-
Notifications
You must be signed in to change notification settings - Fork 1
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
SBML -> Store Model IDs #8
Comments
Since this is coming up again for us, I'm wondering, whether we, at least within the cobra projects can figure out a way how we store our ids independent of conversions. I'm not sure, when a new FBC scheme will be ready and I don't know whether a "label" field is actually useful for us. What I'm wondering is if we can set up an annotation that allows literally "anything" to be stored as id e.g.
While I don't like this, it is the only way I can think of how we can handle "any" char... |
I think we need to define what characters are and are not going to be permitted, rather than allowing everything, which is too flexible. How about we start with the set of printable ASCII characters, available in matlab using: Then excluding certain special characters, such as [ ) |, or certain phrases 'and' 'or'. Once we have a proposition, we should try to get agreement across the cobra community. |
This sounds very reasonable to me! As a side note, for this annotation to work, we will also need to define a unique namespace URI, for instance, |
On the cobrapy side, if we stay with the current implementation it would also be very desirable to turn IDs into valid Python variable names. So they should follow a regex such as |
And here we got our first major clash 😄 With respect to restrictions: |
Coming back to this: And even this restriction could be overcome if we switch from the implicit representation of compartments in the ID to an explicit representation of the compartment in a metComps field. We will also soon have to handle the question on how to represent multiple tissues in both SBML and cobra models. Sure, SBML just defines all compartments in different tissues as individual compartments, but we will need to have something that (apart from again storing information in IDs) clarifies which compartments form a group in which tissue. My suggestion would be to use the The benefit would be, that SBML IDs would finally become what they are supposed to: pure computational IDs without attached meaning, while all meaning would be given by annotations. |
This is a spin of from #6, concerning only the SBML <-> COBRA ID conversion.
Current status is two options:
A: Define a clear conversion scheme between COBRA-ID and SBML ID
B: Add the
fbc
label as an extension ofSBase
instead of only onGeneProducts
.If B does not exist in a model, A will be used (and due to old code, some modifications will happen for backward compatability).
The text was updated successfully, but these errors were encountered: