高通量药物筛选的简介

高通量药物筛选的简介,第1张

1 化合物样品库

化合物样品主要有人工合成和从天然产物中分离纯化两个来源。其中,人工合成又可常规化学合成和组合化学合成两种方法。

2自动化的 *** 作系统

自动化 *** 作系统利用计算机通过 *** 作软件控制整个实验过程。 *** 作软件采用实物图像代表实验用具,简洁明了的图示代表机器的动作。自动化 *** 作系统的工作能力取决于系统的组分,根据需要可配置加样、冲洗、温解、离心等设备以进行相应的工作。

3高灵敏度的检测系统

检测系统一般采用液闪计数器、化学发光检测计数器、宽谱带分光光度仪、荧光光度仪等。

4数据库管理系统

数据库管理系统承担4个方面的功能: 样品库的管理功能;生物活性信息的管理功能; 对高通量药物筛选的服务功能; 药物设计与药物发现功能。 常用的筛选模型都在分子水平和细胞水平,观察的是药物与分子靶点的相互作用,能够直接认识药物的基本作用机制。

1分子水平的药物筛选模型:受体筛选模型;酶筛选模型;离子通道筛选模型

11受体筛选模型:指受体与放射性配体结合模型。以受体为作用靶的筛选方法,包括检测功能反应、第二信使生成和标记配体与受体相互作用等不同类型。

12酶筛选模型:观察药物对酶活性的影响。根据酶的特点,酶的反应底物,产物都可以作为检测指标,并由此确定反应速度。典型的酶筛选包括1) 适当缓冲液中孵化;(2)控制反应速度,如:温度,缓冲液的pH值和酶的浓度等;(3)单时间点数器, 需测量产物的增加和底物的减少。

13离子通道筛选模型: (1)贝类动物毒素的高通量筛选,其作用靶为Na+通道上的蛤蚌毒素结合位点,用放射性配体进行竞争性结合试验考察受试样品。(2)用酵母双杂交的方法高通量筛选干扰N型钙通道β3亚单位与α1β亚单位相互作用的小分子,寻找新型钙通道拮抗剂。

2细胞水平药物筛选模型

观察被筛样品对细胞的作用,但不能反映药物作用的具体途径和靶标,仅反映药物对细胞生长等过程的综合作用。包括: 内皮细胞激活; 细胞凋亡; 抗肿瘤活性; 转录调控检测; 信号转导通路; 细菌蛋白分泌; 细菌生长。

高通量筛选技术与传统的药物筛选方法相比有以下几个优点:反应体积小;自动化;灵敏快速检测;高度特异性。但是,高通量筛选作为药物筛选的方法,并不是一种万能的手段,首先,高通量筛选所采用的主要是分子、细胞水平的体外实验模型,任何模型都不可能充分反映药物的全面药理作用;其次,用于高通量筛选的模型是有限的和不断发展的,要建立反映机体全部生理机能的理想模型,也是不现实的。但我们应该相信,随着对高通量筛选研究的深入,随着对筛选模型的评价标准、新的药物作用靶点的发现以及筛选模型的新颖性和实用性的统一,高通量筛选技术必将在未来的药物研究中发挥越来越重要的作用。 光学测定技术。美、英两国研究人员在高通量筛选检测中,努力进行了光学测定方法的研究,建立了大量的非同位素标记测定法,如用分光光度检测法筛选蛋白酪氨酸激酶抑制剂、组织纤溶酶原激活剂等,均获得成功。

放射性检测技术。美国学者GanieSM在高通量药物筛选研究中,应用放射性测定法,特别是亲和闪烁(SPA)检测方法,使在96孔板上进行的样本量实验得到发展。该方法灵敏度高,特异性强,促进了高通量药物筛选的实现,但存在环境污染问题。

荧光检测技术。美国学者GiulianokA研究认为,采用FLIPR(fluor ometricimaging readet)荧光检测法,可在短时间内同时测定荧光的强度和变化,对测定细胞内钙离子流及测定细胞内pH和细胞内钠离子流等,是非常理想的一种高效检测方法。

