Skip to content

Commit

Permalink
rename to CICOBase
Browse files Browse the repository at this point in the history
  • Loading branch information
ivborissov committed Feb 12, 2025
1 parent 151e7f1 commit 839236a
Show file tree
Hide file tree
Showing 18 changed files with 45 additions and 45 deletions.
4 changes: 2 additions & 2 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -64,8 +64,8 @@ jobs:
- run: |
julia --project=docs -e '
using Documenter: doctest
using CICOCore
doctest(CICOCore)' # change MYPACKAGE to the name of your package
using CICOBase
doctest(CICOBase)' # change MYPACKAGE to the name of your package
- run: julia --project=docs docs/make.jl
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
4 changes: 2 additions & 2 deletions Project.toml
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
name = "CICOCore"
name = "CICOBase"
uuid = "33444335-3134-4342-4659-594331344435"
keywords = ["package", "identifiability", "modeling"]
license = "MIT"
desc = "practical identifiability analysis and confidence intervals evaluation"
authors = ["borisov <[email protected]>", "metelkin <[email protected]>"]
repo-url = "https://github.com/insysbio/CICOCore.jl"
repo-url = "https://github.com/insysbio/CICOBase.jl"
version = "0.5.2"

[deps]
Expand Down
18 changes: 9 additions & 9 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
# CICO - Confidence Intervals by Constrained Optimization

