一种用于肽序列数据集、数据集间的去重方法、
发布日期:2024-08-22 浏览次数: 专利申请、商标注册、软件著作权、资质办理快速响应热线:4006-054-001 微信:15998557370
申请号: | 申请日: | ||
公开(公告)号: | 公开(公告)日: | ||
发明(设计)人: | 申请(专利权)人: | ||
主分类号: | 分类号: | ||
代理公司: | 代理人: | ||
地址: | 国省代码: | ||
权利要求书: | 说明书: | ||
微信咨询: | 添加微信:543646或【点此在线咨询】 | 文件下载: | 【点此下载】请正确填写本页网址和接收邮箱 |
摘要: | 本发明涉及肽序列去重领域,尤其涉及一种用于肽序列数据集、数据集间的去重方法、电子设备。、由于氨基酸的数量、排列顺序、种类都会对其折叠而成蛋白质的功能产生影响,理论上氨基酸序列的数量是无穷无尽的。在现有的研究中,存在肽序列去重的问题,比如蛋白质相关模型的训练过程中会用到肽序列训练集与肽序列测... | ||
相关服务: | 软件产品登记测试全国受理 软件著作权666元代写全部资料全国受理 实用新型专利1875代写全部资料全国受理 | ||
本发明涉及肽序列去重领域,尤其涉及一种用于肽序列数据集、数据集间的去重方法、电子设备。背景技术:1、由于氨基酸的数量、排列顺序、种类都会对其折叠而成蛋白质的功能产生影响,理论上氨基酸序列的数量是无穷无尽的。在现有的研究中,存在肽序列去重的问题,比如蛋白质相关模型的训练过程中会用到肽序列训练集与肽序列测试集,为了避免重复序列同时出现在训练集和测试集中或者单个数据集(训练集或测试集)内,对模型性能造成影响,肽序列的去重极为重要。对于规模较小的蛋白质数据库而言,可以通过简单的比对实现去重的效果,当数据库规模不断增大时,去重将会耗费大量的时间。随着生命科学研究的不断推究,蛋白质数据库的规模必定不断扩大。2、朴素地,利用暴力的方法逐个比对氨基酸序列对的时间复杂度是o(n2),再考虑到氨基酸序列的长度,这个时间复杂度当已验证集合和待验证集合数量增大时是难以接受的。哈希表作为一种将变长序列映射到固定长度空间的技术,并且具有灵敏性、易压易算的特点,能够被有效的用于序列的去重。哈希计算是一个计算密集的任务,在单个线程计算大批量数据的哈希值很容易成为整个程序的瓶颈,硬件设备并行计算能力的发展可以解决这个问题。电子设备的并行计算能力体现在四个层次上:单个核心内的并行计算能力、单个芯片上的并行计算能力、单个设备上的并行计算能力和局域或广域的分布式并行计算能力。本发明基于哈希算法在单个芯片上并行计算以优化序列去重的过程。技术实现思路1、为了基于单个芯片上的并行计算能力优化肽序列去重的过程,本发明提出了一种用于肽序列数据集的去重方法,包括步骤:2、s1:读取肽序列数据集中的肽序列至指定的内存空间;3、s2:创建哈希桶,并设定第一哈希函数、第二哈希函数以及第一哈希表与第二哈希表;4、s3:获取肽序列数据集内的肽序列总数量,得到肽序列数据集对应的序列范围;5、s4:通过range函数利用序列范围产生数字序列,以数字序列为循环条件进行遍历,在每一次遍历中,基于单芯片的并行计算能力利用第一哈希函数与第二哈希函数对内存空间内当前数字序列对应的肽序列进行计算,得到当前肽序列对应的第一哈希值与第二哈希值,并将第一哈希值与第二哈希值分别存放在第一哈希表与第二哈希表内;6、s5:再次以数字序列为循环条件进行遍历,在每一次遍历中,通过select函数选择当前数字序列对应的任意一个哈希值确定哈希索引,获取哈希索引指向的哈希桶,并判断哈希桶中是否存在元素idx同时满足第一条件与第二条件,若否,则将当前的哈希索引添加至哈希桶;所述第一条件为hv1=hv1s[idx],所述第二条件为hv2=hv2s[idx];式中,hv1与hv2分别表示当前数字序列对应的第一哈希值与第二哈希值;hv1s与hv2s分别表示第一哈希函数与第二哈希函数,idx表示哈希桶中的元素。7、本发明还提出了一种电子设备,包括gpu和单芯片多核心的cpu,所述单芯片多核心的cpu用于读取硬盘中存放的肽序列数据集数据至内存空间中;所述gpu用于根据内存空间中的数据执行上文中s2步骤至s5步骤的计算。8、进一步地,所述gpu通过pci总线获取内存空间中的数据。9、本发明还提出了一种用于肽序列数据集间的去重方法,包括步骤:10、s1:读取第一肽序列数据集与第二肽序列数据集中的肽序列至指定的内存空间;11、s2:创建哈希桶,并设定第一哈希函数、第二哈希函数以及第一哈希表与第二哈希表;12、s3:获取第一肽序列数据集中的肽序列总数量size1与第二肽序列数据集中的肽序列总数量size2,并获取size1与size2的和为序列总数;根据序列总数设定第一序列范围,根据size1设定第二序列范围,根据size1与序列总数设定第三序列范围;13、s4:通过range函数利用第一序列范围产生数字序列,以数字序列为循环条件进行遍历,在每一次遍历中,基于单芯片的并行计算能力利用第一哈希函数与第二哈希函数对内存空间内当前数字序列对应的肽序列进行计算,得到当前肽序列对应的第一哈希值与第二哈希值,并将第一哈希值与第二哈希值分别存放至第一哈希表与第二哈希表内;14、s5:依次基于第二序列范围与第三序列范围执行预设肽序列去重算法;15、所述预设肽序列去重算法为:16、通过range函数利用当前序列范围产生数字序列,以数字序列为循环条件进行遍历,在每一次遍历中,通过select函数选择当前数字序列对应的任意一个哈希值确定哈希索引,获取哈希索引指向的哈希桶,并判断哈希桶中是否存在元素idx同时满足第一条件与第二条件,若否,则将当前的哈希索引添加至哈希桶;所述第一条件为hv1=hv1s[idx],所述第二条件为hv2=hv2s[idx];式中,hv1与hv2分别表示当前数字序列对应的第一哈希值与第二哈希值;hv1s与hv2s分别表示第一哈希函数与第二哈希函数,idx表示哈希桶中的元素。17、进一步地,所述第一序列范围为:(0,序列总数);18、所述第二序列范围为:(0,size1);19、所述第三序列范围为:(size1,序列总数)。20、与现有技术相比,本发明至少含有以下有益效果:21、(1)本发明在读取肽序列至指定的内存空间后,以数字序列为循环条件进行遍历,并在遍历过程中,利用第一哈希函数与第二哈希函数对内存空间内当前数字序列对应的肽序列进行计算,其基于哈希值的计算为计算密集型任务,使用多个哈希函数计算序列的多个哈希值(即多线程),其能够更容易的通过并行计算加速,避免了在查询阶段由于数据竞争很难通过并行计算进行加速的问题,同时,本发明在每一次遍历中判断哈希桶中是否存在元素idx同时满足第一条件与第二条件,若否(则表示当前的肽序列不是重复序列),则将当前的哈希索引添加至哈希桶,其基于单芯片的并行计算能力实现了数据集内肽序列的快速与准确去重;22、(2)本发明通过第一序列范围进行遍历,并在遍历过程中,利用第一哈希函数与第二哈希函数对内存空间内当前数字序列对应的肽序列进行计算,依次通过第二序列范围与第三序列范围执行预设肽序列去重算法,其基于单芯片的并行计算能力实现了数据集间肽序列的快速与准确去重。技术特征:1.一种用于肽序列数据集的去重方法,其特征在于,包括步骤:2.一种电子设备,包括gpu和单芯片多核心的cpu,其特征在于,3.根据权利要求2所述的一种电子设备,其特征在于,所述gpu通过pci总线获取内存空间中的数据。4.一种用于肽序列数据集间的去重方法,其特征在于,包括步骤:5.根据权利要求4所述的一种用于肽序列数据集间的去重方法,其特征在于,所述第一序列范围为:(0,序列总数);技术总结本发明公开了一种用于肽序列数据集的去重方法,涉及肽序列去重领域,本发明在读取肽序列至指定的内存空间后,以数字序列为循环条件进行遍历,并在遍历过程中,利用第一哈希函数与第二哈希函数对内存空间内当前数字序列对应的肽序列进行计算,其基于哈希值的计算为计算密集型任务,使用多个哈希函数计算序列的多个哈希值,其能够更容易的通过并行计算加速,避免了在查询阶段由于数据竞争很难通过并行计算进行加速的问题,同时,本发明在每一次遍历中判断哈希桶中是否存在元素idx同时满足第一条件与第二条件,若否,则将当前的哈希索引添加至哈希桶,其基于单芯片的并行计算能力实现了数据集内肽序列的快速与准确去重。技术研发人员:文世挺,石家豪,吴亦初,庞超逸,高云君受保护的技术使用者:浙大宁波理工学院技术研发日:技术公布日:2024/8/16
- 上一篇:一种气管固定器的制作方法
- 下一篇:一种复合佐剂及含该复合佐剂的卵黄抗体的制备