CN110827924A - 基因表达数据的聚类方法、装置、计算机设备及存储介质 - Google Patents

基因表达数据的聚类方法、装置、计算机设备及存储介质 Download PDF

Info

Publication number
CN110827924A
CN110827924A CN201910898210.XA CN201910898210A CN110827924A CN 110827924 A CN110827924 A CN 110827924A CN 201910898210 A CN201910898210 A CN 201910898210A CN 110827924 A CN110827924 A CN 110827924A
Authority
CN
China
Prior art keywords
clustering
data
candidate
point
points
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201910898210.XA
Other languages
English (en)
Other versions
CN110827924B (zh
Inventor
王健宗
吴文启
瞿晓阳
彭俊清
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ping An Technology Shenzhen Co Ltd
Original Assignee
Ping An Technology Shenzhen Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ping An Technology Shenzhen Co Ltd filed Critical Ping An Technology Shenzhen Co Ltd
Priority to CN201910898210.XA priority Critical patent/CN110827924B/zh
Publication of CN110827924A publication Critical patent/CN110827924A/zh
Application granted granted Critical
Publication of CN110827924B publication Critical patent/CN110827924B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16BBIOINFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR GENETIC OR PROTEIN-RELATED DATA PROCESSING IN COMPUTATIONAL MOLECULAR BIOLOGY
    • G16B40/00ICT specially adapted for biostatistics; ICT specially adapted for bioinformatics-related machine learning or data mining, e.g. knowledge discovery or pattern finding
    • G16B40/30Unsupervised data analysis
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16BBIOINFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR GENETIC OR PROTEIN-RELATED DATA PROCESSING IN COMPUTATIONAL MOLECULAR BIOLOGY
    • G16B25/00ICT specially adapted for hybridisation; ICT specially adapted for gene or protein expression
    • G16B25/10Gene or protein expression profiling; Expression-ratio estimation or normalisation

Landscapes

  • Health & Medical Sciences (AREA)
  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Medical Informatics (AREA)
  • Evolutionary Biology (AREA)
  • Theoretical Computer Science (AREA)
  • Biophysics (AREA)
  • Genetics & Genomics (AREA)
  • Spectroscopy & Molecular Physics (AREA)
  • General Health & Medical Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Biotechnology (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Software Systems (AREA)
  • Public Health (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Epidemiology (AREA)
  • Databases & Information Systems (AREA)
  • Bioethics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Molecular Biology (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请公开一种基因表达数据的聚类方法、装置、计算机设备及存储介质,涉及人工智能领域,所述方法包括根据预设的权重算法,从待聚类基因数据集中选取至少一个候选点,取其中一个候选点作为参考点,并分别计算参考点与其余每个候选点之间的候选距离,根据候选距离确定待聚类基因数据集的主类簇以及主类簇的聚类中心,使得在大量的基因表达数据中能高效率选取初始聚类中心和主类簇,进而提高聚类效果,同时,由于本申请的技术方案能高效率筛选出聚类中心和主类簇,使得服务器根据得到的聚类中心和主类簇能快速对数据进行聚类,从而提高了对数据的处理效率。

Description

基因表达数据的聚类方法、装置、计算机设备及存储介质
技术领域
本申请涉及人工智能领域,尤其涉及基因表达数据的聚类方法、装置、计算机设备及存储介质。
背景技术
随着基因组数据集的增长,开发快速准确的技术变得非常重要,以便快速提取用户可以利用的有意义的洞察力。为了应对这种挑战,生物信息学迎刃而出,而生物信息学的最终目标是更好地了解活细胞及其在分子水平上的作用。近年来,微阵列基因表达研究以提取隐藏在通过微阵列实验积累的大量基因表达谱下的重要生物学知识,分析基因表达谱可以指出基因调节和相互作用的机制,也是理解细胞功能的基础,从而在众多的数据集中找到研究者所感兴趣的点。
基因表达谱数据的聚类信息对研究基因调控机制有重要意义,即微阵基因数据分析的一个重要工具是聚类分析。近年来,K-Means算法是最广泛使用的分区聚类分析技术之一。K-Means算法一般指K均值聚类算法,是先随机选取K个对象作为初始的聚类中心,然后计算每个对象与各个子聚类中心之间的距离,把每个对象分配给距离它最近的聚类中心。聚类中心以及分配给它们的对象就代表一个聚类,一旦全部对象都被分配了,每个聚类的聚类中心会根据聚类中现有的对象被重新计算,这个过程将不断重复直到满足某个终止条件。终止条件可以是没有(或最小数目)对象被重新分配给不同的聚类,没有(或最小数目)聚类中心再发生变化,误差平方和局部最小。
然而,K-Means算法的缺点是初始聚类中心的选择,由于K-Means对中心的初始选择极其敏感,且选择初始聚类中心方面效率低下,即每个不同的初始聚类中心选择可能导致不同的结果,该方法使得服务器在耗费大量计算资源和计算时间下,不仅使得聚类效果不佳,而且大大降低了对数据的聚类效率。
发明内容
本申请实施例的目的在于提出一种基因表达数据的聚类方法,以解决现有技术中基因数据集的聚类效果不佳的问题。
为了解决上述技术问题,本申请实施例提供一种基因表达数据的聚类方法,包括如下步骤:
根据预设的权重算法,从待聚类基因数据集中选取至少一个候选点;
取其中一个所述候选点作为参考点,并分别计算所述参考点与其余每个所述候选点之间的候选距离;
根据所述候选距离确定所述待聚类基因数据集的主类簇以及主类簇的聚类中心;
基于确定的主类簇以及主类簇的聚类中心对基因表达数据进行聚类。
进一步的,基因表达数据的聚类方法还包括:
将所述待聚类基因数据集中的数据点划分成K个簇并进行初始化,其中,K为正整数;
当簇内所述数据点满足最近点条件时,对簇内的数据点进行加权处理得到该簇的加权数据点;
筛选出至少1个权重大于预设权重阈值的所述加权数据点作为候选点。
进一步的,基因表达数据的聚类方法还包括:
计算每两个候选点之间距离,以获取至少1个参考距离;
将最长的参考距离中对应的其中一个候选点作为参考点;
分别计算所述参考点和其余每个所述候选点之间的候选距离。
进一步的,基因表达数据的聚类方法还包括:
判断所述聚类中心的数量是否大于K;
当所述聚类中心的数量大于K时,通过叠加方式重新确定新的预设权重阈值;
以新的预设权重阈值重新筛选参考点,直至根据所述新筛选的参考点获取到K-1个聚类中心为止。
进一步的,基因表达数据的聚类方法还包括:
确定边界阈值;
当所述待测最近数据点和非待测最近数据点之间的距离小于边界阈值时,确认所述待测最近数据点满足所述最近点条件;
根据预设的加权方式,将所述待测最近数据点处理为加权数据点。
进一步的,基因表达数据的聚类方法还包括:
计算每个所述聚类中心和所述待聚类基因数据集的数据点之间的平均误差之和,以判断所述聚类基因数据集的聚类质量。
进一步的,基因表达数据的聚类方法还包括:
对所述候选距离建立有序索引;
根据所述索引大小确定所述待聚类基因数据集的聚类程度;
根据所述聚类程度确定所述待聚类基因数据集的主类簇以及主类簇的聚类中心。
为了解决上述技术问题,本申请实施例还提供一种基因表达数据的聚类装置,所述基因表达数据的聚类装置包括:
获取模块,用于根据预设的权重算法,从待聚类基因数据集中选取至少一个候选点;
计算模块,用于将取其中一个所述候选点作为参考点,并分别计算所述参考点与其余每个所述候选点之间的候选距离;
确定模块,用于根据所述候选距离确定所述待聚类基因数据集的主类簇以及主类簇的聚类中心;
执行模块,用于基于确定的主类簇以及主类簇的聚类中心对基因表达数据进行聚类。
进一步的,获取模块还包括:
划分子模块,用于将所述待聚类基因数据集中的数据点划分成K个簇并进行初始化,其中,K为正整数;
加权子模块,用于当簇内所述数据点满足最近点条件时,对簇内的数据点进行加权处理得到该簇的加权数据点;
筛选子模块,用于筛选出至少1个权重大于预设权重阈值的所述加权数据点作为候选点。
进一步的,处理模块还包括:
计算子模块,用于计算每两个候选点之间距离,以获取至少1个参考距离;
参考子模块,用于将最长的参考距离中对应的其中一个候选点作为参考点;
候选子模块,用于分别计算所述参考点和其余每个所述候选点之间的候选距离。
进一步的,所述基因表达数据的聚类装置还包括:
判断模块,用于判断所述聚类中心的数量是否大于K;
叠加模块,用于当所述聚类中心的数量大于K时,通过叠加方式重新确定新的预设权重阈值;
筛选模块,用于以新的预设权重阈值重新筛选参考点,直至根据所述新筛选的参考点获取到K-1个聚类中心为止。
进一步的,所述数据点包括待测最近数据点和非待测最近数据点,加权子模块还包括:
边界单元,用于确定边界阈值;
确认单元,用于当所述待测最近数据点和非待测最近数据点之间的距离小于边界阈值时,确认所述待测最近数据点满足所述最近点条件;
加权单元,用于根据预设的加权方式,将所述待测最近数据点处理为加权数据点。
进一步的,所述基因表达数据的聚类装置还包括:
聚类模块,用于计算每个所述聚类中心和所述待聚类基因数据集的数据点之间的平均误差之和,以判断所述聚类基因数据集的聚类质量。
进一步的,所述基因表达数据的聚类装置还包括:
索引模块,用于对所述候选距离建立有序索引;
第一确定模块,用于根据所述索引大小确定所述待聚类基因数据集的聚类程度;
第二确定模块,用于根据所述聚类程度确定所述待聚类基因数据集的主类簇以及主类簇的聚类中心。
为了解决上述技术问题,本申请实施例还提供一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器执行所述计算机程序时实现上述基因表达数据的聚类方法的步骤。
为了解决上述技术问题,本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述的基因表达数据的聚类方法的步骤。
与现有技术相比,本申请实施例主要有以下有益效果:
通过根据预设的权重算法,从待聚类基因数据集中选取至少一个候选点,取其中一个候选点作为参考点,并分别计算参考点与其余每个候选点之间的候选距离,根据候选距离确定待聚类基因数据集的主类簇以及主类簇的聚类中心,使得在大量的基因表达数据中能高效率选取初始聚类中心和主类簇,进而提高聚类效果,同时,由于本申请的技术方案能高效率筛选出聚类中心和主类簇,使得服务器根据得到的聚类中心和主类簇能快速对数据进行聚类,从而提高了对数据的处理效率。
附图说明
为了更清楚地说明本申请中的方案,下面将对本申请实施例描述中所需要使用的附图作一个简单介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请可以应用于其中的示例性系统架构图;
图2是本申请的基因表达数据的聚类方法的一个实施例的流程图;
图3是根据本申请的基因表达数据的聚类装置的一个实施例的结构示意图;
图4是根据本申请的计算机设备的一个实施例的基本结构示意图。
具体实施方式
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同;本文中在申请的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本申请;本申请的说明书和权利要求书及上述附图说明中的术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含。本申请的说明书和权利要求书或上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
为了使本技术领域的人员更好地理解本申请方案,下面将结合附图,对本申请实施例中的技术方案进行清楚、完整地描述。
如图1所示,系统架构100可以包括终端设备101、102、103,网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备101、102、103通过网络104与服务器105交互,以接收或发送消息等。终端设备101、102、103上可以安装有各种通讯客户端应用,例如网页浏览器应用、购物类应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等。
终端设备101、102、103可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、电子书阅读器、MP3播放器(Moving Picture E基因表达数据的聚类perts Group Audio Layer III,动态影像专家压缩标准音频层面3)、MP4(MovingPicture E基因表达数据的聚类perts Group Audio Layer IV,动态影像专家压缩标准音频层面4)播放器、膝上型便携计算机和台式计算机等等。
服务器105可以是提供各种服务的服务器,例如对终端设备101、102、103上显示的页面提供支持的后台服务器。
需要说明的是,本申请实施例所提供的基因表达数据的聚类方法一般由服务器/终端设备执行,相应地,基因表达数据的聚类装置一般设置于服务器/终端设备中。
应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
继续参考图2,示出了根据本申请的基因表达数据的聚类的方法的一个实施例的流程图。所述的基因表达数据的聚类方法,包括以下步骤:
S201:根据预设的权重算法,从待聚类基因数据集中选取至少一个候选点。
具体地,预设的权重算法是指服务器将待聚类基因数据集中的数据点按照预设的簇(cluster)数进行划分,得到预设数量的簇;对每个簇中的每个数据点进行初始化,例如,将每个数据点的权重值初始化为0;当簇内的数据点满足最近点条件时,也就是数据点p是簇内其余数据点p’的最近点时,对数据点p进行加权处理,不满足就不做加权处理,最终得到该簇的加权数据点,其中,加权处理可以是在数据点的初始权重上叠加若干单位权重值。例如,单位权重值为1、2、3等整数值;从加权数据点中筛选出若干候选点,筛选方法可以通过判断加权数据点的权重是否大于预设的权重阈值,例如,将权重值大于预设权重阈值的数据点作为候选点,其中,候选点是待验证的聚类中心。
S202:取其中一个所述候选点作为参考点,并分别计算所述参考点与其余每个所述候选点之间的候选距离。
在若干个候选点中,服务器随机选取其中一个候选点作为参考点,并计算该参考点与其余候选点之间的两点距离,将该两点距离定义为候选距离,以此方式获取该参考点的多个候选距离。
S203:根据所述候选距离确定所述待聚类基因数据集的主类簇以及主类簇的聚类中心。
具体地,服务器建立每个候选距离对应一个索引,将所有候选距离构成一个索引数组,根据索引数组中每个索引对应的距离值可以确定每个索引对应的主类簇,即总共有K-1个主类簇;并将候选距离间的差值小于当前索引对应的候选距离的数据点作为该主类簇的非聚类点;将所有非聚类点构成第k个簇,第K个簇为非主类簇。
进一步地,将索引数组中的每个候选距离执行差值计算,即通过将索引i对应的候选距离和索引i+1对应的候选距离作差得到候选距离的差值;将差值执行降序排序;将排序后的差值存储在差值数组(difference array)中,其中,每一个差值对应一条索引,例如索引设置为j,j的取值范围为[0,倒数第二个差值对应的索引值];由于降序是按照由大到小的顺序,故差值越小,即候选点之间的密度更集中,差值越大,候选点之间的密度小,在该簇中的偏远程度大。
可见,通过差值反映主类簇的整体,并且在每个主类簇能突显局部密度最大的点,该类簇中所有局部密度大于该点的局部密度的点被认为是类簇核心的一部分即聚类中心点,其余的数据点被认为是该类簇的光晕,亦即可以认为是噪音(outlier)。
进一步地,当确定主类簇的聚类中心后,将每个归属到对应的主类簇的数据点进行标记,例如,每个簇的聚类中心可以标记为ci=k。
S204:基于确定的主类簇以及主类簇的聚类中心对基因表达数据进行聚类。
基因表达数据反映的是直接或间接测量得到的基因转录产物mRNA在细胞中的丰度,这些数据可以用于分析哪些基因的表达发生了改变,基因之间有何相关性,在不同条件下基因的活动是如何受影响的,对于医学临床诊断、药物疗效判断、揭示疾病发生机制等方面有重要的应用。因此,基于确定的主类簇以及主类簇的聚类中心将基因表达数据聚类到对应的各个主类簇中,通过分析每个主类簇的基因表达数据间的生物关系以及结合其生物学知识有助于阐明基因的表达调控路径和调控网络。通过根据预设的权重算法,从待聚类基因数据集中选取至少一个候选点,取其中一个候选点作为参考点,并分别计算参考点与其余每个候选点之间的候选距离,根据候选距离确定待聚类基因数据集的主类簇以及主类簇的聚类中心,使得在大量的基因表达数据中能高效率选取初始聚类中心和主类簇,进而提高聚类效果,同时,由于本申请的技术方案能高效率筛选出聚类中心和主类簇,使得服务器根据得到的聚类中心和主类簇能快速对数据进行聚类,从而提高了对数据的处理效率。
在本实施例的一些可选的实现方式中,步骤S201,即根据预设的权重算法,从待聚类基因数据集中选取至少一个候选点,上述电子设备还可以执行以下步骤:
将所述待聚类基因数据集中的数据点划分成K个簇并进行初始化,其中,K为正整数;
当簇内所述数据点满足最近点条件时,对簇内的数据点进行加权处理得到该簇的加权数据点;
筛选出至少1个权重大于预设权重阈值的所述加权数据点作为候选点。
具体地,待聚类基因数据集S包括N个数据点,数据点可以是血液样本中提取的基因样本数据,血液样本可以是人体血液提取的外周血,将数据点按照预设的簇(cluster)数进行划分,簇数的初始设定由研发人员根据实验经验进行人为设定,例如,簇数可以为1,2,3…K等任意正整数,将数据点随机划分到K个簇中,每个簇互不交集,每个簇中的数据点均不相等。其中,N和K均为正整数。例如,将每个数据点的权重初始化为w0=0。
进一步地,数据点满足最近点条件是指对于待测最近数据点x∈S,以及除了待测最近数据点之外的每个数据点xi∈S和x≠xi,验证待测最近数据点x是否是xi的最近点的方式可以是通过判断待聚类基因数据集S中数据点xi和待测最近数据点x之间的距离是否小于边界阈值dc的数据点。边界阈值dc也叫截断距离,dc设置的越小,表示对聚类的敏感度越高,即在尽可能小的区域内发现聚类社区。
进一步地,当簇内的数据点满足上述的最近点条件时,对簇内的数据点进行加权处理,以此得到该簇的加权数据点,加权方式可以是设置满足最近点条件的数据点为p,加权处理后的p的权重为wn+1=wn+1,其中,n表示加权次数,当数据点初始化时,n=0,且wn=0,并将加权处理后得到的加权数据点存储在权重组中。
进一步地,当加权数据点的权重大于预设权重阈值j时,将该加权数据点作为候选点,其中,j的初始值设置为0,即从权重组中选取权重大于预设权重阈值j的加权数据点作为候选点,权重小于j的加权数据点被认为是离群点。
通过将待聚类基因数据集中的数据点划分成K个簇并进行初始化,当簇内数据点满足最近点条件时,对簇内的数据点进行加权处理得到该簇的加权数据点,从加权数据点中筛选出至少1个候选点,这样选取候选点的方式能初步合理有效地从众多数据点中筛选出具备潜在性的聚类中心,减少其他无关数据点的干扰,有利于提高寻找聚类中心的效率,以使聚类结果能达到最优。
本实施例的一些可选的实现方式中,取其中一个所述候选点作为参考点,并分别计算所述参考点与其余每个所述候选点之间的候选距离的步骤具体包括:
计算每两个候选点之间距离,以获取至少1个参考距离;
将最长的参考距离中对应的其中一个候选点作为参考点;
分别计算所述参考点和其余每个所述候选点之间的候选距离。
具体地,从权重组中选取权重大于预设权重阈值j的加权数据点作为候选点后,任意选取每两个候选点,并计算该候选点之间的距离,即为参考距离,以此方式获取所有候选点之间的各个参考距离;通过比较参考距离的大小,将最长的参考距离中的其中一个候选点作为参考点,即以该候选点作为参照,并计算该参考点与其他候选点之间的距离作为候选距离,候选距离可以反映参考点与其他候选点之间的偏远程度,进而反映该参考点周围的聚类效果,以此判断该参考点是否为主类簇的聚类中心,提高聚类效率。
本实施例的一些可选的实现方式中,通过根据候选距离确定待聚类基因数据集的主类簇以及主类簇的聚类中心之后,所述方法包括:
判断所述聚类中心的数量是否大于K;
当所述聚类中心的数量大于K时,通过叠加方式重新确定新的预设权重阈值;
以新的预设权重阈值重新筛选参考点,直至根据所述新筛选的参考点获取到K-1个聚类中心为止。
由于聚类中心是由初始得到的加权数据点与预设权重阈值比较,即预设权重阈值大小的设置不仅影响加权数据点筛选成为候选点,而且也决定了该候选点最终是否成为聚类中心,故在确定每个预设权重阈值对应的聚类中心之后,需要计算该聚类中心的聚类质量,并保存在聚类质量数组中。通过设置不同的预设权重阈值,以及在执行上述步骤S201和步骤S203之后得到不同的聚类中心,最终通过比较聚类质量数组,来确定最优的聚类中心和主类簇。由于设定的簇数量为K个,故当获取的聚类中心数量超过K个,不符合当前的设定要求,故此时需要重新筛选参考节点,以使根据参考点得到K-1个主类簇,第K个簇为非主类簇,非主类簇集合了所有远离聚类中心的非聚集数据点。具体地,选取新的聚类中心的关键因素取决于预设权重阈值的更新,叠加预设权重阈值的方式可以令预设权重阈值j=j+1,也可以是j=j+2,常数值可以根据实际需求进行设定;通过比较迭代后的预设权重阈值,筛选出权重大于权重阈值的次代候选点;重执行步骤S202,即计算次代候选点之间的候选距离,并将最长的候选距离对应的其中一个次代候选点作为参考点,若最终筛选得到的聚类中心的数量大于K,则重新筛选参考点,否则,计算参考点和每个次代候选点之间的距离,进而根据距离确定K-1个主类簇,排除其他候选点对主类簇的干扰。
在一些实施方式中,数据点包括待测最近数据点和非待测最近数据点,所述当簇内所述数据点满足最近点条件时,对簇内的数据点进行加权处理得到该簇的加权数据点的步骤具体包括:
确定边界阈值;
当所述待测最近数据点和非待测最近数据点之间的距离小于边界阈值时,确认所述待测最近数据点满足所述最近点条件;
根据预设的加权方式,将所述待测最近数据点处理为加权数据点。
其中,边界阈值即截断距离,待测最近数据点也是簇里边的加权数据点,当要检测簇中哪个点为最近数据点时,为了区分开跟其他数据点而命名为待测最近数据点,即从簇里边随机选取一个加权数据点作为临时的最近数据点(待测最近数据点),此时还未进一步判断该数据点是否为最近数据点,然后计算待测最近数据点与其他非待测最近数据点的距离,根据距离进一步判断非待测最近数据点是否满足最近点条件。
进一步地,确定边界阈值,即设置截断距离dc的步骤包括:给定用于确定截断距离dc的参数t∈(0,1),计算每个数据点间的距离dij,一共为个,其中,N为数据点的个数,进行升序排列的序列为d1≤d2≤…≤dM,取dc=d(f(Mt)),f(Mt)表示对Mt进行四舍五入后得到的整数。当给定的参数不一样的时候dc取值也不同,当确定好dc的取值后,才能判断待测最近数据点是否满足最近点条件。
在本实施例中,预设的加权方式可以采用Cut-off kernel(阶跃统计函数),该函数只关注数据点是否在dc阈值范围内,其中,阶跃统计函数包括如下公式:
Figure BDA0002210969160000131
其中,
从该模型公式中可以看出,局部密度ρi表示的是待聚类基因数据集Is中与数据点xi之间的距离dc的数据点,其中,j为待测最近数据点。
通过确定边界阈值,当待测最近数据点和非待测最近数据点之间的距离小于边界阈值时,确认待测最近数据点满足最近点条件,根据预设的加权方式,将待测最近数据点处理为加权数据点,令满足最近点条件的数据点进行加权处理的方式能间接反映数据点的聚类质量,即满足最近点条件的次数越多,其对应的权重越大,说明该数据点的聚类效果明显,从而能初步合理有效地从众多数据点中筛选出具备潜在性的聚类中心,减少其他无关数据点的干扰,有利于提高寻找聚类中心的效率,以使聚类结果能达到最优。
在一些实施方式中,根据所述候选距离确定所述待聚类基因数据集的主类簇以及主类簇的聚类中心之后,所述方法还包括:
计算每个所述聚类中心和所述待聚类基因数据集的数据点之间的平均误差之和,以判断所述聚类基因数据集的聚类质量。
具体地,计算聚类中心的结果质量可以通过计算每个聚类中心和待聚类基因数据集的数据点之间的平均误差之和(SSE),平均误差之和越小,聚类效果或者聚类质量越好。
进一步地,SSE的具体计算方式是:可以是由n个数据点组成的数据集D={x1,x2,…,xn},以及由获取的K-1个聚类中心组成的主类簇C={C1,C2,…,CK},计算每个数据点xn与该数据点所在簇的聚类中心CK的差的平方,最后将每个数据点得到的计算结果进行相加即可。
通过计算聚类中心的聚类质量,能直接快速检测主类簇和聚类中心对待聚类基因数据集的聚类效果。
进一步地,本申请基于基因表达数据的聚类方法可以应用在数据聚类分析的各个场景中,例如,研究疾病类型的医疗数据聚类、动、植物分类以及对基因序列进行分类、搜索引擎查询聚类以进行流量推荐、保险投保者的用户聚类、关于用户画像的行为数据聚类等。
在一些实施方式中,分别计算所述参考点和其余每个所述候选点之间的候选距离之后,所述方法还包括:
对所述候选距离建立有序索引;
根据所述索引大小确定所述待聚类基因数据集的聚类程度;
根据所述聚类程度确定所述待聚类基因数据集的主类簇以及主类簇的聚类中心。
进一步地,将候选距离建立索引,并根据候选距离大小进行升序排列,并存储在索引数组(distance-array)中,每一个候选距离对应一条索引,例如,将索引设置为i,i的取值范围为[0,倒数第二个候选距离对应的索引值]。由于升序是按照由小到大排序,故索引越大,其对应的候选距离越大,即参考点与候选点之间的聚类程度越大,聚类程度反映数据点之间的偏离程度,也就是参考点附近的候选点偏离程度越高,离散越明显。计算同一参考点对应的各个候选点在预设的聚类程度内的个数,若个数达到或者超过预设的数量内,说明该参考点为该簇的聚类中心,该簇为主类簇,否则需根据上述步骤S201至步骤S203重新确定新的主簇类和主簇类的聚类中心。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,该计算机程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,前述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)等非易失性存储介质,或随机存储记忆体(Random Access Memory,RAM)等。
应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
进一步参考图3,作为对上述图2所示方法的实现,本申请提供了一种基因表达数据的聚类装置的一个实施例,该装置实施例与图2所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。
如图3所示,本实施例所述的基因表达数据的聚类装置包括:获取模块301、计算模块302、确定模块303以及执行模块304。其中:
获取模块301,用于根据预设的权重算法,从待聚类基因数据集中选取至少一个候选点;
计算模块302,用于将取其中一个所述候选点作为参考点,并分别计算所述参考点与其余每个所述候选点之间的候选距离;
确定模块303,用于根据所述候选距离确定所述待聚类基因数据集的主类簇以及主类簇的聚类中心;
执行模块304,用于基于确定的主类簇以及主类簇的聚类中心对基因表达数据进行聚类。
进一步的,获取模块还包括:
划分子模块,用于将所述待聚类基因数据集中的数据点划分成K个簇并进行初始化,其中,K为正整数;
加权子模块,用于当簇内所述数据点满足最近点条件时,对簇内的数据点进行加权处理得到该簇的加权数据点;
筛选子模块,用于从所述加权数据点中筛选出至少1个候选点。
进一步的,处理模块还包括:
计算子模块,用于计算每两个候选点之间距离,以获取至少1个参考距离;
参考子模块,用于将最长的参考距离中对应的其中一个候选点作为参考点;
候选子模块,用于筛选出至少1个权重大于预设权重阈值的所述加权数据点作为候选点。
进一步的,所述基因表达数据的聚类装置还包括:
判断模块,用于判断所述聚类中心的数量是否大于K;
叠加模块,用于当所述聚类中心的数量大于K时,通过叠加方式重新确定新的预设权重阈值;筛选模块,用于以新的预设权重阈值重新筛选参考点,直至根据所述新筛选的参考点获取到K-1个聚类中心为止。
进一步的,所述数据点包括待测最近数据点和非待测最近数据点,加权子模块还包括:
边界单元,用于确定边界阈值;
确认单元,用于当所述待测最近数据点和非待测最近数据点之间的距离小于边界阈值时,确认所述待测最近数据点满足所述最近点条件;
加权单元,用于根据预设的加权方式,将所述待测最近数据点处理为加权数据点。
进一步的,所述基因表达数据的聚类装置还包括:
聚类模块,用于计算每个所述聚类中心和所述待聚类基因数据集的数据点之间的平均误差之和,以判断所述聚类基因数据集的聚类质量。
进一步的,所述基因表达数据的聚类装置还包括:
索引模块,用于对所述候选距离建立有序索引;
第一确定模块,用于根据所述索引大小确定所述待聚类基因数据集的聚类程度;
第二确定模块,用于根据所述聚类程度确定所述待聚类基因数据集的主类簇以及主类簇的聚类中心。
关于上述实施例中基因表达数据的聚类装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
为解决上述技术问题,本申请实施例还提供计算机设备。具体请参阅图4,图4为本实施例计算机设备基本结构框图。
所述计算机设备4包括通过系统总线相互通信连接存储器41、处理器42、网络接口43。需要指出的是,图中仅示出了具有组件41-43的计算机设备4,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。其中,本技术领域技术人员可以理解,这里的计算机设备是一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的设备,其硬件包括但不限于微处理器、专用集成电路(ApplicationSpecific Integrated Circuit,ASIC)、可编程门阵列(Field-Programmable GateArray,FPGA)、数字处理器(Digital Signal Processor,DSP)、嵌入式设备等。
所述计算机设备可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述计算机设备可以与用户通过键盘、鼠标、遥控器、触摸板或声控设备等方式进行人机交互。
所述存储器41至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或D基因表达数据的聚类存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,所述存储器41可以是所述计算机设备4的内部存储单元,例如该计算机设备4的硬盘或内存。在另一些实施例中,所述存储器41也可以是所述计算机设备4的外部存储设备,例如该计算机设备4上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(SecureDigital,SD)卡,闪存卡(Flash Card)等。当然,所述存储器41还可以既包括所述计算机设备4的内部存储单元也包括其外部存储设备。本实施例中,所述存储器41通常用于存储安装于所述计算机设备4的操作系统和各类应用软件,例如基因表达数据的聚类方法的程序代码等。此外,所述存储器41还可以用于暂时地存储已经输出或者将要输出的各类数据。
所述处理器42在一些实施例中可以是中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器42通常用于控制所述计算机设备4的总体操作。本实施例中,所述处理器42用于运行所述存储器41中存储的程序代码或者处理数据,例如运行所述基因表达数据的聚类方法的程序代码。
所述网络接口43可包括无线网络接口或有线网络接口,该网络接口43通常用于在所述计算机设备4与其他电子设备之间建立通信连接。
本申请还提供了另一种实施方式,即提供一种计算机可读存储介质,所述计算机可读存储介质存储有基因表达数据的聚类程序,所述基因表达数据的聚类程序可被至少一个处理器执行,以使所述至少一个处理器执行如上述的基因表达数据的聚类方法的步骤。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本申请各个实施例所述的方法。
显然,以上所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例,附图中给出了本申请的较佳实施例,但并不限制本申请的专利范围。本申请可以以许多不同的形式来实现,相反地,提供这些实施例的目的是使对本申请的公开内容的理解更加透彻全面。尽管参照前述实施例对本申请进行了详细的说明,对于本领域的技术人员来而言,其依然可以对前述各具体实施方式所记载的技术方案进行修改,或者对其中部分技术特征进行等效替换。凡是利用本申请说明书及附图内容所做的等效结构,直接或间接运用在其他相关的技术领域,均同理在本申请专利保护范围之内。

Claims (10)

1.一种基因表达数据的聚类方法,其特征在于,所述方法包括:
根据预设的权重算法,从待聚类基因数据集中选取至少一个候选点;
取其中一个所述候选点作为参考点,并分别计算所述参考点与其余每个所述候选点之间的候选距离;
根据所述候选距离确定所述待聚类基因数据集的主类簇以及主类簇的聚类中心;
基于确定的主类簇以及主类簇的聚类中心对基因表达数据进行聚类。
2.根据权利要求1所述的基因表达数据的聚类方法,其特征在于,所述根据预设的权重算法,从待聚类基因数据集中选取至少一个候选点包括:
将所述待聚类基因数据集中的数据点划分成K个簇并进行初始化,其中,K为正整数;
当簇内所述数据点满足最近点条件时,对所述簇内的数据点进行加权处理得到该簇的加权数据点;
筛选出至少1个权重大于预设权重阈值的所述加权数据点作为候选点。
3.根据权利要求1所述的基因表达数据的聚类方法,其特征在于,所述取其中一个所述候选点作为参考点,并分别计算所述参考点与其余每个所述候选点之间的候选距离包括:
计算每两个候选点之间距离,以获取至少1个参考距离;
将最长的参考距离中对应的其中一个候选点作为参考点;
分别计算所述参考点和其余每个所述候选点之间的候选距离。
4.根据权利要求2所述的基因表达数据的聚类方法,其特征在于,所述根据候选距离确定待聚类基因数据集的主类簇以及主类簇的聚类中心之后,所述方法还包括:
判断所述聚类中心的数量是否大于K;
当所述聚类中心的数量大于K时,通过叠加方式重新确定新的预设权重阈值;以新的预设权重阈值重新筛选参考点,直至根据所述新筛选的参考点获取到K-1个聚类中心为止。
5.根据权利要求2所述的基因表达数据的聚类方法,其特征在于,所述数据点包括待测最近数据点和非待测最近数据点,所述当簇内所述数据点满足最近点条件时,对簇内的数据点进行加权处理得到该簇的加权数据点包括:
确定边界阈值;
当所述待测最近数据点和非待测最近数据点之间的距离小于边界阈值时,确认所述待测最近数据点满足所述最近点条件;
根据预设的加权方式,将所述待测最近数据点处理为加权数据点。
6.根据权利要求1-5任意一项所述的基因表达数据的聚类方法,其特征在于,所述根据所述候选距离确定所述待聚类基因数据集的主类簇以及主类簇的聚类中心之后,所述方法还包括:
计算每个所述聚类中心和所述待聚类基因数据集的数据点之间的平均误差之和,以判断所述聚类基因数据集的聚类质量。
7.根据权利要求2所述的基因表达数据的聚类方法,其特征在于,所述根据所述候选距离确定所述待聚类基因数据集的主类簇以及主类簇的聚类中心包括:
对所述候选距离建立有序索引;
根据所述索引大小确定所述待聚类基因数据集的聚类程度;
根据所述聚类程度确定所述待聚类基因数据集的主类簇以及主类簇的聚类中心。
8.一种基因表达数据的聚类装置,其特征在于,包括:
获取模块,用于根据预设的权重算法,从待聚类基因数据集中选取至少一个候选点;
计算模块,用于将取其中一个所述候选点作为参考点,并分别计算所述参考点与其余每个所述候选点之间的候选距离;
确定模块,用于根据所述候选距离确定所述待聚类基因数据集的主类簇以及主类簇的聚类中心;
执行模块,用于基于确定的主类簇以及主类簇的聚类中心对基因表达数据进行聚类。
9.一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器执行所述计算机程序时实现如权利要求1至7中任一项所述的基因表达数据的聚类方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7中任一项所述的基因表达数据的聚类方法的步骤。
CN201910898210.XA 2019-09-23 2019-09-23 基因表达数据的聚类方法、装置、计算机设备及存储介质 Active CN110827924B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910898210.XA CN110827924B (zh) 2019-09-23 2019-09-23 基因表达数据的聚类方法、装置、计算机设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910898210.XA CN110827924B (zh) 2019-09-23 2019-09-23 基因表达数据的聚类方法、装置、计算机设备及存储介质

Publications (2)

Publication Number Publication Date
CN110827924A true CN110827924A (zh) 2020-02-21
CN110827924B CN110827924B (zh) 2024-05-07

Family

ID=69548213

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910898210.XA Active CN110827924B (zh) 2019-09-23 2019-09-23 基因表达数据的聚类方法、装置、计算机设备及存储介质

Country Status (1)

Country Link
CN (1) CN110827924B (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111477282A (zh) * 2020-03-11 2020-07-31 平安科技(深圳)有限公司 基因数据的标识方法、终端设备及计算机可读存储介质
CN111681710A (zh) * 2020-06-03 2020-09-18 中国人民解放军军事科学院军事医学研究院 基于基因表达特征的细胞分类方法、装置和电子设备
CN111783875A (zh) * 2020-06-29 2020-10-16 中国平安财产保险股份有限公司 基于聚类分析的异常用户检测方法、装置、设备及介质
CN112468329A (zh) * 2020-11-13 2021-03-09 苏州浪潮智能科技有限公司 一种服务器批量分组管理的方法、装置、设备及可读介质
CN114462493A (zh) * 2021-12-29 2022-05-10 浙江大华技术股份有限公司 聚类方法、聚类装置及计算机可读存储介质
WO2022116491A1 (zh) * 2020-12-01 2022-06-09 平安科技(深圳)有限公司 基于横向联邦的dbscan聚类方法、及其相关设备
CN111477282B (zh) * 2020-03-11 2024-05-24 平安科技(深圳)有限公司 基因数据的标识方法、终端设备及计算机可读存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102184349A (zh) * 2011-04-29 2011-09-14 河海大学 基于流形学习的基因表达数据的聚类系统及方法
US20120016826A1 (en) * 2009-01-06 2012-01-19 Koninklijke Philips Electronics N.V. Evolutionary clustering algorithm
CN105825081A (zh) * 2016-04-20 2016-08-03 苏州大学 一种基因表达数据分类方法及分类系统
CN107301328A (zh) * 2017-05-19 2017-10-27 浙江工业大学 基于数据流聚类的癌症亚型精准发现与演化分析方法
CN109448791A (zh) * 2018-08-07 2019-03-08 南方医科大学 用于基因表达分析的确定性k均值簇聚方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120016826A1 (en) * 2009-01-06 2012-01-19 Koninklijke Philips Electronics N.V. Evolutionary clustering algorithm
CN102184349A (zh) * 2011-04-29 2011-09-14 河海大学 基于流形学习的基因表达数据的聚类系统及方法
CN105825081A (zh) * 2016-04-20 2016-08-03 苏州大学 一种基因表达数据分类方法及分类系统
CN107301328A (zh) * 2017-05-19 2017-10-27 浙江工业大学 基于数据流聚类的癌症亚型精准发现与演化分析方法
CN109448791A (zh) * 2018-08-07 2019-03-08 南方医科大学 用于基因表达分析的确定性k均值簇聚方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
ALEX RODRIGUEZ ET AL.: "Clustering by fast search and find of density peaks", 《SCIENCE》, vol. 344, no. 6191, pages 1492 - 1496 *
欧阳玉梅: "基因表达数据聚类分析技术及其软件工具", 生物信息学, vol. 8, no. 2, 30 June 2010 (2010-06-30), pages 104 - 109 *

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111477282A (zh) * 2020-03-11 2020-07-31 平安科技(深圳)有限公司 基因数据的标识方法、终端设备及计算机可读存储介质
CN111477282B (zh) * 2020-03-11 2024-05-24 平安科技(深圳)有限公司 基因数据的标识方法、终端设备及计算机可读存储介质
CN111681710A (zh) * 2020-06-03 2020-09-18 中国人民解放军军事科学院军事医学研究院 基于基因表达特征的细胞分类方法、装置和电子设备
CN111783875A (zh) * 2020-06-29 2020-10-16 中国平安财产保险股份有限公司 基于聚类分析的异常用户检测方法、装置、设备及介质
CN111783875B (zh) * 2020-06-29 2024-04-30 中国平安财产保险股份有限公司 基于聚类分析的异常用户检测方法、装置、设备及介质
CN112468329A (zh) * 2020-11-13 2021-03-09 苏州浪潮智能科技有限公司 一种服务器批量分组管理的方法、装置、设备及可读介质
WO2022116491A1 (zh) * 2020-12-01 2022-06-09 平安科技(深圳)有限公司 基于横向联邦的dbscan聚类方法、及其相关设备
CN114462493A (zh) * 2021-12-29 2022-05-10 浙江大华技术股份有限公司 聚类方法、聚类装置及计算机可读存储介质
CN114462493B (zh) * 2021-12-29 2024-05-10 浙江大华技术股份有限公司 聚类方法、聚类装置及计算机可读存储介质

Also Published As

Publication number Publication date
CN110827924B (zh) 2024-05-07

Similar Documents

Publication Publication Date Title
CN110827924B (zh) 基因表达数据的聚类方法、装置、计算机设备及存储介质
CN109190023B (zh) 协同推荐的方法、装置及终端设备
CN112148987B (zh) 基于目标对象活跃度的消息推送方法及相关设备
CN110457577B (zh) 数据处理方法、装置、设备和计算机存储介质
CN108121896B (zh) 一种基于miRNA的疾病间关系分析方法和装置
CN110909222B (zh) 基于聚类的用户画像建立方法、装置、介质及电子设备
CN110275952A (zh) 基于用户短期兴趣的新闻推荐方法、装置及介质
WO2023029356A1 (zh) 基于句向量模型的句向量生成方法、装置及计算机设备
Shin et al. Graph sharpening plus graph integration: a synergy that improves protein functional classification
CN108665148B (zh) 一种电子资源质量评价方法、装置和存储介质
CN108764319A (zh) 一种样本分类方法和装置
CN108512883B (zh) 一种信息推送方法、装置及可读介质
CN112328909A (zh) 信息推荐方法、装置、计算机设备及介质
CN114780746A (zh) 基于知识图谱的文档检索方法及其相关设备
CN112785005A (zh) 多目标任务的辅助决策方法、装置、计算机设备及介质
CN113315851A (zh) 域名检测方法、装置及存储介质
CN111159481B (zh) 图数据的边预测方法、装置及终端设备
CN110895706B (zh) 一种目标聚类数的获取方法、装置及计算机系统
CN112887371B (zh) 边缘计算方法、装置、计算机设备及存储介质
Liu et al. Are dropout imputation methods for scRNA-seq effective for scATAC-seq data?
CN112559866A (zh) 大学图书阅读推荐方法、装置、设备及存储介质
CN115527610B (zh) 一种单细胞组学数据的聚类分析方法
CN112650940A (zh) 应用程序的推荐方法、装置、计算机设备及存储介质
CN113782092B (zh) 一种生存期预测模型的生成方法及装置、存储介质
Saha et al. Improved differential evolution for microarray analysis

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant