← Files JinkōARCHIVED FILE
skills/jinko-calibration-subsampling/SKILL.md
5.39 KB · Oct 5, 2026 · 18:30 UTC
--- name: jinko-calibration-subsampling description: >- Create, validate, run, inspect, reuse, and edit Jinkō virtual-population subsampling designs with the jinko-sdk. Use whenever a completed Trial's simulated patients must be filtered or selected to match population-level targets, then emitted as a matched Vpop. This is SDK mechanics only: do not use it to choose scientific targets, filters, or algorithm settings; do not use it to create or run the source Trial, author a Vpop, or orchestrate a calibration workflow. compatibility: >- Check set-up with jinko-sdk-setup. Creating designs or generated Vpops requires write and run permissions in the Jinkō project. metadata: author: Nova In Silico requires_sdk: ">=1.8,<2.0" license: MIT --- # Jinkō Subsampling SDK Workflows | UI wording | API project-item type | SDK entry points | | --- | --- | --- | | Subsampling design | `SubsamplingDesign` | `trial.create_subsampling_design(...)`, `client.get_subsampling_design(...)` | | Subsampled Vpop | `Vpop` | `design.generate_vpop(...)` | Subsampling creates a derived, smaller Vpop by selecting patients from the Vpop simulated in a completed Trial so that the selected population best matches specified population-level targets. It neither calibrates the model nor creates new patients. Use `jinko-trial` to create, sanity-check, and run the source Trial, and `jinko-vpop` to inspect the generated Vpop. Scientific choices belong to a workflow or domain expert, not this skill. > **PREREQUISITE:** This skill needs an initialized `jinko-sdk` connection and an > SDK satisfying its `metadata.requires_sdk` range. Run the `jinko-sdk-setup` skill > (`../jinko-sdk-setup/SKILL.md`) and proceed only once its check passes. If that > skill is not found, install it from `novainsilico/jinko-skills`. ## Canonical Flow 1. Retrieve the Trial, require `trial.status()["status"] == "completed"`, then inspect `trial.descriptors.scalars` and `trial.descriptors.categoricals`; descriptor IDs and arms must be taken from this Trial, not guessed from display labels. 2. Build a `SubsamplingDesign` with filters and population targets through `trial.create_subsampling_design(...)`. 3. Read `design.diagnostics`; do not generate while it has errors. Use `design.diagnostics.errors().explain()` to relate an error to its target or filter and its source-Trial descriptor. 4. Call `design.generate_vpop(...)` with all simulated-annealing options. The returned Vpop is immutable. 5. Inspect generated artifacts through `design.generated_vpops.list_with_details()`. Reuse a compatible design with `design.set_trial(other_trial)` before it is used, or edit its typed components such as `design.marginals`. ## Scalar Discovery and Candidate Estimates Read `references/scalar-discovery-and-estimates.md` before choosing a Trial scalar or using platform-fitted law estimates. It distinguishes descriptor discovery, per-patient values, and candidate target forms without making the scientific choice for the user. For a complete Python flow and the meaning of generation options, read `references/generation-and-diagnostics.md`. ## Typed Targets and Edits - Numeric filters: descriptor builders such as `scalar.gte(18)`, or `design.numeric_filters.create_gte(...)` after creation. - Scalar targets: `scalar.normal(...)`, `.uniform(...)`, `.weibull(...)`, and `design.marginals.create_*` / persisted-handle setters. - Other supported SDK target surfaces: `design.categorical_filters`, `.categoricals`, `.correlations`, `.survivals`, `.summary_statistics`, and `.observables`. Read `references/creating-and-editing.md` before using one. - The older UI guide says categorical constraints are unsupported, whereas the current SDK exposes typed categorical builders and services. Treat support as backend/version-dependent: create the design and require clean diagnostics before generation. Use `design.edit(...)` only for advanced full-slice replacement. Prefer typed subservices so immutable IDs and existing content are preserved. A design can be pointed at another Trial only when descriptor/arm pairs remain compatible; use `design.set_trial(...)` and validate diagnostics again. ## Project Folder Hygiene Propose a `YYYY-MM-DD-<experiment>` folder and reuse an exact-name match via `client.get_folder_by_name(name, exact_match_only=True)`. Create folders and remote project items only after confirmation or when a bundled script receives `--apply`. ## Bundled Scripts - `scripts/create_subsampling_design.py`: dry-run creation of numeric filters, normal scalar marginals, and observables; `--apply` creates the design. - `scripts/generate_subsampled_vpop.py`: dry-run generation plan; `--apply` checks diagnostics and creates the Vpop. - `scripts/inspect_subsampling_design.py`: prints design content, diagnostics, source Trial, and generated-Vpop options/fitness without mutating anything. Read `references/scripts.md` for invocation examples. ## Reference Routing - `references/creating-and-editing.md`: descriptors, builders, target types, typed edits, and compatible Trial reuse. - `references/scalar-discovery-and-estimates.md`: output-scalar discovery, per-patient scalar values, and platform candidate law estimates. - `references/generation-and-diagnostics.md`: validation, annealing options, and generated-Vpop semantics. - `references/inspection.md`: artifact listing, stored options, and fitness payload caveats. - `references/scripts.md`: bundled-script invocation examples.
SHA-256: 65af7fbe15d99a5925da179e300b763feb8e77325bda997d5b29546cabe9cf13