-
Notifications
You must be signed in to change notification settings - Fork 12
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
Add PEtab 2.0 draft #554
Add PEtab 2.0 draft #554
Commits on Jul 3, 2024
-
Configuration menu - View commit details
-
Copy full SHA for 1eade37 - Browse repository at this point
Copy the full SHA 1eade37View commit details -
Configuration menu - View commit details
-
Copy full SHA for 011ea5e - Browse repository at this point
Copy the full SHA 011ea5eView commit details -
Configuration menu - View commit details
-
Copy full SHA for 992a278 - Browse repository at this point
Copy the full SHA 992a278View commit details -
Proposal for the introduction of extensions (#537)
* extract all changes from previous * fixup * allow hyphens in extension names * fixup hyphens * only require one toolbox that implements extension * specify how to work with multiple PEtab problems * specify we do not require a quorum number of votes * allow test cases to be provided by the extension library * Apply suggestions from code review Co-authored-by: Daniel Weindl <[email protected]> Co-authored-by: Daniel Weindl <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 617431c - Browse repository at this point
Copy the full SHA 617431cView commit details -
Configuration menu - View commit details
-
Copy full SHA for b83348d - Browse repository at this point
Copy the full SHA b83348dView commit details -
Add
required
attribute to extensions in yaml file (#545)PEtab extensions were introduced in #537. We should be able to distinguish there between optional extensions and required extensions, i.e. those that modify the parameter estimation problem as such, and those that just add additional/optional information (e.g. annotations, info for visualization, ...). If some tool does not know about a certain optional extension, it can safely be ignored during import, if it does not know about a required extension, it should fail. This PR adds a `required` attribute to extensions in the yaml file to indicate whether they are required for the mathematical interpretation of the PEtab problem. Resolves #544
Configuration menu - View commit details
-
Copy full SHA for 88c6605 - Browse repository at this point
Copy the full SHA 88c6605View commit details -
Clarify implications of 'parameterScale' (#547)
Co-authored-by: Dilan Pathirana <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for bacf83e - Browse repository at this point
Copy the full SHA bacf83eView commit details -
Configuration menu - View commit details
-
Copy full SHA for c2bb990 - Browse repository at this point
Copy the full SHA c2bb990View commit details -
Specification of math expressions (#579)
Previously, the math expression syntax wasn't specified. This was very problematic, because different libraries and programming languages have different names for the same functions, and more importantly, differ in operator precedence. Co-authored-by: Dilan Pathirana <[email protected]> Co-authored-by: dilpath <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 5fa0f1f - Browse repository at this point
Copy the full SHA 5fa0f1fView commit details -
Allow using observable IDs in
observableFormula
andnoiseFormula
(#…Configuration menu - View commit details
-
Copy full SHA for fcccbcf - Browse repository at this point
Copy the full SHA fcccbcfView commit details -
Proposal: Different languages for model specification (#538)
# 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: * Change `sbml_files` to `models` * `models` entries will be model IDs (following the existing conventions for PEtab IDs) mapping to: * `location`: path / URL to the model * `language`: model format Initial set of model format identifiers (to be extended as needed): * SBML: `sbml` * CellML: `cellml` * BNGL: `bngl` * PySB: `pysb` * An additional entry for mapping tables (see below) is added Example: **Before:** ```yaml format_version: 1 parameter_file: parameters.tsv problems: - condition_files: - conditions.tsv measurement_files: - measurements.tsv observable_files: - observables.tsv sbml_files: - model1.xml ``` **After:** ```yaml format_version: 2.0.0 parameter_file: parameters.tsv problems: - condition_files: - conditions.tsv measurement_files: - measurements.tsv observable_files: - observables.tsv mapping_file: mappings.tsv # optional models: id_for_model1: location: model1.xml language: sbml ``` * Changes to the format of existing tables/files: * Condition/Observable/Parameter Table All symbols that previously referenced the ID of SBML entities, such as parameter IDs or compartment IDs, now refer to (globally unique) named entities in the model, such as parameters, observables, expressions. For example, condition table columns may correspond to parameters, states, species of the referenced model. For species, assignments in the condition table set the initial value at the beginning of the simulation for that condition, potentially replacing the initialization from preequilibration. For all other entities, values are statically replaced at all time points. For entities that assign values to other entities, such as SBML AssignmentRules, the value of the target of that rule is statically replaced at all time points. * Additional files * Mapping Table: Mapping PEtab entity IDs to entity IDs in the model. This optional file may be used to reference model entities in PEtab files where the ID in the model would not be a valid identifier in PEtab (e.g., due to containing blanks, dots, or other special characters). The tsv file has two mandatory columns: `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 * Tools need to check the model format and provide an informative message if the given format cannot be handled * Validators will skip model-dependent validation when encountering unknown model types - ideally there would be some plugin mechanisms to provide validation --- Co-authored by @FFroehlich @fbergmann. Also thanks to everybody participating in these discussions during the last COMBINE meeting. --------- Co-authored-by: FFroehlich <[email protected]> Co-authored-by: Dilan Pathirana <[email protected]> Co-authored-by: Frank T. Bergmann <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for d650906 - Browse repository at this point
Copy the full SHA d650906View commit details -
Configuration menu - View commit details
-
Copy full SHA for 06697a4 - Browse repository at this point
Copy the full SHA 06697a4View commit details -
Configuration menu - View commit details
-
Copy full SHA for f7b51a2 - Browse repository at this point
Copy the full SHA f7b51a2View commit details
Commits on Jul 8, 2024
-
Configuration menu - View commit details
-
Copy full SHA for a3f1e03 - Browse repository at this point
Copy the full SHA a3f1e03View commit details -
Apply suggestions from code review
Co-authored-by: Dilan Pathirana <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 68c309a - Browse repository at this point
Copy the full SHA 68c309aView commit details