多功能微板检测系统。由西安交通大学药学院研制的1536孔板高通量多功能微板检测系统,是国际上先进的高通量检测系统,它可使筛选量进一步提高,现已在该院投入使用。

1.基本原理

高通量药物筛选技术是将多种技术方法有机结合而形成的新的技术体系,它以分子水平和细胞水平的实验方法为基础,以微板形式作为实验工具载体,以自动化 *** 作系统执行实验过程,以灵敏快速的检测仪器采集实验数据,以计算机对实验获得的数据进行分析处理。它的正常开展需要有一个高容量的化合物库、自动化的 *** 作系统、高灵敏度的检测系统、高效率的数据处理系统以及高特异性的药物筛选模型。

11 化合物样品库

高通量筛选是一种利用已有的化合物进行的体外随机筛选。因此通过高通量药物筛选发现先导化合物(leading compounds)的有效性取决于化合物样品库中化合物的数量及其质量。化合物样品的数量是指不同样品的数量。化合物样品的质量主要由化合物结构的多样性决定的。许多活性反应基团(reactive groups)使初筛的假阳性大量增加,剔除这些化合物可以提高化合物样品库的质量。

化合物样品主要有人工合成和从天然产物中分离纯化两个来源。

人工合成又可分为常规化学合成和组合化学合成两种方法。采用常规化学合成的纯化合物一直是国外制药企业建立化合物样品库的主要来源。它们通过长年积累的化合物建立化合物样品库,通过购买和化合物交流使化合物样品库的数量和质量大幅度提高。

组合化学(combinatorial chemistry)的出现为大量增加化合物的数量提供另外一种来源。组合化学的基本原理是采用适当的化学方法,在特定的分子母核上加入不同的基团,在同样条件下,产生大量的新化合物。这种方法在化合物的结构改造和优化方面已经表现出强大的优势。但是,由于该方法是基于母核结构的改造,因此产生的大量化合物在结构多样性方面尚有极大的不足。解决组合化学产物结构多样性的问题,已经成为化学研究人员的研究课题。

从天然产物中分离出来的化合物,母核结构和活性基团是长期的自然选择形成的,它们通过高通量筛选所表现出来的生物活性在药物发现中具有人工合成化合物所不能比拟的优势。因此,增加样品库中具结构多样性的天然化合物及其衍生物是提高样品库质量的一个重要途径。跨国制药企业为了增加高通量筛选的阳性率,已经或正在寻求助买我国的天然产物单体。

12 自动 *** 作系统

高通量药物筛选每天要对数千化台物样品进行检测,工作枯燥、步骤单一,人工 *** 作容易疲劳、出错。自动化 *** 作系统采用微孔板作为反应容器,具有固定的分布模式(format);不同的微孔板通过条形码加以标记。自动化 *** 作系统通过光电阅读器对特定的微孔板上的特定位置进行 *** 作,并将 *** 作结果及相关数据存贮在计算机内,使筛选结果准确,实验过程快速。

自动化 *** 作系统编程过程简洁明了,可 *** 作性强。自动化 *** 作系统的工作能力取决于系统的组成都分,根据需要可配置加样、冲洗、温解、离心等设备以进行相应的工作。

除了实验步骤的需要以外,自动化的加样方式是决定筛选速度的重要因素。主要有单孔、8孔、96孔、384孔等几种方式。单孔一般用于对照样品以及复筛中零散样品的转移。96孔、384孔在酶活性检测以及需同时开始、同时终止反应的筛选模型中是必需的。

自动化 *** 作系统的一个重要组成部分是堆栈(hotel)。所谓堆栈是指在 *** 作过程中用来放置样品板、反应板以及对它们进行转移所需的腾挪空间。因此,高通量筛选的样品数量取决于堆栈的容量。

由此可见,高通量药物筛选的自动化 *** 作系统由计算机及其 *** 作软件、自动化加样设备、温孵离心等设备、堆栈4个部分组成。不同的单位可根据主要筛选模型类型、筛选规模选购不同的部分整合成为一个完整的 *** 作系统。

13 检测系统

