首页> 中国专利> 预测化学结构性质的方法和系统

预测化学结构性质的方法和系统

摘要

用于预测样品分子的性质的方法涉及,对于多个参考分子中的每一个,获得多个指纹和至少一种性质,并且获得样品分子的多个指纹。该方法进一步涉及对于多个参考分子中的每一个,使用多个指纹中的每一个,计算到样品分子的距离,并且对于多个参考分子的每一个,基于到样品分子的距离确定相对预测优势。该方法还涉及针对多个参考分子中的每一个,基于相对预测优势确定适应度值,以及基于多个参考分子的至少一种性质和为参考分子获得的适应度值预测样品分子的至少一种性质。

著录项

说明书

相关申请的交叉引用

本申请根据35U.S.C.§119(e)要求2018年9月13日提交的美国临时申请第62/730,913号的优先权,所述临时申请具有与本申请相同的至少一名发明人,并且标题为“预测化学结构性质的方法和系统”。将美国临时申请第62/730,913号通过引用并入本文。

背景技术

化学结构与这些化学结构的活性或性质之间的关系是已知的,并已针对许多化学结构进行了记录。新发现或合成的样品化学结构可能最初具有未知的性质。样品化学结构与已知化学结构的相似性可用于预测样品化学结构的性质。

发明内容

一般地,在一个方面,一个或多个实施方式涉及一种用于预测样品分子的性质的方法,所述方法包括:对于多个参考分子中的每一个,获得多个指纹和至少一种性质;获得所述样品分子的所述多个指纹;对于所述多个参考分子中的每一个,使用所述多个指纹中的每一个,计算到所述样品分子的距离;对于所述多个参考分子中的每一个,基于到所述样品分子的所述距离确定相对预测优势;对于所述多个参考分子中的每一个,基于所述相对预测优势确定适应度值;和基于所述多个参考分子的所述至少一种性质和针对所述参考分子获得的所述适应度值,预测所述样品分子的所述至少一种性质。

一般地,在一个方面,一个或多个实施方式涉及一种用于预测样品分子的性质的系统,所述系统包括:参考分子储存库;和分子性质预测引擎,其配置用于:对于多个参考分子中的每一个,从所述参考分子储存库获得多个指纹和至少一种性质;获得所述样品分子的所述多个指纹;对于所述多个参考分子中的每一个,使用所述多个指纹中的每一个,计算到所述样品分子的距离;对于所述多个参考分子中的每一个,基于到所述样品分子的所述距离确定相对预测优势;对于所述多个参考分子中的每一个,基于所述相对预测优势确定适应度值;和基于所述多个参考分子的所述至少一种性质和针对所述参考分子获得的所述适应度值,预测所述样品分子的所述至少一种性质。

一般地,在一方面,一个或多个实施方式涉及一种非暂时性计算机可读介质,其包括用于预测样品分子的性质的计算机可读程序代码,所述计算机可读程序代码使计算机系统:对于多个参考分子中的每一个,获得多个指纹和至少一种性质;获得所述样品分子的所述多个指纹;对于所述多个参考分子中的每一个,使用所述多个指纹中的每一个,计算到所述样品分子的距离;对于所述多个参考分子中的每一个,基于到所述样品分子的所述距离确定相对预测优势;对于所述多个参考分子中的每一个,基于所述相对预测优势确定适应度值;和基于所述多个参考分子的所述至少一种性质和针对所述参考分子获得的所述适应度值,预测所述样品分子的所述至少一种性质。

根据下面的描述和所附权利要求,本公开的其它方面将是显而易见的。

附图说明

通过实例的方式绘示了本实施方式,并且这些实施方式并不意图受到附图的图的限制。

图1示出了根据本发明的一个或多个实施方式的系统的框图。

图2示出了根据本发明的一个或多个实施方式的流程图。

图3A和图3B示出了根据本发明的一个或多个实施方式的伪代码。

图4示出了本发明的实施方式和传统分类器的性能比较。

图5A示出了针对本发明的实施方式的交叉验证与盲测ROC AUC得分的关系。

图5B示出了针对传统的定量结构-活动关系(QSAR)方法的交叉验证与盲测ROCAUC得分的关系。

图6示出了本发明的实施方式相对于表现最佳的传统分类器-指纹组合的性能汇总。

图7A和图7B示出了根据本发明的一个或多个实施方式的计算系统。

具体实施方式

