| 编号 | 604 | |
| 名称 | Excipient Recommendation (ExciWise) | |
| 封面 | ||
| 描述 | 基于蛋白序列与处方工艺的生物药辅料推荐。 | |
| 标签 |
| |
| 作者 | Estefania Vidal-Henriquez | |
| 发布时间 | 2026-09-28 00:00:00 | |
| 参考文献 | Vidal-Henriquez, E., Holder, T. M., Lee, N. F., Pompe, C. & Teese, M. G. Machine learning driven acceleration of biopharmaceutical formulation development using Excipient Prediction Software (ExPreSo). Comput. Struct. Biotechnol. J.(2025).
Elnaggar, A. et al. ProtTrans: toward understanding the language of life through self-supervised learning. IEEE Trans. Pattern Anal. Mach. Intell.44, 7112–7127 (2022). | |
- 简介
- 参数说明
- Train
- Training Data
- Input File
- Failures
- Number of CV Folds
- CV Split Mode
- Skip Sequence Lookup
- Hyperparameters
- Inference
- Model Status File
- Input File
- Number of Candidates
- 结果说明
- 训练
- 预测
- 参考文献
Excipient Recommendation (ExciWise)
简介
基于蛋白序列与处方工艺的生物药辅料推荐。给定氨基酸序列以及剂型、给药途径、pH、浓度、包装等工艺信息,先判断制剂中应出现哪些功能类别,再在各类内部给出具体辅料,最终输出一套主推荐 + 少量备选套,便于作为处方开发的起点。
参数说明
Train
Training Data
训练数据来源,可选以下一种:
default:仅使用内置默认数据。add_default:合并用户数据与内置默认数据。user:仅使用用户数据。
序列查库补全仅作用于用户数据。内置默认数据直接使用数据表中已有的氨基酸序列。
Input File
用于模型训练的 CSV 文件。每行表示一个处方,支持以下字段:
amino_acid_sequence:氨基酸序列。使用标准单字母氨基酸代码,多条链之间使用|分隔。dosage_form:剂型。支持liquid(液剂)和lyophilized(冻干),也支持溶液、注射液、冻干和冻干粉等中英文别名。推理时未填写该字段,则使用 Model Status File 中记录的训练集众数。route:给药途径,支持填写多个值,例如INTRAVENOUS、SUBCUTANEOUS、INTRAMUSCULAR,也支持静脉、皮下和肌内等中文名称。推理时未填写该字段,则使用训练集众数。ph:标示或目标配方 pH,取值范围为0-14。推理时未填写该字段,则使用训练集众数。concentration_mg_ml:蛋白质浓度,单位为 mg/mL。推理时未填写该字段,则使用训练集众数。drug_name:药物名称。缺少氨基酸序列时,可用于查库补全序列。generic_name:药物通用名。缺少氨基酸序列时,可用于查库补全序列。container_type:包装或容器类型,支持填写多个值,例如西林瓶、预充注射器、笔芯、安瓿,以及vial、syringe、cartridge和ampule。推理时未填写该字段,则使用训练集众数。preservative_free:是否按无防腐剂产品设计。1表示是,0表示否,留空表示未说明。推理时未填写该字段,则使用训练集众数。protect_from_light:是否需要避光。1表示是,0表示否,留空表示未说明。推理时未填写该字段,则使用训练集众数。
配方级训练数据示例:
product_name,drug_name,dosage_form,route,ph,concentration_mg_ml,excipients,amino_acid_sequence
Product-A,mAb-001,liquid,SUBCUTANEOUS,6.0,100,"histidine; polysorbate 80; sucrose; sodium phosphate, dibasic",EVQLVESGGGLVQPGGSLRLSCAAS...|DIQMTQSPSSLSASVGDRVTITC...
Failures
实验室记录的蛋白质与辅料不相容数据,可选参数,用于约束处方推荐。默认关闭,即不使用失败案例。
不使用失败案例时,模块不会读取失败案例表或使用失败风险模型。候选处方按照规则组装得分排序,最多保留 5 套,其中排名第 1 的处方为主推荐。
使用失败案例时,模块首先根据失败案例排除不相容的单个辅料或完整辅料组合,再按照失败风险 P_fail 排序,数值越低越好。该设置会写入 Model Status File,并在推理阶段自动沿用。
使用失败案例表时,必须同时提供蛋白质标识和失败辅料信息。蛋白质标识可以使用氨基酸序列或药物名称。
必需字段包括:
failed_excipients:实验确认不相容的辅料。支持英文或中文标准名称;多个辅料的分隔规则与训练文件中的excipients相同。amino_acid_sequence:对应蛋白质的氨基酸序列,格式与训练文件相同。drug_name:药物名称,可在缺少序列时用于匹配蛋白质。generic_name:药物通用名。product_name:商品名称。
amino_acid_sequence、drug_name、generic_name 和 product_name 至少填写一项。
可选字段包括:
ban_mode:失败约束范围。member表示分别约束列出的每种辅料,set表示约束完整辅料组合。未填写时,单个辅料默认使用member,多个辅料默认使用set。failure_type:失败类型。支持aggregation(聚集)、oxidation(氧化)、particles(颗粒或可见异物)、precipitation(沉淀)、viscosity(黏度)和other(其他),也支持对应的中文名称。dosage_form:失败记录对应的剂型,格式与训练文件相同。route:失败记录对应的给药途径,格式与训练文件相同。ph:失败记录对应的 pH,取值范围为0-14。concentration_mg_ml:失败记录对应的蛋白质浓度,单位为 mg/mL。container_type:失败记录对应的包装或容器类型。
普通训练文件不需要包含失败案例表的专用字段。
Number of CV Folds
模型训练前执行交叉验证的折数,默认值为 5。
CV Split Mode
交叉验证的数据划分方式,默认值为 cluster。
cluster:按照序列同源簇划分。模块首先对氨基酸序列进行全局比对,将序列一致性不低于0.7的处方划入同一簇。交叉验证时以完整簇为单位分配数据,同一簇不会同时出现在训练集和测试集中。random:按照处方随机划分,不考虑序列相似性。
Skip Sequence Lookup
是否跳过序列查库,默认值为 False。
设置为 False 时,模块会根据药物名称,为用户数据中缺少氨基酸序列的记录查库补全序列。
Hyperparameters
是否使用内置选定的先验参数 seq_lam 和九类类内模型,默认值为 True。
True:沿用内置的seq_lam和九类类内模型。False:在本次交叉验证中重新选择seq_lam和各类别的类内模型,并根据选定结果完成模型评测和全量训练。
训练完成后,模块会输出 Model Status File,供 Inference 使用。
Inference
Model Status File
训练任务生成的模型状态文件 model_state.json。用于加载对应模型、填补缺失的工艺条件,并沿用训练阶段的失败案例设置。
Input File
用于推理的 CSV 文件,格式与训练处方文件相同。使用 product_name 区分不同待测处方,excipients 字段可以留空。
每条记录必须至少提供一种蛋白质标识:
amino_acid_sequence:标准单字母氨基酸序列,多条链之间使用|分隔。drug_name:药物名称,用于查库补全序列。generic_name:药物通用名,用于查库补全序列。product_name:商品名称,用于查库补全序列。
如果未提供氨基酸序列,且药物名称无法匹配对应序列,则该条记录无法进行预测。
Number of Candidates
最终保留的候选处方数量,默认值为 5。
结果说明
训练
训练报告 train_report.pdf:本次交叉验证的类别指标、类别集合指标与类内排序指标、终局集合指标。
文件 model_state.json,供预测加载对应模型。
交叉验证四表:
| 文件 | 列 |
|---|---|
category_metrics.csv |
category,AUROC,AUPRC,Accuracy,Precision,Recall,F1 |
category_set_metrics.csv |
Jaccard,Precision,Recall,F1,exact_match_rate |
member_metrics.csv |
category,top1_hit,mrr,recall@1,recall@2,full_recall@1,full_recall@2,ndcg@3 |
member_set_metrics.csv |
Jaccard,UB_Jaccard, Precision,Recall,F1,top1_hit(开启失败案例时另有 member_hit_rate / set_hit_rate / fail_auroc / fail_pair_acc) |
各列含义(越高越好,除非另注):
category_metrics.csv(每类是否需要该类辅料的二分类):
| 列 | 含义 |
|---|---|
category |
辅料功能类 |
AUROC / AUPRC |
概率排序下的 ROC / PR 曲线下面积 |
Accuracy |
整体正确率 |
Precision / Recall / F1 |
该类阳性的精确率、召回率、F1 |
category_set_metrics.csv(预测类别集合 vs 真值类别集合):
| 列 | 含义 |
|---|---|
Jaccard |
预测集合 P 与真值集合 T 的交并比:交集元素个数 ÷ 并集元素个数;两边都空记 1;每样本算完再跨样本/折平均 |
Precision |
交集元素个数 ÷ 预测集合大小(P 空则 0) |
Recall |
交集元素个数 ÷ 真值集合大小(T 与 P 都空则 1,否则按上式) |
F1 |
Precision 与 Recall 的调和平均 |
exact_match_rate |
P 与 T 完全相等的样本比例 |
member_metrics.csv(有真值辅料且该类被打开后的类内排序):
| 列 | 含义 |
|---|---|
category |
辅料功能类 |
top1_hit |
排名第 1 的辅料是否落在该类真值集合(是=1,否=0) |
mrr |
排序列表中第一个真值辅料名次 r 的倒数 1/r;全未命中为 0 |
recall@1 / recall@2 |
Top-k 命中真值个数 / 该类真值个数(分数召回,不是 0/1) |
full_recall@1 / full_recall@2 |
Top-k 是否收齐该类全部真值(recall@k=1 则为 1,否则 0) |
ndcg@3 |
标准 nDCG@3:前 3 名里,真值位置 i(从 0 起)贡献 1/log2(i+2) 得 DCG;理想 DCG 为把「真值个数与 3 的较小者」个真值排在最前的同式之和;ndcg = DCG / IDCG |
member_set_metrics.csv(终局辅料名集合 vs 真值处方辅料集合):
| 列 | 含义 |
|---|---|
Jaccard |
同类别集合口径,对象为辅料名集合:交集个数 ÷ 并集个数 |
UB_Jaccard |
在保留的候选套中取与真值 Jaccard 最高的一套 |
Precision / Recall / F1 |
同上,对象改为辅料名 |
top1_hit |
不是整套处方 exact;而是评估套 P 是否与真值 T 至少有一个辅料名重叠(有交集为 1,否则 0;仅 P 非空时计入) |
仅训练启用 Failures 时,表中还会有(与上表「评估套 vs 真值」不同):
| 列 | 评谁 | 含义与计算 |
|---|---|---|
member_hit_rate |
主推荐套(候选第 1 套) | 仅「该产品有禁用辅料或失败整方」的样本:主推荐是否仍含任一禁用辅料(含则 1)。越低越好 |
set_hit_rate |
同上 | 同上样本:主推荐是否与某条已知失败处方集合完全相等(是则 1)。越低越好 |
fail_auroc |
score_recipe_fail 风险分 |
真值成功处方标 0、各条已知失败处方标 1;需同时有正负样本,否则 NaN。越高越好 |
fail_pair_acc |
同上风险分 | 同一产品上,每条失败处方的分是否严格高于真值成功处方(是则 1),再平均。越高越好 |
预测
预测报告 predict_report.pdf:封面+ 每个产品一页(工艺信息、预测类别、候选处方套;被填补的工艺字段标注「训练默认」)+ 字段说明。
另写出 prescription_smiles.csv:amino_acid_sequence + prescription_1…prescription_N(N = Number of Candidates)。每个处方格为辅料 SMILES(目录无结构则写中文名),多项分号分隔。
| 列 | 含义 |
|---|---|
amino_acid_sequence |
该产品输入氨基酸序列;多链用 | 连接 |
prescription_1 |
第 1 套候选处方(主推荐)的辅料表示 |
prescription_2…prescription_N |
第 2…N 套备选处方;不足 N 套时对应列为空 |
| 单元格内容 | 该套处方内各辅料:优先写辅料目录中的 SMILES;目录无结构则写 中文名;多项用英文分号 ; 分隔;缓冲通称会先展开为默认酸–盐对再写出 |
参考文献
- Vidal-Henriquez, E., Holder, T. M., Lee, N. F., Pompe, C. & Teese, M. G. Machine learning driven acceleration of biopharmaceutical formulation development using Excipient Prediction Software (ExPreSo). Comput. Struct. Biotechnol. J. (2025). DOI:10.1016/j.csbj.2025.10.026
- Elnaggar, A. et al. ProtTrans: toward understanding the language of life through self-supervised learning. IEEE Trans. Pattern Anal. Mach. Intell. 44, 7112–7127 (2022). DOI:10.1109/TPAMI.2021.3095381


