API
The public API is intentionally small. Import from icg_cast for the stable
surface and from submodules when working on experimental internals.
Simulation
from icg_cast import SimConfig, simulate_cohort
cfg = SimConfig(n=120, months=72, seed=7)
cohort, trajectories = simulate_cohort(cfg)
uncertainty_cfg = SimConfig(
n=120,
months=72,
seed=7,
coefficient_mode="prior_sample",
coefficient_seed=42,
)
uncertain_cohort, _ = simulate_cohort(uncertainty_cfg)
Key functions:
SimConfig: simulation configuration dataclass.simulate_cohort(cfg): returns a cohort table and retained trajectories.simulate_state_trajectory(...): lower-level state recurrence.summarize_trajectory(traj): final and AUC state summaries.
SimConfig.coefficient_mode="point" uses registry point values.
"prior_sample" draws one seedable coefficient realization for the whole
cohort and records it in the coefficient_seed column.
Signatures
from icg_cast import make_signature_profiles, mutation_context_labels
labels = mutation_context_labels()
labels, profiles = make_signature_profiles()
Synthetic profiles are simplified approximations. Use optional local COSMIC loader stubs only with user-supplied files and explicit provenance.
Graph
from icg_cast import build_theory_graph, export_graph
graph = build_theory_graph()
export_graph(graph, "outputs/demo")
Modeling
from icg_cast import train_baselines, evaluate_bundle
metrics, importance, counterfactual, bundle = train_baselines(cohort, seed=7)
eval_metrics, calibration, cf, coherence = evaluate_bundle(cohort, bundle)
The feature-set builder rejects target-derived columns such as future endpoint probabilities and latent-risk summaries.
Optional Data Sources
Optional local-file adapters live under icg_cast.data_sources. They return a
DataSourceBundle containing data, provenance, and adapter metadata.
from icg_cast.data_sources import load_cosmic_sbs_matrix
bundle = load_cosmic_sbs_matrix("local_cosmic_sbs.csv")
Adapters do not download data and do not authorize use of restricted datasets.