现在将参考附图详细描述本文公开的具体实施方式。为了一致性,各图中的相同要素可以用相同的附图标记和/或相同的名称来表示。

以下详细描述本质上仅是示例性的,并不意图限制本文公开的实施方式或本文公开的实施方式的应用和使用。此外,并不意图受到前述技术领域、背景技术、发明内容或以下具体实施方式中提出的任何明示或暗示的理论的约束。

在以下对本文公开的一些实施方式的详细描述中,阐述了许多具体细节,以便提供对本文公开的各种实施方式的更全面的理解。然而,对于本领域的普通技术人员将显而易见的是,可在没有这些具体细节的情况下实践实施方式。在其它情况下,没有详细描述众所周知的特征,以避免不必要地使描述复杂化。

在整个申请中,序数(例如,第一、第二、第三等)可以用作用于要素(即申请中的任何名词)的形容词。序数的使用并不暗示或创建要素的任何特定顺序,也不是将任何要素限制为仅是单个要素,除非明确公开,诸如通过使用术语“之前”、“之后”、“单个”和其它此类术语。相反,序数的使用是为了在要素之间进行区分。通过实例的方式,第一要素不同于第二要素,并且第一要素可以包含一个以上要素,并且在要素的顺序中在第二要素之后(或之前)。

在本发明的一个或多个实施方式中,基于其他化学结构的已知性质预测样品化学结构的性质。该方法可以用于预测小分子即具有低分子量的分子的性质。这些分子可以是例如药理学分子。为了评估分子在药理上是否有用,可能需要确定其性质。例如,可能有必要评估分子的分布、代谢、排泄和毒性(ADMET)性质。

化学结构与这些化学结构的活性或性质之间的关系是已知的,并已针对许多化学结构进行了记录。新发现或合成的样品化学结构可能最初具有未知的性质。样品化学结构与已知化学结构的相似性可用于预测样品化学结构的性质。在本发明的一个或多个实施方式中,使用定量结构-活性关系(QSAR)进行预测。根据本发明的一个或多个实施方式的随后描述的方法依赖于多个/许多参考分子,其中每个参考分子可以由多个指纹表示,以对样品分子进行预测。

图1示出了根据本发明的一个或多个实施方式的用于预测化学结构的性质的系统(100)。系统(100)包括参考分子储存库(110)和分子性质预测引擎(150)。随后描述这些组成部分。

参考分子储存库(110)可以是用于存储数据的任何类型的存储单元和/或设备(例如,文件系统、数据库、表的集合或任何其他存储机制)。根据本发明的一个或多个实施方式,参考分子储存库(110)存储与参考分子(112A-112N)相关的数据。更具体地,对于每个参考分子,存储分子指纹和分子性质。因为分子指纹和分子性质是已知的,所以这些参考分子可用于预测仅分子指纹已知但分子性质未知的样品分子的分子性质。可以将任何数量的参考分子的数据存储在参考分子储存库(110)中。

根据本发明的一个或多个实施方式,为参考分子(112A-112N)存储的数据包括分子指纹(116A-116N)和分子性质(114A-114N)。

针对一个分子可以记录任何数量的分子性质。分子性质可以包括但不限于理化性质、ADMET性质和生物活性。ADMET性质的实例包括:AMES毒性、雄激素受体结合、血脑屏障相容性、Caco-2渗透性、hERG抑制作用和致癌性。

根据本发明的一个或多个实施方式的指纹(或其他描述符)以描述符格式捕获分子的结构。指纹不一定是一个分子唯一的,但可以使基础分子与其他分子进行比较,以评估这些分子的相似性。指纹可以是例如日光(标准)、atom_pair(标准)、morgan2(r=2的morgan)、morgan4(r=4)、morgan2_feat(r=2和使用特征)、morgan4_feat(等)、pharm_base(带有默认rdkit工厂的pharm)、pharm_gobbi(带有gobbi工厂的pharm)、分层(标准)、模式(标准)指纹。指纹可以源自基础分子的SMILES表示。

与分子关联的每种类型的指纹可以以略有不同的方式表示基础信息(即分子本身)。因此,每种类型的指纹都可以建立具有稍微不同的噪声特征的基础分子的不完美表示。

继续图1的讨论,参考分子储存库(110)可操作地连接到分子性质预测引擎(150)。分子性质预测引擎(150)包括计算机可读程序代码形式的指令,以执行图2中描述的步骤的至少一个。

