Changelog
All notable changes to this project are documented here.
[Unreleased]
Documentation
-
Add multimodal input audit
-
Add jaxopt diffrax migration audit
-
Restore documentation context with current networkmodel details
-
Fix reviewed documentation issues
Fixed
-
Remove empty orcid field from CITATION.cff
-
Fixes in protwise models
-
Fixes in protwise models & debugging network model for inflated FC values
-
Fixed the dead code error
-
Fixed sensitivity analysis, problems in posterior, testing phase, need to pickle objective
-
Pickled objective for each posterior chain sampling
-
Standalone process for profile likelihood
-
Workers in sensitivity simulations
-
Equations in notebooks
-
Console display, posterior log, workflow testing for frontend
-
Fixed the frontend no code dashboard, testing networmodel and protwise done
-
Cached rhs in model ode solving, and forward simulation script
-
Formatting python code
-
Directories path
-
Posterior params conversion fix
-
Network sweep and forward simulation
-
Phosphosite dynamics 4th panel in forward simulation
-
Phosphosite dynamics 4th panel in forward simulation & data fit inspector
-
Combinatorial model state phase explosion down to O(1) runtime, no memory explosion in for loop, vectorized RHS for combinatorial model.
-
Ambiguity in model loading for forward simulation-KO/WT dashboard
Maintenance
-
Add community, governance, citation, and repository-maintenance files
-
Update changelog and docs config file
-
Chore and fix: cleanup config file, fix mrna modality missing scenario, tested all scenarios, works!
Other
- Merge pull request #31 from bibymaths/master
Cleanup for README.md
- Merge pull request #32 from bibymaths/master
Docs Deployment, Cleanup, and README Improvements
- Merge pull request #33
master
-
Delete
global_model.py: remove unused global ODE dual-fit implementation. -
Simplify transformations by removing unnecessary power calculations and update constraints for beta parameter handling
-
Refactor optimization workflows: add multi-start support, enhance constraint handling, and improve result export.
-
Remove
VECTORIZED_LOSS_FUNCTION: delete unused constant and related comments from codebase. -
Refactor configuration handling: integrate
config_loader, remove hardcoded paths, simplify constants, and enhance CLI default handling. -
Update optimizer configuration: switch method to DE, clean up optrun.py, and streamline imports
-
Refactor optimization: replace DE with GA, enhance tournament selection, clip negative values, and clean up unused operations
-
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. -
Update optimization: switch to NSGA-II, replace GA with DE in optrun.py, adjust termination criteria, and refine algorithm configuration
-
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.
-
Refactor multi-objective evaluation: enhance type annotations, accelerate evaluation with threading, optimize parameter handling, and streamline class initialization.
-
Update optimization pipeline: replace
DefaultMultiObjectiveTerminationwithget_termination, adjust config forresults_kinoptpaths, switch optimizer to SMSEMOA, and update ODE model todistmod. -
Refactor result directory structure and enhance
plotouthandling of CSV columns for robustness and compatibility. -
Refactor and enhance: standardize input file paths in
weights.py, improve multiprocessing and logging innormest.py, add multistart fitting for robustness, update default directories and optimization settings inconfig.toml, and enhance logging configuration for multiprocessing compatibility. -
Add new scripts for analyzing kinase/TF psites and computing Fréchet distance, update
config.tomlfor model switch torandmod, and implement a Fréchet distance utility module. -
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.
-
Merge pull request #36 from bibymaths/logFC
Configuration Enhancement
-
Integrate
config.tomlfor centralized configuration, refactor constants handling intfoptandkinopt, clean unused imports, and add early emphasis weights module undermodels/weights.py. -
Bring main into global; preserve phoskintime_global
-
Add
config.tomlfor centralized configuration inphoskintime_global -
Integrate Fréchet distance for goodness-of-fit evaluation in solution selection, replace weighted sum heuristic, and refactor related selection logic and imports. Enhance modularity and fix minor documentation inconsistencies.
-
Add
global_model_evol.pyfor global ODE dual-fit optimization model. Includes RNA/protein dynamics, numerical solvers, multi-objective optimization, and utility functions. -
Update runner: add CLI options for
kinoptandtfopt, refactor model indexing to include all TF/kinase interactions, and enhance input sanity checks and debug outputs. -
Refactor runner.py: streamline initialization, enhance parallel evaluation, enable UNSGA3 termination, improve Pareto front export, and update optimization settings in config.toml.
-
Enhance simulation workflow: update Jacobian function handling, implement new plotting routines for goodness-of-fit and steady-state dynamics, add functions for activity/export analysis and optimization history, and configure expanded model parameter bounds in config.
-
Add residual analysis and parameter uncertainty export functions, update export pipeline, and refine kinase activity/correlation outputs.
-
Remove
global_model_evol.pyas it is no longer needed for the optimization pipeline. -
Introduce zoom-in refinement strategy, improve fold-change coupling models, add
reconstruct_global_gof.py, and update config default model. -
Refine optimization termination: integrate
DefaultMultiObjectiveTerminationwith tightened tolerances and update pipeline accordingly. -
Refactor codebase for improved readability by fixing indentation inconsistencies, adhering to PEP 8 style guidelines, and improving code clarity without altering functionality.
-
Migrate and refactor
phoskintime_globaltoglobal_model, update configuration and file structure, integrate new CLI features, and improve optimization pipeline initialization and modularity. -
Replace
printstatements withlogger.infoacross the codebase, integratesetup_loggerfor unified logging, and improve thread management by setting environment variables for parallelized operations. -
Refactor runner and network logic: simplify log formatting, improve initial condition data handling with manual injection for edge cases, update error handling, and modify output directory in config.
-
Refactor initial condition handling: simplify logic in
runner.pyby removing redundant error handling, improve configuration parsing inutils.py, adjust refinement bounds logging inrefine.py, update configuration defaults inconfig.toml, and enhance modularity across related files. -
Enhance configuration and logging: add
num_refineparameter toconfig.pyandconfig.toml, update output directory name, replace print statements with logger calls innetwork.pyandrunner.py, and implement iterative refinement inrefine.py. -
Enhance refinement and CLI functionality: add
get_parameter_labelsinutils.py, implement parameter-bound refinement reporting inrefine.py, introducecleancommand for cache removal incli.py, and updaterunner.pyto utilize new utility. -
Update configuration and logging: change default model to
combinatorial, adjust output directory name inconfig.toml, enhance logging formats inrefine.py, and improvesetup_loggerwith dynamic module-based naming. -
Add global model simulation UI: introduce
compare_mechanisms.pyfor knockout analysis, updateconfig.tomlto setdistributiveas default model. -
Introduce advanced mechanistic discovery and temporal sensitivity analyses: add
temporal_sensitivity.pyandmechanistic_insights.pywith Sobol-based GSA, multilayer network analysis, and dynamic sensitivity visualization; updateconfig.tomlto setcombinatorialas the default model. -
Add
export_subnetworks.pyscript: extract subnetworks based on shared nodes from input data, generate node-specific CSVs and visualizations, and optionally create zipped output archives. -
Update logging, refine configuration handling, and add
find_protein_accumulators.py: simplify lambda scan logging, fixlossfn.pyheader, adjust loss configuration inutils.py, increase evaluation limits inrefine.py, and introduce script for identifying key protein accumulators. -
Improve network handling, refine optimization behavior, and enhance logging:
- Add topological sensitivity and signaling velocity considerations in
calculate_bio_bounds. - Enhance
build_tf_matrixwith orphan TF redirection logic and support for kinase-driven activity. - Improve
Indexlogic with orphan TF proxy mapping and optimized network initialization. - Introduce detailed Fréchet distance breakdowns and solution logging.
- Optimize logging with dynamic driver mapping and robustness improvements.
- Modify
init_raw_paramsto support custom bounds with detailed analysis inglobal_model/params.py. - Replace outdated debugging blocks and increase default evaluation limits.
-
Refine export functions for clearer outputs and logging in
runner.py. -
- Refine optimization parameters and bounds: enable custom bounds in
init_raw_params, adjust steady-state simulation duration, and raise degradation rate floors for proteins and mRNA.
- Refine optimization parameters and bounds: enable custom bounds in
- Update config: switch to ABL2-specific inputs, reduce generations, increase refinements, adjust lambda weights, and set
combinatorialas the default model. -
Enhance stability and logging: clamp tf sensitivity bounds, improve logging formats, and finalize steady-state checks.
-
Add hyperparameter tuning and sensitivity analysis modules, refine configuration, and enhance logging:
- Introduce
scan.pyfor Optuna-based hyperparameter tuning with visualization and dashboard integration. - Add
sensitivity.pyfor Morris sensitivity analysis, extending parameter exploration. - Update
config.toml: adjust default model tosaturation, revise optimization settings, and streamline lambda handling. - Enhance logging for model selection, results export, and optimization processes.
-
Refine
runner.pyto support hyperparameter scanning and sensitivity analysis. -
Add native Optuna support for multi-objective optimization:
- Introduce
optuna_solver.pywith MOTPE integration, persistent storage, and live dashboard. - Enhance exception handling and logging in
scan.pyto improve trial robustness and reporting. - Update
runner.pyto support solver selection (Pymoo or Optuna) and new hyperparameter scan logic. - Modify
config.toml: adjust default inputs, output directory, and solver configurations. -
Refactor external dependencies and restructure optimization workflow for clearer modularity and error handling.
-
Refactor data preprocessing and runner logic; add new scaling utilities and streamline solver handling:
- Add
process_and_scale_raw_datafunction toutils.pyfor preprocessing and scaling time-series data. - Update
runner.pyto improve argument defaults, enhance solver logic, and conditionally export convergence history. - Modify RNA and MS data handling in
io.pyto integrate the new scaling utilities and tidy raw datasets. - Adjust sensitivity analysis visualization and improve its usability.
-
Refactor
scan.pyand optimization parameters for enhanced consistency and clarity. -
Increase Optuna trials in
scan.pyand expand data handling insensitivity.pyfor improved robustness and flexibility. -
Refactor
runner.pyandutils.pyto streamline configuration, logging, and weight function handling: - Add
build_weight_functionsfor modular weight generation inoptproblem.py. - Update
runner.pyto integrate advanced logging, global configurations, and steady-state simulation enhancements. - Simplify TOML configuration parsing in
load_config_tomland expand metadata handling. -
Replace redundant debugging blocks with scalable utilities.
-
Integrate dashboard visualization, streamline solver logic, and refine optimization configuration:
- Add
dashboard_app.pyfor live visualization of results, including Pareto fronts, time-series predictions, and parameter summaries. - Introduce
dashboard.pyto save and load dashboard-friendly data bundles. - Refactor
runner.pyto log solver and model configuration details, integrate dashboard bundle export, and improve logging. - Reduce Optuna trials in
scan.pyfor quicker iterations. -
Switch default optimizer to
pymooinconfig.toml. -
Improve parameter logging in
runner.pyand enable refinements and sensitivity analysis inconfig.toml: - Refactor parameter logging by categorizing outputs (kinase activities, protein-specific rates, phosphatase rates, and global scalars) for readability.
-
Update
config.tomlto enable second-pass refinements (refine=Truewith 3 refinements) and activate sensitivity analysis (sensitivity_analysis=True). -
Enable parallelization in hyperparameter scan, update default configurations, and fix RNA dataframe handling:
- Add multi-core support (
--cores) and progress bar to Optuna inscan.py. - Refactor parallel runner logic in
runner.pyfor enhanced flexibility. - Update
config.tomlwith modified paths, increased cores, and reduced generations. -
Fix incorrect column reference in RNA dataframe export from
sensitivity.py. -
Increase default core count to 80 in
config.tomlfor improved parallel processing. -
Minor formatting fixes across multiple files and adjust optimization settings in
config.toml: - Fix indentation in function definitions for consistent style.
- Ensure newlines at EOF for proper file formatting.
-
Update
config.toml: change output directory, modify generations and population size, and disable refinement passes. -
Refactor TF and protein network handling, enhance observability filtering logic in
runner.py, and streamline configuration: -
Implement advanced TF proxying logic for orphan handling and network matrix construction.
- Refactor filtering logic to restrict observations to model proteins, with detailed diagnostics.
- Add
get_optimized_setsinutils.pyfor exporting optimized protein, site, and kinase sets. - Update imports for
dashboard_bundleandload_config_tomlacross modules. -
Modify
config.toml: update paths, adjust settings, and disable sensitivity analysis and hyperparameter scanning. -
Add robust sigma calculation, CI bands, and flagged point annotations in
export.py. Update runner and model logic with stricter filtering, improved initial condition dumping, and new IVP implementations. Adjust optimization weights and configurations inconfig.toml. -
Refactor
export.pyto modularize Goodness-of-Fit plotting with enhanced annotation logic, per-modality handling, and robust CI band visualization. Add steady-state summary generation inanalysis.pyand model-specific parameter adjustments inutils.pyfor enhanced configurability. Adjust plotting styles for improved clarity. -
Refactor logging for consistent use of
RESULTS_DIRacross modules, enable sensitivity analysis inconfig.toml, and enhance kinase activity vs phosphorylation drive analysis with labeled scatter plots and saved summaries. -
Update
config.tomlpaths, sensitivity analysis settings, and default model configuration. Refactor sensitivity plotting logic insensitivity.pyto streamline trajectory sampling, add top-curve export, and enhance perturbation cloud plots with RNA, protein, and phospho modalities. -
Simplify perturbation cloud title in sensitivity analysis plot.
-
Refactor
compare_mechanisms.pywith enhanced TF proxying, phospho filtering, and observation restriction. Modularize analysis functions, update sensitivity calculations, and fix KO simulation logic for phospho dynamics visualization. -
Refactor
compare_mechanisms.pyto improve phospho and RNA visualization, streamline dynamics panels, and modularize graphing logic with network preparation for KO/WT comparisons. -
Remove and refactor:
-
Delete
scripts/reconstruct_global_gof.py, consolidating Goodness-of-Fit plotting workflows into other modules. - Improve docstrings, exception handling, and argument parsing in
curve_similarity.pyfor clarity and robustness. - Update
temporal_sensitivity.pywith modularized function refactoring, enhanced GSA logic, and parallelization safety improvements. - Standardize utility function imports in
utils.pyby exposing_normcolsand_find_colasnormcolsandfind_col. -
Enhance
export_subnetworks.pywith detailed docstrings and improved save/visualization logic for subnetwork approaches. -
Modularize dashboard functionality and improve visualization workflows:
-
Add
run_dashboard.pyfor streamlined dashboard execution. - Enhance
dashboard_app.pywith result browsing, quick gallery, and improved protein/phosphosite filtering. - Refactor
save_dashboard_bundleto remove unused variables, save Pareto data, and improve robustness. -
Update documentation across dashboard modules for clarity and usability.
-
Refactor
compare_mechanisms.py: -
Enhance transcription factor (TF) handling with improved proxying logic and detailed filtering for matrix construction and observation restriction.
- Update visualization layout by standardizing docstrings, improving line alignment, and enhancing dynamic display logic for RNA, protein, and phospho simulations.
- Modularize functional influence mapping with depth-based edge propagation and cascade visualization for KO/WT comparisons.
-
Improve docstring consistency and parameter documentation across helper functions.
-
Enhance
export.pyand related modules: -
Add detailed docstrings across functions to improve clarity and explain functionality.
- Improve argument validation for plotting and exporting functions.
- Modularize Goodness-of-Fit logic, residuals plotting, and phosphorylation drive visualization.
- Introduce features like CI bands, flagged points, and robust sigma calculations.
- Simplify and refine parallel coordinate and Pareto front visualizations.
-
Update
buildmat.py,network.py, andlossfn.pywith enhanced docstrings, better exception handling, and modularized logic for matrix construction and loss calculations. -
Update
config.tomlpaths, refine model defaults, and introduce enhanced loss options. -
Update data input paths and output directory in
config.tomlfor clearer structure and consistent environment setup. - Change default model to "distributive" and enable new loss settings with extended options for robustness.
- Add and improve docstrings across modules (
refine.py,simulate.py, etc.) for better clarity and usability. - Modularize
run_iterative_refinementandsimulate_and_measurelogic for enhanced functionality and flexibility. - Introduce
scan.pyfor hyperparameter tuning with Optuna + Pymoo, including robust Bayesian optimization and live dashboards. -
Add detailed comments and helper functions across all edited modules to improve maintainability and reduce redundant code.
-
Add
tfopt_network_viz.pyandkinopt_network_readout.py: -
Introduce
tfopt_network_viz.pyfor minimal, publication-ready visualizations of TFopt network analysis, including load bars, knockout effects, and network plots. - Add
kinopt_network_readout.pyto implement mechanistic signal flow analysis for Kinopt data, including latent kinase activities, target decompositions, and in-silico knockout sensitivity. - Include comprehensive docstrings, configurable parameters, and helper methods for clarity and adaptability.
-
Ensure modularity and reproducibility across scripts with efficient file I/O and visualization workflows.
-
Add
make_kinopt_diagram.pyfor schematic generation: -
Introduce
make_kinopt_diagram.pyto generate publication-ready kinase-optimization and transcription-factor optimization schematics using DOT/Graphviz. - Include functions for visualizing individual
Kinopt/TFoptmodules and an integrated global diagram. - Provide comprehensive docstrings, modular configuration options, and robust error handling for visualization workflows.
-
Utilize PyGraphviz/PyDot for rendering, with support for customization of layouts, labels, and aesthetics.
-
Refactor scripts to improve style, readability, and constraints visualization:
-
Standardize inline comments, whitespace alignment, and indentation across
tfopt_network_viz.py,kinopt_network_viz.py, andkinopt_network_readout.py. - Add functions for generating TFopt/Kinopt constraints diagrams with DOT/Graphviz.
- Extend visualization workflows to include global constraints representations and per-module configurations.
- Enhance robust error handling for DOT rendering using PyGraphviz and PyDot.
-
Streamline main logic in
make_kinopt_diagram.pyfor consistent constraints and non-constraints diagram generation. -
Add
tfopt.pyfor streamlit-based network visualization and analysis: -
Introduce a unified Streamlit dashboard for TFopt network readout, visualization, and rendering.
- Incorporate dynamic in-memory analysis, Plotly-based visualizations, and Gravis network rendering.
- Simplify workflows by centralizing data loading and eliminating intermediate files.
-
Add detailed docstrings and modular configuration options for enhanced usability and flexibility.
-
Reduce the number of transcription factors (TFs) in
make_kinopt_diagram.pyfrom 4 to 2 for simplified constraints visualization. -
Update
kinopt.pyvisualization: -
Rename legend label from "C" to "K".
-
Change y-axis title from "Signal (arb.)" to "Fold Changes".
-
Add kinase-target heatmap visualization to
kinopt.py: -
Introduce
build_ko_heatmap_matrixandfig_ko_heatmapfunctions for kinase-target site effects visualization. - Add corresponding Streamlit UI for customizing heatmap parameters (e.g., top edges, max targets/kinases).
- Update all Plotly visualizations to use a consistent high-resolution export configuration (
PLOTLY_CONFIG_HIRES). -
Include CSV download option for heatmap data.
-
Convert docstring to raw format in
global_model/models.pyforsequential_rhsfunction. -
Replace old static images, update README with new logo and visuals:
-
Removed outdated
.svgand.pngfiles (dg1.svg,goal_2.png,logo_1.png, etc.). - Added new logo (
phoskintime_logo.svg) and supporting visuals (phoskintime_problem.png,phoskintime_analysis.png) for improved branding and user understanding. -
Enhanced
README.mdwith a centered header, new logo, problem overview, updated feature highlights, and interactive formatting. -
Update README with Zenodo DOI badge and enhanced feature highlights:
-
Added DOI badge for publication reference.
-
Introduced detailed feature description, upcoming updates, and improved interactive formatting for better clarity and engagement.
-
Add thermal model extension simulation testing.
-
Compare baseline with 37 and 42 temperature of protein folding.
-
Thermodynamic constraint setup
-
Updated thermal estimation and simulation prototype.
-
Add
.idea/to.gitignoreand include interpretation notes for global phosphorylation-transcription model. -
Apply review comments: fix outlier logic, docstrings, imports, LaTeX, cache_data side effects
Agent-Logs-Url: https://github.com/bibymaths/phoskintime/sessions/901d3738-f641-4127-9b89-83bd2cbbe5b6
Co-authored-by: bibymaths 42838835+bibymaths@users.noreply.github.com
- 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
- Clarify test functions missing test_ prefix in testing docs
Agent-Logs-Url: https://github.com/bibymaths/phoskintime/sessions/9d5995ac-7291-443c-830d-3986971c1a8e
Co-authored-by: bibymaths 42838835+bibymaths@users.noreply.github.com
- Fix review feedback: docs accuracy and missing dependencies
Agent-Logs-Url: https://github.com/bibymaths/phoskintime/sessions/66aa4994-603c-4976-82a2-44e5c1a04d4e
Co-authored-by: bibymaths 42838835+bibymaths@users.noreply.github.com
- Merge pull request #45 from bibymaths/copilot/fix-audit-docs-packaging-global
Fix audit findings for global workflow docs and packaging
-
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). -
//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. -
//github.com/bibymaths/phoskintime/issues/43] Remove
poetry.lockfile to decouple package dependency management. -
//github.com/bibymaths/phoskintime/issues/43] Remove unused dependencies and add new package entries in
pixi.lockfile. -
Merge pull request #46 from bibymaths/copilot/add-missing-community-files
chore: add community, governance, citation, and repository-maintenance files
-
Add CODEOWNERS entry [https://github.com/Normann-BPh] for
tfopt/local/objfn/minfn.py. -
Add
git-cliffas a dependency and configure changelog tasks inpixi.toml. -
Update
CHANGELOG.md: Reformat structure and document notable project changes. -
Merge pull request #55 from bibymaths/codex/create-phoskintime-multi-modal-input-audit
docs: add PhosKinTime multimodal input audit
-
Refactor PhosKinTime JAXopt Diffrax multimodal fitting
-
Strengthen PhosKinTime JAX Diffrax refactor checks
-
Add JAX inference diagnostics for PhosKinTime
-
Merge pull request #56 from bibymaths/codex/implement-a-to-z-refactor-as-per-audits
Refactor PhosKinTime networkmodel/protwise to JAX/JAXopt + Diffrax with multimodal support
-
Fix local ODE parameter optimization setup
-
Fix local ODE parameter optimization setup
Motivation
- Prevent optimizer collapse to near-zero / flat trajectories by removing mixed transformed/physical parameter semantics and silent bound resizing which misaligned params and bounds.
- Ensure a single source of truth for parameter counts/names so the optimizer, ODE RHS, and I/O agree on vector length and ordering.
- Stabilize loss scaling and regularization so the data fit (not the regularizer or unit mismatches) drives the solution.
- Add diagnostics and a minimal reproducible example to detect and debug lower‑bound parking and flat fits early.
Description
- Replaced ad-hoc mixed transforms with an explicit physical-space optimizer mapping and helpers in
protwise/paramest/normest.pyby addingto_opt_space/from_opt_space, removing the special-case softplus/log branching, and using the same coordinates the ODE receives (addresses parameter transformations and optimizer-space mismatch). (protwise/paramest/normest.py) - Removed all uses of silent
np.resizebound expansion and now expand dict bounds deterministically in parameter-name order usingget_param_names()andget_num_params()so bounds length and param ordering always match the ODE parameterization; added validation to raise on mismatches. (protwise/paramest/normest.py, config/constants.py) - Reworked local-model solving to use model-specific Diffrax RHS functions via
protwise/models/diffrax_solver.py(implemented_dist_rhs,_succ_rhs,_rand_rhs, andmake_local_model_rhs) and madesolve_protwise_ode()validate expected parameter count before calling Diffrax;protwise.models.__init__now normalizes model aliases when importing modules. This ensures the ODE uses the same parameter layout asget_num_params. (protwise/models/diffrax_solver.py, protwise/models/init.py) - Normalized layer losses by a data-scale heuristic
_loss_scale(...)so each observed layer (mRNA/protein/phospho) contributes proportionally to the objective, and reduced regularization weight to1e-6to discourage extreme rates without making low-magnitude/flat dynamics attractive. (protwise/paramest/normest.py) - Added optimizer diagnostics: initial objective, objective at a scaled initial guess, final objective, optimizer iteration count, and fraction of parameters at their lower bounds to make collapse-to-lower-bound behavior visible in logs. Also added gradient-norm logging in
networkmodel/jax_backend.pyso convergence diagnostics include gradient magnitude. (protwise/paramest/normest.py, networkmodel/jax_backend.py) - Added a small reproducible example
examples/protwise_optimization_sanity.pywhich simulates data from known positive parameters and runsnormestto validate final loss < initial loss, parameters not collapsed to zero, and non-zero trajectory variance. (examples/protwise_optimization_sanity.py) - Added focused tests
tests/test_protwise_parameterization.pyasserting parameter name/count synchronization, dict-bound expansion order, and that optimizer-space mapping preserves physical-space values. (tests/test_protwise_parameterization.py) - Minor README update documenting single-source parameter metadata and that JAXopt now optimizes in physical space. (protwise/paramest/README.md)
Files changed (high-level): - protwise/paramest/normest.py — unify opt/physical spaces, deterministic bounds expansion, loss scaling, logging, reduced regularization. - protwise/models/diffrax_solver.py — implement model-specific Diffrax RHSs and parameter-count validation. - protwise/models/init.py — normalize model aliases when importing. - networkmodel/jax_backend.py — log gradient norm at optimizer exit for diagnostics. - examples/protwise_optimization_sanity.py — synthetic single-gene sanity script. - tests/test_protwise_parameterization.py — new unit tests for parameterization and bounds expansion. - protwise/paramest/README.md — short doc update.
Testing
- Compiled the modified modules successfully:
python -m py_compile config/constants.py networkmodel/jax_backend.py protwise/paramest/normest.py protwise/models/diffrax_solver.py protwise/models/__init__.py examples/protwise_optimization_sanity.py tests/test_protwise_parameterization.py(succeeded in this environment). - Ran unit test collection locally for the new focused tests:
PYTHONPATH=. pytest -q tests/test_protwise_parameterization.py(test collection/execution failed in this environment because required runtime deps such asnumpyare not installed here; the tests themselves assert parameter-count/name consistency and bounds expansion order and should pass in a fully provisioned environment). - Performed local smoke checks during development (import/compile and basic function calls) and added explicit runtime logs for initial objective, scaled initial objective, final value, iteration count, and gradient norm to help reproduce and debug remaining cases.
Notes on reproducing the sanity check (after installing dependencies):
- Run the synthetic example for protwise:
- PYTHONPATH=. python examples/protwise_optimization_sanity.py --model protwise
- Expected qualitative outputs: not_collapsed=True, trajectory_variance > 0, final residual smaller than initial, estimated parameters positive and not all at lower bounds.
- Run the same for randmod to validate the random-model parameterization:
- PYTHONPATH=. python examples/protwise_optimization_sanity.py --model randmod
These changes synchronize parameter counts/names, ensure bounds map to parameters in the correct order (no silent resizing), run the optimizer in physical space (avoiding half-transformed semantics that compressed midpoints toward zero), normalize losses by data scale, and reduce the regularizer — collectively preventing the optimizer from being rewarded for trivially small/flat trajectories.
- Centralize Diffrax protwise solver, canonicalize randmod subsets, and refactor optimization/bounds
Motivation
- Centralize and modernize the local-protwise ODE solver interface to share a single Diffrax backend across all local mechanisms and avoid inconsistent behavior when modules are called directly.
- Canonicalize randmod subset ordering and provide bitmask utilities so parameter/ state ordering is consistent with labels and legacy behavior.
- Simplify and harden parameter bounds and optimizer space handling so projected-gradient (
jaxopt.ProjectedGradient) operates directly in physical parameter space with robust bound normalization. - Improve diagnostics and add tests/examples to validate parameterization, aggregation, and wrapper dispatch.
Description
- Added
config.helpers.generate_randmod_subsetsandrandmod_subset_masksand updated randmod-related naming/label/bounds generation to use these canonical subsets. - Introduced a centralized Diffrax local-model solver in
protwise/models/diffrax_solver.pywith per-mechanism RHS implementations (_dist_rhs,_succ_rhs,_rand_rhs) andmake_local_model_rhs/solve_protwise_odedispatching by canonical model name. - Converted mechanism modules to lightweight wrappers (
protwise/models/protwise.py, and updateddistmod.py,randmod.py,succmod.py) that call the centralized solver with an explicit model name. - Refactored
protwise.paramest.normestto: normalize bounds by parameter names, map optimizer space to physical space (to_opt_space/from_opt_space), aggregate randmod subset states into site-level observations, scale loss terms by data magnitude, and apply a small regularization weight; added defensive checks and richer logging. - Minor improvements in
networkmodel.jax_backendlogging to include gradient norm diagnostics and a small example scriptexamples/protwise_optimization_sanity.pyplus unit teststests/test_protwise_parameterization.pyvalidating naming, bounds expansion, aggregation, opt-space identity, subset masks, and wrapper dispatch.
Testing
- Ran unit tests in
tests/test_protwise_parameterization.pywithpytestand all tests passed. -
Executed the new example scenario for local fitting (
examples/protwise_optimization_sanity.py) locally as a sanity check (simulates and fits synthetic trajectories) and observed expected diagnostics. -
Refactor protwise local models: randmod subset helpers, Diffrax integration, bounds/optimization overhaul, and tests
Motivation
- Centralize and canonicalize randmod subset ordering and masks so parameter/state naming, bounds, and aggregation are consistent across code paths.
- Unify local ODE RHS implementations and expose a single Diffrax-backed solver entrypoint that validates parameter counts and supports multiple mechanism names.
- Simplify the optimizer parameterization to operate in physical space with projected box constraints and make bounds handling explicit and safe.
- Improve diagnostics and add an integration-style example plus unit tests to lock down the new behavior.
Description
- Introduced
generate_randmod_subsetsandrandmod_subset_masksinconfig.helpersand updatedget_param_names_rand,generate_labels_rand, andget_bounds_randto use the canonical subset ordering. - Reworked
protwise.models.diffrax_solverto provide mechanism-specific RHS implementations (_dist_rhs,_succ_rhs,_rand_rhs),make_local_model_rhs,aggregate_randmod_site_phospho, and a validatedsolve_protwise_odethat enforces expected parameter counts and returns site-aggregated phospho forrandmod. - Added per-mechanism wrappers (
protwise,distmod,succmod,randmod) to pass an explicitmodel_nameinto the centralized solver so direct module calls are unambiguous. - Overhauled
protwise.paramest.normestto normalize model names, replace the previous softplus/log mix with identity optimizer space viato_opt_space/from_opt_space, implement robust_normalize_boundsthat expands dict bounds in parameter order, add loss scaling (_loss_scale), and small regularization viaREGULARIZATION_WEIGHT. - Improved optimizer diagnostics in
networkmodel.jax_backend.optimize_scalar_objectiveby logging a gradient norm (best-effort) alongside iterations and final objective. - Updated randmod steady-state initializer to use canonical subsets and added an example script
examples/protwise_optimization_sanity.pyexercising local-model fitting. - Added comprehensive unit tests in
tests/test_protwise_parameterization.pycovering naming/counts, bounds expansion, optimizer-space identity, randmod subset/mask canonical order, aggregation consistency, and wrapper dispatch behavior.
Testing
- Ran the new unit tests with
pytest tests/test_protwise_parameterization.pyand they passed. - Ran the full test suite with
pytest -qafter the changes and all tests, including the new protwise parameterization tests, succeeded. -
Executed the example sanity script
python examples/protwise_optimization_sanity.py --model randmodlocally to validate end-to-end fit behavior and observed expected regression-style checks (used as a manual integration check). -
Refactor local protwise solvers, randmod subset ordering, bounds/optimization mapping, and add unit tests
Motivation
- Provide a single, centralized Diffrax-backed solver for local protein-wise mechanisms and ensure each mechanism uses the correct RHS and naming conventions.
- Make randmod subset ordering explicit and reproducible so parameter/label ordering and bitmask mappings match the JAX objective and legacy expectations.
- Simplify and harden parameter bounds handling and optimizer coordinate mapping by running projected optimization directly in physical parameter space with stronger validation.
- Improve diagnostics (optimizer gradient norm logging) and add tests/examples to validate the new behavior.
Description
- Add canonical randmod helpers
generate_randmod_subsetsandrandmod_subset_masksand use them in parameter name/label generation and bounds expansion (config/helpers/__init__.py). - Implement a unified local solver in
protwise/models/diffrax_solver.pywith_dist_rhs,_succ_rhs,_rand_rhs,make_local_model_rhs,solve_protwise_ode, and aggregation helpersaggregate_randmod_site_phospho, plus canonical model name normalisation. - Update per-mechanism modules and imports so direct calls pass an explicit
model_nameto the centralized solver and dynamic imports use a normalized model name (protwise/models/*,protwise/models/__init__.py,protwise/steady/__init__.py). - Refactor parameter estimation in
protwise/paramest/normest.pyto: use a canonical model name, operate optimizer in physical parameter space withto_opt_space/from_opt_space, provide_normalize_boundsthat expands dict bounds in parameter-name order and validates infinities, add loss scaling and a small regularization weight, and wire the local RHS into the JAX objective. - Add JAXopt diagnostic logging of gradient norm in
networkmodel/jax_backend.py. - Add an example sanity script
examples/protwise_optimization_sanity.pyand comprehensive unit teststests/test_protwise_parameterization.pyvalidating param-name/count parity, bounds expansion, randmod aggregation/masking, normalization behavior, and wrapper dispatch. - Minor docs update in
protwise/paramest/README.mdto reflect the changed optimizer/bounds behavior.
Testing
- Ran the new unit tests with
pytest tests/test_protwise_parameterization.py, and all tests passed. -
Exercised the randmod aggregation and normalization behavior via the tests that simulate raw solver output and verify site-level aggregation and normalization succeeded.
-
Merge pull request #57 from bibymaths/codex/fix-optimization-issues-causing-parameter-collapse
Fix local ODE parameter optimization setup
-
Fix global networkmodel phospho objective mapping
-
Merge pull request #58 from bibymaths/codex/fix-global-model-phospho-mapping-and-loss
Fix global networkmodel phospho objective mapping
-
Fix networkmodel state offsets and parameter packing
-
Restore JAX combinatorial phosphorylation transitions
-
Fix networkmodel prior for raw theta objective
-
Merge pull request #59 from bibymaths/codex/fix-multiple-bugs-in-networkmodel-path
Fix per-protein state indexing and optimizer parameter packing in networkmodel
-
Network model optimization fixed. correctly working.
-
Remove deadcode - scipy/pymoo custom and odeint functions
-
Restore few functions to not break anything in network model from jacspeedup.py and steadystate.py and utils.py
-
Wire networkmodel inference config
-
Wire networkmodel inference config
Motivation
- Remove dead evolutionary/protwise/legacy ODE backend configuration and expose inference/post-optimization controls so the JAXopt+Diffrax networkmodel path can use
inference.pyfeatures viaconfig.tomland the existing config loader. - Integrate multistart/profile-likelihood/posterior-sampling flows into
runner.pywhile keepingjax_backend.pyandinference.pyunchanged and without adding new CLI arguments.
Description
- Removed legacy solver/evolutionary/protwise config keys from
config.tomland added a clearly labelled# INFERENCE / POST-OPTIMIZATION ANALYSESsection withn_starts,profile_likelihood,profile_indices,profile_grid_size,posterior_sampling,posterior_num_warmup, andposterior_num_samples. - Updated the config loader (
config_loader.py)/PhosKinConfigto stop exporting legacy fields (e.g.population_size,use_custom_solver,optimizer, Optuna/Pymoo knobs and refinement fields) and to parse the new inference/profile/posterior fields using the existinggetattr/conversion patterns. - Modified
networkmodel/config.pyto remove constants tied only to legacy backends and to export the new constantsN_STARTS,PROFILE_LIKELIHOOD,PROFILE_INDICES,PROFILE_GRID_SIZE,POSTERIOR_SAMPLING,POSTERIOR_NUM_WARMUP, andPOSTERIOR_NUM_SAMPLES. - Wired
networkmodel/runner.pyto importInferenceContext,run_multistart,run_profile_likelihood,run_numpyro_posterior, andconfigure_jax_parallelismfromnetworkmodel.inference; replaced the single-callproblem.solve(...)with anInferenceContext-driven multistart branch (whenN_STARTS>1) and added optional post-optimization blocks that call profile-likelihood and NumPyro posterior sampling; removed legacy CLI knobs--popand--refineand set the solver default to"jaxopt"so default behavior remains the same when the new fields are at defaults.
Testing
- Compiled modified modules with
python -m py_compile config_loader.py networkmodel/config.py networkmodel/runner.pyand the compilation succeeded. - Verified
load_config_toml('config.toml')returns the new inference defaults and that the removed legacy fields are not present, and asserted the new constants import fromnetworkmodel.config(smoke tests succeeded). - Performed a smoke import of
networkmodel.runnerto ensure there are no import-time errors (succeeded). - Added and ran
PYTHONPATH=. pytest -q tests/test_networkmodel_inference_config.pywhich passed (tests confirming defaults, removed legacy exports, and runner wiring). -
Ran a subset of the existing integration tests (
tests/test_phoskintime_jax_multimodal.pyandtests/test_protwise_parameterization.py) withPYTHONPATH=., which executed but reported 4 existing test failures unrelated to the config wiring (oneGlobalODEScalarObjectiveslice/bounds mismatch and threepytest.approxnested-list compatibility issues) while many other tests passed; these failures pre-existed and were not introduced by the inference wiring. -
Merge pull request #60 from bibymaths/codex/wire-inference.py-into-runner.py-with-config-audit
Wire networkmodel inference config
-
Remove dead configurations
-
Formatting the code
-
Merge branch 'missing-data-scenarios' into codex/audit-and-rewrite-documentation-in-networkmodel-jz2t7v
-
Merge pull request #62 from bibymaths/codex/audit-and-rewrite-documentation-in-networkmodel-jz2t7v
Migrate networkmodel scalar path to JAX/Diffrax/JAXopt and update docs/CLI
- Merge remote-tracking branch 'origin/missing-data-scenarios' into missing-data-scenarios
Conflicts:
networkmodel/README.md
networkmodel/inference.py
-
Formatting the code
-
Modules names changed in networkmodel
-
Added param names to posterior inference, increased image quality, fixed non negative parameters
-
Added speedup for posterior via numpyro - testing TBD
-
Renamed module names
-
Renamed module names
-
Figures dpi set to 300
-
Update changelog and documentation
-
Update README.md
-
Add notebook readiness tests across modules
-
Revert KinOpt and TFOpt notebook refactor
-
Validate networkmodel slice layouts exactly
-
Merge pull request #63 from bibymaths/codex/fix-failing-tests-and-increase-coverage
Introduce notebook-safe projected finite-difference optimizers, lightweight LinearConstraint, tests and docs updates
-
Added coverage badge, fixed slice bounds tests, removed old pypi README.md
-
Dead scripts for thermal extension
-
Add executable educational notebooks
-
Add SALib to CI test dependencies
-
Merge pull request #64 from bibymaths/codex/create-educational-jupyter-notebooks-for-modules
Add executable educational notebooks and CI/tests for KinOpt, TFOpt, protwise, and networkmodel
-
Pixi and README.md
-
Merge pull request #65 from bibymaths/missing-data-scenarios
Missing data scenarios
-
Frontend plan
-
Frontend plan renamed
-
Standardize dashboard-ready output contract
-
Add dashboard result browser
-
Add dashboard CLI launcher
-
Add dashboard upload and configuration UI
-
Integrate workflow-specific dashboard panels
-
Add dashboard tests and documentation
-
Fix networkmodel custom config handling
-
Fix dashboard input extension validation
-
Fix ProtWise custom config handling
-
Add dashboard user, developer, and troubleshooting guides
-
Fix dashboard result discovery for reports and child runs
-
Restrict dashboard config inputs to TOML
-
Serialize run metadata with JSON-safe arrays
-
Fix advanced analysis dashboard commands
-
Merge pull request #67 from bibymaths/codex/standardize-dashboard-ready-output-contract
Standardize dashboard-ready output contract
-
Add backward alias for old pymooo results to display in legacy mode and added imageio and gravis libs, module levelling for scripts
-
Density plots for posterior with gaussian smoothing
-
Fix forward phosphosite ODE panel
-
Merge pull request #68 from bibymaths/codex/fix-phosphosite-state-dynamics-panel
Fix forward phosphosite ODE panel
-
Memory issue fixing
-
Make combinatorial model memory safe
-
Fix combinatorial S-rate export cache shape
-
Merge pull request #69 from bibymaths/codex/implement-memory-safe-fixes-for-combinatorial-model
Make combinatorial model memory safe
-
Made a project presentation using the sample results.
-
Changelog, organic testing, publishing workflow for github and zenodo
-
Defer ODE input validation until runtime
-
Make imports safe with empty output paths
-
Merge pull request #70 from bibymaths/codex/fix-import-time-issues-with-empty-config.toml
Defer ODE input validation until ProtWise runtime
-
Coverage, update readme with workflow, extension planning for future
-
Bump to v0.5.0
Tests
-
Testing network model - distributive - fixing errors, and bounds args passing issue
-
Testing network model with posterior sampling, added logger and progress bar to MCMC NUTS
-
Testing network model with posterior sampling, removed history video
-
Notebooks are working
[0.4.0] - 2025-05-06
Other
- Merge pull request #29 from bibymaths/master
Archive the devleopment in master - updated readme
- Merge pull request #30 from bibymaths/master
publish 0.4.0
[0.4.0-alpha] - 2025-05-03
Fixed
-
Fixes
-
Fixes - python path in toml
-
Fixes - python path in toml
-
Fixes - python path in toml
-
Fixes - file names change in workflow yaml
-
Fixes - püath problem
-
Fixes and integration from corpus
-
Fixes
-
Fixes and readme updates
-
Fixed warnings in curve_fit, added noramlization functionality.
-
Fixes in formulas in readme
-
Fixed toml file
-
Fixed toml file
-
Fixed io test
-
Fix in logger
-
Fixes for data structure names, mmino fixes in plotting - general fixes
-
Fixed preprocessing to load all mRNAs for phospho- network TFs from collectTRI - except COMPLEX formations
-
Fix water fall plot
-
Fixed dir creation in processing
-
Fixed dir moving
-
Fixed typo in plotout.py
-
Fixed docs/reference.md
-
Fixed docs/index.md
-
Fixed .toml
-
Fixes and adding support for network via cytoscape
Other
-
Add my files
-
Removed logs form repo
-
Updated imports, corrected logging and its working.
-
Github workflow corrected, lets see
plots refined.
-
Corrected python version in poetry toml file
-
Corrected python version and deleted env loader
-
Corrected dependecnies name
-
Adding pytest
-
Adding pytest fixture for coverage
-
Debugging python path
-
Debugging python path
-
Debugging python path
-
Debugging python path
-
Debugging python path
-
Debugging python path
-
Adding status on readme
-
Added coverage badge
-
Removed data and updates
-
Chnaged modules names
-
Profiles estimation with interpolation added functionality
-
Removed logger from utils
-
Working on random model integration successive and distributive done init done class of plotting done
-
Random model integrated in seqest.py but remainnig in adapest.py
-
Added optimization prior to modelling and estimation random ODE model works fine
-
Chnaged file name due to windows warning
-
Linked optimization results ot ODE input file
-
Added nsga 2 to optimization step
-
Chnaged testing and cached data
-
Corrected tables and printing for optimality of solution
-
Created two objecive modules within evol for nsga and diffevol
-
Worked on diffevol, only linking with plotting of opritmzation results is remainning
-
Diffevol done plotting analysis and fit analysis added- not linked.
-
Added powells methods in julia
-
Normal estimation added
-
Added readme to every module, added plotting bar for params in plotter class, created logo, added the goal
-
Added the heading in goal
-
Edited top README.md
-
Minor fixes
-
Added readme for abopt and inside as well
-
Minor spelling fix in toml
-
Added normalization to compare with FC data
-
Added new unit tests
-
Created pytest.ini
-
Added test 10 models, and 6 of them failed. fixed major warnings in paramest
-
Added test model
-
Minor fixes
-
Added model illustrative diagram, and SE calculation along with confidence intervals using linearization approach
-
Added experimental background
-
Added processing script for raw files - including TF, collectTRI
-
Worked on TF - optimization, looks okay.
-
Corrections in equation mapping. works well.
-
TF-mRNA optimization done. Proceeding to modularize into subpackage. Filtered mRNA based on interaction data from phosphorylation.
-
Work on bootstrap and error landscape
-
Integrated tfopt into package for SLSQP, pymoo remaining
-
Updated instructions on installing system wide graph viz for "dot" binary
-
Merge remote-tracking branch 'origin/master'
-
Labels corrected - mRNA is being estimated via TF (Prtoein Group/ GeneID) and its Psites - okay
-
Labels in main corrected
-
Integrated global (nsga, etc) to tfopt - looks good
-
Minor fixes.
-
Minor fixes -worked on post optimization analysis
-
Added fitanalysis to tfopt - minor fixes
-
Preprocessing steps cleared - minor fixes and organizing
-
Minor fix - path
-
Deleted logo1 - unnecessary
-
Updated .gitignore file
-
Result file neames fixes for tfopt and kinopt and minor fixes in io utils
-
Minor changes in plotting display.
-
Added mapping for TF - mRNA - Psite _ Kinase.
minor change in .gitignore
-
Added data processing workflow README.md
-
Added a brief dependency graph.
-
Update README.md
-
Merge remote-tracking branch 'origin/master'
-
Minor fix - priting and mapping in tfopt
-
Vectorized residuals over time in tfopt now added.
-
Switched to trust-constr in tfopt
-
Minor edits - trying out Tikhonov regularization in tfopt loss function
-
Silly mistake in residuals in kinopt - FIXED
-
Matching plots to tfopt for kinopt and change in plotting colors, lines and markers
-
No optimization for synthetic placeholder in kinase and no imputation - FIXED
-
Added optimization gif
-
Added optimization gif - Fix perma path
-
Added optimization gif - Fix perma path
-
Minor fix in path
-
Minor fix - plot params, objfunc, method
-
Workon - tfopt
-
Minor fixes - testing in plotly object
-
Moved starting code to legacy/
-
Removed legacy code and fixed plotly graph object
-
Preprocessing and data reading fixed - silly processing mistake
-
Added summary stats and data scaling
-
Added docstrings - config, kinopt.evol, kinopt.fitanalysis
-
Work on package
-
Added docstrings - kinopt.local, models and kinopt.powell
-
Added docstrings - paramest
-
Added docstrings - steady, sensitivity, processing
-
Added docstrings - tfopt.evol, utils
-
Added docstrings - tfopt.local - Completed v.0.1.0
-
Added bsd v3 license, dockerfile, .toml file, Acknowldgements, code acknowledgements
-
Added installing instructions for four scenarios
uv, venv, conda, etc
-
Typo fix
-
Added & updated unit tests
-
Added & updated unit tests
-
Removed two unit tests
-
Update pytests files
-
Update pytests files
-
Added mkdocs for reference manual
-
Minor updates and mapping added, file would be in data folder of root
-
Added nodes, edges with labels and attributions from mapping.
-
Updated gitignore
-
Updated metadata, README's of tfopt and its modules
-
Minor fixes
-
Added CLI wrappers for entry point
-
Added direct link to open file from CLI
-
Display the missing kinases in output before optimization in kinopt && working on some fixes - tfopt
-
Added CHANGELOG.md
-
Added light grid in plotting of model
-
Removed clipping of predicted expression and added deployment configuration file
-
Update CHANGELOG.md with recent additions and fixes
-
Add vectorized loss function flag and update default loss type
-
Introduced a boolean flag
VECTORIZED_LOSS_FUNCTIONto toggle between vectorized and standard loss function implementations for performance optimization. (ToDo) - Updated the default value of
loss_typein command line arguments to 3 (Cauchy). -
Enhanced plotting functions for better visualization and labeling of data points.
-
Skip psite values that don't start with S_, Y_, or T_ in iodata.py
-
Add configuration file for PhosKinTime settings and update population size in optrun.py
-
Update parameter bounds and model settings in configuration files
-
Refactor logging statements and improve data filtering in main processing files
-
Enhance analysis and plotting functions: add upper bound parameter, update loss type defaults, and improve legend formatting
-
Delete abopt directory
-
Update CHANGELOG.md: add new features, enhancements, changes, and removals
-
Update mkdocs.yml: add new documentation sections and changelog link
-
Update documentation paths in mkdocs.yml and CHANGELOG.md; enhance plotting function aesthetics in plotout.py
-
Update .gitignore: add documentation files to ignore list
-
Refactor optimization methods: change default method to DE, enhance time series data handling, and improve parallel processing
-
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
-
Update cleanup.py and README.md: clarify comments, enhance data processing descriptions, and improve module structure
-
Update mkdocs.yml and README.md: enhance documentation structure, add markdown extensions, and clarify usage instructions
-
Update mkdocs.yml and README.md: correct comments and improve mathematical notation for clarity
-
Update mkdocs.yml and add publish.yml: improve site configuration, enhance documentation features, and automate PyPI publishing
-
Refactor ODE system in randmod.py: improve parameter handling, enhance clarity of equations, and optimize state transitions; update ci.py, config.py, logconf.py, and main.py for consistency and improved logging
-
Update project configuration and versioning: enhance .gitignore to exclude bash scripts and environment files; update version to 0.2.0 in init.py and pyproject.toml; improve scatter plot edge color in plotting.py.
-
Update project metadata in pyproject.toml: remove changelog entry and clarify project description
-
Update logging format and configuration settings: correct CI header formatting, adjust max_workers for parallel processing, limit gene processing for testing, and enable parallel execution in ODE system
-
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.
-
Enable parallel execution in njit decorator for objective function in minfn.py
-
Add non-psite time series to K_array and clean up commented code in construct.py; adjust docstring formatting in filter.py
-
Fix LaTeX formatting in README.md: replace parentheses with dollar signs for inline math expressions
-
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.
-
Comment out output file copy in main.py and clean up package import in powell.jl
-
Refactor package imports in powell.jl and remove commented-out code in main.py; add Project.toml for dependency management
-
Refactor function names and improve data handling in powell.jl; update README.md to remove outdated requirements and dependencies
-
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.
-
Update threading configuration and improve residuals calculation in powell.jl; enhance README.md with instructions for running the Julia script directly.
-
Remove powell module references from README.md and update usage instructions
-
Update .gitignore to ignore lock files and change README reference in pyproject.toml; add new PYPI_README.md for package documentation
-
Refactor plotting functions in plotting.py to generate separate scatter and density plots for parameters A, B, C, and D; update estimation mode in constants.py to 'sequential' and adjust import statement in main.py.
-
Update constants and enhance data merging and plotting functionality: change ODE_MODEL to 'distmod', update ESTIMATION_MODE to 'normal', implement merge_obs_est function in display.py, and improve plotting methods in plotting.py for better visualization of observed and estimated data.
-
Update confidence interval logging, adjust parameter estimation description, and enhance plotting functions: modify header format in ci.py, update description in config.py, enable parallel processing, and improve Kullback-Divergence visualization in plotting.py.
-
Update confidence interval logging format, adjust regularization parameter, and modify color palette in plotting: change header format in ci.py, update LAMBDA_REG in constants.py, and switch color palette to 'husl' in plotting.py.
-
Update image path handling in display.py to use URI format for PNG files
-
Update confidence interval logging format for improved readability in ci.py
-
Update CHANGELOG, modify ODE_MODEL, and enhance display styles: set ODE_MODEL to 'randmod', update header format in ci.py, and improve CSS for h2 elements in display.py.
-
Update log configuration width to improve log formatting in logconf.py
-
Update CLI usage to remove module flag for phoskintime commands
-
Refactor logging format and update model parameters: improve log readability, change ODE_MODEL to 'distmod', and switch to sequential estimation mode.
-
Update estimation mode and enhance parameter plotting: switch to 'normal' estimation mode, adjust regularization parameters, and add confidence interval bar plotting functionality.
-
Update estimation mode and enhance parameter plotting: switch to 'sequential' estimation mode, adjust regularization parameter, and improve confidence interval logging and plotting functionality.
-
Update parameter bounds and estimation settings: adjust bounds for parameters A, B, C, D, Ssite, and Dsite to 0-20, change ODE_MODEL to 'randmod', switch ESTIMATION_MODE to 'normal', and modify regularization parameters.
-
Update parameter bounds for A, B, C, D, and Dsite: change bounds from 0-20 to 0-2 for improved estimation accuracy.
-
Update ODE model and regularization parameter: change ODE_MODEL to 'distmod' and increase LAMBDA_REG from 1e-3 to 1e-2 for improved estimation performance.
-
Update sensitivity_analysis function signature: change parameters to accept 'data' and 'popt' for improved analysis flexibility.
-
Enhance logging and code clarity: integrate logger for sensitivity analysis and streamline comments in core.py
-
Implement sensitivity analysis integration: update functions to accept bounds and enable parallel execution for improved performance.
-
Refactor sensitivity analysis simulation: reduce sample size and levels, streamline parameter handling, and enhance logging for improved clarity and performance.
-
Update analysis function to use sampled parameters: modify parameter unpacking to utilize sampled values from Morris method for improved flexibility in sensitivity analysis.
-
Refactor sensitivity analysis function: update parameter handling to include psite_labels, reduce sample size, and enhance plotting for improved clarity and visualization of results.
-
Refactor sensitivity analysis: increase sample size and levels, implement tolerance bands, and select closest simulations for improved accuracy and visualization.
-
Refactor sensitivity analysis: increase sample size and levels, update parameter handling, and streamline simulation for improved accuracy and performance.
-
Refactor simulation selection: reduce the number of closest simulations from 10 to 5 for improved performance and clarity.
-
Refactor analysis parameters: increase closest simulations from 5 to 50, adjust plot size and alpha for clarity, and update parameter bounds for improved flexibility.
-
Refactor gene loading: remove restriction to the first gene for improved data processing.
-
Refactor sensitivity analysis: reduce sample size and levels, adjust closest simulations from 50 to 5, and enhance plotting for improved clarity and visualization.
-
Refactor plotting parameters: reduce alpha value from 0.2 to 0.1 for improved visualization clarity.
-
Refactor simulation framework: disable sensitivity analysis, adjust regularization parameter, and add knockout simulation plotting functionality.
-
Refactor knockout simulation: add support for multiple knockout targets and enhance plotting for wild-type and knockout comparisons.
-
Refactor knockout settings and plotting: add knockout configuration, update simulation logic, and enhance visualization for wild-type and knockout comparisons.
-
Refactor knockout settings and plotting: update knockout configuration for phosphorylation and enhance plotting clarity with consistent line widths.
-
Refactor knockout settings and gene loading: update knockout configuration for translation and transcription, and modify gene loading to focus on a specific gene for testing.
-
Refactor knockout settings and plotting: update knockout configuration for phosphorylation, adjust regularization parameter, and enhance model fit plotting with psite values.
-
Refactor knockout settings and plotting: remove hardcoded knockout settings, implement dynamic knockout combinations generation, and enhance plotting with distinct markers for better visualization.
-
Refactor knockout settings and analysis: update helper functions for knockout application and combination generation, enhance sensitivity analysis integration, and improve plotting with knockout results.
-
Refactor analysis and display: update sensitivity analysis handling, improve knockout results formatting, and rename plotting functions for clarity.
-
Refactor analysis and display: update sensitivity analysis parameters, enhance trajectory selection logic, and improve x-axis label formatting for better readability.
-
Refactor analysis and plotting: update parameter space for sensitivity analysis, enhance plotting aesthetics with improved line widths and markers, and streamline x-axis label formatting for clarity.
-
Refactor analysis and plotting: disable console output for sensitivity analysis, adjust DataFrame export settings, and enhance plotting aesthetics with consistent line widths and improved layout.
-
Refactor constants: disable sensitivity analysis to optimize computation time during development
-
Refactor configuration and main logic: enable parallel processing by restoring max_workers setting and clean up commented-out gene filtering code.
-
Update utils/display.py
Co-authored-by: Copilot 175728472+Copilot@users.noreply.github.com
-
Merge remote-tracking branch 'origin/master'
-
Add development mode flag and modify gene loading logic for testing
-
Refactor analysis and configuration files: improve code formatting, adjust parameter bounds for testing, and add confidence interval saving functionality.
-
Update regularization parameter and improve model fitting calculations: adjust LAMBDA_REG value, refine error calculation, and enhance logging for best weight selection.
-
Update parameter bounds and improve parameter handling: adjust default bounds for A, B, C, D, Ssite, and Dsite, and enhance parameter vector conversion in model predictions.
-
Refactor scoring and confidence interval calculations: simplify score_fit function by removing unnecessary parameters, enhance confidence interval computation with model predictions, and improve logging of metrics.
-
Refactor analysis and confidence interval logging: update sensitivity analysis completion message, improve output file naming for sensitivity plots, and enhance confidence interval logging with gene context.
-
Add LaTeX table and figure generation utility: implement functions to convert Excel data and PNG images into LaTeX format, and integrate into main processing workflow.
-
Update LaTeX image path generation: modify image path format to organize figures by gene symbol and improve caption labeling.
-
Update weight handling and sensitivity analysis configuration: disable sensitivity analysis, adjust regularization parameter, and implement custom weight extraction for gene-specific parameter estimation.
-
Enhance scoring function and regularization: add L2 norm parameter to score_fit, update weight handling, and implement parallel processing for lambda optimization.
-
Refactor scoring and regularization: update L2 norm calculation, adjust regularization parameter, and improve weight handling in model fitting.
-
Update configuration and output handling: modify .gitignore to ignore all result directories, enhance constants documentation, and adjust output file naming conventions based on ODE model.
-
Add LateX result generation: integrate latexit utility into main processing flow and update function calls to include output directory.
-
Add RNA data handling: introduce input for mRNA data, update processing functions, and enhance logging for common proteins between datasets.
-
Update model fitting and error metrics: modify MSE and MAE calculations to include RNA data, adjust model fit plotting to incorporate RNA levels, and enhance weight handling in custom weights function.
-
Update ODE model and data handling: change ODE model to 'distmod', adjust RNA data handling in core functions, and refine error metric calculations for improved model fitting.
-
Update sensitivity analysis and model fitting: modify sensitivity analysis function to include RNA data and adjust model fit reshaping for consistency in plotting.
-
Refactor sensitivity analysis: adjust parameter sampling and restore normalization calculation for model output.
-
Update sensitivity analysis and model fitting: incorporate mRNA data handling, adjust parameter sampling, and refine output metrics for improved analysis.
-
Update sensitivity analysis and model fitting: adjust RNA data handling, increase parameter sampling, and refine model output normalization for improved accuracy.
-
Update sensitivity analysis: enhance trajectory storage with RMSE calculations and switch ODE model to 'succmod' for improved analysis.
-
Update sensitivity analysis: normalize RNA and psite differences for improved RMSE calculations and enhance perturbation results export to Excel.
-
Update sensitivity analysis: adjust RNA predictions to use dynamic length and sort perturbation results by RMSE for improved clarity.
-
Update sensitivity analysis and model fitting: switch ODE model to 'randmod', enhance parameter relationship plotting, and add top parameter pairs visualization for improved analysis.
-
Update dependencies: add jinja2 to pyproject.toml and requirements.txt for enhanced templating support.
-
Refactor sensitivity analysis: rename 'bounds' to 'optimal_params' for clarity and update problem definition to use optimal parameters in ODE model.
-
Refactor sensitivity analysis: replace bounds with computed perturbation values for parameter sensitivity, update function signatures, and enhance plotting for top parameter pairs.
-
Update analysis parameters: adjust K selection criteria to use 5% of NUM_TRAJECTORIES, increase NUM_TRAJECTORIES to 10000, and refine plotting aesthetics for better visualization.
-
Refactor cleanup script: replace print statements with logger for better logging, enhance file handling by copying and removing files conditionally, and improve output file reporting.
-
Update model configuration and enhance weight handling: change ODE_MODEL to 'distmod', enable custom weights, and improve weight calculation methods for better parameter estimation.
-
Remove combined data time weight calculation for clarity and simplification.
-
Refactor analysis parameters: adjust K selection criteria for top simulations, reduce NUM_TRAJECTORIES to 1000, and increase PERTURBATIONS_VALUE to 0.5 for improved sensitivity analysis.
-
Update analysis parameters and enhance plotting: adjust K selection criteria to top 5% of RMSE values, improve logging output formatting, and refine plot aesthetics for better clarity and visualization.
-
Refactor estimation process: remove deprecated estimation mode handling, simplify parameter estimation function, and enhance clarity by eliminating unused constants and code.
-
Update documentation and dependencies: enhance README clarity on time points, adjust ODE_MODEL description, and update package versions in poetry.lock for improved compatibility.
-
Refactor estimation tests: remove unused imports and tests, simplify normest test parameters, and enhance clarity by focusing on relevant functionality.
-
Update documentation structure: move Confidence Intervals section to identifiability directory for improved organization.
-
Bump version to 0.3.0
-
Format YAML and Python files: standardize spacing and remove unnecessary newlines for improved readability
-
Improve logging format: align log messages for better readability by adding indentation
-
Update ODE_MODEL constant: change from 'distmod' to 'randmod' for improved model accuracy
-
Refactor analysis and plotting: streamline data handling and enhance visualization for model perturbations
-
Enhance sensitivity analysis: update return values, adjust trajectory parameters, and improve plotting clarity
-
Enhance sensitivity analysis: add state labels, improve plotting functions, and update regularization setting
-
Refactor mapping functions: streamline parameter handling, enhance data merging, and improve visualization in plotting
-
Enhance plotting functionality: add strip plots for state distributions, implement phase space plots, and improve visualization layout
-
Enhance plotting functionality: replace time-wise changes plot with time-state grid, add phase space plots, and streamline configuration logging
-
Enhance plotting functionality: improve time labeling in state distribution plots, streamline phase space plotting, and adjust visualization aesthetics
-
Enhance plotting functionality: increase number of trajectories for sensitivity analysis, improve strip plot aesthetics, and adjust phase space plot dimensions
-
Enhance sensitivity analysis: increase number of trajectories to 10,000, improve logging format for parameter bounds, and update site parameter labels
-
Refactor configuration parameters: update site parameter labels, adjust development mode flag, and refine sensitivity analysis settings
-
Fix formatting in README and PYPI_README: correct markdown syntax for author acknowledgments
-
Update CHANGELOG for version 0.4.0: document new features, changes, fixes, and removals
-
Refactor configuration and logging: update development mode flag, adjust trajectory and parameter space settings, and enhance logging for plotting processes
-
Enhance sensitivity analysis and logging: update perturbation value to 50%, improve parameter logging format, and integrate model fit into plotting functions
-
Refactor constants and enhance logging: reduce NUM_TRAJECTORIES and PARAMETER_SPACE, adjust PERTURBATIONS_VALUE, and implement TqdmToLogger for progress tracking
-
Refactor development mode flag and update progress logging: set DEV_TEST to False and modify progress bar description for clarity
-
Add mapping file handling and kinetic strength enrichment: create mapping directory, update ODE model, and implement function to add kinetic strength columns to mapping files
-
Update plotting/plotting.py
Co-authored-by: Copilot 175728472+Copilot@users.noreply.github.com
- Update config/constants.py
Co-authored-by: Copilot 175728472+Copilot@users.noreply.github.com
-
Merge remote-tracking branch 'origin/master'
-
Update constants and refactor ODE functions: enable development mode, change ODE model to distributive, and optimize parameter unpacking
-
Refactor comments in randmod.py for clarity and consistency
-
Refactor analysis and constants: update trajectory calculations and model parameters
-
Enhance sensitivity analysis: implement parallel processing, add Y_METRIC options, and improve logging
-
Enhance sensitivity analysis: improve progress logging and add future time points functionality
-
Refactor analysis and logging: remove progress bar implementation and update opacity constant
-
Refactor plotting functions: update opacity constant and streamline simulation curve plotting
-
Enhance sensitivity analysis: add regularization term to outputs and improve logging format
-
Enhance sensitivity analysis: add regularization term to outputs and improve logging format
-
Refactor ODE system: optimize state transitions and improve parameter unpacking
-
Refactor constants and improve parameter handling: reduce NUM_TRAJECTORIES and PARAMETER_SPACE, update plotting dimensions, and enhance state filtering in analysis functions
-
Refactor parameter handling and improve plotting dimensions: adjust lambda range in normest.py and enhance figure sizing and label management in plotting.py
-
Refactor confidence interval logging and update regularization term calculation: improve log formatting in ci.py, adjust ODE model in constants.py, and enhance regularization term computation in normest.py
-
Refactor sheet processing in plotting: improve handling of parameter sheets and regularization checks in Excel data import
-
Refactor constants and improve plotting file naming: update ODE model and perturbation value, enhance file naming conventions in plotting functions
-
Refactor color assignment in plotting: update regex for parameter label matching to support multiple digits
-
Refactor configuration and enhance plotting functionality: update upper bounds for parameters, adjust default values, and add model error plotting
-
Refactor constants and enhance output file organization: update bootstrap parameter, improve file naming conventions, and refine output file organization in display functions
-
Refactor output file organization: update output directory parameter to list format for improved compatibility
-
Refactor display functions and update constants: disable development mode, enhance HTML report structure, and improve log file handling
-
Refactor constants: update ODE model from 'randmod' to 'succmod' for improved simulation accuracy
-
Enhance metric descriptions: add detailed descriptions for Y_METRIC options and log additional configuration parameters in main.py
-
Refactor configuration handling and logging: streamline argument parsing, enhance logging details, and update trajectory count for improved clarity and functionality
-
Update CHANGELOG for version 0.4.0 alpha: add new features, changes, and improvements in visualization, logging, and configuration handling
-
Refactor constants and enable development mode: set DEV_TEST to True and remove unused early emphasis function for cleaner code
-
Update README.md: refine input format, enhance knockout module documentation, and clarify parameter descriptions
-
Refactor score_fit function: optimize parameters, remove unused weight argument, and enhance performance with Numba JIT compilation
-
Update README.md and PYPI_README.md: enhance command-line usage instructions, clarify module descriptions, and add new plotting module documentation
-
Optimize Numba JIT compilation: enable caching for objective function and set matplotlib backend to 'Agg' for plotting
-
Enhance documentation: add argument and return descriptions for functions across multiple files
-
Enhance documentation: add argument and return descriptions for functions across multiple files
-
Enhance documentation: update parameter descriptions to use 'Args' and 'Returns' format across multiple files
-
Enhance documentation: update function return descriptions and add missing 'Args' sections across multiple files
-
Add initial documentation and API reference for PhosKinTime package
-
Add initial CHANGELOG.md and README.md files for PhosKinTime package
-
Bump version to 0.4.0 and update CHANGELOG for release date
-
Bump version to 0.4.0 and update CHANGELOG for release date
-
Update README.md: remove unnecessary badges and images for a cleaner presentation
-
Update index.md: remove DOI badge for a cleaner documentation layout
-
Update PYPI_README.md: remove unnecessary badges for a cleaner presentation
-
Update .gitignore: add rules to ignore CSV and Excel files in the project root
-
Update .gitignore: add rules to ignore pycache directories and .pyc files
-
Update .gitignore and cleanup.py: add .venv to ignore list and import os in cleanup.py
-
Update mkdocs.yml and add deploy-docs.yml: configure MkDocs deployment to GitHub Pages
-
Remove CI/CD workflow configuration from GitHub Actions
-
Refactor deploy-docs.yml: simplify deployment steps and remove unused environment variable
-
Update deploy-docs.yml: remove branch specification from push event
-
Update deploy-docs.yml: install pymdown-extensions alongside MkDocs
-
Update deploy-docs.yml and index.md: enhance installation step and add DOI badge to documentation
-
Remove ODE Estimation entry point documentation from reference.md
-
Update acknowledgments in README and index.md: correct Klipp-Linding Lab URL and improve formatting
-
Remove Entry Backend from navigation in mkdocs.yml
-
Update deploy-docs.yml and config files: add protein and psite input Excel paths, enhance data loading in main.py
-
Update function signatures and data handling: add protein data support in core, normest, and toggle modules
-
Update PYPI_README.md: streamline package description, enhance features section, and improve installation instructions
-
Enhance analysis and plotting functions: add protein data support, improve weight calculations, and update model fitting visualizations
-
Enhance analysis and plotting: add protein and phosphorylation data support, update sensitivity analysis, and improve RMSE calculations
-
Tested also protein only data included estimation - done.
-
Add global phosphorylation ODE simulator and update development mode flag
-
Update .gitignore and rename global_phospho_model.py to global_model.py for clarity
-
Add global ODE dual-fit implementation with effects from Alpha and Beta values
-
Add poetry.toml to set virtual environments in-project
-
Remove
global_model.py: deprecate unused ODE dual-fit model implementation -
Refactor
global_model_v2.py: simplify imports, optimize parallelization logic, and replace pyrecorder-based video rendering with Matplotlib animations. -
Remove deprecated
global_model_v2.pyimplementation. -
Add E_i parameter, normalize RNA/protein baselines, and implement lambda weight scan script
-
Add export functions for Pareto front solutions: Excel export, Goodness of Fit plotting, and animation rendering. Update weight parameters and solver configurations for improved optimization.
-
Add
global_model_v5.py: multi-objective ODE optimization with UNSGA3, Pareto front visualization, export utilities, and Numba-optimized kernels. -
Optimize
global_model_v5.py: add time-bucketing, cache phosphorylation rates, refactor fast_rhs_loop, and reduce default genetic algorithm parameters. -
Add time-series plotting for gene-specific RNA/protein fold changes and update default configuration parameters.
-
Update
BOUNDS_CONFIGin global_model_v3/v4/v5: expandc_kbounds, adjusttf_scalelower limit -
Adjust
BOUNDS_CONFIGparameter floors and reducelambda-priordefault value inglobal_model_v3.py. -
Update
BOUNDS_CONFIGinglobal_model_v4/v5: raise lower bounds for stability and meaningful dynamics -
Introduce
phoskintime_global: modularized multi-objective ODE optimization framework with UNSGA3, Numba-optimized loss functions, simulation utilities, and export tools. Remove outdated tests and graph files. -
Remove outdated files:
CHANGELOG.md,Dockerfile,PYPI_README.md,requirements.txt,pytest.ini, and old scripts (global_model/scan_lambdas.py). Modularize and refactorphoskintime_globalpipeline: utilize centralized configuration (config.toml), add prior regularization scanning, suppress warnings, streamline TIME_POINTS handling, and improve bounds validation. -
Refactor and modularize: Add combinatorial and sequential ODE models with dynamic switching, centralized tolerances, and optimized loss functions. Consolidate protein state handling, cache phosphorylation rates, and improve simulation accuracy.
-
Remove deprecated files and modules, including CLI utilities, helpers, parameter estimation, configuration presets, and diagram generators, to streamline the codebase and eliminate unused functionality.
-
Remove redundant code in
network.py: eliminate unnecessary blank lines and unused variables for cleaner and more maintainable function definitions. -
Add
file_prefixparameter toplot_goodness_of_fitand adjust output directory handling to streamline solution plot naming. -
Add optimization parameters (
max_iterations,population_size,seed,regularization_lambda,regularization_rna,results_dir) to configuration and streamline their integration into the pipeline. -
Refactor ODE and combinatorial model handling: streamline caching, preallocate buffers, update dynamic state handling, and simplify
S_cacheintegration. Adjust default model and optimization parameters inconfig.toml. -
Introduce
solvers.pywith Numba-optimized solvers for ODE models and addUSE_CUSTOM_SOLVERconfiguration flag. -
Replace KKTPM analysis with hypervolume metrics, update UNSGA3 sampling to LHS, adjust generation intervals for ref. directions, and increase video and plot resolution. Update
population_sizeinconfig.toml. -
Remove hypervolume calculation and plotting functionality, along with HV imports, dependencies, and related code for cleaner optimization workflow in
runner.pyandexport.py. -
Integrate PI control logic with history term into adaptive RK45 solvers for improved step size selection and stability. Simplify error estimation logic and ensure consistency across solver implementations.
-
Remove
global_model_v3.pyand associated functionality to streamline the codebase and eliminate unused legacy components. -
Refactor loss function signatures to include base indices, update phospho site data parsing for better handling, and enhance
optproblem.pyintegration with new loss parameters. Adjust optimization and regularization settings inconfig.tomlfor improved convergence. -
Update weight schemes with parameterized early boost in
optproblemand integrate piecewise early weighting intorunner. -
Update README with DOI badge, add LOG.md, and switch default model to "combinatorial" in config.
-
Add
Dp_iparameter to Numba solvers and update all solver function signatures and logic accordingly. -
Remove
export_S_rates_with_timesfunction and related functionality fromrunner.pyandexport.py. UpdateDp_ihandling in phosphorylation rate logic and adjust plot dimensions. Switch default model to "sequential" and increase optimization parameters inconfig.toml. -
Switch default model to "combinatorial" in
config.toml, fix tuple unpacking alignment insolvers.py, and correct argument slicing injacspeedup.py. -
Add advanced loss functions (Huber, Pseudo-Huber, Charbonnier) with mode selection, integrate preprocessing options (
normalize_fc_steady,use_initial_condition_from_data), and implement comprehensive steady-state computations for all models (distributive,sequential,combinatorial). -
Integrate SBX crossover and polynomial mutation into NSGA-III, improve reference direction generation, and add phosphorylation rates report plotting functionality. Update
config.tomlwith new optimization and regularization settings. -
Switch to
output_dirargument inrunner.pyfor improved path handling, update default model to "sequential" inconfig.toml. -
Update solver tolerances and timesteps in
config.toml, disable custom solver usage. -
Implement TF repression dynamics, adjust TF scaling, add protein degradation to phospho states, and update bounds, tolerances, and default model in
config.toml. Include TODO file for addressing TF regulation gaps. -
Update parameter bounds in
config.toml, adjust solver settings, and disable custom solver usage. -
Update scaling approach in
models.py, enable steady-state normalization inconfig.toml, adjust parameter bounds and regularization settings, and switch loss function to Huber. -
Adjust regularization settings in
config.toml, update protein and RNA lambda values, and add notes on the distributive model inLOG.md. -
Merge pull request #13 from bibymaths/master
Master
- Merge pull request #14 from bibymaths/master
Master
- Merge pull request #15 from bibymaths/master
Master
- Merge pull request #21 from bibymaths/master
Added functionalities
- Merge pull request #22 from bibymaths/master
Added sensitivity analysis, knockouts, and better visualization - saving results
- Merge pull request #23 from bibymaths/master
https://github.com/bibymaths/phoskintime/pull/23#pullrequestreview-2801331424
- Merge pull request #24 from bibymaths/master
Master
- Merge pull request #25 from bibymaths/master
Master
-
'added finaliyzed sensitivity analsis and interpretation'Merge branch 'master'
-
'fixed fatal config'Merge branch 'master'
-
Merge pull request #26 from bibymaths/master
Master
- Merge pull request #27 from bibymaths/master
Master
- Merge pull request #28 from bibymaths/master
Final version before editing readme
Tests
-
Testing workflow - series of tests
-
Testing workflow - include in root for poetry
-
Testing workflow - include in root for poetry
-
Testing workflow
-
Testing
-
Testing
-
Testing with coverage
-
Testing and fixes
-
Testing and fixes
-
Tests correction
-
Testing random model - minor fixes
-
Tested on server for SLSQP
-
Tested on server for SLSQP - 100 iterations - 30 minutes
-
Testing mcmc - failed