PBPK/PD 仿真二次开发教程(11):PK/PD 与安全性建模——把 PD 屏、Trial Design 屏和心脏安全性模块挂进同一条脚本流水线
2026/9/6 18:36:06 网站建设 项目流程

PBPK/PD 仿真二次开发教程(11):PK/PD 与安全性建模——把 PD 屏、Trial Design 屏和心脏安全性模块挂进同一条脚本流水线

版本声明块

  • 工具/软件:Simcyp PBPK Simulator Version 24(V24;文献大量仍为 V23/V23R1,本篇双口径标注)、Simcyp R 包Simcyp_24.0.18.zip、扩展模块 Simcyp Designer / Simcyp Biologics / Cardiac Safety Simulator(均需额外许可)
  • 语言/环境:R ≥ 4.4.0、Windows 10、V24 许可;依赖含RSQLite/DBI/PKNCA/ggplot2/furrr
  • 本文目标:把"效应端"从手工 GUI 操作变成可批量、可落库、可审计的脚本节点,并划清 PBPK 与 E-R/C-QTc 两条申报论证链的边界
  • 术语:本篇中 PBPK 指生理药代动力学(physiologically based pharmacokinetics);其余缩写在首次出现处给中文(英文原文)

一句话结论:Simcyp 可脚本访问的正是 Compound、Population、Pharmacodynamic (PD)、Trial Design、Simulation toolbox 这五类 screen,因此在 R 侧只需照旧走Initialise()SetWorkspace()Simulate()GetCompoundResults_DB()主流程,把 PD 参数(含 Emax 类效应端参数)做成外部配置逐条注入再读回.db汇总即可;但暴露-效应与 QT 分析属暴露-效应(exposure-response, E-R)与校正 QT 间期(C-QTc)体系、应放在 ICH E14 语境下陈述,不要塞进 PBPK 报告去主张替代临床安全性研究。

〇、本篇要解决的认知问题

  1. Simcyp 的 PD 屏和 Trial Design 屏到底能不能被 R 包脚本化访问,还是只能在 GUI 里点?二开的正确落点在哪儿?
  2. 用 Simcyp Designer 搭一个疗效 PD(比如他汀抑制 HMG-CoA 还原酶这类链条)时,哪些是素材可核实的、哪些必须以安装版内 Help 为准?
  3. 促心律失常(心脏安全性)评估该用哪个模块?它的输出在 PBPK 申报报告里处于什么位置?
  4. PBPK 建模里做 QT/暴露-效应分析算不算合规做法?和 ICH E14 是什么关系?
  5. V24 在生物制剂端的可溶性靶点、靶点脱落、小分子靶点介导的药物处置到底增强了什么?Simcyp Biologics 覆盖哪些分子形式?

一、机制解析

1. 一个工作区、五类 screen:为什么 PD 天然就在流水线里

很多从业者把"PD 建模"当成 PBPK 之外的另一摊事,于是手工在 GUI 里点完 PK 再点 PD,导出两份 Excel 拼表。这恰恰是申报现场最容易被审计追问的地方——两份表的时间戳、随机种子、群体版本根本不同步。真实结构不是这样:

.wksz 工作区(单一事实来源,Compound+Population+模型/仿真设置打包) ┌───────────────┬───────────────┬────────────────┬──────────────┬──────────────────┐ │ Compound │ Population │Pharmacodynamic │ Trial Design │ Simulation │ │ 化合物档案 │ 虚拟人群 │ (PD) 屏 │ 屏 │ toolbox 屏 │ └───────────────┴───────────────┴────────────────┴──────────────┴──────────────────┘ │ │ 效应模型定义 给药方案/采样/occasion └────────┬───────────────┘ ▼ Simulate() → 同目录生成 .db ▼ GetCompoundResults_DB() / GetProfile_DB() GetCompoundSummaryStats_DB() → PK 与 PD 参数同库同源

