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.ipynbfor visualizing toy alpha and beta parameter grouping and layout. -
Generate
toy_alpha_values.csvwith 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.ymlconfiguration -
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.jsfor 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_loaderto 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_modeltonetworkmodelnamespace and update imports and paths project-wide. Adjust asset paths, rename files, and update documentation for consistency. -
Move all modules into the
protwisenamespace [https://github.com/bibymaths/phoskintime/issues/43] -
Refactor imports across files to use the
protwisepackage. - Adjust paths for consistency with the new project structure.
-
Fix outdated references (e.g.,
frechet→common.frechetandbin→protwise.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