快速、高灵敏度的检测技术是高通量药物筛选的关键技术之一。检测仪器灵敏度的不断提高,即使对微量样品的检测,也可以得到很好的检测效果。

131 液闪计数 放射性同位素广泛用于受体结合测定、细胞毒性、细胞增殖实验、药物代谢示踪以及基因分析中。由于采用了双光电倍增管及时间分辨偶合回路(time-resolved coincidence circuit)技术,有效地降低了背景信号的干扰,使测定灵敏度提高,同位素用量少。在96孔板的分析检测中,背景信号可控制在10cpm左右。

亲和闪烁分析(scintil1ation proximity assay,SPA)是一种新的液闪分析法。该方法在细胞表面受体药物筛选中应用较为普遍。在高通量筛选测定细胞表面受体亲合结合作用时,放射配体标记滤过分析技术由于需要进行分离,现已被亲合闪烁分析所取代。亲合闪烁分析技术通过亲合结合,将放射性配基结合到具有受体的闪烁球上,从而产生光子,减少了放射配体标记分析中的游离配基与结合配基的分离过程,使得放射配基分析可完全以自动化的方式进行,适于进行高通量筛选。产生低能量放射粒子的同位素可被用来进行放射性标记,而这种低能量放射粒子在短距离内可被重吸收,以确保只有结合到受体表面的配基才被检测到。SPA技术被广泛的应用到激酶、核酸处理酶分析以及受体配体的相互作用分析中。

132 分光光度法 为了适应高通量药物筛选,许多公司都生产了具备计算机接口并能对多孔板进行同时检测的分光光度计。以Molecular Device公司的spectra 190为例,它采用8条光导纤维同时对8孔进行测定。测定波长以2nm为间隔,可以在190nm一850nm间进行选择。对未知物质,可在该范围内进行扫描以确定其特征吸收光谱。因此,大大增加了建立模型的多样性。检测数据以不同文件格式输出,可用随机软件或通用数据处理软件进行处理。方便、快速、准确、自动化程度高。分光光度法高灵敏仪器同自动化 *** 作系统的连接,使得基于紫外、可见光谱的高通量药物筛选模型成为主要模型种类。

133 化学发光检测 化学发光指生色物质在酶促作用下,化学能以光子的形式释放出来。化学发光根据发光的形式和种类分为辉光型和闪光型发光两种。辉光型化学发光如以AMPPD、CDPS、ECL、Diagoxigein等为基础的发光反应。其发光时间较长且稳定。而以发光蛋白、ATP、荧光素酶等为底物的发光反应则是闪光型发光反应,其发光时间较短。由于时间分辨及偶合回路技术的使用,对于背景的去除更为有效,使得化学发光的检测灵敏度达到01pg数量级。在单孔多点喷射技术中,用于检测化学发光的光导纤维末端带有一喷头,用来加入反应性底物。反应性底物从100个小孔喷出,使反应性底物加入孔中后即可均匀混合。发光反应同时启动后,可立即进行测定,对于闪光性化学发光的测定更为有利。

134 激发荧光检测 新型激发荧光检测仪在传统仪器的基础上,用连续的激发光谐和测定光谱取代固定光谱,使模型的建立更具备灵活性。荧光检测方法灵敏是因为多数荧光基团都有短暂的半衰期,即使用较弱的激发光源也能获得大量的光子流。这种特性以及多种可采用的荧光模式,使得荧光检测技术成为高通量筛选必不可少的应用手段。荧光技术在均相筛选分析中广为应用。其中,包括荧光共振能量转移(FRET),荧光偏振(FP),时间分辨荧光(TRET)以及荧光相关谱(FCS)等技术。

14 数据库管理系统

高通量药物筛选的特点是对数以万计的化合物样品进行多模型的筛选。与高通量药物筛选相适应的数据库管理系统主要承担4个方面的功能。

样品库的管理功能:化合物样品库对进行高通量药物筛选的化合物样品的各种理化性质进行存储管理。对每一个新入库的化合物进行新颖性分析,排除结构雷同的化合物,避免不必要的筛选。由于高度反应性基团增加了假阳性出现的机率,样品库对新入库的化合物进行反应基因检测以去除这类化合物。