图2示出了根据一个或多个实施方式的流程图。图2的流程图描绘了用于预测化学结构例如小分子的性质的方法。可以通过以上参考图1讨论的系统(100)的组成部分执行图2的一个或多个步骤。在一个或多个实施方式中,可以省略、重复图2中所示的一个或多个步骤和/或以与图2所示的顺序不同的顺序执行。可以进一步执行附加的步骤。因此,本发明的范围不应被认为限于图2所示的步骤的具体布置。

在步骤200中,获得参考分子的指纹和性质。在本发明的一个或多个实施方式中,获得每个参考分子的多个指纹(例如10个指纹)。每个获得的指纹可以是不同的类型。因此,尽管由多个指纹捕获的基础信息(即分子本身)始终是相同的,但可以通过不同类型的指纹以不同的程度捕获基础信息。对于每个参考分子,获得相同类型的指纹。取决于要进行的分析,可以为每个参考分子获得一种或多种性质。例如,如果整个分析旨在确定样品分子是否能够穿越血脑屏障(BBB),则可以为每个参考分子获得BBB穿越性质。如果要评估多种性质,则可以获得多种性质。

在步骤202中,获得样品分子的指纹。获得与针对参考分子获得的指纹相同类型的指纹。

在步骤204中,可以基于要预测的性质确定指纹类型的权重。广义上讲,一种类型的指纹可以比其他类型的指纹更擅长预测特定性质。因此,可以为这种类型的指纹分配更高的权重以进行后续操作。指纹的权重可以如下确定。

例如,考虑分子穿越血脑屏障(BBB)的能力(BBB穿越性质)。对于每个参考分子,假定BBB穿越性质是已知的。此外,基于这些参考分子的指纹,可以计算出每个分子到另一个分子的距离。因此,对于每对可能的参考分子对,并使用所有可用的指纹,可以计算距离。为了确定权重,可以分析基于指纹的分子之间的距离以及BBB穿越性质的相关性。一般而言,可以期望对于一对参考分子而言,较近的指纹比较远的指纹更有可能表现出相似的BBB穿越性质。具有相同BBB穿越性质的两个参考分子之间具有短距离的指纹(即,两个参考分子都能够通过血脑屏障(BBB++)或两个分子都不能通过血脑屏障(BBB--))因此被赋予高权重。当针对许多分子(例如,针对所有参考分子)执行此分析时,可以概率性地评估指纹预测BBB穿越性质的能力。与匹配性质的高概率P(BBB--)和P(BBB++)相关的指纹被分配了高权重,而与匹配特性的较低概率P(BBB--)和P(BBB++)(因此,具有提高的不匹配性质的概率P(BBB+-)和P(BBB-+))相关的指纹被分配了较低的权重。在预测BBB穿越性质的实例中,指纹权重因此可以包括后验概率P(BBB+|参考分子BBB+,d)和P(BBB-|参考分子BBB-,d)。换句话说,在给定距离d的情况下可能正确预测BBB穿越性质的指纹被赋予高的权重,而在给定距离d的情况下不可能正确预测BBB穿越性质的指纹被分配低的权重。

因此,可以获得所有可用指纹的指纹权重。指纹权重可以例如在0.0…1.0的数值范围内。尽管基于BBB穿越性质的实例示出了指纹权重的优化,但是本领域技术人员将理解,对于任何其他分子性质,可以获得指纹权重。

步骤204的执行是任选的,即,可选地,可以对不同类型的指纹使用统一加权来执行后续步骤。

在步骤206中,对于每个参考分子,并使用每个指纹,计算到样品分子的距离。基于用于计算的指纹类型,参考分子与样品分子之间的获得的距离可以表示这两个分子的相似度的倒数。换句话说,对于更多相似分子,获得较短的距离,而对于较少相似分子,获得较长的距离。在本发明的一个实施方式中,使用了谷本(Tanimoto)距离。可以针对每种类型的指纹分别执行距离计算。因此,如果十种类型的指纹可用于参考分子和样品分子,则获得十个距离以描述参考分子和样品分子的相似性。此外,如果总共有50个参考分子可用,则总共获得500个距离(50x 10)。所获得的距离描述了高维空间中参考分子和样品分子的相似性。空间的维数可以是所使用的指纹类型的数量的结果。具体地,在以上实例中,可以产生十维空间(基于使用10个指纹类型),其中代表了50个参考分子。因为每种类型的指纹都以略有不同的方式表征关联的分子,所以所得的距离可能在指纹类型之间波动。

