一:QSAR方法定义和发展过程简介
定量构效方法(quantitative structure-activity relationship, QSAR)是应用最为广泛的药物设计方法。所谓定量构效方法就是通过一些数理统计方法建立其一系列化合物的生理活性或某种性质与其物理化学性质之间的定量关系,通过这些定量关系。可以猜测化合物的生理活性或某些性质,指导我们设计出具有更高活性的化合物。
早在1867年,Crum-Brow 和Fraser就提出了构效关系的概念,1900年前后,Overton 和Meyer等提出了麻醉作用的类脂学说,即化学结构各异的麻醉剂其活性随着脂-水分配系数增加而增加的现象,这可能是最早提出的化合物生理活性和物理化学性质之间的定量分配关系模型。但只是到近几十年,尤其是Hansch法提出后,随着计算机技术的发展和多变量解析技术的引入,定量构效关系方法才逐渐发展和应用起来,现在它已经成为药物设计和药物开发中不可缺少的工具。
二:常用QSAR方法介绍
1 二维定量构效关系方法(2D-QSAR)
传统的二维定量构效关系方法很多,有Hansch法、模式识别Free-Wilson法和电子拓扑法。 其中最为闻名应用最为广泛的就是Hansch和Fujita提出的Hansch法。它假设同系列化合物某些生物活性的变化是和它们某些可测量物理化学性质的变化相联系的。这些可测量的特性包括疏水性、电性质和空间立体性质等,都有可能影响化合物的生物活性。Hansch法假定这些因子是彼此孤立的,故采用多重自由能相关法,借助多重线性回归等统计方法就可以得到定量构效关系模型。Hansch法最初可以表达为下面的公式
lg1/c=algp+bσ+cE+……+constant
既活性和疏水性参数π或lgp、电负性参数σ以及立体参数E有关。后来Hansch发现药物要交替穿过水相和类脂构成的体系,其移动难易程度和lgp呈现出函数关系。假如经过一定时间后药物在最末一相中为浓度lgc,则以lgc对lgp作图,可以发现它们之间呈抛物线关系,因此上式又可以写成下面的形式
lg1/c=a(lgp)2+b lgp +cσ+cE+……+constant 第一个式子适用于体外活性数据,而第二个式子适用于体内活性数据。
Hansch和Fujita等人最初所采用的构效关系模型中,仅采用了一些简单的分子参数。但对于一个分子来说,可以用很多分子参数来表示分子的不同特征,比如各种拓扑参数、热力学参数、量化计算得到的参数以及分子外形参数等。研究结果表明用这些参数往往能得到更好的结果。因此在实际应用过程中,我们总是尽量选择最佳参数来得到最有效的模型而不必局限于Hansch和Fujita所提出的参数。
此外除了传统的线性回归方法之外,一些新的数理统计方法非数值算法也被用于构效研究中,如偏最小二乘法、人工神经网络及遗传算法等,这些新方法的应用大大推动2D- QSAR方法的发展。
2 三维定量构效关系方法(3D-QSAR)
近些年来,随着构效关系理论和统计方法的进一步发展,又出现了一些三维定量构效关系(3D-QSAR)方法。譬如分子外形分析(molecularshape analysis, MSA)、距离几何方法(distance geometry, DG)和以及比较分子场分析(comparative molecular field analysis, CoMFA)方法。
与2D-QSAR比较,3D-QSAR方法在物理化学上的意义更为明确,能间接反映药物分子和靶点之间的非键相互作用特征。因此近十多年来3D-QSAR方法得到了迅速的发展和广泛的应用。在3D-QSAR方法中,比较分子场分析(comparative molecular field analysis, CoMFA)方法是目前最为成熟且应用最为广泛的方法。
2.1 比较分子场分析(comparative molecular field analysis, CoMFA)方法简介
CoMFA的基本原理是:假如一组相似化合物以同样的方式作用于同一靶点,那么它们的生物活性就取决于每个化合物四周分子场的差别,这种分子场可以反映药物分子和靶点之间按的非键相互作用特性。其计算可以简单的分为三个步骤(1)首先确定药物分子的活性构象,再按一定的规则(一般为骨架叠加或场叠加)进行药物分子的叠合;(2)然后,在叠合好的分子四周定义一定的步长均匀划分产生格点,在每个格点上用一个探针离子来评价格点上的分子场特征(一般为静电场和立体场,有时也包括疏水场和氢键场);(3)最后通过偏最小二乘方法建立化合物活性和分子场特征之间的关系并给出各种分子面的等势能面。
近年来,研究人员对传统的CoMFA进行了大量的改进,其中涉及到活性构象的确定,分子叠加规则、分子场势函数的定义以及分子场变量的选取等等,在很大程度上提高了CoMFA计算的成功率。其中最具有代表性的可能就是比较分子相似因子分析(comparative molecular similarity indices analysis, CoMSIA)方法。
2.2 比较分子相似因子分析(comparative molecular similarity indices analysis, CoMSIA)方法简介
与CoMFA方法相比,最大的不同就是分子场的能量函数采用了与距离相关的高斯函数的形式,而不是传统的Coulomb 和Lennard-Jones 6-12势函数的形式。CoMSIA方法中共定义五种分子场的特征,包括立体场、静电场、疏水场以及氢键场(包括氢键给体场和氢键受体场)。这五种分子场可以通过公式计算得到。在CoMSIA方法中,由于采用了与距离相关的高斯函数形式,可以有效地避免在传统CoMFA方法中由静电场和立体场的函数形式所引起的缺陷。由于分子场能量在格点上的迅速衰退,不需要定义能量的截断(cutoff)值. 对一些实际体系进行了这两种方法的比较结果分析,在计算中采用了不同的格点数,且对体系均采用全空间搜索策略。结果表明CoMFA计算对不同的格点大小值以及叠合分子不同的空间取向非常敏感,采用不同的空间取向时,回归系数的差值最大可以达到0.3以上。而CoMSIA方法在计算不同格点大小取值以及分子空间取向下得到的结果则稳定的多,在一般情况下,CoMSIA计算会得到更加满足的3D-QSAR模型。
3. 4D-QSAR方法简介
1997年,hopfinger等提出了4D-QSAR的概念。作者首次采用遗传算法选择分子动力学产生的构象来产生最佳的构效关系模型。在这个方法中,作者用每个格点对用的原子占有率来作为PLS的变量,作者根据原子的不同特征定义了七种不同种类的原子模型。在4D-QSAR方法中,作者考虑了药物分子的整个构象空间,而不是一个分子,而且考察了多种原子叠合方式,因此在概念上比传统的CoMFA方法有一定的进步
三 建立定量构效关系的方法
3.1 线性回归方法
在传统二维构效研究中,多重线性回归(multiple linear regression, MLR)方法是最为常见的统计方法。一个分子可以用很多分子参数来表达,但在建立多重线性回归模型的时候,为避免过拟合(overfitting),我们只能从这些物理化学参数中选择一部分参数来建立回归模型。一般来讲,同系物数目和所选取参数数目的比应大于3~5,也有人提出应大于2的n次方(n表示选取的参数个数),怎样选取合适的参数一直是定量构效关系研究中的一个难题,而且对于线性回归来说,当体系噪声较强或干扰严重时,有可能导致所得的模型失真,为了克服多重线性回归的不足,在数学上可采用主成分回归方法。
所谓主成分回归就是采用主成分分析方法(principle component analysis, PCA)对活性影响最大的几个主要成分建立定量构效关系模型。所谓主成分是一组新的变量,它是原来变量Xij的线性组合,第一个主成分所能解释原量的方差最大,第二个次之,第三个再次之,往下依此类推。也就是说,主成分是一种线性组合,用它来表示原来变量所产生的平方误差最小。运用主成分分析,原变量矩阵X可以表达为得分(即主成分)矩阵T, 该矩阵由本征矢量上的投影所得。主矩阵与矩阵的本征矢量一一对应,即XP=T。主成分回归可以有效解决共线问题,同时由于去掉了不太重要的主成分,因而可以削弱噪声(随机误差)所产生的影响。主成分回归可以分为两步:1 测定主成分数,并通过主成分分析将X矩阵降维;2 对于降维的X矩阵再做线性回归分析。但是假如在第一步消去的是有用的主成分,而保留的是噪声,则第二步多元线性回归所得的结果就将偏离真实的数学模型。
在主成分回归法的第一步中,我们处理的仅是X矩阵,对于矩阵Y中的信息并未考虑。事实上,Y中可能包含有用的信息,所以一种很自然的想法是测试矩阵X因子时同时考虑矩阵Y的作用。偏最小二乘法在考虑自变量的同时也考虑因变量的作用,同时通过折衷各自空间内的因子使模型较好的同时描述自变量和因变量,从而有效地减少相关因素的影响。
在构效关系研究过程中,还用到了许多其他的数理统计方法,比如说逐步回归方法、非线性最小二乘方法以及一些模式识别方法等,在此就不一一介绍。
3.2 遗传算法
3.2.1遗传算法简介
遗传算法(genetic algorithm, GA)基本思想源自于达尔文的自然选择学说。它表明遗传和变异是决定生物进化的内在因素,生物的遗传特性,使生物界的物种保持相对稳定,而变异特性则使生物个体产生新的性状,以至于形成新的物种,推动了生物的进化和发展。
遗传算法是模拟达尔文遗传选择和自然淘汰生物进化过程的计算模型。它的思想源自于生物遗传学和适者生存的自然规律,是具有“生存+检测”迭代过程的搜索算法。遗传算法以一种群体中的所有个体为对象,并利用随机化技术指导对一个被编码的参数空间进行高效搜索。其中,选择、交叉和变异构成了遗传算法的遗传操作。参数编码、初始群体的设定、适应度函数的设定、遗传操作设计、控制参数设定五个要素组成了遗传算法的核心内容。
遗传算法的主要特点是1直接对结构对象进行操作,不存在求导和函数连续性的限定;2具有内在的隐并行性和更好的全局寻优能力;3 采用概率化的寻优方法,能自动获取和指导优化的搜索空间,自适应的调整搜索方向,不需要确定的规则。遗传算法的这些性质已被人们广泛的用于组合优化、机器学习、信号处理、自适应控制和人工生命等领域。作为一种新的全局优化搜获方法,遗传算法以其简单通用、适用于并行处理以及高效、实用等显著特点在各个领域得到了广泛的应用,取得了良好的效果,并逐渐成为最为重要的智能算法之一。
遗传算法的兴起是在80年代末至90年代初,最初只是用于多肽的构象分析,近些年来,遗传算法在工业分析、光谱分析、蛋白质三级结构猜测和数据分析等方面也取得了广泛应用。
3.2.2 遗传算法基本原理
遗传算法的原理比较简单,传统遗传算法经常用一个二进制线性数字串表示一个个体(individual),若干个体构成一个种群(population).一般我们用随机的办法产生初始种群。初始种群产生以后,就用定义的“适应性函数”(fitness function)去评价种群中的每个个体。然后通过个体的得分选择部分个体并通过交叉和变异去繁衍它们的后代。当然得分高的被选中的可能性会大些,同时那些未选中的个体就自然消亡。留下来的个体和它们新产生的子代就形成了新的种群。经过一些列交叉和变异过程后,就可以得到总体得分比较高的种群,这就是我们所要寻找的具有非凡性能的构型。
我们习惯上把Holland 1975年提出的GA称为传统的GA。其主要步骤如下:1编码. GA在进行搜索之前先将解空间的解数据表示成遗传空间的基因型串结构数据,这些串结构数据的不同组合便构成了不同的点;2 产生初始种群。随机产生初始串结构数据。每个串结构数据称为一个个体,多个个体构成一个种群。GA以这个串结构数据作为初始点开始迭代优化过程;3 进行适应性指评估检测。适应性函数表明个体或解的优劣性。不同的问题,适应性函数的定义方式也不同;4 选择。选择的目的是为了从当前群体中选出优良的个体,使它们有机会作为父代为下一代繁殖子孙。选择实现了达尔文的适者生存原则;5 交叉。交叉操作是遗传算法中最主要的遗传操作。通过交叉操作可以得到新一代个体,新个体组合了其父辈个体的特性,交叉体现了信息交换的意思;6 变异。变异首先在群体中随机选择一个个体,对于选中的个体以一定的概率随机地改变串结构数据中的某个串的值。同生物界一样,变异为新个体的产生提供机会。
3.2.3 遗传算法基本特点
遗传算法作为一种快捷、简便、容错性强的算法,在各类结构对象的优化过程中显示出明显的优势。与传统搜索方法相比,遗传算法具有以下特点:1 搜索过程不直接作用在变量上,而是作用在参数集进行了编码的个体上。此编码操作使得遗传算法可直接对结构对象(集合、序列、矩阵、树、图、链和表)进行操作;2 搜索过程是从一组迭代到另一组解,采用同时处理群体中多个个体的方法,降低了陷入局部优化的可能性,并易于优化;3 采用概率变迁的规则来指导搜索方向,而不采用确定性搜索规则;4对搜索空间没有任何非凡的要求(如连通性、凸性等),只利用适应性信息,不需要导数等其他辅助信息,适用范围更广。
3.2.4 遗传算法的工作原理
遗传算法是一个以适应度函数(或目标函数)为依据,通过对群体中个体施加遗传操作实现群体内个体结构重组的迭代优化过程。它的理论主要有模式定理、积木块假设、最小欺骗问题和隐并行性问题等。我们主要介绍模式理论和最小欺骗问题。
模式理论是研究较广、影响较大的GA理论。它将GA的运算过程理解为模式操作过程并从模式运算的角度解释GA的性能特点。GA的计算过程是从一个个体组成的初始群体出发,循环的执行选择、交叉、变异过程。表面上看运算过程直接作用于群体,但其中隐含了模式集合中的操作过程。模式定理从模式操作的角度论证了在选择、交换和变异因子作用下某一模式量的变化。模式定理揭示出具有低阶、短定义矩以及平均适应度高于群体平均适应度的模式在子代中将以指数级增长,由于重组、变异的作用,并非低阶优于平均的模式都是有效模式,但在规模为N的群体中,有多个模式是有效的,即每一代GA处理个体的同时,获得了对多个模式的并行处理,并且无须额外的存储量,这一性质称为隐并行性。也就是GA在群体中搜索的过程可看作是隐含的对模式的抽样过程,然后通过遗传算子的作用将短的低阶模式的信息组合起来,形成高阶模式,直至搜索到最优解,这说明同传统的优化算法相比,GA有很强的处理能力。
研究欺骗是为了猜测给定问题用GA求解的难易程度,这是我们所关注的问题。由模式理论,一个问题能否用遗传算法有效地求解,取决于问题编码是否能满足积木块假设,满足者用遗传算法求解率高,不满足者求解率较低,甚至找不到满足解,这一现象称为欺骗。最小欺骗问题旨在尽可能使问题的编码违反积木块假设,使高阶积木块不能生成最优解。但实验结果表明,对包含欺骗的问题,用GA求解时得到最优解和得不到最优解的情况都有可能发生。这说明欺骗不是衡量用GA解决问题难易程度的唯一标准。目前我们还无法判定一个问题包含欺骗的多少和问题相对于GA难易程度间的关系。
3.2.5 遗传算法的一个计算实例
遗传算法在程序上实现并不复杂,我们可以通过考虑如下简单的非线性优化问题来具体讨论遗传算法的实现过程。
函数定义如下:f(x)=x*sin(10Л* x)+1.0 (-1≤x≤2)
我们要用遗传算法得到上面这个函数的最大值。已知方程的极值为f(1.85)=2.85。整个实现过程可分为以下几个步骤:
1 编码:我们使用二进制的字符串表示方程的自变量x。字符串的长度取决于所需要的精度。定义域的范围是3。精度要求小数点后取6位有效数字,也即是要把这个定义域范围分为3×1000000个相等的区域。这样就需要22位的二进制字符串来表示每个个体,因为2的21次方小于3×1000000,所以要取到3×1000000格点,至少要取到2的22次方。
把一个二进制字符串转化为x的实数解需要两个步骤:首先把二进制字符串转化为十进制的整数;然后把得到的整数化为实数解。
2 产生初始种群:这一步比较简单,所有的个体构成初始种群,为每个个体产生一个22位二进制字符串,需要强调每个字符串对应着方程的一个解。
3 适应性函数:在这里每个个体的适应性函数就是方程f(x)的值,由于我们在这里求的是极值,所以每个个体所对应f(x)的值越大,就表明个体的适应性就越好,则被选出的几率就越大。适应性函数相当于自然进化中的环境,它会直接控制种群的演化过程。
4 遗传操作:在遗传算法中有两个主要的遗传操作:突变和交叉。突变是在群体中随机选择一个个体,然后以一定的概率随机地改变串结构中某个串的值判定个体值的好坏,这一过程辅之以遗传操作也确保更快更好的找到所需的值。循环这一过程,直到找到使f(x)最大的值,任务完成。
当然对不同的问题在实际操作上会有一定的差别,比如可能会对种群中的个体采用不同的数据结构,会采用其他的遗传操作。但总体上来讲,其基本流程是类似的,最大的差别就是根据不同的问题采用不同的适应性函数。
posted on 2010-06-24 20:07
周锐 阅读(803)
评论(0) 编辑 收藏 所属分类:
Chemistry