生物活性信息的管理功能:生物活性库存贮每一化合物经过不同模型检测后的结果,并根据多个模型的检测结果对化合物的生物活性进行综合评价。

对高通量药物筛选的服务功能:高通量药物筛选的工作量大,自动化程度高,也涉及到许多繁琐的工作。高通量药物筛选数据库管理系统对与药物筛选相关的业务往来通讯、档案管理以及各种样品标签的打印进行管理,使高通量药物筛选的各个环节程序化、标准化。

药物设计与药物发现功能:高通量药物筛选产生大量的化合物结构信息,随着筛选的进行,生物活性信息也特大幅度提高。高通量药物筛选数据库管理系统通过对同一模型不同的呈现阳性反应的化合物结构进行分析,找出其构效关系,从而为药物设计提供参考。

15 筛选模型

是指用于检测药物作用的实验方法。由于高通量筛选要求反应总体积小,而且,反应具有较高特异性和敏感性,因此对于筛选模型也要求较高。这些模型主要集中在受体、酶、通道以及各种细胞反应方面。基因水平的药物筛选模型,使药物筛选模型的范围更为广泛。

151 以酶为靶的高通量筛选 以酶为作用靶的高通量筛选方法,绝大多数是直接检测酶活性。具体方法根据酶的不同而不同,主要有基于放射性的方法和基于比色、荧光的方法两大类。

基于放射性的方法多是将底物标记,测定放射性产物的生成。Taft等建立了(1,3)β-葡聚糖合酶抑制剂(抗真菌)的高通量筛选方法。将含有酶的菌丝提取物、α-淀粉酶和UDP-14C-葡萄糖加入96孔板的孔中,温孵、反应。终止反应后,滤去未被合成进入的底物。闪烁计数检测滤器上保留的(1,3)β-葡聚糖,指示酶活性大小。

也有将酶标记,测定被特异结合的酶的方法。Vollmer等建立了一种以青霉素结合蛋白(PBP)为靶的抗生素的高通量筛选方法。PBP既是糖基转移酶又是肽转移酶,该法是筛选其糖基转移结构域的活性位点上的可结合物。将莫诺霉素(moenomycin)结合于一种小球上,制成混悬液,加入96孔板,然后加入3H标记的PBP(细菌膜粗提物)和受试化合物,孵育、过滤去掉非结合的放射性,闪烁计数测得的放射性指示PBP与莫诺霉素结合的情况及受试化合物对其影响。

另外,基于放射性而无需过滤分离的SPA也有应用。Brown等建立了内源性肽酶的水解活性检测方法,用以研究其抑制剂。用3H标记的肽底物,通过生物素(biotin)与抗生物素蛋白(avidin)包裹的SPA闪烁球相连。酶解使3H随肽的断裂而离开闪烁球。测定3H放射性作用于闪烁球产生的闪烁信号的丢失量,即指示酶活性大小。

基于比色、荧光等的方法有一些报道。Waslidge等建立了脂氧合酶抑制剂的筛选方法。酸性条件下,脂的过氧化物能把Fe2+氧化为Fe3+,然后氧化二甲酚橙(xylenol orange),产物在可见光区620nm有强烈吸收。在96孔板上测定。Zhang等建立了HIV逆转录酶抑制剂(抗病毒药物)的高通量筛选方法。方法使用了“同质时间分辨荧光”(homogenous time resolved fluorence,HTRF)技术,既实现了非分离 *** 作(同质),又避免了放射性同位素的使用。该方法基于逆转录酶能很容易地将核苷酸类似物(如生物素-11-dUTP)引入新生DNA链。在96或384孔板上,将生物素化的引物/模板与抗生蛋白链菌素-铕在板孔中混合孵育,加入逆转录酶,再加入生物素-dUTP和d-TTP混合物启动反应。反应60min后,加入链亲和素-别藻蓝蛋白(streptavidin-allophycocyanin),孵育,用HTRF分析仪读取数据。该法也可用于多种其他的核酸聚合酶。

