酶动力学的PML模型

群体的加权残差与观测浓度的分布 前面我们用Excel和Matlab实现了酶动力学的参数估算方法,今天我们介绍使用药动建模工具phoenix来进行酶动力学分析。正如我们前面提到的,phoenix不支持隐式方程的求参,所以需要对数据进行一下变通,通过观察IMM方程,我们发现,虽然C0和C1之间不能用显示方程表示,但是C1和t之间的关系却可以写成显示方程,一系列的C1和对应的反应时间t我们都知道,C0可以类比于PK中的给药剂量。这种处理方式类似群体PK,每个个体在t时间采一个点,存在大量个体,每个个体的给药剂量不同,这种稀疏的数据只能用群体的模型去估计。为了实现群体PK,这就需要用到PML,即Phoenix Model Language。PML是借鉴了C++,S-Plus中的一些规范的用于Phoenix平台的建模语言,可进行非线性混合效应(NLME)分析。NLME背后的原理理解起来有点困难,但我们作为药学人士,没必要搞懂其具体的原理,只要我们会用这门语言编写满足我们要求的模型代码即可。我的原则是,够用即可,多了不学。PML支持微分方程和显示方程,C1与t的关系用微分方程表示更简单,其实就是最常见的米曼方程: dC/dt=-Vm*C/(Km+C) EnzymeKinetics(){ //米曼方程 deriv(C = - Vm*C/(Km + C)) //dose的位置,即初始浓度是加在C这个变量上 dosepoint(C) //误差模型,一般是additive,看看残差分布是否随机,如果不随机,可以用multiplictive等其他误差模型 error(CEps = 1) observe(CObs = C + CEps) //CObs是观测值,这个不能变,其等于C加误差 /*结构参数,这个主要是用来考虑个体之间的波动,其认为存在一个群体的值,即tvVm和tvKm,而对于每个个体来说,它们又有自己特定的值*/ stparm(Vm = (tvVm) *…

酶动力学数据分析工具:EnzySolver 1.0

EnzySolver 1.0界面 前段时间进行体内外相关性建模,遇到需用体外酶动力学参数预测体内的消除程度,在与做试验的同学讨论的时候,发现大家应用米曼方程并不注意前提条件,比如需控制反应时间或起始浓度,使反应结束时,底物的消除不要超过10%,否则计算的反应速率就与真正的起始速率有很大偏差,用这样获得的有偏差的起始速率与起始浓度求算Km和Vmax,必定难以获得真实的酶动力学参数。 从纯数学的角度讲,这种使用最多的用起始速率和起始浓度来求Km和Vman的方法,无论反应时间多少都存在偏差,只是反应时间短的时候偏差小而已,我们把这种方法本身引起的误差成为系统误差。那是不是存在一种没有系统误差的方法呢?关于酶动力学参数的计算方法在上世纪70-90年代,研究最多,但那时计算技术并不发达,所以研究者们设计了多种米曼方程的变体,还有很多作图的方法来求Km和Vmax。我认为现在的计算技术已经足够发达,肯定能实现没有系统偏差的计算方法。还有一种酶动力学研究方法,就是测定随着反应时间的延长,底物浓度的变化,再通过拟合积分以后的米曼方程进行求参。但随着反应时间的增长,酶的活性会发生变化,所以这样测定的浓度,越到后面越不能反应酶的活性。从实验的角度考虑,还是测定系列起始浓度,反应固定时间以后,测定剩余浓度(或代谢物浓度)的方法更靠谱。 假定起始浓度为C0,反应t时间以后的浓度变为C1,改变起始浓度C0,我们就可以得到系列的C1。根据积分以后的米曼方程,可以得到C0与C1的关系如下: Integrated Michaelis-Menten Equation (IMM) 这个方程为隐式方程,不能表示为显示方程,也就是y=f(x)这种形式。现有的建模工具,就我所知,都不支持隐式方程的求参,也许存在这样的工具,但我不知道。我直觉上感觉用Excel可以实现,所以在一个月前开始用Excel的Solver和单变量求解工具设计能够对这样的隐式方程求参的算法,大约用了1周多时间,就写好了一个算法。模拟的结果显示,当数据中不含噪音时,可以无偏的求到正确的参数,而一但增加噪音,求参结果就显得非常不可靠,我一度认为这正式IMM的缺点。此外,我还设计另一种与现有的算法(TM)偏差相反的算法PM,希望通过两种算法的平均,达到偏差消除,从而求出正确的解。就在昨天,我还设计了Robustness参数,APDD, APF等参数,通过比较它们之间的大小,自动判断哪种算法获得的结果更可靠。本打算今天下午的Seminar向老板汇报工作,但老板有事外出,Seminar被取消。早知Seminar被取消的话,我这两天就不用那么辛苦赶工了,心里有种极放松的感觉。暂时没有其他的事情,我就在EnzySolver上模拟不同的数据,看看结果如何,可能存在什么规律。突然,我发现前面设计的求解算法有问题,当C1这一列没有噪音的时候,只要一个循环就可以得到正确的解,而当它有噪音时,整个算法Solver仅相当于只迭代一次,怪不得误差会比较大呢。在晚上回家前,终于完成了那个迭代算法,模拟结果显示,即便存在很大噪音,其求的参数总是在各种算法中最接近真实值的,竟然比我用群体的方法(理论上考虑了误差模型)还精确,不可思议。我本来打算用Phoenix的NLME方法作为压轴的终极解决方案呢。我暂不知道我设计这种隐式方程的求参方法是否别人已经发表过,也不知道它是否可以用于其他隐式方程,是否具有通用性,这些都需要后面的工具进一步验证。 –EOF– 文章来自,微信号:MS4Fun,不定期发布自己在质谱应用和建模&模拟方面遇到的一些有趣的事情,欢迎分享与推荐。

苯乙基色原酮的裂解第9期:2-(2-hydroxy-2-(4-hydroxyphenyl)ethyl)-4H-chromen-4-one

分子内羟基迁移 QD-22的结构仅比昨天的QD-11少一个甲基,所以它们的MS2看上去非常相似,基峰均为m/z 161。由于B环上的甲氧基变成成了羟基,对应的含B环碎片减少14Da,即m/z 123。比较奇怪的是QD-22多了一个碎片m/z 107。前面介绍的QD-27-1也具有4'-OH,同样生成了m/z 107,可以推测m/z 107与B环的对位羟基有关。经过半个多小时的思索,我构建了一个可能的裂解途径,见上图。质子化的12-OH进攻旁边的1'位,形成环氧中间体,同时质子转移到2'位C原子上;环氧开环,正电荷转移到C12原子;下一步,C-1'上的羟基转移到C-11上,C11-C12键断裂,这时就生成了m/z 107和中性碎片176。这个途径不如C11-C12直接断裂容易,生成的碎片离子的丰度很低。当我想出了这个裂解途径以后,又想到,假如这个途径是正确的,一定存在电荷在A,C环上的碎片离子,正如C11-C12断裂以后,电荷可以分别存在两侧的碎片上,因此应该存在m/z 177的碎片离子(即中性碎片176质子化的碎片)。经仔细观察QD-22的MS2,确实在m/z 177的位置上,发现极弱的信号。当然这也有可能是背景噪音,需要进一步实验验证。 QD-22的MS2 在过去的一个多月中,我在鼓捣酶动力学数据的分析方法,希望找到一种通用的、没有系统偏差的算法。前些日子一直没有进展,昨天学习了群体药动学技术以后,突然领悟到,这个酶动力学测定的实验,可看作大量受试者仅采一个时间点血样的实验设计,这不正是群体药动可以分析的数据吗?!经过简单的数据格式化,今天终于获得了一个比较满意的结果。根据模拟数据的结果,加上噪音后的数据,群体的方法仍可以准确估算参数,大大由于PM, TM, IMM等方法。 ===================================================== 化合物:2-(2-hydroxy-2-(4-hydroxyphenyl)ethyl)-4H-chromen-4-one(QD-22) SMILES: O=C1C2=CC=CC=C2OC(CC(O)C3=CC=C(O)C=C3)=C1 InChIKey: UNNQNQLODLRMBI-UHFFFAOYSA-N 参考文献:10.1002/jms.3242   –EOF– 文章来自,微信号:MS4Fun,不定期发布自己在质谱应用和建模&模拟方面遇到的一些有趣的事情,欢迎分享与推荐。