Recent Releases of pyglotaran
pyglotaran - v0.7.3
pyglotaran 0.7.3 Release Notes
Code name: "Don't Hold Your Breath"
What's Changed
β¨ Features
- β¨ Add support for perturbed free induction decay (PFID) megacomplex (#1510)
- β¨ Add official Python 3.12 support (#1437)
- β¨ Add official numpy 2 support (#1503)
π©Ή Bug fixes
- π©Ή Fix ordering bug in MatrixProvider class (#1512)
- π©Ή Fix AttributeError validating bad DOAS user definition (#1513)
- π©Ή Fix error with xarray==2024.7.0 due to breaking change in applied deprecation (#1458)
π§ Maintenance
- π§Ήπ Remove asv benchmarks and binder integration (#1511)
- π©Ή Use svd function on raw numpy arrray instead of xarray dataarray (#1520)
Full Changelog: https://github.com/glotaran/pyglotaran/compare/v0.7.2...v0.7.3
- Python
Published by jsnel over 1 year ago
pyglotaran - v0.7.2
pyglotaran 0.7.2 Release Notes
Minor maintenance release adding support for numpy < 1.27.
With this version 0.7.2 pyglotaran continues its tradition to become more battle tested with each release, specifically this release has been employed in the rigorous analysis of time-resolved fluorescence and absorption spectroscopy data of Photosystem I in the following projects:
- pyglotaran STAR protocol for analysis of transient absorption spectra of photosystem I
- pyglotaran STAR protocol for analysis of time-resolved fluorescence spectra of photosystem I
What's Changed
β¨ Features
- β¨ Official numpy 1.26 support (#1374)
π§ Maintenance
- π§Ή Remove unused dependency: 'rich' (#1345)
New Contributors
- @gdrosos made their first contribution in https://github.com/glotaran/pyglotaran/pull/1345
Full Changelog: https://github.com/glotaran/pyglotaran/compare/v0.7.1...v0.7.2
- Python
Published by s-weigand about 2 years ago
pyglotaran - v0.7.1
pyglotaran 0.7.1 Release Notes
This updated version was used to generate the results for the paper "pyglotaran: a lego-like Python framework for global and target analysis of time resolved spectra" introducing pyglotaran to the broader scientific community.
β¨ Features
- β¨π Add official python 3.11 support by @s-weigand in https://github.com/glotaran/pyglotaran/pull/1161
π Minor Improvements:
- ππ Add pipeline to release examples and validation on release by @s-weigand in https://github.com/glotaran/pyglotaran/pull/1303
π©Ή Bug fixes
- π©Ή Fix coherent artifact clp label duplication by @s-weigand in https://github.com/glotaran/pyglotaran/pull/1292
- π©Ή Transform standard error if parameter has non_negative constraint by @jsnel in https://github.com/glotaran/pyglotaran/pull/1320
π§ Maintenance
- π§° Stale bot by @jsnel in https://github.com/glotaran/pyglotaran/pull/1172
- ππ Rename release-validataion.yml to release-validation.yml by @jsnel in https://github.com/glotaran/pyglotaran/pull/1333
Full Changelog: https://github.com/glotaran/pyglotaran/compare/v0.7.0...v0.7.1
- Python
Published by jsnel over 2 years ago
pyglotaran - v0.7.0
pyglotaran 0.7.0 Release Notes
Code name: "Theofelix"
This version was used to generate the results for the paper "pyglotaran: a lego-like Python framework for global and target analysis of time resolved spectra" introducing pyglotaran to the broader scientific community.
π₯ BREAKING CHANGE
- π₯π§ Dropped support for Python 3.8 and 3.9 and only support 3.10 (#1135)
β¨ Features
- β¨ Add optimization history to result and iteration column to parameter history (#1134)
- β»οΈ Complete refactor of model and parameter packages using attrs (#1135)
- β»οΈ Move index dependent calculation to megacomplexes for speed-up (#1175)
- β¨ Add PreProcessingPipeline (#1256, #1263)
π Minor Improvements:
- ππ¨ Wrap model section in result markdown in details tag for notebooks (#1098)
- π Allow more natural column names in pandas parameters file reading (#1174)
- β¨ Integrate plugin system into Project (#1229)
- π Make yaml the default plugin when passing a folder to saveresult and loadresult (#1230)
- β¨ Allow usage of subfolders in project API for parameters, models and data (#1232)
- β¨ Allow import of xarray objects in project API import_data (#1235)
- π©Ή Add numberofclps to result and correct degreesoffreedom calculation (#1249)
- π Improve Project API data handling (#1257)
- ποΈ Deprecate Result.numberofparameters in favor of Result.numberoffree_parameters (#1262)
π©Ή Bug fixes
- π©Ή Fix result data overwritten when using multiple dataset_groups (#1147)
- π©Ή Fix for normalization issue described in #1157 (multi-gaussian irfs and multiple time ranges (streak))
- π©Ή Fix for crash described in #1183 when doing an optimization using more than 30 datasets (#1184)
- π©Ή Fix prettyformatnumerical for negative values (#1192)
- π©Ή Fix yaml result saving with relative paths (#1199)
- π©Ή Fix model markdown render for items without label (#1213)
- π©Ή Fix wrong file loading due to partial filename matching in Project (#1212)
- π©Ή Fix
Project.import_datapath resolving for different script and cwd (#1214) - π Refine project API (#1240)
- π©Ήπ Fix search in docs (#1268) <!-- Fix within the 0.7.0 release cycle, therefore hidden:
- π©Ή Fix the matrix provider alignment/reduction ('grouping') issues introduced in #1175 (#1190)
- π©Ή Fix loading of old results containing numberofdata_points (#1255) -->
π Documentation
- π Update quickstart guide to use Project API (#1241)
ποΈ Deprecations (due in 0.8.0)
<model_file>.clp_area_penalties-><model_file>.clp_penaltiesglotaran.ParameterGroup->glotaran.Parameters- Command Line Interface (removed without replacement) (#1228)
Project.generate_model(removed without replacement)Project.generate_parameters(removed without replacement)glotaran.project.Result.number_of_data_points->glotaran.project.Result.number_of_residualsglotaran.project.Result.number_of_parameters->glotaran.project.Result.number_of_free_parameters
ποΈβ Deprecated functionality removed in this release
glotaran.project.Scheme(..., non_negative_least_squares=...)glotaran.project.Scheme(..., group=...)glotaran.project.Scheme(..., group_tolerance=...)<model_file>.non-negative-least-squares: true<model_file>.non-negative-least-squares: falseglotaran.parameter.ParameterGroup.to_csv(file_name=parameters.csv)
π§ Maintenance
- ππ©Ή Fix wrong comparison in pr_benchmark workflow (#1097)
- π§ Set sourcery-ai target python version to 3.8 (#1095)
- ππ©Ήπ§ Fix manifest check (#1099)
- β»οΈ Refactor: optimization (#1060)
- β»οΈπ Use GITHUB_OUTPUT instead of set-output in github actions (#1166, #1177)
- π§ Add pinned version of odfpy to requirements_dev.txt (#1164)
- β»οΈ Use validation action and validation as a git submodule (#1165)
- π§Ή Upgrade syntax to py310 using pyupgrade (#1162)
- π§Ή Remove unused 'type: ignore' (#1168)
- π§ Raise minimum dependency version to releases that support py310 (#1170)
- π§ Make mypy and doc string linters opt out instead of opt in (#1173)
New Contributors
- @ism200 made their first contribution in https://github.com/glotaran/pyglotaran/pull/1156
Full Changelog: https://github.com/glotaran/pyglotaran/compare/v0.6.0...v0.7.0
- Python
Published by s-weigand almost 3 years ago
pyglotaran - v0.6.0
pyglotaran 0.6.0 Release Notes
Triple code name release: "K.I.S.S." (keep it short and sweet), Keiko (first teaching release), Z.O.E. (happy birthday)
pyglotaran is a library commonly used for the analysis of time-resolved spectroscopy measurements in the study of energy transfer pathways in photosynthesis, or the characterization of energy transfer (in-)efficiencies in photovoltaic systems.
This is the first version of the software used in teaching, specifically the Photosynthesis and Energy 2022 course found here: ism200\PE2022
β¨ Features
- β¨ Python 3.10 support (#977)
- β¨ Add simple decay megacomplexes (#860)
- β¨ Feature: Generators (#866)
- β¨ Project Class (#869)
- β¨ Add clp guidance megacomplex (#1029)
π Minor Improvements:
- ππ¨ Add proper repr for DatasetMapping (#957)
- π Add SavingOptions to save_result API (#966)
- β¨ Add parameter IO support for more formats supported by pandas (#896)
- π Apply IRF shift in coherent artifact megacomplex (#992)
- π Added IRF shift to result dataset (#994)
- π Improve Result, Parameter and ParameterGroup markdown (#1012)
- ππ§Ή Add suffix to rate and lifetime and guard for missing datasets (#1022)
- β»οΈ Move simulation to own module (#1041)
- β»οΈ Move optimization to new module glotaran.optimization (#1047)
- π©Ή Fix missing installation of clp-guide megacomplex as plugin (#1066)
π©Ή Bug fixes
- π©Ή Fix Crash in optimizationgroupcalculator_linked when using guidance spectra (#950)
- π©Ή ParameterGroup.get degrades full_label of nested Parameters with nesting over 2 (#1043)
- π©Ή Show validation problem if parameters are missing values (default: NaN) (#1076)
π Documentation
- π¨ Add new logo (#1083, #1087)
ποΈ Deprecations (due in 0.8.0)
glotaran.io.save_result(result, result_path, format_name='legacy')->glotaran.io.save_result(result, Path(result_path) / 'result.yml')glotaran.analysis.simulation->glotaran.simulation.simulationglotaran.analysis.optimize->glotaran.optimization.optimize
ποΈβ Deprecated functionality removed in this release
glotaran.ParameterGroup->glotaran.parameter.ParameterGroupglotaran.read_model_from_yaml->glotaran.io.load_model(..., format_name="yaml_str")glotaran.read_model_from_yaml_file->glotaran.io.load_model(..., format_name="yaml")glotaran.read_parameters_from_csv_file->glotaran.io.load_parameters(..., format_name="csv")glotaran.read_parameters_from_yaml->glotaran.io.load_parameters(..., format_name="yaml_str")glotaran.read_parameters_from_yaml_file->glotaran.io.load_parameters(..., format_name="yaml")glotaran.io.read_data_file->glotaran.io.load_datasetresult.get_dataset("<dataset_name>")->result.data["<dataset_name>"]glotaran.analysis.result->glotaran.project.resultglotaran.analysis.scheme->glotaran.project.scheme
π§ Maintenance
- π§ Improve packaging tooling (#923)
- π§π Exclude test files from duplication checks on sonarcloud (#959)
- π§π Only run check-manifest on the CI (#967)
- ππ Exclude dependabot push CI runs (#978)
- ππ Exclude sourcery AI push CI runs (#1014)
- πππ Auto remove notebook written data when building docs (#1019)
- ππ Change integration tests to use self managed examples action (#1034)
- ππ§Ή Exclude pre-commit bot branch from CI runs on push (#1085)
New Contributors
- @patrickhaetti made their first contribution in https://github.com/glotaran/pyglotaran/pull/896
Full Changelog: https://github.com/glotaran/pyglotaran/compare/v0.5.1...v0.6.0
- Python
Published by s-weigand over 3 years ago
pyglotaran - v0.5.1
pyglotaran 0.5.1 Release Notes
Code name: "What You Leave Behind" part deux - exit 2021
This is a minor patch release that fixes two minor bugs found in v0.5.0, detailed below. For completeness sake the changes for the v0.5.0 release are also listed.
The v0.5.0 release brought some exciting new features, whilst ensuring backwards compatibility (your old models still work) and validation against a large set of examples.
The introduction of dataset groups (#851) and megacomplex models (#736) bring us a lot closer to the dream of building large sophisticated models out of smaller simpler building blocks. Right, much like those colorful bricks we all loved playing with as a child.
0.5.1 (2021-12-31)
π©Ή Bug fixes
- π©Ή Bugfix Use normalized initial_concentrations in result creation for decay megacomplex (#927)
- π©Ή Fix save_result crashes on Windows if input data are on a different drive than result (#931)
π§ Maintenance
- π§ Forward port Improve result comparison workflow and v0.4 changelog (#938)
- π§ Forward port of testresultconsistency (#936)
0.5.0 (2021-12-01)
β¨ Features
- β¨ Feature: Megacomplex Models (#736)
- β¨ Feature: Full Models (#747)
- β¨ Damped Oscillation Megacomplex (a.k.a. DOAS) (#764)
- β¨ Add Dataset Groups (#851)
- β¨ Performance improvements (in some cases up to 5x) (#740)
π Minor Improvements:
- π Add dimensions to megacomplex and dataset_descriptor (#702)
- π Improve ordering in kmatrix involvedcompartments function (#788)
- π Improvements to application of clp_penalties (equal area) (#801)
- β»οΈ Refactor model.fromdict to parse megacomplextype from dict and add simple_generator for testing (#807)
- β»οΈ Refactor model spec (#836)
- β»οΈ Refactor Result Saving (#841)
- β¨ Use ruaml.yaml parser for roundtrip support (#893)
- β»οΈ Refactor Result and Scheme loading/initializing from files (#903)
- β»οΈ Several refactoring in
glotaran.Parameter(#910) - π Improved Reporting of Parameters (#910, #914, #918)
- π Scheme now excepts paths to model, parameter and data file without initializing them first (#912)
π©Ή Bug fixes
- π©Ή Fix/cli0.5 (#765)
- π©Ή Fix compartment ordering randomization due to use of set (#799)
- π©Ή Fix check_deprecations not showing deprecation warnings (#775)
- π©Ή Fix and re-enable IRF Dispersion Test (#786)
- π©Ή Fix coherent artifact crash for index dependent models #808
- π©Ή False positive model validation fail when combining multiple default megacomplexes (#797)
- π©Ή Fix ParameterGroup repr when created with 'from_list' (#827)
- π©Ή Fix for DOAS with reversed oscillations (negative rates) (#839)
- π©Ή Fix parameter expression parsing (#843)
- π©Ή Use a context manager when opening a nc dataset (#848)
- π§ Disallow xarray versions breaking plotting in integration tests (#900)
- π©Ή Fix 'dataset_groups' not shown in model markdown (#906)
π Documentation
- π Moved API documentation from User to Developer Docs (#776)
- π Add docs for the CLI (#784)
- π Fix deprecation in model used in quickstart notebook (#834)
ποΈ Deprecations (due in 0.7.0)
glotaran.model.Model.model_dimension->glotaran.project.Scheme.model_dimensionglotaran.model.Model.global_dimension->glotaran.project.Scheme.global_dimension<model_file>.type.kinetic-spectrum-><model_file>.default_megacomplex.decay<model_file>.type.spectral-model-><model_file>.default_megacomplex.spectral<model_file>.spectral_relations-><model_file>.clp_relations<model_file>.spectral_relations.compartment-><model_file>.clp_relations.source<model_file>.spectral_constraints-><model_file>.clp_constraints<model_file>.spectral_constraints.compartment-><model_file>.clp_constraints.target<model_file>.equal_area_penalties-><model_file>.clp_area_penalties<model_file>.irf.center_dispersion-><model_file>.irf.center_dispersion_coefficients<model_file>.irf.width_dispersion-><model_file>.irf.width_dispersion_coefficientsglotaran.project.Scheme(..., non_negative_least_squares=...)-><model_file>dataset_groups.default.residual_functionglotaran.project.Scheme(..., group=...)-><model_file>dataset_groups.default.link_clpglotaran.project.Scheme(..., group_tolerance=...)->glotaran.project.Scheme(..., clp_link_tolerance=...)<scheme_file>.maximum-number-function-evaluations-><scheme_file>.maximum_number_function_evaluations<model_file>.non-negative-least-squares: true-><model_file>dataset_groups.default.residual_function: non_negative_least_squares<model_file>.non-negative-least-squares: false-><model_file>dataset_groups.default.residual_function: variable_projectionglotaran.parameter.ParameterGroup.to_csv(file_name=parameters.csv)->glotaran.io.save_parameters(parameters, 'file_name=parameters.csv)
π§ Maintenance
- π©Ή Fix Performance Regressions (between version) (#740)
- π§ͺπ Add integration test result validation (#754)
- π§ Add more QA tools for parts of glotaran (#739)
- π§ Fix interrogate usage (#781)
- π Speedup PR benchmark (#785)
- ππ©Ή Use pinned versions of dependencies to run integration CI tests (#892)
- π§Ή Move megacomplex integration tests from root level to megacomplexes (#894)
- π©Ή Fix artifact download in prbenchmarkreaction workflow (#907)
- Python
Published by jsnel about 4 years ago
pyglotaran - v0.4.2
pyglotaran 0.4.2 Release Notes
Code name: Continue "GTA Save Game"
The v0.4.2 is a minor patch for the v0.4.1 maintenance release which first established a result comparison framework (#760) to benchmark future releases against. This comparison framework is implemented as a github action workflow which can be run on any PR or release branch. The comparison involves running a set of example scripts hosted in the pyglotaran-examples repository using the code in the PR or release-branch and comparing the output against a 'gold standard' reference - initially generated using the v0.4 code base which was manually checked and validated against other sources. This framework guards pyglotaran against future regression, both in terms of performance and accuracy, going forward and gives users the confidence to migrate from one version to the next.
As part of the release v0.4.1 was tested against 'itself' (based on v0.4.0) which revealed some minor consistency bugs (#747 and #791) which were then simultaneously solved for the next release and 'backported' to this version. Further development revealed a minor bug in saving result files (not in the optimization process) which is patched in the v0.4.2 release (#935). In addition the v0.4.2 maintenance branch bring some internal improvement to the testresultconsistency #936, further validating the checking process.
As noted before in the v0.4.1 release, the output (estimates, plots, etc) of example scripts were validated by manual inspection and comparing against pre-existing analysis software packages: - TIMP (the analysis core of Glotaran v1.5.1) as described in "TIMP: An R Package for Modeling Multi-way Spectroscopic Measurements" , DOI: 10.18637/jss.v018.i03 - Glotaran v1.5.1 as described in the publication "Glotaran: A Java-Based Graphical User Interface for the R Package TIMP", DOI: 10.18637/jss.v049.i03 - paramGUI used for teaching global analysis to natural science students at the VU for many years. - TIM as described in the reference work on "Global and target analysis of time-resolved spectra", DOI: 10.1016/j.bbabio.2004.04.011
β¨ Features
- Integration test result validation (#760) (introduced in v0.4.1, updated in v0.4.2).
π©Ή Bug fixes
New in v0.4.2
- π©Ήπ§ Backport of bugfix #927 discovered in PR #860 related to initial_concentration normalization when saving results (#935).
Part of v0.4.1
- Fix unintended saving of sub-optimal parameters (0ece818, backport from #747).
- Improve ordering in kmatrix involvedcompartments function (#791).
π§ Maintenance
New in v0.4.2:
- ππ§ Updated 'gold standard' result comparison reference (old -> new).
- π Refine testresultconsistency (#936).
- Python
Published by jsnel about 4 years ago
pyglotaran - π v0.5.0
pyglotaran 0.5.0 Release Notes
Code name: "What You Leave Behind"
This release bring some existing new features, while ensuring backwards compatibility (your old models still work) and validation against a large set of examples.
The introduction of dataset groups (#851) and megacomplex models (#736) bring us a lot closer to the dream of building large sophisticated models out of smaller simpler building blocks. Right, much like those colorful bricks we all loved playing with as a child.
0.5.0 (2021-12-01)
β¨ Features
- β¨ Feature: Megacomplex Models (#736)
- β¨ Feature: Full Models (#747)
- β¨ Damped Oscillation Megacomplex (a.k.a. DOAS) (#764)
- β¨ Add Dataset Groups (#851)
- β¨ Performance improvements (in some cases up to 5x) (#740)
π Minor Improvements:
- π Add dimensions to megacomplex and dataset_descriptor (#702)
- π Improve ordering in kmatrix involvedcompartments function (#788)
- π Improvements to application of clp_penalties (equal area) (#801)
- β»οΈ Refactor model.fromdict to parse megacomplextype from dict and add simple_generator for testing (#807)
- β»οΈ Refactor model spec (#836)
- β»οΈ Refactor Result Saving (#841)
- β¨ Use ruaml.yaml parser for roundtrip support (#893)
- β»οΈ Refactor Result and Scheme loading/initializing from files (#903)
- β»οΈ Several refactoring in
glotaran.Parameter(#910) - π Improved Reporting of Parameters (#910, #914, #918)
- π Scheme now excepts paths to model, parameter and data file without initializing them first (#912)
π©Ή Bug fixes
- π©Ή Fix/cli0.5 (#765)
- π©Ή Fix compartment ordering randomization due to use of set (#799)
- π©Ή Fix check_deprecations not showing deprecation warnings (#775)
- π©Ή Fix and re-enable IRF Dispersion Test (#786)
- π©Ή Fix coherent artifact crash for index dependent models #808
- π©Ή False positive model validation fail when combining multiple default megacomplexes (#797)
- π©Ή Fix ParameterGroup repr when created with 'from_list' (#827)
- π©Ή Fix for DOAS with reversed oscillations (negative rates) (#839)
- π©Ή Fix parameter expression parsing (#843)
- π©Ή Use a context manager when opening a nc dataset (#848)
- π§ Disallow xarray versions breaking plotting in integration tests (#900)
- π©Ή Fix 'dataset_groups' not shown in model markdown (#906)
π Documentation
- π Moved API documentation from User to Developer Docs (#776)
- π Add docs for the CLI (#784)
- π Fix deprecation in model used in quickstart notebook (#834)
ποΈ Deprecations (due in 0.7.0)
glotaran.model.Model.model_dimension->glotaran.project.Scheme.model_dimensionglotaran.model.Model.global_dimension->glotaran.project.Scheme.global_dimension<model_file>.type.kinetic-spectrum-><model_file>.default_megacomplex.decay<model_file>.type.spectral-model-><model_file>.default_megacomplex.spectral<model_file>.spectral_relations-><model_file>.clp_relations<model_file>.spectral_relations.compartment-><model_file>.clp_relations.source<model_file>.spectral_constraints-><model_file>.clp_constraints<model_file>.spectral_constraints.compartment-><model_file>.clp_constraints.target<model_file>.equal_area_penalties-><model_file>.clp_area_penalties<model_file>.irf.center_dispersion-><model_file>.irf.center_dispersion_coefficients<model_file>.irf.width_dispersion-><model_file>.irf.width_dispersion_coefficientsglotaran.project.Scheme(..., non_negative_least_squares=...)-><model_file>dataset_groups.default.residual_functionglotaran.project.Scheme(..., group=...)-><model_file>dataset_groups.default.link_clpglotaran.project.Scheme(..., group_tolerance=...)->glotaran.project.Scheme(..., clp_link_tolerance=...)<scheme_file>.maximum-number-function-evaluations-><scheme_file>.maximum_number_function_evaluations<model_file>.non-negative-least-squares: true-><model_file>dataset_groups.default.residual_function: non_negative_least_squares<model_file>.non-negative-least-squares: false-><model_file>dataset_groups.default.residual_function: variable_projectionglotaran.parameter.ParameterGroup.to_csv(file_name=parameters.csv)->glotaran.io.save_parameters(parameters, 'file_name=parameters.csv)
π§ Maintenance
- π©Ή Fix Performance Regressions (between version) (#740)
- π§ͺπ Add integration test result validation (#754)
- π§ Add more QA tools for parts of glotaran (#739)
- π§ Fix interrogate usage (#781)
- π Speedup PR benchmark (#785)
- ππ©Ή Use pinned versions of dependencies to run integration CI tests (#892)
- π§Ή Move megacomplex integration tests from root level to megacomplexes (#894)
- π©Ή Fix artifact download in prbenchmarkreaction workflow (#907)
- Python
Published by jsnel about 4 years ago
pyglotaran - v0.5.0rc1
pyglotaran 0.5.0rc1 Release Notes
Code name: "What You Leave Behind (part 1)"
This is a pre-release of the software for the purpose of a live demonstration at the Vrije Universiteit on the 25th of october 2021.
0.5.0 (2021-10-25)
β¨ Features
- β¨ Feature: Megacomplex Models (#736)
- β¨ Feature: Full Models (#747)
- β¨ Damped Oscillation Megacomplex (a.k.a. DOAS) (#764)
- β¨ Add Dataset Groups (#851)
- β¨ Performance improvements (in some cases up to 5x) (#740)
π Minor Improvements:
- π Add dimensions to megacomplex and dataset_descriptor (#702)
- π Improve ordering in kmatrix involvedcompartments function (#788)
- π Improvements to application of clp_penalties (equal area) (#801)
- β»οΈ Refactor model.fromdict to parse megacomplextype from dict and add simple_generator for testing (#807)
- β»οΈ Refactor model spec (#836)
- β»οΈ Refactor Result Saving (#841)
π©Ή Bug fixes
- π©Ή Fix/cli0.5 (#765)
- π©Ή Fix compartment ordering randomization due to use of set (#799)
- π©Ή Fix check_deprecations not showing deprecation warnings (#775)
- π©Ή Fix and re-enable IRF Dispersion Test (#786)
- π©Ή Fix coherent artifact crash for index dependent models #808
- π©Ή False positive model validation fail when combining multiple default megacomplexes (#797)
- π©Ή Fix ParameterGroup repr when created with 'from_list' (#827)
- π©Ή Fix for DOAS with reversed oscillations (negative rates) (#839)
- π©Ή Fix parameter expression parsing (#843)
- π©Ή Use a context manager when opening a nc dataset (#848)
π Documentation
- π Moved API documentation from User to Developer Docs (#776)
- π Add docs for the CLI (#784)
- π Fix deprecation in model used in quickstart notebook (#834)
ποΈ Deprecations (due in 0.7.0)
glotaran.model.Model.model_dimension->glotaran.project.Scheme.model_dimensionglotaran.model.Model.global_dimension->glotaran.project.Scheme.global_dimension<model_file>.type.kinetic-spectrum-><model_file>.default_megacomplex.decay<model_file>.type.spectral-model-><model_file>.default_megacomplex.spectral<model_file>.spectral_relations-><model_file>.clp_relations<model_file>.spectral_relations.compartment-><model_file>.clp_relations.source<model_file>.spectral_constraints-><model_file>.clp_constraints<model_file>.spectral_constraints.compartment-><model_file>.clp_constraints.target<model_file>.equal_area_penalties-><model_file>.clp_area_penalties<model_file>.irf.center_dispersion-><model_file>.irf.center_dispersion_coefficients<model_file>.irf.width_dispersion-><model_file>.irf.width_dispersion_coefficientsglotaran.project.Scheme(..., non_negative_least_squares=...)-><model_file>dataset_groups.default.residual_functionglotaran.project.Scheme(..., group=...)-><model_file>dataset_groups.default.link_clpglotaran.project.Scheme(..., group_tolerance=...)->glotaran.project.Scheme(..., clp_link_tolerance=...)<scheme_file>.maximum-number-function-evaluations-><scheme_file>.maximum_number_function_evaluations<model_file>.non-negative-least-squares: true-><model_file>dataset_groups.default.residual_function: non_negative_least_squares<model_file>.non-negative-least-squares: false-><model_file>dataset_groups.default.residual_function: variable_projectionglotaran.parameter.ParameterGroup.to_csv(file_name=parameters.csv)->glotaran.io.save_parameters(parameters, 'file_name=parameters.csv)
π§ Maintenance
- π©Ή Fix Performance Regressions (between version) (#740)
- π§ͺπ Add integration test result validation (#754)
- π§ Add more QA tools for parts of glotaran (#739)
- π§ Fix interrogate usage (#781)
- π Speedup PR benchmark (#785)
- Python
Published by jsnel over 4 years ago
pyglotaran - v0.4.1
pyglotaran 0.4.1 Release Notes
Code name: "GTA Save Game"
The v0.4.1 is special maintenance release which establishes a result comparison framework (#760) to benchmark future releases against. This comparison framework is implemented as a github action workflow which can be run on any PR or release branch. The comparison involves running a set of example scripts hosted in the pyglotaran-examples repository using the code in the PR or release-branch and comparing the output against a 'gold standard' reference - initially generated using the v0.4 code base which was manually checked and validated against other sources. This framework guards pyglotaran against future regression, both in terms of performance and accuracy, going forward and gives users the confidence to migrate from one version to the next.
As part of this release the v0.4.1 was tested against 'itself' (based on v0.4.0) which revealed some minor consistency bugs (#747 and #791) which were then simultaneously solved for the next release and 'backported' to this version. The output (estimates, plots, etc) of example scripts were validated by manual inspection and comparing against pre-existing analysis software packages: - TIMP (the analysis core of Glotaran v1.5.1) as described in "TIMP: An R Package for Modeling Multi-way Spectroscopic Measurements" , DOI: 10.18637/jss.v018.i03 - Glotaran v1.5.1 as described in the publication "Glotaran: A Java-Based Graphical User Interface for the R Package TIMP", DOI: 10.18637/jss.v049.i03 - paramGUI used for teaching global analysis to natural science students at the VU for many years. - TIM as described in the reference work on "Global and target analysis of time-resolved spectra", DOI: 10.1016/j.bbabio.2004.04.011
β¨ Features
- Integration test result validation (#760)
π©Ή Bug fixes
- Fix unintended saving of sub-optimal parameters (0ece818, backport from #747)
- Improve ordering in kmatrix involvedcompartments function (#791)
- Python
Published by jsnel over 4 years ago
pyglotaran - v0.4.0
pyglotaran 0.4.0 Release Notes
β¨ Features
- Add basic spectral model (#672)
- Add Channel/Wavelength dependent shift parameter to irf. (#673)
- Refactored Problem class into GroupedProblem and UngroupedProblem (#681)
- Plugin system was rewritten (#600, #665)
- Deprecation framework (#631)
- Better notebook integration (#689)
π©Ή Bug fixes
- Fix excessive memory usage in
_create_svd(#576) - Fix several issues with KineticImage model (#612)
- Fix exception in sdt reader index calculation (#647)
- Avoid crash in result markdown printing when optimization fails (#630)
- ParameterNotFoundException doesn't prepend '.' if path is empty (#688)
- Ensure Parameter.label is str or None (#678)
- Properly scale StdError of estimated parameters with RMSE (#704)
- More robust covariance_matrix calculation (#706)
ParameterGroup.markdown()independent parametergroups of order (#592)
ποΈ Deprecations
glotaran.ParameterGroup->glotaran.parameterParameterGroupglotaran.read_model_from_yaml->glotaran.io.load_model(..., format_name="yaml_str")glotaran.read_model_from_yaml_file->glotaran.io.load_model(..., format_name="yaml")glotaran.read_parameters_from_csv_file->glotaran.io.load_parameters(..., format_name="csv")glotaran.read_parameters_from_yaml->glotaran.io.load_parameters(..., format_name="yaml_str")glotaran.read_parameters_from_yaml_file->glotaran.io.load_parameters(..., format_name="yaml")glotaran.io.read_data_file->glotaran.io.load_datasetresult.save->glotaran.io.save_result(result, ..., format_name="legacy")result.get_dataset("<dataset_name>")->result.data["<dataset_name>"]glotaran.analysis.result->glotaran.project.resultglotaran.analysis.scheme->glotaran.project.schememodel.simulate->glotaran.analysis.simulation.simulate(model, ...)
π Plugins
ProjectIo'folder'/'legacy' plugin to save results (#620)Model'spectral-model' (#672)
π Documentation
- User documentation is written in notebooks (#568)
- Documentation on how to write a
DataIoplugin (#600)
- Python
Published by s-weigand over 4 years ago
pyglotaran - v0.3.3
pyglotaran 0.3.3 Release Notes
pyglotaran is a Python library for global and target analysis of time-resolved spectroscopy data.
This is the latest and probably last patch on the v0.3 maintenance branch, as development for the next milestone is well underway on the main branch in the repository
Highlights
- Much faster when using equal area penalties
- Support for Python 3.9
Changelog
- Force recalculation of SVD attributes in scheme.preparedata (#597)
- Remove unneeded check in spectralpenalties.get_area Fixes (#598)
- Added python 3.9 support (#450)
Usage notice
This software package is made available as an early access release, to the advantage of the (scientific) community who wishes to make use of it before it has fully matured, but without any warranties. Please refer to the usage notice in the README.
For a modest collection of examples, see the pyglotaran_examples repository. For examples on how to do plotting of results see the pyglotaran_extras repository.
Citing
If you use the pyglotaran package in an academic context, we would appreciate a citation. You can cite the software as:
JΓΆrn WeiΓenborn, Joris Snellenburg, Sebastian Weigand, & Ivo H.M. van Stokkum. (2021, March 18). pyglotaran: a Python library for global and target analysis (Version v0.3.3). Zenodo. http://doi.org/10.5281/zenodo.4619635
- Python
Published by jsnel almost 5 years ago
pyglotaran - v0.3.2
pyglotaran 0.3.2 Release Notes
The first release of pyglotaran ready for a wider audience was v0.3.0, this is the first proper patch release to follow, fixing some small but important issues.
Highlights
- Compatible with NumPy 1.20.
- Using less memory during optimization (during
Resultcreation). - Saved result datasets are smaller in size.
Changelog
- Added compatibility for NumPy 1.20 and raised minimum required NumPy version to 1.20 (#555)
- Fixed excessive memory consumption in result creation due to full SVD computation (#574)
- Added feature parameter history (#557)
- Moved setup logic to
setup.cfg(#560) - Correction to
setup.cfgto satisfy PyPI and version bump 0.3.1 -> 0.3.2
Version numbering
A glitch in the matrix resulted v0.3.1 having a visually unappealing front page on PyPI. To fix this, a new release had to be drafted which is identical to v0.3.1, other than a configuration file used in rendering said front page. For all intents and purposes both versions are the same, released on the same date, and thus share the same Highlights and Changelog (w.r.t v0.3.0)
Usage notice
This software package is made available as an early access release, to the advantage of the (scientific) community who wishes to make use of it before it has fully matured, but without any warranties. Please refer to the usage notice in the README.
For a modest collection of examples, see the pyglotaran_examples repository. For examples on how to do plotting of results see the pyglotaran_extras repository.
- Python
Published by jsnel almost 5 years ago
pyglotaran - v0.3.1
pyglotaran 0.3.1 Release Notes
The first release of pyglotaran ready for a wider audience was v0.3.0, this is the first patch release for that version, fixing some small but important issues.
Highlights
- Compatible with NumPy 1.20.
- Using less memory during optimization (during
Resultcreation). - Saved result datasets are smaller in size.
Changelog
- Added compatibility for NumPy 1.20 and raised minimum required NumPy version to 1.20 (#555)
- Fixed excessive memory consumption in result creation due to full SVD computation (#574)
- Added feature parameter history (#557)
- Moved setup logic to
setup.cfg(#560)
Usage notice
This software package is made available as an early access release, to the advantage of the (scientific) community who wishes to make use of it before it has fully matured, but without any warranties. Please refer to the usage notice in the README.
For a modest collection of examples, see the pyglotaran_examples repository. For examples on how to do plotting of results see the pyglotaran_extras repository.
- Python
Published by jsnel almost 5 years ago
pyglotaran - v0.3.0
pyglotaran 0.3.0 Release Notes
pyglotaran 0.3.0 is considered the first release ready for a wider audience, enjoy your glimpse into the future of global and target analysis!
Highlights
- Switched to internal optimization mechanism
- Introduced a new Schema and Problem class for greater control over optimization
- Parameter relations using custom expression now possible
- Simultaneous global and target analysis with multiple datasets now possible!
Usage notice
This software package is made available as an early access release, to the advantage of the (scientific) community who wishes to make use of it before it has fully matured, but without any warranties. Please refer to the usage notice in the README.
For a modest collection of examples, see the pyglotaran_examples repository. For examples on how to do plotting of results see the pyglotaran_extras
- Python
Published by jsnel about 5 years ago
pyglotaran - pyglotaran 0.2.0 BusFactor++
Celebratory BusFactor++ release!
Future release of pyglotaran will include meatballs!
Consult readme before use.
- Python
Published by jsnel about 5 years ago