Skip to content

Changelog

All notable changes to KinOpt are documented here.

This changelog is generated from the Git history using git-cliff.

[Unreleased]

Added

  • Add notebook for alpha/beta parameter layout and generate toy parameter values:

  • Introduce 04_parameter_layout_alpha_beta.ipynb for visualizing toy alpha and beta parameter grouping and layout.

  • Generate toy_alpha_values.csv with example parameter values for alpha groups.

  • Add CHANGELOG.md and git-cliff configuration for automated changelog generation

  • Add AGENTS.md for Codex

  • Initialize repository structure

  • updated docs

  • pixi env
  • github workflows, yml files

  • Add LateX result generation: integrate latexit utility into main processing flow and update function calls to include output directory.

  • Add non-psite time series to K_array and clean up commented code in construct.py; adjust docstring formatting in filter.py

Breaking Changes

  • Remove evolutionary optimization submodule kinopt.evol.

Bug Fixes

  • Fix CHANGELOG path in mkdocs.yml configuration

  • Fix audit findings: packaging, docs, changelog, CLI, logconf notes

Agent-Logs-Url: https://github.com/bibymaths/phoskintime/sessions/9d5995ac-7291-443c-830d-3986971c1a8e

Co-authored-by: bibymaths 42838835+bibymaths@users.noreply.github.com

CLI

  • Added direct link to open file from CLI

Configuration

  • Update configuration and data handling: modify default loss function, adjust beta value bounds, and enhance data loading and result saving processes; add new results directory for output files.

Documentation

  • Clean up formatting across modules and documentation:

  • Standardize spacing, indentation, and alignment across scripts.

  • Fix minor formatting issues in markdown and comments.
  • Add missing newline at end of files.
  • Update new assets: banner and hero images for docs.
  • Add mermaid-setup.js for enhanced diagramming.

  • Enhance documentation: update function return descriptions and add missing 'Args' sections across multiple files

  • Enhance documentation: update parameter descriptions to use 'Args' and 'Returns' format across multiple files

  • Enhance documentation: add argument and return descriptions for functions across multiple files

  • Enhance documentation: add argument and return descriptions for functions across multiple files

  • Update README.md and PYPI_README.md: enhance command-line usage instructions, clarify module descriptions, and add new plotting module documentation

  • Update threading configuration and improve residuals calculation in powell.jl; enhance README.md with instructions for running the Julia script directly.

  • Update mkdocs.yml and README.md: enhance documentation structure, add markdown extensions, and clarify usage instructions

  • Update cleanup.py and README.md: clarify comments, enhance data processing descriptions, and improve module structure

  • Updated metadata, README's of tfopt and its modules

  • Added docstrings - tfopt.evol, utils

  • Added docstrings - kinopt.local, models and kinopt.powell

  • Added docstrings - config, kinopt.evol, kinopt.fitanalysis

Maintenance

  • Format YAML and Python files: standardize spacing and remove unnecessary newlines for improved readability

  • Comment out output file copy in main.py and clean up package import in powell.jl

Optimization

  • Merge pull request #1 from bibymaths/codex/implement-changes-as-per-agents.md

Migrate optimization backends to JAX/JAXopt and QDax; refactor optrun and problem classes

  • Enforce alpha/beta group constraints in evolutionary optimization

  • Fix local constraints and NSGA result compatibility regressions

  • Refactor and document: enhance type annotations and docstrings across optimization and plotting modules, streamline multistart fitting logic, clarify heuristic for Das-Dennis partitions, and improve readability in initialization and constraint handling functions.

  • Refactor optimization pipeline: replace NSGA-II with UNSGA-III, add Das-Dennis partition heuristic, refactor objective evaluation with Numba, enhance population evaluation, and update loss configuration.

  • Update optimization: switch to NSGA-II, replace GA with DE in optrun.py, adjust termination criteria, and refine algorithm configuration

  • Refactor optimization problem: accelerate with Numba, improve loss calculations, and simplify constraint handling. Revise config_loader to robustly identify project root and adjust directory setup logic.

  • Refactor optimization: replace DE with GA, enhance tournament selection, clip negative values, and clean up unused operations

  • Update optimizer configuration: switch method to DE, clean up optrun.py, and streamline imports

  • Refactor optimization workflows: add multi-start support, enhance constraint handling, and improve result export.

  • Simplify transformations by removing unnecessary power calculations and update constraints for beta parameter handling

  • Enhance threading support and update parameter handling in powell.jl: set JULIA_NUM_THREADS, change default constraint type to nonlinear, and improve beta counts data structure; add detailed documentation for calculate_estimated_series function.

  • Refactor optimization methods: change default method to DE, enhance time series data handling, and improve parallel processing

  • FIXED: Display the missing kinases in output before optimization in kinopt && working on some fixes - tfopt

  • No optimization for synthetic placeholder in kinase and no imputation - FIXED

Other Changes

  • Preprocessing and data reading fixed - silly processing mistake

  • Minor fix in path

  • Fix water fall plot

  • Matching plots to tfopt for kinopt and change in plotting colors, lines and markers

  • Silly mistake in residuals in kinopt - FIXED

  • Result file neames fixes for tfopt and kinopt and minor fixes in io utils

  • Integrated tfopt into package for SLSQP, pymoo remaining

Performance

  • Optimize Numba JIT compilation: enable caching for objective function and set matplotlib backend to 'Agg' for plotting

Refactoring

  • Complete kinopt.evol runtime migration away from pymoo imports

  • [https://github.com/bibymaths/phoskintime/issues/43] Migrate global_model to networkmodel namespace and update imports and paths project-wide. Adjust asset paths, rename files, and update documentation for consistency.

  • Move all modules into the protwise namespace [https://github.com/bibymaths/phoskintime/issues/43]

  • Refactor imports across files to use the protwise package.

  • Adjust paths for consistency with the new project structure.
  • Fix outdated references (e.g., frechetcommon.frechet and binprotwise.runner).

  • Refactor configuration handling: integrate config_loader, remove hardcoded paths, simplify constants, and enhance CLI default handling.

  • Refactor function names and improve data handling in powell.jl; update README.md to remove outdated requirements and dependencies

  • Refactor package imports in powell.jl and remove commented-out code in main.py; add Project.toml for dependency management

  • Refactor output logging in main.py and related files: replace print statements with logger.info for better logging consistency; adjust njit decorator in minfn.py and randmod.py to disable parallel execution.

  • Refactor plotting functions in postfit.py: enhance aesthetics, adjust text labels, and save figures with improved dimensions; update sheetutils.py to change Excel sheet name for estimated values

Removed

  • Remove powell module references from README.md and update usage instructions