在步骤208,确定每个参考分子的相对预测优势。具体地,可以基于在步骤206中获得的距离,将每个参考分子与任何其他参考分子进行比较。考虑例如都与三个指纹相关的参考分子A和B。因此,在执行步骤206之后,对于参考分子A和B中的每一个,三个距离可用。假设分子A的距离为[0.6 0.4 0.7],分子B的距离为[0.7 0.40.1]。在A与B的直接比较中,对于第一个指纹,分子A比分子B更近,对于第二个指纹,分子A和B均等接近,而对于第三个指纹,分子B比分子A更近。这在评分向量AvsB=[1 0.5 0]中记录,其中“1”表示分子A比分子B更近,0表示分子B比分子A更近,而0.5表示分子A和B均等接近。在步骤204中获得的权重可用于调整距离被视为相似的区域(导致得分为0.5)。高权重可导致将距离视为相似的窄范围,而低权重可导致将距离视为相似的宽范围。无论实际距离如何,零权重总是导致得分为0.5。可以对参考分子的任何组合进行该步骤。在图3A中提供了伪代码,其提供用于执行方式的实例。

可以在包含参考分子的预测优势值的优势矩阵中汇总多个参考分子的预测优势。

在步骤210中,确定每个参考分子的适应度。在本发明的一个或多个实施方式中,使用评分函数将在步骤208中获得的优势关系转换成每个参考分子的一个单个适应度值。适应度值可以量化特定参考分子与样品分子的相似程度。对于每个参考分子的适应度的获得由图3B中提供的伪代码示出。当分配适应度值时,评分函数可偏向于平均而言有利地比较的参考分子,即,针对所有的或大多数的指纹。这些可以是相对于其他参考分子主要“占优势”(基于在步骤208中获得的预测优势)而很少被其他参考分子“占优势”的参考分子。换句话说,“类别中最好的”参考分子可以是对于更多指纹而言比任何其他参考分子最接近目标分子的参考分子。

在步骤212中,基于参考分子的性质预测样品分子的性质,并通过适应度值对其进行缩放。适应度值可以缩放到0…1的数字范围。在本发明的一个实施方式中,对适应度值进行缩放,使得所有适应度值的总和为“1”。表示适应性低(或没有适应性)的“0”值将表明相关的参考分子对于预测样品分子的性质而言是不好的候选物。相反,高值将表明相关的参考分子是用于预测样品分子性质的高度合适的候选物。因此,基于与参考分子相关的适应度值,可以考虑参考分子的性质来预测样品分子的性质。

考虑例如其中要为样品分子预测二进制性质的场景。“1”可以用来表示该性质存在,而“0”可以用来表示该性质不存在。假设有许多先前已评估其性质的参考分子可用。这些参考分子之一具有该性质,并且与该参考分子相关的适应度值确定为0.78。因此,在步骤212中,该分子将以0.78的贡献表决为“1”。可以对所有其他参考分子执行相同的分析以获得多数表决。每个参考分子对多数表决的贡献可以基于相关的适应度值来缩放。基于多数表决,随后确定与样品分子相关的二进制性质是“0”还是“1”。

对于涉及两个以上类别的性质,可以基于多数表决做出类似的预测。此外,还可以通过基于相关的适应度值缩放每个参考分子的贡献来执行对连续性质的预测。

本发明的各个实施方式具有以下优点中的一个或多个。本发明的实施方式使得能够预测样品分子的性质。该预测考虑了从多个参考分子获得的多种类型的指纹。因此,在进行预测之前不需要选择特定的指纹。多维空间中基于距离的度量标准用于分子性质的识别。无需手动选择超参数,并且随着新的参考分子变得可用,可以在预测中立即考虑它们。基于在预测中考虑多个指纹,降低了预测偏差和过度拟合的风险。因此,避免了高维信息的陷阱。

图4示出了本发明的实施方式和传统分类器的性能比较(400)。在比较中,与五个其他传统分类器一起对实施方式进行了测试,以预测17个ADMET性质。对于这五种传统方法中的每一种,都使用数据集的80%进行五重交叉验证,而剩下的20%用于盲测。该过程反复遍历八种类型的化学指纹,并使用网格搜索策略调整了超参数。对于本发明的实施方式,还将80%/20%的测试划分用于直接比较(标记为“AP测试集”)以及‘留一法’的完整交叉验证(标记为“AP完整集”)以评估相对于数据集大小的预测稳定性。同时使用十个不同的指纹来构建一个模型,比较而言,在标准方法中,每个传统模型只能使用一个指纹。在传统分类器的测试中,针对每个指纹分别构建模型,并选择交叉验证得分表现最佳的模型,然后在测试集上测量性能。使用预测性能的受试者工作特征曲线(ROC AUC)度量下的面积,评估所有模型的预测能力。从经过精心策划的先前发布的QSAR研究中获得了用于17种不同模型的数据集,每个研究集中于针对特定ADMET性质构建优化模型。