素材可核实的点是:这五类 screen 都在"可脚本访问"清单里;而 R 侧输出函数多数以_DB结尾(GetCompoundResults_DB()拿 PK/PD 参数、GetProfile_DB()拿浓度-时间曲线、GetCompoundSummaryStats_DB()拿均值与 SD)。也就是说,效应端不需要另起一条自动化通道,它和 PK 共用同一个.wksz、同一次Simulate()、同一个.db。二开的落点因此非常窄、也非常清楚:把 PD 参数从"人脑里的设定"变成"盘上的配置文件",并在每轮扫描后落库。

Trial Design 屏的角色同样被低估。它承载给药方案、采样时点与 occasion(访视/周期)设置——第 15 篇会展开,个体内变异(intra-subject variability, ISV / inter-occasion variability, IOV)必须靠正确的 Trial Design 才能与个体间变异(between-subject variability, BSV)分离;PD 侧同理:效应采样点比 PK 稀疏或错位,间接反应型模型的效应室参数就估不准,这在脚本里体现为"采样设计也是参数"。

2. Simcyp Designer 与疗效 PD:素材锚点与边界

他汀类是讲疗效 PD 最顺的例子,机制链条是清楚的:3-羟基-3-甲基戊二酰辅酶A还原酶(HMG-CoA reductase)被抑制 → 肝内胆固醇合成受阻 → 上游低密度脂蛋白受体上调 → 血浆低密度脂蛋白胆固醇(LDL-C)下降。因为效应滞后于浓度、且表现为对"生成/消除速率"的压制,它属于间接反应型(indirect response)机制,而不是效应直接平衡型。

但必须把话说在前头,避免读者拿去当申报依据:

论述本篇素材是否核实处理方式
阿托伐他汀在 Simcyp 相关论文中作为 CYP2C8 机制的示例药物出现已核实可直接引用
Simcyp Designer 是扩展模块、需额外许可已核实可直接引用
VPop CSV 覆盖(必含ID、可选LABEL、其余为被覆盖 quantity、一行一套取值)已核实可直接引用
PD 模型库中"某个具体他汀-HMG-CoA 疗效模型"的条目名、面板字段、默认值未核实一律以安装版内 Help / 许可区文档为准
Emax 型、效应室平衡型、间接反应型这些结构本身属定量药理通用方法学,非平台内建清单作为通用概念讲,不冒充平台功能表

工程上的正确姿势是:把疗效端参数(如最大效应、半数有效浓度、效应消除速率常数这类量)用 GUI 右键取值拿到 Tag ID,写进外部表;脚本只负责遍历、注入、仿真、读库。至于 Simcyp Designer 内如何选模型模板、有哪些必填字段,以安装版内 Help 为准——本篇不猜。

3. 安全性端:Cardiac Safety Simulator 摆在哪一格

素材核实:Cardiac Safety Simulator(CSS)与 Simcyp Animal、Simcyp Pediatric、SIVA Toolkit、Simcyp LAI(长效注射剂)、Simcyp Lactation、Virtual Bioequivalence (VBE,虚拟生物等效性扩展模块)、Simcyp Biologics、Simcyp Designer 一起列在扩展模块页面,同样需额外许可,且被列于 2025 年宣传册的扩展清单中。它的申报定位是促心律失常(proarrhythmic)评估语境,也就是把暴露预测与心脏电生理层面的机制性描述接起来,用于风险刻画与安全窗讨论。

CSS 内具体输出哪些动作电位/细胞层面指标、用什么判据分级,本素材未核验,请以安装版内 Help / 许可区文档为准。

4. 暴露-效应与 QT:这是两条论证链,不要合流

