Closed dweindl closed 2 days ago
no pattern matching will be performed
So just that I understand this correctly, if I want to do pattern matching, I can still create a BNGL observable in the BNGL model like so
begin molecule types
A(b~c~d)
end molecule types
begin observables
Species myObservable A()
end observables
...
and use its ID myObservable
in PEtab 2.0.0, for instance in the observable table (even without the mapping table, unless for whatever reason, I've decided to use an ID for the BNGL observable that contains characters that are not allowed in PEtab), but not in the condition table (as I would not know how that makes sense, also not if I map it to another petabEntityId
in the mapping table, of course).
Anyway, awesome that PEtab will soon allow other model specifications. Thanks and congratulations!
no pattern matching will be performed
So just that I understand this correctly, if I want to do pattern matching, I can still create a BNGL observable in the BNGL model like so
begin molecule types A(b~c~d) end molecule types begin observables Species myObservable A() end observables ...
and use its ID
myObservable
in PEtab 2.0.0, for instance in the observable table (even without the mapping table, unless for whatever reason, I've decided to use an ID for the BNGL observable that contains characters that are not allowed in PEtab), but not in the condition table (as I would not know how that makes sense, also not if I map it to anotherpetabEntityId
in the mapping table, of course).
Yes, that is correct. In principle, you could also assign the value of the observable in the condition table, but there probably are only a few circumstances where this would make sense.
Anyway, awesome that PEtab will soon allow other model specifications. Thanks and congratulations!
Thank you!
Motivation
There are a number of formats for specifying models in systems biology, each with their specific strengths and weaknesses. PEtab version 1.0.0 only allows Systems Biology Markup Language (SBML) models. While SBML is supported by a large number of tools, there are good reasons to use other formats. For example, rule-based model formats (e.g., BioNetGenLanguage) permit more abstract and compact specification of models based on rules, which are generalisations of reactions. Therefore, and based on user request (#436), we propose to lift PEtab’s restriction to SBML models and allow arbitrary model formats.
Proposed changes
Changes to the PEtab YAML file:
sbml_files
tomodels
models
entries will be model IDs (following the existing conventions for PEtab IDs) mapping to:location
: path / URL to the modellanguage
: model format Initial set of model format identifiers (to be extended as needed):sbml
cellml
bngl
pysb
Example:
Before:
After:
Changes to the format of existing tables/files:
Additional files
petabEntityId
,modelEntityId
. Additional columns are allowed. modelEntityIds must be unique identifiers in the model. The mapping table must not map modelEntityIds to petabEntityIds that are also defined in any other part of the PEtab problem. modelEntityId may not refer to other petabEntityIds, including those defined in the mapping table. petabEntityIds defined in the mapping table may be referenced in condition, measurement, parameter and observable tables, but cannot be referenced in the model itself. For example, in SBML, local parameters may be referenced as$reactionId.$localParameterId
, which are not valid PEtab IDs as they contain a.
character. Similarly, this table may be used to reference specific species in a BGNL model which may contain many unsupported characters such as,
,(
or.
. However, please note that IDs must exactly match the species names in the BNGL generated network file and no pattern matching will be performed.Implications
Co-authored by @FFroehlich @fbergmann. Also thanks to everybody participating in these discussions during the last COMBINE meeting.