如图4所示,基于ROC AUC得分,对于全部17个ADMET性质,本发明的实施方式始终优于五个传统分类器。因为本发明的实施方式具有使用所有数据进行训练而不需要传统方法所需的80/20%划分的能力,所以对于大多数性质,获得了较高的预测能力,如图4中的“AP完整”和“AP测试”之间的差异所示。此外,即使当使用能够直接比较本发明的实施方式和传统分类器的相同的80/20%数据划分时,“AP测试”仍然优于每种传统分类器。

图5A和图5B示出了本发明的实施方式(500A,图5A)和传统的定量结构-活性关系(QSAR)方法(500B,图5B)的交叉验证与盲测ROC AUC得分以评估过度拟合。在图5A的曲线图中,几乎所有由不同点表示的性质都落在或非常靠近对角线上,这与图5B(传统分类器)形成对比,在传统分类器中验证性能往往高于测试性能,表明了过度拟合。雄激素受体(AR)结合模型似乎对这两种工具都过度拟合;然而,本发明的实施方式仍然比最佳传统分类器(测试:0.50)表现更好(测试:0.62)。

图6示出了本发明的实施方式相对于表现最佳的传统分类器-指纹组合的性能汇总(600)。传统分类器无法同时使用多个指纹导致了生成最佳模型的指纹/分类器类型不一致。这种不一致在细胞色素P450同种型中很明显,其中对于每个同种型,不同的指纹/分类器输出了性能最佳的分类器。

为了解决与传统分类器的实施有关的问题,还将本发明的实施方式的性能与文献中先前报道的结果进行了比较。例如,Shen等(Shen J.等,Estimation of ADMEProperties with Substructure Pattern Recognition.J.Chem.Inf.Model.50,1034-1041(2010))报道了AdmetSAR,这是DrugBank使用的工具,并针对血脑屏障(BBB)和人体肠道吸收(HIA)性能对其进行评估。基于他们的报告,本发明的实施方式(BBB:0.9738,HIA:0.9533)优于AdmetSAR ROC AUC得分(BBB:0.9517,HIA:0.9458)。

总之,本发明的实施方式始终优于常规机器学习方法。

可以对广泛范围的分子进行预测以预测广泛范围的性质。本发明的一个或多个实施方式对于新药的开发可能特别有益。开发药物是一个漫长而昂贵的过程。使用本发明的实施方式预测ADMET性质的能力可以加速该过程并且可以降低成本。此外,因为与典型的基于机器学习的方法不同,不需要优化超参数,所以药物开发人员可以在没有机器学习背景的情况下使用本发明的实施方式。

与提供设计用于解决单个问题的高度特定的工具的传统建模方法不同,本发明的实施方式可应用于药物开发以外的各种学科。预测其中分子的定量或定性性质、分子的相互作用等的任何领域可以受益。本发明的实施方式可用于要预测分子性质的任何地方;在新分子的检测/开发周期中,用于迭代获得具有期望性质的分子;和/或用于确定现有分子的替代应用。

本公开的实施方式可在计算系统上实现。可以使用移动、台式机、服务器、路由器、交换机、嵌入式装置或其它类型的硬件的任何组合。例如,如在图7A中示出的,计算系统(700)可以包括一个或多个计算机处理器(702)、非持久性存储装置(704)(例如,易失性存储器,诸如随机存取存储器(RAM)、高速缓冲存储器)、持久性存储装置(706)(例如,硬盘、光盘驱动器,诸如光盘(CD)驱动器或数字多功能盘(DVD)驱动器、快闪存储器等)、通信接口(712)(例如,蓝牙接口、红外接口、网络接口、光学接口等)、以及许多其它要素和功能。

(一个或多个)计算机处理器(702)可以是用于处理指令的集成电路。例如,(一个或多个)计算机处理器可以是处理器的一个或多个核或微核。计算系统(700)还可以包括一个或多个输入装置(710),诸如触摸屏、键盘、鼠标、麦克风、触摸板、电子笔或任何其它类型的输入装置。