监管体系的分工很直白。PBPK 侧的两份主指南都不管 QT:FDA 2018 年《Physiologically Based Pharmacokinetic Analyses — Format and Content》终版指南只规定 IND/NDA/BLA/ANDA 中 PBPK 报告的推荐格式与内容(A Executive Summary / B Introduction / C Materials and Methods / D Results / E Discussion / F Appendices),它明确不评判是否适用、也不含方法学最佳实践;EMA/CHMP/458101/2016 终版《Guideline on the reporting of PBPK modelling and simulation》(2019-07-01 生效)要的是目的与监管用途、参数假设、系统参数与药物参数、灵敏度分析(4.7.1)、附录 1 平台合格性与附录 2 药物模型预测性能。心脏复极风险走的是暴露-效应/C-QTc 那一套体系,ICH E14 是其语境锚点(本素材只核实到"QT 延长属 E-R/C-QTc 体系、应引 ICH E14 而非 PBPK"这一层级,E14 具体条款细节本篇不展开)。

因此实操规矩是三条:

  1. PK 暴露量(AUC、Cmax、Cmin)用 PBPK 预测,是输入
  2. 用这些暴露量去驱动 E-R / C-QTc 分析,是另一份文件、另一个预定用途(context of use, COU)
  3. 报告里绝不能出现"因为 Simcyp 拿到 EMA 资格意见,所以本 QT 分析被监管接受"这类跳跃。铁律 9:不夸大监管地位——Simcyp 的强证据是 2025-08-04 的 EMA Qualification Opinion(首个且唯一,覆盖 3 个 COU、6 种 CYP 酶、2 种抑制机制),FDA 侧的 DDT 资格化项目根本没有 PBPK 软件平台这个类别。平台级 qualification 与模型级 verification 要分开陈述(铁律 7)。

5. V24 生物制剂端:可溶性靶点、靶点脱落与小分子 TMDD

素材核实的 V24 增强清单里,与大分子/靶点结合直接相关的有三项:生物制剂可溶性靶点与靶点-药复合物体循环靶点脱落(target turnover)扩展小分子 TMDD(靶点介导的药物处置,target-mediated drug disposition)。同一条 V24 清单里还有胃肠排空模型细化、胃排空协变量模型、快速胃排空 Magenstrasse 模型、药物-脂质相互作用模型、儿科/妊娠/哺乳群体增强、长效注射/吸入/眼用改进——第 14 篇专门处理剂型侧。

模块归属要写准:Simcyp Biologics 支持 mAb、protein conjugate(含 ADC)、Fc-fusion、bispecific。ADC(抗体偶联药物)语境下绕不开药物抗体比(drug-to-antibody ratio, DAR)——它是"共价载荷"这条 PK 支链的关键输入,与"总抗体""游离载荷"一起构成多物种室。

分子形式是否属 Simcyp Biologics(素材核实)建模要点
mAb(单克隆抗体)靶点结合驱动非线性;可溶性靶点形成复合物进入体循环
protein conjugate(含 ADC)总抗体/偶联抗体/游离载荷分开,DAR 决定偶联载荷初始分布
Fc-fusion(Fc 融合蛋白)FcRn 类循环回收机制与靶点脱落共同决定终末斜率
bispecific(双特异性)两个靶点各自的可结合位点与内吞清除叠加
小分子 TMDDV24 增强项(非 Biologics 专属)靶点量有限导致低剂量非线性,第 12 篇把它当敏感参数扫

这里有个反直觉的工程后果:可溶性靶点一旦被建模,暴露量对基线靶点浓度极敏感,而基线靶点浓度属于系统参数(不是药物参数)。铁律 7 要求系统参数的来源与版本可追溯——第 10 篇讲特殊人群外推时也踩过同一个坑(生理机制性描述的来源)。写脚本时,靶点基线一定要进参数溯源登记表,不能只在 GUI 里填一次就忘。

二、完整代码与逐行剖析

下面三段构成一个最小但完整的 PD 批量扫描闭环:配置表(CSV)→ 扫描驱动(R)→ 效应-暴露汇总(R)。

2.1 配置表:把 PD 端要扫的参数从人脑挪到盘上