152 以受体为靶的高通量筛选 以受体为作用靶的高通量筛选方法。检测功能反应的优点是易于区分激动剂和拮抗剂。经典的功能检测方法通量低,而引入基于重组技术的报告基因检测方法极大地提高了筛选通量,既高效且节省成本。检测第二信使或下游机制如磷酸化,传统方法也比较麻烦,不适于高通量检测,但将这些机制与报告基因相偶联则能克服。

153 以离子通道为靶的高通量筛选 Negri等建立了贝类动物毒素的高通量筛选方法。其作用靶为Na+通道上的蛤蚌毒素(STX)结合位点,用放射性配体(3H-STX)进行竞争性结合试验考察受试样品。Yong等用酵母双杂交的方法高通量筛选干扰N型钙通道β3亚单位与α1β亚单位相互作用的小分子,寻找新型钙通道拮抗剂。

154 以核酸为靶的高通量筛选 Hamasaki等建立了以16S rRNA编码区结构和HIV-RRE RNA结构为靶的抑制剂的高通量筛选方法。寻找类似氨基糖甙类抗生素而亲和力更高或作用于相同核酸的其他位点的新化合物,以及不易被代谢失活的新化合物。方法基于当含芘的氨基甙类似物结合于RNA时,芘的荧光被淬灭的原理。在96孔板上,将芘碳酰巴龙霉素(PCP),RNA结构配成溶液后加入有受试化合物的板孔中,用荧光读板器考察荧光恢复的程度。

155 以细胞功能为基础的高通量筛选

1551 内皮细胞激活 内皮细胞激活是急慢性炎症过程中重要的组成环节。Rice等以E选择蛋白在细胞表面的表达作为标志,建立了内皮细胞激活抑制剂的高通量筛选方法。建立人脐静脉内皮细胞培养系统。IL-1刺激下,E选择蛋白在内皮细胞表面的表达用ELISA方法定量。方法包括细胞固定、加液、加受试化合物等 *** 作,能保持细胞完整,不昂贵,可重复,筛选速度可达每星期1000种化合物。适用化合物范围很宽,并且方法用细胞作为检测对象,使能够较早地发现细胞对化合物的摄取及化合物的细胞毒性。

1552 细胞凋亡 Erusalimsky等建立了新型细胞凋亡调节物的高通量筛选方法。细胞预先用3H 胸苷标记,与凋亡诱导物孵育后,连续经过两种玻璃滤器。一个是中性的,捕获完整的染色质和高分子量DNA。另一个装有DEAE活性基团,捕获低分子量DNA碎片。通过对滤器上放射性的测量,可以对DNA的破碎情况定量。

1553 抗肿瘤活性 Lu等建立了用高通量“生物活性指纹”筛选抗肺癌药物的方法,考察受试分子(类维生素A及类维生素A相关分子)对许多不同细胞系的效应特点。检测指标包括:(1)肺癌细胞生长抑制检测。选择了约50种肿瘤和非肿瘤细胞,包括了大量不同的组织和(或)肿瘤来源。细胞暴露于受试化合物5d后,用标准比色法测定存活细胞百分率。20%生长抑制率指示有活性。(2)集落形成抑制检测,用以区分细胞生长抑制作用和细胞杀伤作用。6孔板上加NCI-H292非小细胞肺癌细胞,暴露于受试物一定时间。然后对细胞进行清洗,植于无受试物的培养介质共7d。用结晶紫对细胞染色,考察集落形成情况。(3)凋亡检测,用ELISA方法测量细胞DNA破碎。(4)转录调控检测,用以考察受试化合物是否有类维生素A受体介导的转录抑制作用。方法是将HeLa TK-细胞用73Col-CAT报告基因连同受体的表达载体转染,与受试物一起培养,用ELISA方法检测CAT活性。

