@@ -8,9 +8,26 @@ See also our [versioning policy](https://amici.readthedocs.io/en/latest/versioni
88
99** BREAKING CHANGES**
1010
11- * The package has been reorganized. All importers have been moved to
12- ` amici.importers ` subpackages. For example, all functionality from
13- ` amici.sbml_import ` is now available in ` amici.importers.sbml ` .
11+ * Removed functionality*
12+
13+ The following functionality has been removed without replacement:
14+
15+ * The complete MATLAB interface has been removed.
16+ * ` amici.sbml_import.species_to_parameters ` has been removed.
17+
18+ * API changes*
19+
20+ * For a more consistent API, all function names are now ` snake_case ` instead of
21+ ` camelCase ` .
22+ * The package has been reorganized.
23+ * All importers have been moved to ` amici.importers ` subpackages.
24+ For example, all functionality from ` amici.sbml_import ` is now available in
25+ ` amici.importers.sbml ` .
26+ * All simulation-related functionality has been moved to ` amici.sim.sundials `
27+ for the SUNDIALS interface, and ` amici.sim.jax ` for the JAX interface.
28+ * A number of functions and modules have been made private
29+ (i.e., their name starts with ` _ ` or they are excluded from ` __all__ ` ),
30+ as they are not intended for public use and may change without deprecation.
1431* The naming of free and fixed parameters has been harmonized across the API:
1532 AMICI differentiates between parameters with respect to which a model
1633 can compute sensitivities ("free parameters") and parameters with respect to
@@ -37,21 +54,16 @@ See also our [versioning policy](https://amici.readthedocs.io/en/latest/versioni
3754* ` assignmentRules2observables ` has been renamed to
3855 ` assignment_rules_to_observables ` and now returns ` list[MeasurementChannel] `
3956 to be passed to the import functions.
40- * ` assignmentRules2observables ` has been renamed to
41- ` assignment_rules_to_observables ` and now returns ` list[MeasurementChannel] `
42- to be passed to the import functions.
4357* ` AmiVector::getLength ` and ` AmiVectorArray::getLength ` have been renamed to
4458 ` size ` to be more consistent with STL containers.
4559* ` amici.petab.petab_import.import_model ` has been removed.
46- Use ` amici.petab.petab_import.import_model_sbml ` instead.
47- (The former was just an alias for the latter.)
48- * For a more consistent API, all function names are now snake_case instead of
49- camelCase.
50- * ` Model.getSolver ` has been renamed to ` Model.create_solver ` .
60+ Use ` amici.importers.petab.v1.import_petab_problem ` instead.
61+ * ` Model.getSolver ` has been renamed to ` Model.create_solver ` ,
62+ emphasizing that a new ` Solver ` instance is created on each call.
5163* ` amici.runAmiciSimulation ` and ` amici.runAmiciSimulations ` have been renamed
52- to ` amici.run_simulation ` and ` amici.run_simulations ` .
64+ to ` amici.sim.sundials.run_simulation ` and
65+ ` amici.sim.sundials.run_simulations ` , respectively.
5366* The following deprecated functionality has been removed:
54- * The complete MATLAB interface has been removed.
5567 * ` NonlinearSolverIteration::functional ` has been removed,
5668 use ` NonlinearSolverIteration::fixedpoint ` instead.
5769 * The deprecated argument ` log_as_log10 ` to ` SbmlImporter.sbml2amici ` and
@@ -62,8 +74,6 @@ See also our [versioning policy](https://amici.readthedocs.io/en/latest/versioni
6274 modules.
6375 * The ` force_compile ` argument to ` import_petab_problem ` has been removed.
6476 See the ` compile_ ` argument.
65- * Removals without deprecation:
66- * ` amici.sbml_import.species_to_parameters ` has been removed.
6777* Model output directory keyword arguments have been harmonized:
6878 What was previously ` model_output_dir ` , ` output_dir ` , ` outdir ` is now
6979 consistently called ` output_dir ` across the API.
@@ -72,47 +82,60 @@ See also our [versioning policy](https://amici.readthedocs.io/en/latest/versioni
7282
7383** Features**
7484
75- * Experimental support for the PEtab data format v2.0.0 (draft, see
76- https://petab.readthedocs.io/en/latest/v2/documentation_data_format.html )
77- for SBML- and PySB-based problems (see ` amici.petab.petab_importer ` ). The API is subject to change.
85+ * Support for the PEtab data format v2.0.0
86+ ([ draft] ( https://petab.readthedocs.io/en/latest/v2/documentation_data_format.html ) )
87+ for the JAX and SUNDIALS interfaces.
88+
89+ See ` amici.importers.petab.PetabImporter ` and examples for
90+ [ JAX] ( https://amici.readthedocs.io/en/latest/examples/example_jax_petab/ExampleJaxPEtab.html )
91+ and [ SUNDIALS] ( https://amici.readthedocs.io/en/latest/examples/example_petab/petab_v2.html ) .
92+
93+ For JAX-based models, the interface can be considered stable;
94+ for SUNDIALS-based models, the API may still change.
7895
79- * Current limitations for PySB-based PEtab problems:
80- * Only species and ` pysb.Expression ` are supported as condition table
81- targets.
96+ SBML- and PySB-based PEtab problems are currently supported.
97+ For PySB-based PEtab problems, only species and ` pysb.Expression ` are
98+ supported as condition table targets (i.e., no parameters yet) .
8299
100+ PEtab v1 import for SUNDIALS-based models is still available via
101+ ` amici.importers.petab.v1 ` . Once PEtab v2 import has been stabilized,
102+ PEtab v1 import for SUNDIALS-based models will be removed.
83103* Many relevant ` ReturnData ` fields are now available as ` xarray.DataArray `
84104 via ` ReturnData.xr.{x,y,w,x0,sx,...} ` .
85105 ` DataArray ` s include the identifiers and are often more convenient than the
86106 plain numpy arrays. This allows for easy subselection and plotting of the
87107 results, and conversion to DataFrames.
88108* ` Model.simulate() ` has been added as a convenience function to run
89109 simulations without having to create a ` Solver ` object explicitly.
90- This is a wrapper for both ` amici.run_simulation ` and
91- ` amici.run_simulations ` , depending on the type of the ` edata ` argument.
110+ This is a wrapper for both ` amici.sim.sundials.run_simulation ` and
111+ ` amici.sim.sundials.run_simulations ` ,
112+ depending on the type of the ` edata ` argument.
92113 It also supports passing some ` Solver ` options as keyword arguments.
93- * Improved ` pickle ` support for ` amici.{Model,ModelPtr,Solver,ExpData ` .
114+ This is intended for interactive use; for better full control and
115+ performance, it is still recommended to create a ` Solver ` object and call
116+ ` amici.sim.sundials.{run_simulation,run_simulations} ` directly.
117+ * Improved ` pickle ` support for
118+ ` amici.sim.sundials.{Model,ModelPtr,Solver,ExpData} ` .
94119 Note that AMICI's pickling support is only intended for short-term storage
95120 or inter-process communication.
96121 Reading pickled objects after updating AMICI or the model code will almost
97122 certainly fail.
98- * ` amici. Model` and ` amici. ModelPtr` now support sufficient pickling for use
99- in multi-processing contexts. This works only if the amici-generated model
123+ * ` Model ` and ` ModelPtr ` now support sufficient pickling for use
124+ in multiprocessing contexts. This works only if the amici-generated model
100125 package exists in the same file system location and does not change until
101126 unpickling.
102- * ` amici. Solver` is now picklable if amici was built with HDF5 support.
127+ * ` Solver ` is now picklable if amici was built with HDF5 support.
103128 This only works on shared file systems, as the solver state is stored in a
104129 temporary HDF5 file.
105- * ` amici.ExpData ` is now picklable.
106- * Implemented support for the [ PEtab SciML] ( https://github.com/PEtab-dev/petab_sciml )
107- extension for the JAX interface.
130+ * ` ExpData ` is now picklable.
108131* The import function ` sbml2amici ` , ` pysb2amici ` , and ` antimony2amici ` now
109132 return an instance of the generated model class if called with ` compile=True `
110133 (default).
111134* The default directory for model import changed, and a base directory
112135 can now be specified via the ` AMICI_MODELS_ROOT ` environment variable.
113136 See ` amici.get_model_dir ` for details.
114- * IDs and names of model entities are now not only accessible via ` Model ` , but
115- also via ` ReturnData `
137+ * IDs and names of model entities are now not only accessible via
138+ ` amici.sim.sundials.Model ` , but also via ` amici.sim.sundials. ReturnData`
116139 (` ReturnData.{free_parameter_ids,observable_ids,...} ` ,
117140 ` ReturnData.{free_parameter_names,observable_names,...} ` ).
118141
0 commit comments