# file: pd_scan_config.csv —— OAT(one-at-a-time,一次一因子)扫描表 scan_id,tag_id,base_value,perturbation,note PD01,EMax_from_GUI_rightclick,1.00,-20%,疗效最大效应向下 20%(Tag ID 请右键参数复制,勿手抄) PD02,EMax_from_GUI_rightclick,1.00,+20%,与 PD01 成对,用于判读效应曲线斜率方向 PD03,EC50_from_GUI_rightclick,0.50,half,半数有效浓度减半,检验低暴露端是否已近平台 PD04,EC50_from_GUI_rightclick,0.50,double,半数有效浓度加倍,与 PD03 构成上下界 PD05,kout_from_GUI_rightclick,0.069,fixed,效应消除速率常数,间接反应型的回基线速度 PD06,Baseline_Target_from_GUI_rightclick,1.00,-50%,V24 可溶性靶点/靶点脱落语境的基线量,属系统参数

逐行为什么这样设计:

  • scan_id是结果表主键的一部分。铁律 10 要求每次仿真的输入快照、软件版本、随机种子、耗时、失败原因必须落库;没有稳定 ID,.db里几十个同名运行结果就无法回溯。
  • tag_id列的值必须是 GUI 中右键参数复制出来的真实 Tag ID。上面写的是占位说明,因为本素材没有核实过 PD 参数的具体 Tag ID 字符串,硬编一个假名字比留占位更坏。
  • base_value显式记录基线,而不是"从工作区读"。这是防第 3.1 节那个坑:工作区被同事改过而你不知道。
  • note是给人看的,也是给审计看的意思表达:为什么扫这个值、想回答什么监管决策问题(铁律 1)。

2.2 扫描驱动:setter 临时性必须靠落盘补回来

library(Simcyp)# 非 CRAN,向 simcyp.support@certara.com 索取 Simcyp_24.0.18.zip(要求 R ≥ 4.4.0)library(dplyr)library(tibble)WS<-"PP3M 350mg multidose June 24 variability calibrated model newseed.wksz"OUT<-"pd_scan"dir.create(OUT,showWarnings=FALSE)# 每个批次固定一个输出根,便于打包成可复现包cfg<-read.csv("pd_scan_config.csv",comment.char="#",stringsAsFactors=FALSE)stopifnot(all(c("scan_id","tag_id","base_value","perturbation")%in%names(cfg)),!anyDuplicated(cfg$scan_id))# 主键唯一,否则 manifest 无法回指到具体那一轮Initialise()# 建立 R 与 Simcyp 引擎连接;必须最先调用# —— Tag ID 的 setter 通道:素材只核实"每个参数有唯一 Tag ID、GUI 右键可取、用 getter/setter 读写",# 未核实函数名,故留显式占位;落地前必须按安装版内 Help(?Simcyp)填入真实函数 ——REAL_SETTER<-NULLtag_set<-function(tag,value){if(is.null(REAL_SETTER))stop("未配置真实 setter:请在 GUI 右键该参数复制 Tag ID,并按安装版 Help 填入 setter")do.call(REAL_SETTER,list(tag=tag,value=value))}# 为什么宁可硬停也不写一个"看起来像"的函数名:伪造的 API 名要么在他人机器上报错,# 要么更糟——撞上同名函数改了别的参数,产出一个看似合理实则不可复现的结果apply_pert<-function(base,p)switch(p,"-20%"=base*0.8,"+20%"=base*1.2,"-50%"=base*0.5,"half"=base/2,"double"=base*2,"fixed"=base,stop("未知扰动写法:",p))# 宁可停,也不要用默认值静默跑完(伪成功最致命)rows<-list()for(iinseq_len(nrow(cfg))){t0<-Sys.time()mk<-function(status,val=NA_real_,nrow_res=NA_integer_)tibble(# 统一的行构造器scan_id=cfg$scan_id[i],tag_id=cfg$tag_id[i],applied_value=val,workspace=basename(WS),n_rows=nrow_res,elapsed_sec=round(as.numeric(difftime(Sys.time(),t0,units="secs")),2),status=status,software_version="Simcyp V24 / Simcyp R 24.0.18")# 铁律 2:版本写进每一条结果tryCatch({SetWorkspace(WS)# 每轮重新载入,抵消上一轮 setter 的残留val<-apply_pert(as.numeric(cfg$base_value[i]),cfg$perturbation[i])tag_set(cfg$tag_id[i],val)# setter 修改是临时的,不覆盖原 .wkszSimulate()# 运行期在同目录生成 .dbres<-GetCompoundResults_DB()# PK 与 PD 参数同库读出stopifnot(nrow(res)>0)# 空结果直接判失败,不写"成功"行rows[[length(rows)+1L]]<<-mk("OK",val,nrow(res))},error=function(e){rows[[length(rows)+1L]]<<-mk(paste("FAIL:",conditionMessage(e)))})# 失败也入表:缺记录的批次不得出报告(铁律 10)write.csv(bind_rows(rows),file.path(OUT,"run_manifest.csv"),row.names=FALSE)# 每轮都覆写 manifest:进程被杀也留下已完成的部分(批任务的可审计性优先于优雅)}man<-bind_rows(rows)write.csv(man,file.path(OUT,"run_manifest.csv"),row.names=FALSE)cat("完成",sum(man$status=="OK"),"/",nrow(man),"\n")stopifnot(nrow(man)==nrow(cfg))# 行数自检:一条不许少