通信接口(712)可以包括集成电路,用于将计算系统(700)连接到网络(未示出)(例如,局域网(LAN)、诸如因特网的广域网(WAN)、移动网络或任何其它类型的网络)和/或另一个装置,诸如另一个计算装置。

此外,计算系统(700)可以包括一个或多个输出装置(708),诸如屏幕(例如,液晶显示器(LCD)、等离子显示器、触摸屏、阴极射线管(CRT)监测器、投影仪或其它显示装置)、打印机、外部存储装置或任何其它输出装置。输出装置中的一个或多个可以与(一个或多个)输入装置相同或不同。(一个或多个)输入和输出装置可以本地或远程地连接到(一个或多个)计算机处理器(702)、非持久性存储装置(704)和持久性存储装置(706)。存在许多不同类型的计算系统,并且前述(一个或多个)输入和输出装置可以采取其它形式。

用于执行本公开实施方式的计算机可读程序代码形式的软件指令可以全部或部分地、临时或永久地存储在非暂时性计算机可读介质(诸如CD、DVD、存储装置、磁盘、磁带、快闪存储器、物理存储器或任何其它计算机可读存储介质)上。具体地说,软件指令可以对应于计算机可读程序代码,所述计算机可读程序代码在由(一个或多个)处理器执行时被配置成执行本公开的一个或多个实施方式。

图7A中的计算系统(700)可以连接到网络或者是网络的一部分。例如,如在图7B中示出的,网络(720)可以包括多个节点(例如,节点X(722)、节点Y(724))。每个节点可以对应于计算系统,诸如在图7A中示出的计算系统或者组合的一组节点可以对应于图7A中示出的计算系统。举例而言,本公开的实施方式可在连接到其它节点的分布式系统的节点上实现。作为另一个实例,本公开的实施方式可在具有多个节点的分布式计算系统上实现,其中本公开的每个部分可以位于分布式计算系统内的不同节点上。此外,前述计算系统(700)的一个或多个要素可以位于远程位置并且通过网络连接到其它要素。

尽管在图7B中未示出,所述节点可以对应于服务器机箱中的经由背板连接到其它节点的刀片。作为另一个实例,所述节点可以对应于数据中心中的服务器。作为另一个实例,节点可以对应于具有共享存储器和/或资源的计算机处理器或计算机处理器的微核。

网络(720)中的节点(例如,节点X(722)、节点Y(724))可以被配置成向客户端装置(726)提供服务。例如,节点可以是云计算系统的一部分。节点可以包括用于从客户端装置接收请求(726)和向客户端装置传输响应(726)的功能。客户端装置(726)可以是计算系统,诸如在图7A中示出的计算系统。此外,客户端装置(726)可以包括和/或执行本公开的一个或多个实施方式的全部或一部分。

在图7A和图7B中描述的计算系统或计算系统组可以包括执行本文公开的多种运算的功能。例如,(一个或多个)计算系统可在相同或不同系统上的过程之间执行通信。采用某种形式的主动或被动通信的多种机制可以便于同一装置上的过程之间的数据交换。代表这些过程间通信的实例包括但不限于文件、信号、套接字、消息队列、流水线、信号量、共享存储器、消息传达和存储器映射文件的实现。下面提供与这些非限制性实例中的几个相关的其它细节。

基于客户机-服务器网络模型,套接字可以用作接口或通信信道端点,使能在同一装置上的过程之间的双向数据传送。首先,遵循客户机-服务器网络模型,服务器过程(例如,提供数据的过程)可以创建第一套接字对象。接下来,服务器过程结合第一套接字对象,从而将第一套接字对象与唯一的名称和/或地址相关联。在创建并且结合第一套接字对象之后,服务器过程然后等待并且监听来自一个或多个客户端过程(例如,寻找数据的过程)的传入连接请求。此时,当客户端过程希望从服务器过程获得数据时,客户端过程通过创建第二个套接字对象开始。然后,客户端过程继续生成连接请求,所述连接请求至少包括第二套接字对象和与第一套接字对象相关联的唯一名称和/或地址。然后,客户端过程将连接请求传输到服务器过程。取决于可用性,服务器过程可以接受连接请求,与客户端过程建立通信信道,或者忙于处理其它运算的服务器过程可将连接请求在缓冲器中排队,直到服务器过程准备好。所建立的连接通知客户端过程通信可以开始。作为响应,客户端过程可以生成指定客户端过程希望获得的数据的数据请求。数据请求随后被传输到服务器过程。在接收到数据请求时,服务器过程分析所述请求并且收集所请求的数据。最后,服务器过程然后生成至少包括所请求的数据的回复,并且将所述回复传输到客户端过程。更常见地,数据可以作为数据报或字符流(例如,字节)来传送。