1554 G2检查点(G2 checkpoint) Roberge等建立了G2期检查点抑制剂的高通量筛选方法。将MCF-7m p53细胞培养,种在96孔聚苯乙烯组织培养板上。照射使细胞进入G2静止期,加入受试化合物用ELISA方法检测核仁蛋白(nucleolin)的磷酸化形式,从而得到从G2期释放进入M期的细胞数量,即抑制G2检查点程度。

1555 信号转导通路 Su等建立了TGFβ3通路作用物的高通量筛选方法。构建融合报告基因,转染细胞,选择虫荧光素酶表达能被TGFβ高诱导的克隆。将细胞植于96孔板,与受试化合物孵育后,稀释并加入Steady-Glo底物测虫荧光素酶活力,与对照比较,计算相对酶活性增加值。

1556 细菌蛋白分泌 Alksne等建立了以抑制细菌蛋白分泌为作用方式的新型抗生素的高通量筛选方法。该方法基于SecA-lacZ融合报告基因。SecA是一种自我调控翻译的蛋白,当细菌蛋白分泌被干扰时,该报告基因被诱导。

1557 细菌生长 Chung等建立了抑制分枝杆菌生长化合物的高通量筛选方法。选择了一种腐生性分枝杆菌代替结核分枝杆菌,因其具有生长迅速以及非感染性的特点。通过测定细胞摄入放射性标记的尿嘧啶,考察受试化合物对分枝杆菌活力的作用。用96孔板的形式,1d内可以测试数千个样品。

2.生药活性成分的高通量筛选

样品是高通量药物筛选的物质基础,样品库来源的化学多样性是决定高通量筛选技术能否成功的关键因素之一。前面我们谈到,化合物样品主要有常规化学合成、组合化学合成和从天然产物中分离纯化几个来源。而从天然产物中分离出来的化合物,由于其母核结构和活性基团是长期的自然选择形成的,它们具有人工合成化合物所不能比拟的优势。

我国拥有非常丰富的药材资源,几十年来,我们应用药理学手段,对我国的传统药物进行了大规模的研究和筛选,取得了巨大成就。但是,仅仅依靠传统的药理实验方法,既耗时,劳动强度又大,还需要使用大量实验动物,显然不能适应大量样品的同时筛选。虽然经过努力,已从生药中分离、提取、纯化出大量化合物,但由于研究手段的落后,使大量分离出的化合物得不到充分的利用,造成了化合物资源的极大浪费。

因此,将高通量筛选技术应用于生药的活性成分研究,既是对高通量筛选技术的不断完善,又是将这一技术应用于中药现代化研究的有益尝试。

如何对生药的活性成分进行高通量筛选呢?其原理、方法和人工合成化合物的高通量筛选基本一致,区别主要在于筛选前需要从生药中将化合物提取出来并进行适当的分离和化学多样性的评价。相同的就不再赘述,这里主要谈一下提取、分离和多样性评价的问题。

21 提取 由于高通量筛选需要大量的样品来源,所以常规的提取方法显然不能满足这一要求。寻找一个快速、高效、连续、自动化的提取方法显得迫在眉睫。加速溶剂提取技术是一个新的提取技术,在准备好样品和对提取方法(或程序)进行设定后,自动进样和自动收集装置就可以连续对最多24个不同样品自动完成样品的提取和提取液的收集,简单方便。应用这一技术,可以得到大量的生药的提取物。

22 分离及化学多样性评价 我们都知道,生药的化学成分相当复杂,通过提取得到的提取物往往是大量单体组成的混合物,所以筛选前需要对生药的提取物进行适当的分离。在众多的分离手段中,制备型HPLC应该是最为理想的,它具有快速、高效、自动化等诸多优点。

分离完成后还需要对分离的物质进行化学多样性的评价,以提高高通量筛选的效率。以前,这种评价多是基于物种的地理分布、生物学分类、化学分类以及基源等关系,随着科技的进步,多种现代化手段开始应用于化学多样性的评价。其中,色谱-电喷雾质谱联用(HPLC-ESI-MS)技术在这方面做出了有力的尝试。首先,它做出成分的离子信号(m/z)对保留时间的平面图,然后对这些数据进行统计学的相似度评估从而对样品的多样性进行定量的评价。接着,三维的HPLC数据被转换为CDF文件格式并传输到UNIX工作站。数据文件中的每一个离子(包括保留时间、质量、离子强度等数据)被定位在一个二维图谱中,保留时间和质量分占一个轴,离子强度数据储存在位点中。滤除噪声以后,离子的中心时间和中心质量被计算出来。根据对LCMS的数据处理,混合物间的相似度被定量地计算出来。这种数据处理基于以下的一种关系,这种关系表征了样品1中的离子i和样品2中的离子j的“化学空间”距离。