两个关键决策点解释"为什么":

  1. 循环内重新SetWorkspace(WS)。官方文档原话是"Modifications made using setter functions are temporary … do not overwrite the original workspace"。反直觉之处在于:临时性既是坑也是保护——好处是原始工作区不会被批任务污染,坏处是很多人以为 setter 改完会持久、跑第二轮时忘了重置,结果 PD03 的 EC50 叠在 PD02 的 Emax 上而不自知。每轮重载工作区是唯一稳的写法(铁律 4)。
  2. 失败也写一行FAIL:记录。缺记录的批次不得出报告(铁律 10)。若把失败静默跳过,汇总图上的"缺点"看起来像模型不敏感,这是会被审稿人一击致命的错。

2.3 效应-暴露汇总:直接读.db,不碰 Excel

library(DBI);library(RSQLite);library(dplyr);library(ggplot2)# 第一步永远是探表:.db 由运行期生成,表名列名不得凭记忆硬编(素材只核实"运行期创建 .db")con<-dbConnect(RSQLite::SQLite(),"pd_scan/PD01.db");on.exit(dbDisconnect(con))print(dbReadTable(con,"sqlite_master")[,c("type","name")])pick<-function(db,pattern){# 按关键词在 .db 各表里找目标列,避免猜列名con<-dbConnect(SQLite(),db);on.exit(dbDisconnect(con))for(tbindbListTables(con)){x<-tryCatch(dbReadTable(con,tb),error=function(e)NULL)if(is.null(x)||!nrow(x))nexthit<-grep(pattern,names(x),ignore.case=TRUE,value=TRUE)if(length(hit))return(list(table=tb,data=x[,hit,drop=FALSE]))}stop("未在 ",db," 中找到匹配列:",pattern)}man<-read.csv("pd_scan/run_manifest.csv",stringsAsFactors=FALSE)er<-bind_rows(lapply(seq_len(nrow(man)),function(i){if(man$status[i]!="OK")return(NULL)# 失败轮次不进图,但必须留在 manifest 里db<-file.path("pd_scan",paste0(man$scan_id[i],".db"))# .db 实际落盘位置以安装版本为准if(!file.exists(db))return(NULL)p<-pick(db,"AUC|Cmax|effect|response")$data d<-as.data.frame(lapply(p,mean,na.rm=TRUE))# 逐列取人群均值 → 一行代表一轮扰动d$scan_id<-man$scan_id[i];d$applied_value<-man$applied_value[i]d}))%>%mutate(across(-c(scan_id,applied_value),log))# E-R 惯例:在 log 暴露尺度上线性化stopifnot(nrow(er)==sum(man$status=="OK"))# 图上的点数必须等于成功轮数,缺一即回查ggplot(er,aes(x=AUC,y=effect))+# 列名以 pick() 实际命中的为准,先 print 再画图geom_point(aes(size=abs(applied_value)),alpha=.7)+stat_smooth(method="lm",se=TRUE)+labs(x="log AUC(暴露)",y="效应指标",title="效应-暴露汇总:仅供机制性讨论,QT/复极风险请回到 E-R/C-QTc 体系")# 标题那句不是装饰:它是给内部评审看的边界声明——这张图不等于申报论据(铁律 1、9)# 若在同一会话里刚跑完 SetWorkspace() + Simulate(),可直接用官方 _DB 族函数:# prof <- GetProfile_DB(); summ <- GetCompoundSummaryStats_DB(); PlotProfilePercentile_DB()# 注意这些函数依赖当前会话的工作区状态;跨会话回溯请一律走上面的 .db 读法(可审计)

