PEtab-dev / PEtab-dev/libpetab-python
Validator does not check for required column `noiseFormula` in observables table
Open
validation
- Dominant language
- Python
- Stars
- 18
- Forks
- 9
- PR merge metrics
- No merged PRs in 30d
Description
Validator does not check for presence of the required column noiseFormula in observables table
See also https://github.com/PEtab-dev/PEtab/issues/259
EDIT: The validator would check for noiseFormula, if it wouldn't already fail during validating the measurement table:
Traceback (most recent call last):
File "bin/petablint", line 8, in <module>
sys.exit(main())
^^^^^^
File "/home/dweindl/src/libpetab-python/petab/petablint.py", line 132, in main
ret = petab.lint.lint_problem(problem)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/dweindl/src/libpetab-python/petab/lint.py", line 831, in lint_problem
check_measurement_df(problem.measurement_df, problem.observable_df)
File "/home/dweindl/src/libpetab-python/petab/lint.py", line 169, in check_measurement_df
measurements.assert_overrides_match_parameter_count(
File "/home/dweindl/src/libpetab-python/petab/measurements.py", line 256, in assert_overrides_match_parameter_count
observable_df[NOISE_FORMULA])}
~~~~~~~~~~~~~^^^^^^^^^^^^^^^
File "lib/python3.11/site-packages/pandas/core/frame.py", line 3761, in __getitem__
indexer = self.columns.get_loc(key)
^^^^^^^^^^^^^^^^^^^^^^^^^
File "lib/python3.11/site-packages/pandas/core/indexes/base.py", line 3655, in get_loc
raise KeyError(key) from err
KeyError: 'noiseFormula'
So the problem is rather the order of the checks. And whether we want stop upon the first error, or continue checking other files.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.