Skip to content

Commit 819b4da

Browse files
committed
changelog
1 parent 068fb64 commit 819b4da

File tree

1 file changed

+11
-15
lines changed

1 file changed

+11
-15
lines changed

changes.md

+11-15
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
There are some **major breaking changes**, to support users providing previous calibration results, e.g. from previous model selection runs. The following changes are reflected in the notebook examples.
55
- **breaking change** previously, calibration tools would call `candidates` at each iteration of model selection. `candidates` has now been renamed to `start_iteration`, and tools are now expected to run `end_iteration` after calibrating the iteration's models. This structure also simplifies the codebase for other features of PEtab Select.
66
- **breaking change** previously, calibration tools would determine whether to continue model selection based on whether the candidate space contains any models. Now, calibration tools should rely on the `TERMINATE` signal provided by `end_iteration` to determine whether to continue model selection.
7-
- **breaking change** PEtab Select hides user-calibrated models from the calibration tool, until `end_iteration` is called. Hence, if a calibration tool does some analysis on the calibrated models of the current iteration, the tool should use the `MODELS` provided by `end_iteration`, and not the MODELS provided by `start_iteration`.
7+
- **breaking change** PEtab Select hides user-calibrated models from the calibration tool, until `end_iteration` is called. Hence, if a calibration tool does some analysis on the calibrated models of the current iteration, the tool should use the `MODELS` provided by `end_iteration`, and not the `MODELS` provided by `start_iteration`.
88
In summary, here's some pseudocode showing the old way.
99
```python
1010
from petab_select.ui import candidates
@@ -17,7 +17,7 @@ while True:
1717
# Calibrate iteration models
1818
for model in models:
1919
calibrate(model)
20-
# Print a summary/analysis of current iteration models
20+
# Print a summary/analysis of current iteration models (dummy code)
2121
print_summary_of_iteration_models(models)
2222
```
2323
And here's the new way. Full working examples are given in the updated notebooks, including how to handle the candidate space.
@@ -32,29 +32,25 @@ while True:
3232
calibrate(model)
3333
# Finalize iteration, get all iteration models and results
3434
iteration_results = end_iteration(...)
35-
# Print a summary/analysis of all iteration models
35+
# Print a summary/analysis of all iteration models (dummy code)
3636
print_summary_of_iteration_models(iteration_results[MODELS])
3737
# Terminate if indicated
3838
if iteration_results[TERMINATE]:
3939
break
4040
```
41-
- Other changes
42-
- fixed a buy introduced in 0.1.8, where FAMoS "jump to most distant" moves were not handled correctly
41+
- Other **major changes**
42+
- Many thanks to @dweindl for:
43+
- documentation! https://petab-select.readthedocs.io/
44+
- GitHub CI fixes and GHA deployments to PyPI and Zenodo
45+
- fixed a bug introduced in 0.1.8, where FAMoS "jump to most distant" moves were not handled correctly
4346
- the renamed `candidates`->`start_iteration`:
4447
- no longer accepts `calibrated_models`, as they are automatically stored in the `CandidateSpace` now with each `end_iteration`
45-
- exclusions via `exclude_models` is no longer supported. exclusions can be supplied with `set_excluded_hashes`
4648
- `calibrated_models` and `newly_calibrated_models` no longer need to be tracked between iterations. They are now tracked by the candidate space.
47-
- some refactoring
48-
- PEtab hashes are now computed for each model, to determine whether they are unique, e.g. for assessing whether a model is already excluded.
49-
Two models are considered equivalent if their PEtab hashes match. The PEtab hash is composed of the location of the PEtab YAML in the filesystem,
50-
the nominal values of the parameters in the model's PEtab problem, and the estimated parameters of the model's PEtab problem. The PEtab hash
51-
digest size is automatically computed to ensure a collision probability of <2^{-64}, given some assumptions. Users can also manually set the digest size.
52-
More details are available at the documentation for `petab_select.model.ModelHash`.
53-
- model hashes are more readable and composed of three parts:
49+
- exclusions via `exclude_models` is no longer supported. exclusions can be supplied with `set_excluded_hashes`
50+
- model hashes are more readable and composed of two parts:
5451
1. the model subspace ID
5552
2. the location of the model in its subspace (the model subspace indices)
56-
3. the PEtab hash
57-
- users can now specify a "PEtab Select problem ID" in their YAML files
53+
- users can now provide model calibrations from previous model selection runs. This enables them to skip re-calibration of the same models.
5854

5955
## 0.1.13
6056
- fixed bug when no predecessor model is provided, introduced in 0.1.11 (#83)

0 commit comments

Comments
 (0)