这里刻意用sqlite_master探表,而不是硬编表名。.db的表结构由运行期生成,素材只核实"仿真运行期会创建.db数据库文件、R 侧依赖 RSQLite/DBI",具体表名与列名以你实际安装的版本为准——先探再取,比抄一个别人屏幕上的列名可靠得多。

三、常见报错与排查

1)现象:setter 改了 PD 参数,第二轮结果和第一轮一模一样。
根因:SetWorkspace()只在脚本开头调了一次,上一轮的临时修改与本轮修改叠加/被覆盖;或反过来,误以为修改已持久化到工作区、重开 R 后回到基线。
解法:按 2.2 节,在每轮循环内部重新SetWorkspace();要固化配置,就另存一份新.wksz并把参数覆盖同时落盘成 CSV/YAML(铁律 4)。

2)现象:GetCompoundResults_DB()里没有效应列,或列名对不上。
根因:PD 屏效应指标命名与 PK 指标混在同一结果集,参数名称必须精确匹配,而素材未逐字核实这些名称;也可能工作区里 PD 屏压根没配。
解法:先在 GUI 里确认 PD 屏已定义效应指标并跑一次成功仿真,再用GetCompoundSummaryStats_DB()打印列名清单;具体名称以安装版内 Help 为准。

3)现象:报许可相关错误或模块不可见。
根因:Simcyp Designer、Simcyp Biologics、Cardiac Safety Simulator、VBE 等属需额外许可的扩展模块。
解法:把许可清单纳入环境体检(第 01 篇的体检脚本),在项目启动时就确认扩展可用性,不要写到一半才发现。

4)现象:报告里用 PBPK 结果主张"免做 QT 研究"被质询。
根因:COU 错配。FDA 2018 指南只管 PBPK 报告的格式与内容,EMA reporting 指南的主要用途是药物相互作用(drug-drug interaction, DDI)定性与定量预测、儿科与首次人体剂量选择;两者都不覆盖心脏复极风险论证。
解法:拆成两份文件、两个 COU;QT 部分回到 ICH E14 语境,PBPK 只作为暴露输入的提供方。

5)现象:批任务跑得完,但汇总数字与 GUI 手工导出对不上。
根因:混用了 GUI 每次仿真产生的多 sheet Excel 与.db结果库,两者采样/精度/时点处理不同。
解法:全程只认.db(R 工作流被引入正是为了绕开 Excel 输出痛点);Excel 只作人读视图,不作数据源。

四、动手练习

练习 1(配置化):把 2.1 的pd_scan_config.csv扩到至少 6 行真实 Tag ID,跑完后打开run_manifest.csv
判定标准:manifest 行数 == 配置行数,且status == "OK"的行占比 100%;若不足 100%,必须能在status列读出具体FAIL:原因。

练习 2(扰动方向一致性):对EMax做 ±20% 后比较效应平台高度。
判定标准:PD02(+20%)的最大效应均值 ≥PD01(-20%)的最大效应均值 × 1.20 × 0.9(允许群体随机性引入 10% 容差);不满足说明扰动没真正生效,回到 3.1 排查。

