[发明专利]一种蛋白质鉴定并行加速方法有效
申请号: | 201811404117.0 | 申请日: | 2018-11-23 |
公开(公告)号: | CN109584967B | 公开(公告)日: | 2023-05-02 |
发明(设计)人: | 张为华;鲁云萍;蒋金虎;孙廷杰 | 申请(专利权)人: | 复旦大学 |
主分类号: | G16B50/00 | 分类号: | G16B50/00;G16B30/00;G16B20/00 |
代理公司: | 上海正旦专利代理有限公司 31200 | 代理人: | 陆飞;王洁平 |
地址: | 200433 *** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 蛋白质 鉴定 并行 加速 方法 | ||
1.一种蛋白质鉴定并行加速方法,其特征在于,具体步骤如下:
(1)读取蛋白质库,通过每次读取的蛋白质序列数量来控制batch粒度,将蛋白质数据库划分为蛋白质序列条目数较少的batch,实现细粒度切分蛋白质库,并通过设置低竞争缓冲区将细粒度batch分配给工作线程,实现细粒度batch分配机制;其中:
所述低竞争缓冲区的具体数据结构是环形数组,数组的每个元素由batch编号、互斥锁和状态位组成,并且每个元素进行了缓存行填充;
(2)当蛋白库读取完成并且低竞争缓冲区中已经没有可读batch时,主线程和工作线程完成对蛋白质库的理论水解、匹配、打分和保存分数,该过程中,通过数据结构的优化和内存分配器的优化对动态内存进行优化;
(3)当各个线程完成对蛋白质库的理论水解、匹配、打分和保存分数后,主线程先完成对母离子质量大于3000的实验质谱的记分,然后主线程从保存的分数数据中读取细粒度batch,并将batch编号插入到低竞争缓冲区中,然后工作线程从低竞争缓冲区中获取batch编号,工作线程对batch中的分数计入到相应的实验质谱中,最后完成并行计分。
2.根据权利要求1所述的蛋白质鉴定并行加速方法,其特征在于,细粒度batch分配机制如下:主线程从蛋白质数据库中获取细粒度batch,将batch编号插入到环形数组中,插入过程中从头遍历数组,根据每个元素的状态位来确定是否可以插入,当状态是可以插入时就插入到此位置,如果状态位为不可插入则遍历到下一个元素并判断其状态;工作线程通过获取batch编号来获取batch,通过遍历环形数组的每个元素,互斥地访问每个元素的状态,当元素状态是可读的时候则返回当前元素的编号即batch编号,互斥访问每个元素状态时是通过尝试加锁方式,当加锁失败后就尝试下一个元素。
3.根据权利要求1所述的蛋白质鉴定并行加速方法,其特征在于,步骤(2)中,数据结构的优化是指将保存分数的数据结构设置为一条蛋白质序列的分数数据。
4.根据权利要求1所述的蛋白质鉴定并行加速方法,其特征在于,步骤(2)中,对动态内存进行优化包括使用动态数组保存大块内存的指针一级使用并行内存分配器进行多线程的内存分配。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于复旦大学,未经复旦大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811404117.0/1.html,转载请声明来源钻瓜专利网。