共享存储器是指虚拟存储器空间的分配,以便证实可由多个过程传达数据和/或访问数据的机制。在实现共享存储器时,初始化过程首先在持久性或非持久性存储装置中创建可共享段。创建后,初始化过程然后装载可共享段,随后将可共享段映射到与初始化过程相关联的地址空间中。在装载之后,初始化过程继续标识一个或多个授权过程并且向其授予访问权限,所述一个或多个授权过程还可以向可共享段写入数据和从可共享段读取数据。通过一个过程对可共享段中的数据所做的更改可能会立即影响也链接到可共享段的其它过程。此外,当授权过程中的一个访问可共享段时,可共享段映射到所述授权过程的地址空间。通常,在任何给定时间,除了初始化过程之外,仅一个授权过程可以装载可共享段。

在不脱离本公开的范围的情况下,可以使用其它技术来在过程之间共享数据,诸如本申请中描述的各种数据。这些过程可以是相同或不同应用的一部分,并且可在相同或不同的计算系统上执行。

代替或除了在过程之间共享数据,执行本公开的一个或多个实施方式的计算系统可以包括从用户接收数据的功能。例如,在一个或多个实施方式中,用户可以经由用户装置上的图形用户接口(GUI)来提交数据。可以通过用户选择一个或多个图形用户接口小部件或者使用触摸板、键盘、鼠标或任何其它输入装置将文本和其它数据插入图形用户接口小部件中来经由图形用户接口提交数据。响应于选择特定项目,可由计算机处理器从持久性或非持久性存储装置获得关于所述特定项目的信息。在用户选择项目时,可以响应于用户的选择而在用户装置上显示所获得的关于特定项目的数据的内容。

作为另一个实例,获得关于特定项目的数据的请求可以被发送到通过网络可运算地连接到用户装置的服务器。例如,用户可以选择用户装置的网络客户端内的统一资源定位符(URL)链接,从而启动向与所述URL相关联的网络主机发送超文本传送协议(HTTP)或其它协议请求。响应于所述请求,服务器可以提取关于特定选定项目的数据,并且将所述数据发送给启动所述请求的装置。一旦用户装置已经接收到关于特定项目的数据,就可以响应于用户的选择在用户装置上显示所接收到的关于特定项目的数据的内容。继上述实例,在选择了URL链接之后从服务器接收到的数据可以提供可由网络客户端呈现并且显示在用户装置上的超文本标记语言(HTML)的网页。

一旦获得数据,诸如通过使用上述技术或来自存储装置,计算系统在执行本公开的一个或多个实施方式时可以从所获得的数据中提取一个或多个数据项。例如,可由图7A中的计算系统如下执行所述提取。首先,确定数据的组织模式(例如,语法、模式、布局),这可以基于以下中的一个或多个:位置(例如,位或列位置、数据流中的第N个令牌等);属性(其中属性与一个或多个值相关联);或分层/树结构(由不同细节级别的节点层组成,诸如在嵌套的包标题或嵌套的文档区段中)。然后,在组织模式的上下文中,原始的、未处理的数据符号流被解析成令牌流(或分层结构)(其中每个令牌都可以具有相关联的令牌“类型”)。

接下来,提取标准用于从令牌流或结构中提取一个或多个数据项,其中根据组织模式处理提取标准以提取一个或多个令牌(或来自分层结构的节点)。对于基于位置的数据,提取由提取标准标识的(一个或多个)位置处的(一个或多个)令牌。对于基于属性/值的数据,提取与满足提取标准的(一个或多个)属性相关联的(一个或多个)令牌和/或(一个或多个)节点。对于分层/分层数据,提取与匹配提取标准的(一个或多个)节点相关联的(一个或多个)令牌。提取标准可以像标识符字符串一样简单,或者可以是提供给结构化数据储存库的查询(其中可以根据数据库模式或数据格式(诸如,XML)来组织数据储存库)。

