petab.lint

Integrity checks and tests for specific features used

Functions

assert_all_parameters_present_in_parameter_df(…) Ensure all required parameters are contained in the parameter table with no additional ones
assert_measured_observables_present_in_model(…) Check if all observables in measurement files have been specified in the model
assert_model_parameters_in_condition_or_parameter_table(…) Model parameters that are targets of AssignmentRule must not be present in parameter table or in condition table columns.
assert_no_leading_trailing_whitespace(…)
assert_noise_distributions_valid(measurement_df) Check whether there are not multiple noise distributions for an observable, and that the names are correct.
assert_overrides_match_parameter_count(…) Ensure that number of parameters in the observable definition matches the number of overrides in measurement_df
assert_parameter_bounds_are_numeric(parameter_df) Check if all entries in the lowerBound and upperBound columns of the parameter table are numeric.
assert_parameter_estimate_is_boolean(…) Check if all entries in the estimate column of the parameter table are 0 or 1.
assert_parameter_id_is_string(parameter_df) Check if all entries in the parameterId column of the parameter table are string and not empty.
assert_parameter_id_is_unique(parameter_df) Check if the parameterId column of the parameter table is unique.
assert_parameter_scale_is_valid(parameter_df) Check if all entries in the parameterScale column of the parameter table are ‘lin’ for linear, ‘log’ for natural logarithm or ‘log10’ for base 10 logarithm.
check_condition_df(df, sbml_model)
check_measurement_df(df)
check_parameter_bounds(parameter_df) Check if all entries in the lowerBound are smaller than upperBound column in the parameter table.
check_parameter_df(df, sbml_model, …)
condition_table_is_parameter_free(condition_df) Check if all entries in the condition table are numeric (no parameter IDs)
lint_problem(problem) Run PEtab validation on problem
measurement_table_has_observable_parameter_numeric_overrides(…) Are there any numbers to override observable parameters?
measurement_table_has_timepoint_specific_mappings(…) Are there time-point or replicate specific parameter assignments in the measurement table.
petab.lint.assert_all_parameters_present_in_parameter_df(parameter_df: pandas.core.frame.DataFrame, sbml_model: libsbml.Model, measurement_df: pandas.core.frame.DataFrame, condition_df: pandas.core.frame.DataFrame)

Ensure all required parameters are contained in the parameter table with no additional ones

petab.lint.assert_measured_observables_present_in_model(measurement_df, sbml_model)

Check if all observables in measurement files have been specified in the model

petab.lint.assert_model_parameters_in_condition_or_parameter_table(sbml_model: libsbml.Model, condition_df: pandas.core.frame.DataFrame, parameter_df: pandas.core.frame.DataFrame)

Model parameters that are targets of AssignmentRule must not be present in parameter table or in condition table columns. Other parameters must only be present in either in parameter table or condition table columns. Check that.

petab.lint.assert_noise_distributions_valid(measurement_df)

Check whether there are not multiple noise distributions for an observable, and that the names are correct.

petab.lint.assert_overrides_match_parameter_count(measurement_df, observables, noise)

Ensure that number of parameters in the observable definition matches the number of overrides in measurement_df

:param : param measurement_df: :param : param observables: dict: obsId => {obsFormula} :param : param noise: dict: obsId => {obsFormula}

petab.lint.assert_parameter_bounds_are_numeric(parameter_df)

Check if all entries in the lowerBound and upperBound columns of the parameter table are numeric.

petab.lint.assert_parameter_estimate_is_boolean(parameter_df)

Check if all entries in the estimate column of the parameter table are 0 or 1.

petab.lint.assert_parameter_id_is_string(parameter_df)

Check if all entries in the parameterId column of the parameter table are string and not empty.

petab.lint.assert_parameter_id_is_unique(parameter_df)

Check if the parameterId column of the parameter table is unique.

petab.lint.assert_parameter_scale_is_valid(parameter_df)

Check if all entries in the parameterScale column of the parameter table are ‘lin’ for linear, ‘log’ for natural logarithm or ‘log10’ for base 10 logarithm.

petab.lint.check_parameter_bounds(parameter_df)

Check if all entries in the lowerBound are smaller than upperBound column in the parameter table.

petab.lint.condition_table_is_parameter_free(condition_df)

Check if all entries in the condition table are numeric (no parameter IDs)

petab.lint.lint_problem(problem: petab.core.Problem)

Run PEtab validation on problem

Parameters:problem – PEtab problem to check
Returns:True is errors occurred, False otherwise
petab.lint.measurement_table_has_observable_parameter_numeric_overrides(measurement_df)

Are there any numbers to override observable parameters?

petab.lint.measurement_table_has_timepoint_specific_mappings(measurement_df)

Are there time-point or replicate specific parameter assignments in the measurement table.