用途:该技能用于 Jinkō 虚拟临床试验的搭建、sanity 校验、运行/轮询与结果下载,并计算绘图数据。上游资产(模型、vpop、协议、数据表、输出集)由各自专用技能创建。
前提:需要已初始化的 jinko-sdk 连接,且 SDK 满足其 metadata.requires_sdk 范围。先运行 jinko-sdk-setup 技能(../jinko-sdk-setup/SKILL.md),其检查通过后再继续。session code 只能交换一次,在本技能自身 SDK 进程前再次调用 get_session_code。若未找到该技能,从 novainsilico/jinko-skills 安装。
最小试验包含:计算模型;求解选项(未显式覆盖时用模型默认值);简单输出集(要保存和可视化的组件时间序列,未指定时用 model.time_dependent_ids())。可选输入:vpop、协议设计、数据表设计、高级输出集/评分设计。
主要能力:创建简单输出集 client.create_simple_output_set;创建试验 client.create_trial;用 trial.edit_solving_options({...}) 编辑求解选项,trial.get_solving_options() 查看,trial.set_solving_times(t_max=timedelta(days=28), t_step="P1D") 聚焦编辑;trial.sanity() 启动前校验;trial.run();trial.wait_until_completed(timeout=1800);trial.output_ids()、trial.results.summary();下载 trial.results.timeseries({...}).to_dataframe()、trial.results.scalars([...]).to_dataframe()。无 pandas 时用 TabularDownload.raw_bytes。
绘图数据(只读、有类型):trial.results.aggregate_scalars、aggregate_timeseries、tornado_sensitivity、survival_analysis、scalars_per_population;过滤与分组来自描述符句柄:age.gte(18)、sex.in_levels([...])、auc.group_by_quantiles(4)、sex.group_by_levels(),以及 trial.results.group_by_arm()。无需额外 import。直接查询试验,不要为读数据创建 TrialVisualization。默认用 Jinkō 绘图样式(jinko.plotting,需 matplotlib 和 pandas)。
限制与注意:sanity 报错时不要启动,必须调用 trial.sanity()(而非上游独立检查),它是启动就绪性的权威来源。忽略所有以 __jinko 开头的时间序列和标量(平台遥测,如 __jinkoSolvingTime、__jinkoAllocationMiB、__jinkoNumSteps)。数据表需先报告 metadata.public.validForFitnessFunction 为 True。避免在项目根目录创建,使用专用文件夹并复用精确匹配文件夹。控制台脚本:python -m jinko.cli.find_completed_trial_results 与 python -m jinko.cli.setup_and_run_trial。
资料未提供明确的收费、价格与平台支持信息。