其中,ti表示离子i的色谱保留时间,mi表示离子i的质荷比(m/z),wt是保留时间的权重系数,wm是质量的权重系数。dij是离子i和离子j的欧几里的距离,n1和n2分别是样品1和样品2中确认的离子数。sij是离子i和离子j之间的相似度(0-1),相似度值为1表明是相同样品,相反,相似度值接近0则表明样品具有很高的化学多样性。通过这种方法,可以很好的解决样品化学多样性的评价问题。

一个触发器是一种声明,告诉数据库应该在执行特定的 *** 作的时候执行特定的函数。 触发器可以定义在一个INSERT,UPDATE, 或者 DELETE 命令之前或者之后执行,要么是对每个被修改的行一次, 要么是每条 SQL 一次。 如果发生触发器事件,那么将在合适的时刻调用触发器的函数以处理该事件。

触发器函数必须在创建触发器之前,作为一个没有参数并且返回trigger类型的函数定义。 (触发器函数通过特殊的 TriggerData 结构接收其输入,而不是用普通函数参数那种形式。)

一旦创建了一个合适的触发器函数,触发器就用 CREATE TRIGGER 创建。同一个触发器函数可以用于多个触发器。

PostgreSQL 提供按行触发的触发器和按语句触发的触发器。在按行触发的触发器里, 触发器函数是为触发触发器的语句影响的每一行执行一次。相比之下,一个按语句触发的触发器是在每执行一次合适的语句执行一次的, 而不管影响的行数。特别是,一个影响零行的语句将仍然导致任何适用的按语句触发的触发器的执行。 这两种类型的触发器有时候分别叫做行级别的触发器和语句级别的触发器。

触发器还通常分成 before 触发器和 after 触发器。 语句级别的 "before" 触发器通常在语句开始做任何事情之前触发, 而语句级别的 "after" 触发器在语句的最后触发。 行级别的 "before" 触发器在对特定行进行 *** 作的时候马上触发, 而行级别的 "after" 触发器在语句结束的时候触发(但是在任何语句级别的 "after" 触发器之前)。

按语句触发的触发器应该总是返回 NULL。 如果必要,按行触发的触发器函数可以给调用它的执行者返回一表数据行(一个类型为 HeapTuple 的数值), 那些在 *** 作之前触发的触发器有以下选择:

它可以返回 NULL 以忽略对当前行的 *** 作。 这就指示执行器不要执行调用该触发器的行级别 *** 作(对特定行的插入或者更改))。

只用于INSERT和UPDATE触发器: 返回的行将成为被插入的行或者是成为将要更新的行。 这样就允许触发器函数修改被插入或者更新的行。

一个无意导致任何这类行为的在 *** 作之前触发的行级触发器必须仔细返回那个被当作新行传进来的同一行 (也就是说,对于 INSERT 和 UPDATE 触发器而言,是 NEW 行, 对于 DELETE 触发器而言,是 OLD 行)。

对于在 *** 作之后触发的行级别的触发器,其返回值会被忽略,因此他们可以返回NULL。

如果多于一个触发器为同样的事件定义在同样的关系上, 触发器将按照由名字的字母顺序排序的顺序触发。 如果是事件之前触发的触发器,每个触发器返回的可能已经被修改过的行成为下一个触发器的输入。 如果任何事件之前触发的触发器返回 NULL 指针, 那么对该行的 *** 作将被丢弃并且随后的触发器不会被触发。