[![Documentation](https://img.shields.io/badge/docs-latest-blue.svg)](https://insysbio.github.io/CICOCore.jl/latest)
[![Build status](https://github.com/insysbio/CICOCore.jl/workflows/CI/badge.svg)](https://github.com/insysbio/CICOCore.jl/actions?query=workflow%3ACI)
[![Coverage Status](https://coveralls.io/repos/github/insysbio/CICOCore.jl/badge.svg?branch=master)](https://coveralls.io/github/insysbio/CICOCore.jl?branch=master)
[![version](https://juliahub.com/docs/General/CICOCore/stable/version.svg)](https://juliahub.com/ui/Packages/General/CICOCore)
[![GitHub license](https://img.shields.io/github/license/insysbio/CICOCore.jl.svg)](https://github.com/insysbio/CICOCore.jl/blob/master/LICENSE)
[![Documentation](https://img.shields.io/badge/docs-latest-blue.svg)](https://insysbio.github.io/CICOBase.jl/latest)
[![Build status](https://github.com/insysbio/CICOBase.jl/workflows/CI/badge.svg)](https://github.com/insysbio/CICOBase.jl/actions?query=workflow%3ACI)
[![Coverage Status](https://coveralls.io/repos/github/insysbio/CICOBase.jl/badge.svg?branch=master)](https://coveralls.io/github/insysbio/CICOBase.jl?branch=master)
[![version](https://juliahub.com/docs/General/CICOBase/stable/version.svg)](https://juliahub.com/ui/Packages/General/CICOBase)
[![GitHub license](https://img.shields.io/github/license/insysbio/CICOBase.jl.svg)](https://github.com/insysbio/CICOBase.jl/blob/master/LICENSE)
[![DOI:10.1371/journal.pcbi.1008495](https://zenodo.org/badge/DOI/10.1371/journal.pcbi.1008495.svg)](https://doi.org/10.1371/journal.pcbi.1008495)

**CICOCore** is a [Julia language](https://julialang.org/downloads/) package for [identifiability analysis](https://en.wikipedia.org/wiki/Identifiability_analysis) and confidence intervals estimation.
**CICOBase** is a [Julia language](https://julialang.org/downloads/) package for [identifiability analysis](https://en.wikipedia.org/wiki/Identifiability_analysis) and confidence intervals estimation.

See [documentation](https://insysbio.github.io/CICOCore.jl/latest/).
See [documentation](https://insysbio.github.io/CICOBase.jl/latest/).

## Use cases
Notebooks with use cases can be found in a separate repository: <https://github.com/insysbio/likelihoodprofiler-cases>
Expand All @@ -29,13 +29,13 @@ Notebooks with use cases can be found in a separate repository: <https://github.
```julia
julia> ]

(v1.9) pkg> add CICOCore
(v1.9) pkg> add CICOBase
```

## Quick start

```julia
using CICOCore
using CICOBase

# testing profile function
f(x) = 5.0 + (x[1]-3.0)^2 + (x[1]-x[2]-1.0)^2 + 0*x[3]^2
Expand Down
8 changes: 4 additions & 4 deletions docs/make.jl
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@

using CICOCore
using CICOBase
using Documenter

makedocs(
modules = [CICOCore],
sitename = "CICOCore Documentation",
modules = [CICOBase],
sitename = "CICOBase Documentation",
pages = [
"Home" => "index.md",
"Methods" => "methods.md",
Expand All @@ -16,7 +16,7 @@ makedocs(


deploydocs(
repo = "github.com/insysbio/CICOCore.jl.git",
repo = "github.com/insysbio/CICOBase.jl.git",
devbranch="master",
devurl = "latest",
)
4 changes: 2 additions & 2 deletions docs/mkdocs.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
site_name: CICOCore.jl
repo_url: https://github.com/insysbio/CICOCore.jl
site_name: CICOBase.jl
repo_url: https://github.com/insysbio/CICOBase.jl
site_description: A Julia package for identifiability analysis and confidence intervals estimation.
site_author: InSysBio

Expand Down
2 changes: 1 addition & 1 deletion docs/src/api.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,6 @@
The package exports the following functions for **parameters identifiability analysis**, **confidence intervals evaluation** and **results visualization**.

```@autodocs
Modules = [CICOCore]
Modules = [CICOBase]
Order = [:function, :type, :module]
```
10 changes: 5 additions & 5 deletions docs/src/index.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Overview

**CICOCore** is a [Julia](https://julialang.org/downloads/) package for **identifiability analysis** and **confidence intervals** estimation.
**CICOBase** is a [Julia](https://julialang.org/downloads/) package for **identifiability analysis** and **confidence intervals** estimation.

## Use cases
Notebooks with use cases can be found in a separate repository: <https://github.com/insysbio/likelihoodprofiler-cases>
Expand All @@ -19,13 +19,13 @@ Notebooks with use cases can be found in a separate repository: <https://github.
```julia
julia> ]

(v1.9) pkg> add CICOCore
(v1.9) pkg> add CICOBase
```

## Quick start

```julia
using CICOCore
using CICOBase

# testing profile function
f(x) = 5.0 + (x[1]-3.0)^2 + (x[1]-x[2]-1.0)^2 + 0*x[3]^2
Expand All @@ -46,11 +46,11 @@ plotly()
plot(res_1)
```

![plot_lin](https://github.com/insysbio/CICOCore.jl/blob/master/img/plot_lin.png?raw=true)
![plot_lin](https://github.com/insysbio/CICOBase.jl/blob/master/img/plot_lin.png?raw=true)

## Intro

The reliability and predictability of a **kinetic systems biology (SB) and systems pharmacology (SP) model** depends on the calibration of model parameters. Experimental data can be insufficient to determine all the parameters unambiguously. This results in "non-identifiable" parameters and parameters identifiable within confidence intervals (CIs). The algorithms included in **CICOCore** implement Profile Likelihood (PL) [2] method for parameters identification and can be applied to complex SB models. The results of the algorithms can be used to qualify and calibrate parameters or to reduce the model.
The reliability and predictability of a **kinetic systems biology (SB) and systems pharmacology (SP) model** depends on the calibration of model parameters. Experimental data can be insufficient to determine all the parameters unambiguously. This results in "non-identifiable" parameters and parameters identifiable within confidence intervals (CIs). The algorithms included in **CICOBase** implement Profile Likelihood (PL) [2] method for parameters identification and can be applied to complex SB models. The results of the algorithms can be used to qualify and calibrate parameters or to reduce the model.

## Objective

Expand Down
2 changes: 1 addition & 1 deletion docs/src/methods.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Methods

Three methods implemented in **CICOCore** package: `:CICO_ONE_PASS`,
Three methods implemented in **CICOBase** package: `:CICO_ONE_PASS`,
`:LIN_EXTRAPOL`,
`:QUADR_EXTRAPOL`.

Expand Down
4 changes: 2 additions & 2 deletions docs/src/optimizers.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
# Note on optimizers

Currently **CICOCore** relies on [`NLopt`](https://nlopt.readthedocs.io/en/latest/).
Currently **CICOBase** relies on [`NLopt`](https://nlopt.readthedocs.io/en/latest/).

Internally **CICOCore** utilizes `:LN_AUGLAG` algorithm from **NLopt** to construct an augmented objective function with a set of bound constrains. Then the augmented objective function is passed to an optimization algorithm, which is defined by the keyword argument `local_alg` (see [`CICOCore.get_interval`](@ref)).
Internally **CICOBase** utilizes `:LN_AUGLAG` algorithm from **NLopt** to construct an augmented objective function with a set of bound constrains. Then the augmented objective function is passed to an optimization algorithm, which is defined by the keyword argument `local_alg` (see [`CICOBase.get_interval`](@ref)).

Default `local_alg` = `:LN_NELDERMEAD`, which is the most reliable for the current problem among the derivative-free algorithms.
Any [`NLopt`](https://nlopt.readthedocs.io/en/latest/NLopt_Algorithms/) algorithm could be potentially used as `local_alg`.
Expand Down
16 changes: 8 additions & 8 deletions docs/src/visualization.md
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
# Visualization

[`CICOCore.get_interval`](@ref) function returns estimated
[`CICOBase.get_interval`](@ref) function returns estimated
confidence interval along with other data as
[`CICOCore.ParamInterval`](@ref) structure.
[`CICOBase.ParamInterval`](@ref) structure.

**CICOCore** provides a `@recipe` for **Plots.jl** to visualize
**CICOBase** provides a `@recipe` for **Plots.jl** to visualize
confidence interval estimation and plot parameter's profile based on
[`CICOCore.ParamInterval`](@ref).
[`CICOBase.ParamInterval`](@ref).

```
using CICOCore
using CICOBase
# Likelihood function
f(x) = 5.0 + (x[1]-3.0)^2 + (x[1]-x[2]-1.0)^2 + 0*x[3]^2
Expand All @@ -30,14 +30,14 @@ plotly()
plot(res[2])
```

![](https://github.com/insysbio/CICOCore.jl/blob/master/img/plot_cico.png?raw=true)
![](https://github.com/insysbio/CICOBase.jl/blob/master/img/plot_cico.png?raw=true)

To make a smooth plot one can compute more profile points with [`CICOCore.update_profile_points!`](@ref) which internally uses [`PlotUtils.adapted_grid`](https://github.com/JuliaPlots/PlotUtils.jl/blob/master/src/adapted_grid.jl)
To make a smooth plot one can compute more profile points with [`CICOBase.update_profile_points!`](@ref) which internally uses [`PlotUtils.adapted_grid`](https://github.com/JuliaPlots/PlotUtils.jl/blob/master/src/adapted_grid.jl)

```
update_profile_points!(res[2])
plot(res[2])
```

![](https://github.com/insysbio/CICOCore.jl/blob/master/img/plot_cico_smooth.png?raw=true)
![](https://github.com/insysbio/CICOBase.jl/blob/master/img/plot_cico_smooth.png?raw=true)
4 changes: 2 additions & 2 deletions src/CICOCore.jl → src/CICOBase.jl
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
#__precompile__(false)
"""
Main module for `CICOCore.jl`.
Main module for `CICOBase.jl`.
Four functions are exported from this module for public use:
Expand All @@ -10,7 +10,7 @@ Four functions are exported from this module for public use:
- [`update_profile_points!`](@ref). Updates confidence interval with likelihood profile points.
"""
module CICOCore
module CICOBase

using NLopt, ForwardDiff
using Calculus
Expand Down
2 changes: 1 addition & 1 deletion test/runtests.jl
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
# Pkg.add("NLopt")
# Pkg.add("RecipesBase")

using CICOCore, Test
using CICOBase, Test
using NLopt

NLopt.srand(12345)
Expand Down
2 changes: 1 addition & 1 deletion test/test_deriv_free_algs.jl
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
### Derivative free optimization tests

using CICOCore
using CICOBase

# The following NLopt derivative-free algorithms are compared
dfo_algorithms = [
Expand Down
2 changes: 1 addition & 1 deletion test/test_get_optimal.jl
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# tests for `get_optimal` method
# testing only the case f_2p
# using CICOCore
# using CICOBase

@testset "testing get_optimal() for :LN_PRAXIS and f_2p, identifiable" begin
res0 = get_optimal(
Expand Down
2 changes: 1 addition & 1 deletion test/test_loss_error.jl
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ end

@testset "test profile error" begin
err_func = err_fun_generate()
prof = CICOCore._profile(
prof = CICOBase._profile(
[3., 4.],
1,
err_func
Expand Down
2 changes: 1 addition & 1 deletion test/test_noderiv.jl
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
using CICOCore, Plots
using CICOBase, Plots

# functions with zero derivative at one of the endpoints
f1(x) = 3x[1]^4 - 6x[1]^3 + 5
Expand Down
2 changes: 1 addition & 1 deletion test/test_plots.jl
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ using Plots
silent = true
) for i in 1:3]
update_profile_points!(res0[1]; max_recursions=1)
a_grid_1 = CICOCore.get_grid(res0[1])
a_grid_1 = CICOBase.get_grid(res0[1])
@test length(a_grid_1[2]) > 0
p = plot(res0[1])
@test p isa Plots.Plot
Expand Down
2 changes: 1 addition & 1 deletion test/test_profile.jl
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
@testset "profile" begin
prof = CICOCore._profile(
prof = CICOBase._profile(
[3., 2., 2.1],
1,
f_3p_1im_dep;
Expand Down

0 comments on commit 839236a

Please sign in to comment.