练习 3(版本锁定):在 manifest 里加population_versioncompound_file_hash两列。
判定标准:两列均非空,且同一 COU 的任意两次运行若该两列取值不同,脚本必须报错终止(可用stopifnot(length(unique(...)) == 1)实现)。这是铁律 2 的最小落地。

五、小结与下一篇预告

本篇把"效应端"放回它本来的位置:PD 屏与 Trial Design 屏属于同一个.wksz,因此脚本化不需要新通道,Initialise()SetWorkspace()Simulate()Get*__DB()主流程原样够用;真正的工程量在配置外置、setter 临时性的补偿、以及失败记录落库。安全性端要认准模块归属(Cardiac Safety Simulator 列于扩展模块,需额外许可),并守住"PBPK 出暴露、E-R/C-QTc 出复极结论"的分工。生物制剂侧记住 V24 的三项增强(可溶性靶点与复合物体循环、靶点脱落扩展、小分子 TMDD)与 Simcyp Biologics 的四类分子形式即可。

下一篇(第 12 篇)把这些参数从"扫一次看看"升级为"量化不确定性":Simcyp 的 sensitivity analysis(含 Population Representative 模式)与 GastroPlus 的参数敏感性分析(Parameter Sensitivity Analysis, PSA)在 Orchestrator 下如何用用户自定义输入数据驱动,以及 EMA 指南 4.7.1 那一节到底该写什么。第 10 篇的特殊人群外推、第 15 篇的变异工程都会反复用到本篇的参数注入骨架。


本篇认知问题回显(FAQ)

Q1:Simcyp 的 PD 屏和 Trial Design 屏可以用 R 脚本访问吗,还是只能手工点?
A:可以。Simcyp 可脚本访问的正是 Compound、Population、Pharmacodynamic (PD)、Trial Design、Simulation toolbox 五类 screen;R 侧走Initialise()SetWorkspace()Simulate()GetCompoundResults_DB()/GetProfile_DB()/GetCompoundSummaryStats_DB(),PD 参数用 Tag ID 的 setter 注入(修改是临时的,需每轮重载工作区)。

Q2:用 Simcyp Designer 搭他汀抑制 HMG-CoA 还原酶这类疗效 PD,哪些信息是可确证的?
A:可确证的是阿托伐他汀在 Simcyp 相关论文中作为 CYP2C8 机制示例药物、Simcyp Designer 属需额外许可的扩展模块、VPop CSV 覆盖需含ID(可选LABEL、其余列为被覆盖 quantity)。PD 模型库中具体条目名与面板字段未核实,须以安装版内 Help / 许可区文档为准。

Q3:促心律失常评估该用哪个 Simcyp 模块,它在 PBPK 报告里怎么摆?
A:用 Cardiac Safety Simulator(CSS),它与 Simcyp Designer、Simcyp Biologics、VBE 等同列于需额外许可的扩展模块清单。摆法:CSS 结果作为安全性论证的独立证据单元,PBPK 报告只提供暴露输入;CSS 内部具体指标与判据以安装版内 Help 为准。

Q4:在 PBPK 申报文件里做 QT 和暴露-效应分析合规吗?
A:不要把两者混成一个 COU。FDA 2018 年 PBPK 格式与内容指南只规定报告六节结构,EMA/CHMP/458101/2016 reporting 指南(2019-07-01 生效)主要面向 DDI 与儿科/首次人体剂量选择;QT 延长属暴露-效应/C-QTc 体系,应放在 ICH E14 语境下另文陈述,不能借平台的 EMA 资格意见外推。

Q5:V24 对生物制剂和 TMDD 做了什么,Simcyp Biologics 支持哪些分子?
A:V24 增强清单含生物制剂可溶性靶点与靶点-药复合物体循环、靶点脱落扩展、以及小分子 TMDD(靶点介导的药物处置)。Simcyp Biologics 支持 mAb、protein conjugate(含 ADC,需给药物抗体比 DAR)、Fc-fusion 与 bispecific。注意可溶性靶点被建模后基线靶点浓度成为敏感的系统参数,须纳入溯源登记。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询