所提取的数据可以用于由计算系统进一步处理。例如,图7A的计算系统在执行本公开的一个或多个实施方式时,可以执行数据比较。数据比较可用于比较两个或多个数据值(例如,A、B)。例如,一个或多个实施方式可以确定是否A>B,A=B,A!=B、AB,可以从A中减去B(即A-B),并且可以读取状态标志来确定结果是否为正(即,如果A>B,则A-B>0)。在一个或多个实施方式中,如使用ALU所确定的,如果A=B或如果A>B,则B可以被视为阈值,并且A被视为满足阈值。在本公开的一个或多个实施方式中,A和B可以是向量,并且将A与B进行比较需要将向量A的第一要素与向量B的第一要素进行比较,将向量A的第二要素与向量B的第二要素进行比较等。在一个或多个实施方式中,如果A和B是字符串,则可以比较字符串的二进制值。

图7A中的计算系统可以实现和/或连接到数据储存库。例如,一种类型的数据储存库是数据库。数据库是被配置成便于数据检索、修改、重新组织和删除的信息的集合。数据库管理系统(DBMS)是一个软件应用,其为用户限定、创建、查询、更新或管理数据库提供接口。

用户或软件应用可以将语句或查询提交到DBMS中。然后DBMS解释所述语句。所述语句可以是请求信息的选择语句、更新语句、创建语句、删除语句等。而且,所述语句可以包括参数,所述参数指定数据或数据容器(数据库、表、记录、列、视图等)、(一个或多个)标识符、病症(比较运算符)、功能(例如,联接、完全联接、计数、平均等)、排序(如升序、降序)或其它。DBMS可以执行所述语句。例如,DBMS可以访问存储器缓冲区、引用或索引文件以进行读取、写入、删除或其任何组合,以响应所述语句。DBMS可以从持久性或非持久性存储装置加载数据,并且执行计算来响应查询。DBMS可以将(一个或多个)结果返回给用户或软件应用。

图7A的计算系统可以包括提供原始和/或处理的数据(诸如比较和其它处理的结果)的功能。例如,可以通过各种呈现方法来完成提供数据。具体地说,可以通过由计算装置提供的用户接口来提供数据。用户接口可以包括在显示装置(计算机监测器或手持计算机装置上的触摸屏)上显示信息的GUI。GUI可以包括各种GUI小部件,所述GUI小部件组织示出什么数据以及如何向用户提供数据。此外,GUI可以直接向用户提供数据,例如,通过文本作为实际数据值提供的数据,或者由计算装置呈现为数据的视觉表示,诸如通过可视化数据模型。

例如,GUI可以首先从软件应用获得请求在GUI内提供特定数据对象的通知。接下来,GUI可以例如,通过从数据对象内标识数据对象类型的数据属性获得数据来标识与特定数据对象相关联的数据对象类型。然后,GUI可以确定指定用于显示所述数据对象类型的任何规则,例如,由软件框架为数据对象类指定的规则或者根据由GUI限定的用于呈现所述数据对象类型的任何本地参数指定的规则。最后,GUI可以从特定数据对象获得数据值,并且根据用于所述数据对象类型的指定规则在显示装置内呈现数据值的视觉表示。

还可以通过各种音频方法来提供数据。特别地,数据可以被呈现为音频格式,并且通过可运算地连接到计算装置的一个或多个扬声器作为声音提供。

数据还可以通过触觉方法提供给用户。例如,触觉方法可以包括由计算系统产生的振动或其它物理信号。例如,可以使用具有预定持续时间和振动强度的手持计算机装置产生的振动来向用户提供数据以传达数据。

以上对功能的描述仅呈现了由图7A的计算系统和/或图7B中的客户端装置执行的功能的几个实例。可以使用本公开的一个或多个实施方式来执行其它功能。

尽管已经关于有限数量的实施方式描述了本公开,但是受益于本公开的本领域技术人员将会理解,可以设计出不脱离本文公开的本公开的范围的其它实施方式。因此,本公开的范围应仅由所附权利要求来限定。

本文阐述的实施方式和实例是为了最好地解释本发明及其特定应用,从而使本领域技术人员能够制造和使用本发明。然而,本领域技术人员将认识到,前面的描述和实例仅是为了绘示和实例的目的而呈现的。所阐述的描述并不意图穷举或将本发明限制于所公开的精确形式。

尽管已经关于有限数量的实施方式描述了本发明,但是受益于本公开的本领域技术人员将会理解,可以设计出不脱离本文公开的本发明的范围的其它实施方式。因此,本发明的范围应仅由所附权利要求来限定。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号