通常,行的 before 触发器用于检查或修改将要插入或者更新的数据。 比如,一个 before 触发器可以用于把当前时间插入一个 timestamp 字段, 或者跟踪该行的两个元素是一致的。行的 after 触发器多数用于填充或者更新其它表, 或者对其它表进行一致性检查。这么区分工作的原因是, after 触发器肯定可以看到该行的最后数值, 而 before 触发器不能;还可能有其它的 before 触发器在其后触发。 如果你没有具体的原因定义触发器是 before 还是 after,那么 before 触发器的效率高些, 因为 *** 作相关的信息不必保存到语句的结尾。

如果一个触发器函数执行 SQL 命令,然后这些命令可能再次触发触发器。 这就是所谓的级联触发器。对级联触发器的级联深度没有明确的限制。 有可能出现级联触发器导致同一个触发器的递归调用的情况; 比如,一个 INSERT 触发器可能执行一个命令, 把一个额外的行插入同一个表中,导致 INSERT 触发器再次激发。 避免这样的无穷递归的问题是触发器程序员的责任。

在定义一个触发器的时候,我们可以声明一些参数。 在触发器定义里面包含参数的目的是允许类似需求的不同触发器调用同一个函数。 比如,我们可能有一个通用的触发器函数, 接受两个字段名字,把当前用户放在第一个,而当前时间戳在第二个。 只要我们写得恰当,那么这个触发器函数就可以和触发它的特定表无关。 这样同一个函数就可以用于有着合适字段的任何表的 INSERT 事件,实现自动跟踪交易表中的记录创建之类的问题。如果定义成一个 UPDATE 触发器,我们还可以用它跟踪最后更新的事件。

每种支持触发器的编程语言都有自己的方法让触发器函数得到输入数据。 这些输入数据包括触发器事件的类型(比如,INSERT 或者 UPDATE)以及所有在 CREATE TRIGGER 里面列出的参数。 对于低层次的触发器,输入数据也包括 INSERT 和 UPDATE 触发器的 NEW 行,和/或 UPDATE 和 DELETE 触发器的 OLD 行。 语句级别的触发器目前没有任何方法检查改语句修改的独立行。

Connection conn = 链接

Statement stmt = conncreateStatementI();

String sql = "CREATE TABLE PFO_ANALYSE_BRANCH ( "

+" NODE_NAME_S VARCHAR2(50 BYTE), "

+ 其他字段

+")";

stmtexecute(sql)

我们来玩个新东西把!微软的Rx(Reactive Extensions)异步编程模型,你这要求用这玩意做到方便

核心代码:(没有文本,所以我这里模拟读取数据部分,你可以自己补齐全文件读写部分,其他详细部分,参考附件项目,)

  var realSource = ObservableFromEvent<MyData>(a => realOnData += a, a => realOnData -= a);

            // 每两秒生成假数据的可观察源

            var dummySource = ObservableInterval(TimeSpanFromSeconds(2))

                Select(_ => new MyData { IsDummy = true, Timestamp = DateTimeNow, Value = 0 });

            

          

            

            var n = 5;

            // 合并真假源,取每1s的时间窗口内的数据,如果存在真数据,就把假数据剔除(这样理论上相邻数据之间的间隔不会超过3s)

            // 缓存每n秒的数据订阅输出(一次写多条数据到数据库性能好点)

         

            var sub = realSourceMerge(dummySource)Buffer(TimeSpanFromSeconds(1))SelectMany(buf =>

            {

                if (bufAny(d => !dIsDummy))

                    buf = bufWhere(d => !dIsDummy)ToList();

                return buf;

            })Buffer(TimeSpanFromSeconds(n))Subscribe(buf =>

            {

                // 订阅数据,输出(或保存到数据库)

                foreach (var d in buf)

                {

                    thistextBox1Invoke(new Set_Text(setText),d);

              

                }

            });

            realStart(); // 启动真实数据接收

以上就是关于高通量药物筛选的简介全部的内容,包括:高通量药物筛选的简介、触发器到底是什么意思、如何用JAVA 创建数据库表写出java代码等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9299774.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-26
下一篇 2023-04-26

发表评论

登录后才能评论

评论列表(0条)

保存