CN112270959A - 基于共享内存的基因分析方法、装置和计算机设备 - Google Patents
基于共享内存的基因分析方法、装置和计算机设备 Download PDFInfo
- Publication number
- CN112270959A CN112270959A CN202011139824.9A CN202011139824A CN112270959A CN 112270959 A CN112270959 A CN 112270959A CN 202011139824 A CN202011139824 A CN 202011139824A CN 112270959 A CN112270959 A CN 112270959A
- Authority
- CN
- China
- Prior art keywords
- gene
- analysis
- library file
- shared memory
- memory
- 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.)
- Pending
Links
- 108090000623 proteins and genes Proteins 0.000 title claims abstract description 377
- 238000004458 analytical method Methods 0.000 title claims abstract description 299
- 238000011068 loading method Methods 0.000 claims abstract description 165
- 238000000034 method Methods 0.000 claims abstract description 141
- 230000008569 process Effects 0.000 claims abstract description 95
- 238000007781 pre-processing Methods 0.000 claims abstract description 24
- 238000013507 mapping Methods 0.000 claims abstract description 15
- 238000012163 sequencing technique Methods 0.000 claims description 37
- 238000004590 computer program Methods 0.000 claims description 29
- 230000035772 mutation Effects 0.000 claims description 19
- 238000012252 genetic analysis Methods 0.000 claims description 11
- 238000001914 filtration Methods 0.000 claims description 7
- 238000003908 quality control method Methods 0.000 claims description 7
- 230000002829 reductive effect Effects 0.000 abstract description 11
- 230000007246 mechanism Effects 0.000 abstract description 3
- 238000010586 diagram Methods 0.000 description 12
- 238000001514 detection method Methods 0.000 description 11
- 238000012545 processing Methods 0.000 description 11
- 241000282414 Homo sapiens Species 0.000 description 6
- 238000004891 communication Methods 0.000 description 6
- 108091028043 Nucleic acid sequence Proteins 0.000 description 5
- 230000000052 comparative effect Effects 0.000 description 5
- 238000007405 data analysis Methods 0.000 description 5
- 230000002068 genetic effect Effects 0.000 description 5
- 238000003068 pathway analysis Methods 0.000 description 4
- 238000012070 whole genome sequencing analysis Methods 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000036961 partial effect Effects 0.000 description 3
- 108020004414 DNA Proteins 0.000 description 2
- 230000006399 behavior Effects 0.000 description 2
- 230000000903 blocking effect Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000010835 comparative analysis Methods 0.000 description 2
- 239000012634 fragment Substances 0.000 description 2
- 238000007481 next generation sequencing Methods 0.000 description 2
- 238000004886 process control Methods 0.000 description 2
- 102000004169 proteins and genes Human genes 0.000 description 2
- 238000002864 sequence alignment Methods 0.000 description 2
- 241000894007 species Species 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 101150090724 3 gene Proteins 0.000 description 1
- 102000004190 Enzymes Human genes 0.000 description 1
- 108090000790 Enzymes Proteins 0.000 description 1
- 238000012408 PCR amplification Methods 0.000 description 1
- 241001208007 Procas Species 0.000 description 1
- 108091081062 Repeated sequence (DNA) Proteins 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000003556 assay Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 239000008280 blood Substances 0.000 description 1
- 210000004369 blood Anatomy 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 239000003153 chemical reaction reagent Substances 0.000 description 1
- 238000003776 cleavage reaction Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000013479 data entry Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 201000010099 disease Diseases 0.000 description 1
- 208000037265 diseases, disorders, signs and symptoms Diseases 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000008030 elimination Effects 0.000 description 1
- 238000003379 elimination reaction Methods 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 239000012535 impurity Substances 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000037361 pathway Effects 0.000 description 1
- 238000002203 pretreatment Methods 0.000 description 1
- 230000008707 rearrangement Effects 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 210000003296 saliva Anatomy 0.000 description 1
- 230000007017 scission Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 230000009897 systematic effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000002604 ultrasonography Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16B—BIOINFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR GENETIC OR PROTEIN-RELATED DATA PROCESSING IN COMPUTATIONAL MOLECULAR BIOLOGY
- G16B30/00—ICT specially adapted for sequence analysis involving nucleotides or amino acids
- G16B30/10—Sequence alignment; Homology search
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/5038—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/544—Buffers; Shared memory; Pipes
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16B—BIOINFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR GENETIC OR PROTEIN-RELATED DATA PROCESSING IN COMPUTATIONAL MOLECULAR BIOLOGY
- G16B50/00—ICT programming tools or database systems specially adapted for bioinformatics
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Spectroscopy & Molecular Physics (AREA)
- Biophysics (AREA)
- General Physics & Mathematics (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Biotechnology (AREA)
- Evolutionary Biology (AREA)
- General Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Bioethics (AREA)
- Chemical & Material Sciences (AREA)
- Analytical Chemistry (AREA)
- Proteomics, Peptides & Aminoacids (AREA)
- Measuring Or Testing Involving Enzymes Or Micro-Organisms (AREA)
Abstract
本发明提供了一种基于共享内存的基因分析方法、装置和计算机设备,其方法包括读取样本数据,对样本数据进行预处理;对预处理后的样本数据进行基因分析,在基因分析过程中如果所需的库文件在基因共享内存中,从基因共享内存获取库文件,并将库文件映射到样本数据的基因分析进程中并完成相应的分析。该方法利用共享内存机制建立基因分析的索引,将基因分析过程中使用频率较高的数据库文件(即库文件)存否在基因共享内存中;如果是从共享内存获取库文件,将库文件映射到样本数储于基因共享内存中,可以方便地将库文件从基因共享内存中映射到样本数据的分析进程中,一方面减少了从磁盘加载库文件的时间以及I/O占比,提高了分析效率。
Description
技术领域
本发明涉及数据处理技术领域,具体涉及一种基于共享内存的基因分析方法、装置、计算机设备和计算机可读存储介质。
背景技术
随着人类基因组计划的顺利实施和测序技术的快速发展,测序的成本显著降低,而测序速度得到了显著提高,人类全基因组测序的测序成本已经降至$1000以内,DNA序列的数据量呈指数增长。如何快速的利用、表达这些数据,进而分析与解释基因序列里的潜在问题,从海量数据里发掘出对人类有利的信息,成为一个迫切需要解决的问题。应用越来越广泛的人类全基因组测序(WGS)产生的序列数据、以及对海量序列数据进行快速分析处理的持续需求,使数据分析形成了一个新的技术瓶颈,对二代测序技术的临床应用成为制约。
目前在国际上生物信息学领域中对于二代测序数据分析方法和工具种类分繁多。最常用的流程主要包括数据输入、预处理、序列对比、注释、变异检测以及通路分析,然而,将整个流程应用于人类全基因组测序WGS中是非常耗时的。另外,输入样本需要合并,拆分等定制化流程,需要单独处理,运行效率慢,且增加I/O消耗,并且在数据分析过程中,每一步分析处理要单独加载索引文件,若多个任务加载相同的索引文件,对内存消耗较高,也更耗时。
发明内容
有鉴于此,本发明提供了一种基于共享内存的基因分析方法、装置、计算机设备和计算机可读存储介质以解决现有技术中数据分析中输入样本需合并等流程,运行效率低,数据分析过程需重复加载索引文件,内存消耗高且耗时的技术问题。
本发明实施例中提供了一种基于共享内存的基因分析方法,包括以下步骤:
读取样本数据,对所述样本数据进行预处理;
对预处理后的样本数据进行基因分析,在基因分析过程中确定所需的库文件是否在基因分析库文件的基因共享内存中;
如果是,从所述基因共享内存获取所述库文件,并将所述库文件映射到所述样本数据的基因分析进程中并完成相应的分析。
可选地,
还包括:在基因分析过程中所需的库文件不在所述基因共享内存中,判断所需的库文件是否满足加载条件;在满足加载条件时将所述库文件加载至所述基因共享内存。
可选地,
在基因分析过程中判断所需的库文件不在所述基因共享内存中,判断所需的库文件是否满足加载条件是否满足加载条件;在满足加载条件时,将所述库文件加载至所述基因共享内存的步骤中,包括:
获取所需的库文件信息和所述基因共享内存信息,其中所述所需的库文件信息包括库文件所需空间和历史请求加载次数;所述基因共享内存信息包括基因共享内存剩余空间;
当所述历史请求加载次数大于第一预设次数,且所述库文件所需空间小于所述基因共享内存剩余空间,则将所需的库文件加载至所述基因共享内存。
可选地,
所述所需的库文件信息还包括库文件请求加载频率;所述基因共享内存信息还包括所有的库文件请求加载频率;判断所需的库文件是否满足加载条件,在满足加载条件时,将所述库文件加载至所述基因共享内存的步骤中,还包括:
当所述历史请求加载次数大于第一预设次数,且所述库文件所需空间大于所述基因共享内存剩余空间时,根据库文件请求加载频率和所有的库文件请求加载频率将所需的库文件和所有的库文件按照优先级进行排列,得到每个库文件的加载频率优先级;
当所需的库文件的加载频率优先级高于基因共享内存中的库文件的加载频率优先级时,且若删除基因共享内存中加载频率优先级低的库文件后所述基因共享内存剩余空间大于或等于所述库文件所需空间,则删除基因共享内存中加载频率优先级低的库文件;
将所需的库文件加载至所述基因共享内存。
可选地,
还包括:设置基因分析库文件的基因共享内存,设置所述基因共享内存的大小以及所能容纳的库文件个数、每个库文件的名字以及库文件的大小偏移量;
根据所述基因共享内存的大小以及所能容纳的库文件个数、每个库文件的名字以及库文件的大小偏移量加载基因分析中常用的库文件至所述基因共享内存。
可选地,
所述基因分析包括比对分析、变异分析和注释分析;还包括:
对预处理后的样本数据依次进行比对分析、变异分析和注释分析;当样本数据为多组时,在同一时刻每一组样本数据处于相同或不同的基因分析步骤。
可选地,
所述基因分析还包括排序分析和去重分析,对预处理后的样本数据依次进行比对分析、变异分析和注释分析的步骤之后,还包括:
将对比分析后的所述样本数据采用位置标签进行标记;并对标记后的样本数据按模块进行排序分析和去重分析。
可选地,
还包括:将所述基因分析的部分或整个步骤采用内存衔接。
可选地,
对所述样本数据进行预处理的步骤中,包括:
对所述样本数据进行质控、过滤和统计处理。
本发明实施例还提供了一种基于基因共享内存的基因分析装置,包括:
数据读取模块,用于读取样本数据;
数据预处理模块,用于对所述样本数据进行预处理;
基因分析模块,用于对预处理后的样本数据进行基因分析,在基因分析过程中确定所需的库文件是否在基因共享内存中;如果是,从所述基因共享内存获取所述库文件,并将所述库文件映射到所述样本数据的基因分析进程中并完成相应的分析。
本发明实施例还提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行以下步骤:
读取样本数据,对所述样本数据进行预处理;
对预处理后的样本数据进行基因分析,在基因分析过程中确定所需的库文件是否在基因共享内存中;
如果是,从所述基因共享内存获取所述库文件,并将所述库文件映射到所述样本数据的基因分析进程中并完成相应的分析。
本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以下步骤:
读取样本数据,对所述样本数据进行预处理;
对预处理后的样本数据进行基因分析,在基因分析过程中确定所需的库文件是否在基因共享内存中;
如果是,从所述基因共享内存获取所述库文件,并将所述库文件映射到所述样本数据的基因分析进程中并完成相应的分析。
本发明实施例中的一种基于共享内存的基因分析方法、装置、计算机设备和计算机可读存储介质,首先读取样本数据,对样本数据进行预处理,然后对处理后的样本数据进行基因分析,而在基因分析过程中先要确定所需的库文件是否在基因分析库文件的基因共享内存中,如果在,从基因共享内存中获取所需的库文件,然后将该库文件映射到样本数据对应的基因分析进程中,完成相应的分析。该基于基因共享内存的基因分析方法利用基因共享内存机制建立基因分析(例如比对分析、变异检测分析以及注释分析等)的索引,然后将基因分析过程中所需的数据库的文件(即库文件)存储于基因共享内存中,可以方便地将库文件从基因共享内存中映射到样本数据的分析进程中,一方面大大减少了从磁盘加载库文件的时间以及I/O占比,另一方面可以方便基因分析过程中多进程之间的相互通信,也避免了库文件的重复加载。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例中基于共享内存的基因分析方法应用环境的示意图;
图2为本发明实施例中基于共享内存的基因分析方法的流程示意图;
图3为本发明实施例中共享内存原理图的结构示意图;
图4为本发明实施例中构建共享内存的流程示意图;
图5为本发明实施例中共享内存结构示意图;
图6为本发明实施例中共享内存的基因分析方法的流程示意图;
图7为本发明实施例中采用方法A进行基因分析时的CPU和I/O利用率图;
图8为本发明实施例中采用方法B进行基因分析时的CPU和I/O利用率图;
图9为本发明实施例中采用方法C进行基因分析时的CPU和I/O利用率图;
图10为本发明实施例中基于共享内存的基因分析装置结构示意图;
图11为本发明实施例中计算机设备结构示意图。
具体实施方式
下面将对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
名词解释:
基因(Gene,Mendelian factor)是指携带有遗传信息的DNA或RNA序列(即基因是具有遗传效应的DNA或RNA片段),也称为遗传因子,是控制性状的基本遗传单位。基因通过指导蛋白质的合成来表达自己所携带的遗传信息,从而控制生物个体的性状表现。基因测序是一种新型基因检测技术,从血液或唾液中分析测定基因全序列,从而预测罹患多种疾病的可能性,个体的行为特征及行为合理等。
短序列(read):是一小段短的测序片段,是高通量测序仪产生的测序数据,对整个基因组进行测序,就会产生成百上千万的read,然后将这些read拼接起来就能获得基因组的全序列。
比对分析:NGS测序下来的短序列(read)存储于FASTQ文件里面,虽然它们原本都来自于有序的基因组,但在经过DNA建库和测序之后,文件中不同read之间的前后顺序关系就已经全部丢失了。因此,FASTQ文件中紧挨着的两条read之间没有任何位置关系,它们都是随机来自于原本基因组中某个位置的短序列而已。因此,我们需要先把这一大堆的短序列捋顺,一个个去跟该物种的参考基因组比较,找到每一条read在参考基因组上的位置,然后按顺序排列好,这个过程就称为测序数据的比对。
排序分析:为什么BWA比对后输出的BAM文件是没顺序的?原因是FASTQ文件里面这些被测序下来的read是随机分布于基因组上面的,第一步的比对是按照FASTQ文件的顺序把read逐一定位到参考基因组上之后,随即就输出了,它不会也不可能在这一步里面能够自动识别比对位置的先后位置重排比对结果。因此,比对后得到的结果文件中,每一条记录之间位置的先后顺序是乱的,我们后续去重复等步骤都需要在比对记录按照顺序从小到大排序下来才能进行,所以这才是需要进行排序的原因。
去除重复:在排序完成之后执行去除重复(即去除PCR重复序列)。什么是重复序列?它是如何产生的,以及为什么需要去除掉?这跟实验过程建库和测序相关。在NGS测序之前都需要先构建测序文库:通过物理(超声)打断或者化学试剂(酶切)切断原始的DNA序列,然后选择特定长度范围的序列去进行PCR扩增并上机测序。因此,这里重复序列的来源实际上就是由PCR过程中所引入的。
碱基质量值校正:是为了(尽可能)校正测序过程中的系统性错误,因为变异检测是一个极度依赖测序碱基质量值的步骤。因为这个质量值是衡量我们测序出来的这个碱基到底有多正确的重要(甚至是唯一)指标。没办法直接测得,可通过统计学的技巧获得极其接近的分布结果。根据一个群体中发现的已知变异,在某个人身上也很可能是同样存在的。因此,可以对比对结果进行直接分析,先排除掉所有的已知变异位点,然后计算每个(报告出来的)质量值下面有多少个碱基在比对之后与参考基因组上的碱基是不同的,这些不同碱基就被我们认为是错误的碱基,它们的数目比例反映的就是真实的碱基错误率,换算成Phred score,把这些信息输出为一份校准表文件,重新调整原来BAM文件中的碱基质量值,并使用这个新的质量值重新输出一份新的BAM文件。
变异检测分析:变异检测分析的目的是准确检测出每个样本(如人类)基因组中的变异集合,也就是人与人之间存在差异的那些DNA序列。
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本方法运用于图1的终端102中,终端可以是个人计算机、笔记本电脑等,终端102与基因测序设备104进行通讯连接,基因测序设备104可以是基因测序仪等。
其中,终端102与基因测序设备104采用本地接口连接时,基因测序设备104可以将测序完成后的样本数据发送至终端102中。另外,终端102也可以通过指令获取基因测序设备104中测序完成后的样本数据。
在一个实施例中,如图2所示,提供了一种基于共享内存的基因分析方法,以该方法应用于图1中的终端为例进行说明,包括以下步骤:
步骤S202,读取样本数据,对样本数据进行预处理;
其中,样本数据为对样本进行基因测序后产生或形成的数据。样本数量可以为一组或多组。
在一种可选地实施方式中,对样本数据进行预处理的步骤中,包括:对样本数据进行质控、过滤和统计处理。
基因测序所得的数据称为原始数据(即raw reads或raw data),原始数据可能包含低质量序列、接头序列,这些低质量序列、接头序列会影响分析的结果,因此需要对原始数据进行一些列数据处理,例如质控、过滤以及统计等去除原始数据中的杂质,以确定测序数据是否适用于后续分析。
步骤S204,对预处理后的样本数据进行基因分析,在基因分析过程中确定所需的库文件是否在基因分析库文件的基因共享内存中;
通常对样本数据进行预处理之后就需要对样本数据进行相关基因分析,常用的分析主要包括序列比对(即对比分析)、变异检测(即变异分析)、注释统计(即注释分析)以及后面的通路分析(pathway分析,例如GO分析、KEGG分析以及蛋白通路分析等)。但无论哪一个分析都需要用到分析数据库,例如比对分析时需要参考基因组库、变异检测时需要物种基因组库(例如人类基因组库)、注释分析时需要注释库、通路分析时需要通路库等,其中每一个数据库中都具有大量的数据,对样本数据进行分析时都需要加载这些数据库。
共享内存是System V版本的最后一个进程间通信方式。共享内存,顾名思义就是允许两个不相关的进程访问同一个逻辑内存,共享内存是两个正在运行的进程之间共享和传递数据的一种非常有效的方式。不同进程之间共享的内存通常为同一段物理内存。进程可以将同一段物理内存连接到他们自己的地址空间中,所有的进程都可以访问共享内存中的地址。如果某个进程向共享内存写入数据,所做的改动将立即影响到可以访问同一段共享内存的任何其他进程。
图3为共享内存的通信原理结构示意图;在Linux中,每个进程都有属于自己的进程控制块(PCB)和地址空间(Addr Space),并且都有一个与之对应的页表,负责将进程的虚拟地址与物理地址进行映射,通过内存管理单元(MMU)进行管理。两个不同的虚拟地址通过页表映射到物理空间的同一区域,它们所指向的这块区域即共享内存。请参考图3,图中有两个进程,ProcA进程和Proc B进程,当这两个进程通过页表将虚拟地址映射到物理地址时,在物理地址中有一块共同的内存区,即共享内存,这块内存可以被两个进程同时看到。这样当一个进程进行写操作,另一个进程读操作就可以实现进程间通信。对于一个共享内存,实现采用的是引用计数的原理,当进程脱离共享存储区后,计数器减一,挂架成功时,计数器加一,只有当计数器变为零时,才能被删除。当进程终止时,它所附加的共享存储区都会自动脱离。
在本实施例中,构建一个基因分析库文件的基因共享内存,可以将基因分析过程中最常用的数据库存储在基因共享内存中,当在对样本数据进行分析过程中需要用到该数据库是就可以直接从基因共享内存中获取,大大减少了从磁盘加载库加载数据库的时间;另外,当有多个样本数据同时进行分析时,多个样本数据之间可以共享该数据库,减少了重复加载,也减少了I/O占比。
在一个可选地实施例方式中,如图4所示,还提供了一种共享内存的构建方法,包括:
步骤S402,设置基因分析库文件的基因共享内存,设置基因共享内存的大小以及所能容纳的库文件个数、每个库文件的名字以及库文件的大小偏移量;
步骤S404,根据基因共享内存的大小以及所能容纳的库文件个数、每个库文件的名字以及库文件的大小偏移量加载基因分析中常用的库文件至基因共享内存。
请参考图5,在终端系统(即对样本数据进行基因分析所使用的硬件设备)中选取某一块区域作为基因分析库文件的基因共享内存,其中该基因共享内存的大小根据终端系统的存储空间,数据处理能力等本身性能确定一个合适大小的基因共享内存。其中基因共享内存区域记录或存储的内容主要包括:处于节点物理内存的基因共享内存表头设计:1)首先存入确定的共享库的个数(n)和共享区域的总长度(Len);2)基因共享内存在存入每个指定的每个库文件的名字(例如Lib1、Lib2)和长度偏移量(offset1、offset2);3)在选定区域依次存入每个指定的库文件的数据。
其工作原理为:样本数据可以包括多组数据;其中每一组数据具有一个对应的样本进程,从样本进程P1到样本进程Pn,每个进程都有属于自己的进程控制块(PCB)和地址空间(Addr Space),并且都有一个与之对应的页表,负责将进程的虚拟地址与物理地址进行映射,通过内存管理单元(MMU)进行管理。两个不同的虚拟地址通过页表映射到物理空间的同一区域,它们所指向的这块区域即基因共享内存。通过上述的方法,每一个样本进场都可以进入该共享区域,从而才共享区域中获取所需的库文件。
步骤S206,如果是,从基因共享内存获取库文件,并将库文件映射到样本数据的基因分析进程中并完成相应的分析。
本发明实施例中的基于基因共享内存的基因分析方法,首先读取样本数据,对样本数据进行预处理,然后对处理后的样本数据进行基因分析,而在基因分析过程中先要确定所需的库文件是否在基因分析库文件的基因共享内存中,如果在,从基因共享内存中获取所需的库文件,然后将该库文件映射到样本数据对应的基因分析进程中,完成相应的分析。该基于基因共享内存的基因分析方法利用基因共享内存机制建立基因分析(例如比对分析、变异检测分析以及注释分析等)的索引,然后将基因分析过程中所需的数据库的文件(即库文件)存储于基因共享内存中,可以方便地将库文件从基因共享内存中映射到样本数据的分析进程中,一方面大大减少了从磁盘加载库文件的时间以及I/O占比,另一方面可以方便基因分析过程中多进程之间的相互通信,也避免了库文件的重复加载。
在一个实施例中,还包括:在基因分析过程中所需的库文件不在基因共享内存中,判断所需的库文件是否满足加载条件;在满足加载条件时将库文件加载至基因共享内存。
具体地,在基因分析过程中所需的库文件不在基因共享内存中,则可以判断所需的库文件是否满足记载条件,在满足加载条件时,可以将所需的库文件先加载至基因共享内存。将所需的库文件先加载至基因共享内存再从基因共享内存中获取该库文件一方面比直接从磁盘加载库中获取速度快、效率高;另一方面,也可以方便其他的样本数据进程使用该库文件避免了重复加载。
在一个实施例中,在基因分析过程中判断所需的库文件不在所述基因共享内存中,判断所需的库文件是否满足加载条件是否满足加载条件;在满足加载条件时,将所述库文件加载至所述基因共享内存的步骤中,包括:
获取所需的库文件信息和基因共享内存信息,其中所需的库文件信息包括库文件所需空间和历史请求加载次数;基因共享内存信息包括基因共享内存剩余空间;
当历史请求加载次数大于第一预设次数,且库文件所需空间小于基因共享内存剩余空间,则将所需的库文件加载至基因共享内存。
其中,所需的库文件信息是指与所需的库文件相关的信息,可以包括库文件的类型、库文件大小、库文件所需空间、历史请求加载次数、请求加载的频率等;基因共享内存信息是指与基因共享内存相关的信息,主要包括基因共享内存的大小、基因共享内存剩余空间等。
第一预设次数是个预先设置的值,该值可以用来在一定程度上反应库文件的重要性,即当历史请求加载次数大于第一预设次数,说明所需的库文件被需要或者使用的频率高,该库文件在基因分析过程中比较重要,可以考虑将其加载到基因共享内存,以方便其他样本数据使用。在判断出所需的库文件的重要性之后,进一步需要确定基因共享内存剩余空间是否足够存储该库文件,即判断库文件所需空间是否小于基因共享内存剩余空间,如果是的话直接将该库文件加载至基因共享内存。
在一个实施例中,所需的库文件信息还包括库文件请求加载频率;基因共享内存信息还包括所有的库文件请求加载频率;判断所需的库文件是否满足加载条件,在满足加载条件时,将库文件加载至基因共享内存的步骤中,还包括:
当历史请求加载次数大于第一预设次数,且库文件所需空间大于基因共享内存剩余空间时,根据库文件请求加载频率和所有的库文件请求加载频率将所需的库文件和所有的库文件按照优先级进行排列,得到每个库文件的加载频率优先级;
当所需的库文件的加载频率优先级高于基因共享内存中的库文件的加载频率优先级时,且若删除基因共享内存中加载频率优先级低的库文件后基因共享内存剩余空间大于或等于库文件所需空间,则删除基因共享内存中加载频率优先级低的库文件;
将所需的库文件加载至基因共享内存。
具体而言,当判断库文件所需空间大于基因共享内存剩余空间时,则说明基因共享内存剩余空间不够用来存储所需的库文件;那么此时需要将所需的库文件与基因共享内存中已经存储的库文件进行比较,根据优先级的排序,考虑删除优先级低的库文件,然后将所需的库文件加载至基因共享内存中。
在本实施例中,主要根据库文件请求加载频率来对所需的库文件和基因共享内存中已存储的库文件按照优先级进行排序;当所需的库文件的加载频率优先级高于基因共享内存中的库文件的加载频率优先级时,删除基因共享内存中的库文件并将所需的库文件加载至基因共享内存,其中在该过程中要结合库文件的大小综合考虑,只要保证删除的库文件所占的内存足够用来存储所需的库文件即可。
采用上述的方式可以在基因分析过程中所需的库文件不在基因共享内存中时将该库文件先加载至基因共享内存,从而提高了后续计算的效率。
在一个实施例中,基因分析包括比对分析、变异分析和注释分析;还包括:
对预处理后的样本数据依次进行比对分析、变异分析和注释分析;当样本数据为多组时,在同一时刻每一组样本数据处于相同或不同的基因分析步骤。
在本实施例中,基因分析方法包括对比分析、变异分析和注释分析;但这个分析过程中通常有先后顺序要求,即一般是先进行比对分析,然后在进行变异分析,之后再进行注释分析。然而,当样本数据为多组时,每一个样本数据可以处在相同或不同的分析步骤,例如样本数据1可以在进行比对分析,样本数据2可以在进行变异分析,样本数据3可以在进行注释分析;也可以是样本数据1、样本数据2和样本数据3都可以同时在进行比对分析、变异分析或注释分析。采用该方式可以同时对多个样本数据同时进行处理,能进一步提高数据处理速度。
在一个实施例中,基因分析还包括排序分析和去重分析,对预处理后的样本数据依次进行比对分析、变异分析和注释分析的步骤之后,还包括:
将对比分析后的所述样本数据采用位置标签进行标记;并对标记后的样本数据按模块进行排序分析和去重分析。
具体地,基因分析还包括排序分析和去重分析;在将对比分析后样本数据采用位置标签进行标记,即比对后的文件增加位置信息相关的tag标签,这样可以按模块分析排序和去重,且为排序和去重增加更高效的多线程排序。
在一个实施例中,还包括:将基因分析的部分或整个步骤采用内存衔接。
具体地,可以将基因分析过程中将比对,排序,去重和变异检测过程中几个步骤或所有步骤通过内存衔接起来,其中各步骤通过内存衔接减少中间过程输出的sam/bam文件,降低I/O。
为了便于理解,给出一个详细的实施例。如图6所示,为基因分析的整个流程以及基因基因共享内存区处理流程。基因分析流程如下:样本输入后,对每个样本进行数据预处理,之后确定比对所需的库文件是否加载到基因共享内存区,如果已在基因共享内存区则开始进行比对,如果没有则从磁盘加载库文件,进行比对分析;比对分析过程通过内存衔接和算法优化合成了一个灵活的步骤;之后完成变异检测,再判断注释信息库是否加载到基因共享内存,如果已在基因共享内存区则开始进行注释统计,如果没有则从磁盘加载库文件,再进行注释统计;结束分析流程。
基因基因共享内存区处理流程:
如果有库lib-x(即所需的库文件)信息请求,则判断库文件是否在基因共享内存区,如果已存在基因共享内存区,则反馈库数据,处理结束;如果不在基因共享内存区,则判断是否通过加载方法Q加载,如果通过,则把库文件加载到基因共享内存区,返回库数据,程序结束;如果没通过加载方法Q,则不返回信息,程序结束。
其中,加载方法Q具体步骤为:1.判断所需库文件的类型和大小;2.记录文件;3.从文件中读取节点总内存大小、共享区大小、库历史请求加载次数和所有类型的库请求总次数;4.从磁盘更新节点内存大小,防止节点内存变化;5.该类型的库历史请求加载次数f_type+1;6.所有类型的库请求总次数)f_total+1;7.判断剩余空间是否足够加载该库;8.将记录中所有类型的请求频率(f_type/f_toal)降序排序,返回排序后链表;9.判断是否加载,若已加载,返回库索引;过没有加载且该类型请求超过10次,则判断它的优先级和在所有未加载库的排序;10.若该库优先级超过已加载的库,则系统预判将type_list中在type之后已装载的库大小相加,是否满足条件该库存加载所需内存W,则将这些库逆序依次卸载,直到刚好满足W停止;若不满足,不作处理;11.如果符合加载条件,更新共享区大小记录12.否则标记该库未被加载的原因是加载内存不足,更新到记录。
其中记录文件的格式为:
M:63492649171200
Len:13492649171200
f_total:100
类型 | 大小 | 是否已加载 | 历史请求加载次数f_type | type_flag |
Libx | 10000000000000 | 是 | 75 | 0 |
Liby | 3492649171200 | 是 | 12 | 0 |
Libw | 40000000000000 | 否 | 10 | 1 |
Libz | 5000000 | 否 | 3 | 0 |
type_flag表示未被加载原因,为1表示该类型库加载优先级曾排第1,因为内存余量不够而未被加载,已加载的库type_flag为0。
另外,加载方法Q的伪代码如下:
效果实施例:
为了验证本发明实施例中的基于共享内存的基因分析方法的有效性;给出3种基因分析方法来进行比较,分别是方法A(软件未优化(即将整个基因分析步骤不采用内存衔接,每一步骤都独立)+不使用基因共享内存)、方法B(软件优化(即将整个基因分析步骤采用内存衔接)+不使用基因共享内存)、方法C(软件优化(即将整个基因分析步骤采用内存衔接)+使用基因共享内存),然后比较每个方法CPU利用率和I/O进行次数。结果如图7-9所示,其中图7为方法A的分析结果图,图8为方法B的分析结果图,图9为方法C的分析结果图;从图7-9可知,方法A中加速前分析部分(即对比分析之间的样本读取以及预处理过程,其中每一步骤都独立运行,并且不使用基因共享内存直接进行比对)运行的时间为2.83小时,且CPU利用率波动很大;其中加速前对比注释部分(即不使用基因共享内存直接进行比对注释)运行时间为2.61小时,CPU利用率较高,且I/O sec(即每秒输出到物理磁盘的传输次数)较多,说明I/O使用率高,阻塞可能高;方法B中加速后分析部分(即对比分析之间的样本读取以及预处理过程,其中每一步骤采用内存衔接,并且使用共享内存进行比对)运行的时间为1.75小时,且CPU利用率波动比方法A小,其中使用基因共享内存前的库对比部分(即不使用基因共享内存直接进行比对)运行时间为2.38小时,CPU利用率较高,且I/O sec(即每秒输出到物理磁盘的传输次数)较多,说明I/O使用率高,阻塞可能高;方法C中加速后分析部分(即对比分析之间的样本读取以及预处理过程,其中每一步骤采用内存衔接,并且使用共享内存进行比对)运行的时间为1.75小时,且CPU利用率波动比方法A小(该部分与B方法相同),其中使用基因共享内存后的库对比部分(即使用基因共享内存直接进行比对)运行时间为0.82小时,CPU利用率较高,且I/O sec(即每秒输出到物理磁盘的传输次数)较少,说明I/O使用率低,阻塞可能小。由此可见,采用方法C进行基因分析,即采用内存衔接的方法将基因分析步骤结合在一起,且采用比对、注释等过程采用基因共享内存的方式可以大大减少基因分析所用的时间,且减少了I/O的使用率,即减少了I/O的阻塞。
应该理解的是,虽然图2、4和6的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2、4以及6中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图10所示,提供了一种基于共享内存的基因分析装置,包括:
数据读取模块102,用于读取样本数据;
数据预处理模块104,用于对样本数据进行预处理;
基因分析模块106,用于对预处理后的样本数据进行基因分析,在基因分析过程中确定所需的库文件是否在基因分析库文件的基因共享内存中;如果是,从基因共享内存获取库文件,并将库文件映射到样本数据的基因分析进程中并完成相应的分析。
在一个实施例中,库文件加载模块,用于在基因分析过程中所需的库文件不在基因共享内存中,判断所需的库文件是否满足加载条件,在满足加载条件时,将库文件加载至基因共享内存。
在一个实施例中,库文件加载模块包括库信息内存信息获取模块,
库信息内存信息获取模块,用于获取所需的库文件信息和所述基因共享内存信息,其中所述所需的库文件信息包括库文件所需空间和历史请求加载次数;所述基因共享内存信息包括基因共享内存剩余空间;
库文件加载模块,用于当历史请求加载次数大于第一预设次数,且所述库文件所需空间小于所述基因共享内存剩余空间,则将所需的库文件加载至所述基因共享内存。
在一个实施例中,所需的库文件信息还包括库文件请求加载频率;基因共享内存信息还包括所有的库文件请求加载频率;库文件加载模块还包括优先级排序模块和库文件删除模块;
优先级排序模块,用于当历史请求加载次数大于第一预设次数,且库文件所需空间大于基因共享内存剩余空间时,根据库文件请求加载频率和所有的库文件请求加载频率将所需的库文件和所有的库文件按照优先级进行排列,得到每个库文件的加载频率优先级;
库文件删除模块,用于当所需的库文件的加载频率优先级高于基因共享内存中的库文件的加载频率优先级时,且若删除基因共享内存中加载频率优先级低的库文件后基因共享内存剩余空间大于或等于库文件所需空间,则删除基因共享内存中加载频率优先级低的库文件;
库文件加载模块,还用于将所需的库文件加载至基因共享内存。
在一个实施例中,还包括:
基因共享内存设置模块,用于设置基因分析库文件的基因共享内存,设置基因共享内存的大小以及所能容纳的库文件个数、每个库文件的名字以及库文件的大小偏移量;
库文件加载模块,还用于根据基因共享内存的大小以及所能容纳的库文件个数、每个库文件的名字以及库文件的大小偏移量加载基因分析中常用的库文件至基因共享内存。
在一个实施例中,基因分析包括比对分析、变异分析和注释分析;
基因分析模块,用于对预处理后的样本数据依次进行比对分析、变异分析和注释分析;当样本数据为多组时,在同一时刻每一组样本数据处于相同或不同的基因分析步骤。
在一个实施例中,基因分析还包括排序分析和去重分析,还包括:
排序去重模块,用于将对比分析后的样本数据采用位置标签进行标记;并对标记后的样本数据按模块进行排序分析和去重分析。
在一个实施例中,还包括:
内存衔接模块,用于将基因分析的部分或整个步骤采用内存衔接。
在一个实施例中,数据预处理模块还用于对样本数据进行质控、过滤和统计处理。
关于基于共享内存的基因分析装置的具体限定可以参见上文中对于基于共享内存的基因分析方法的限定,在此不再赘述。上述基于共享内存的基因分析装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图11所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储电阻等效模型、等效子模型的数据,以及存储执行计算时得到的等效电阻、工作电阻以及接触电阻。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种基于共享内存的基因分析方法。
本领域技术人员可以理解,图11中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:读取样本数据,对所述样本数据进行预处理;对预处理后的样本数据进行基因分析,在基因分析过程中确定所需的库文件是否在基因分析库文件的基因共享内存中;如果是,从所述基因共享内存获取所述库文件,并将所述库文件映射到所述样本数据的基因分析进程中并完成相应的分析。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:还包括:在基因分析过程中所需的库文件不在基因共享内存中,判断所需的库文件是否满足加载条件,在满足加载条件时,将库文件加载至基因共享内存。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:在基因分析过程中判断所需的库文件不在基因共享内存中,判断所需的库文件是否满足加载条件是否满足加载条件;在满足加载条件时,将库文件加载至基因共享内存的步骤中,包括:获取所需的库文件信息和基因共享内存信息,其中所需的库文件信息包括库文件所需空间和历史请求加载次数;基因共享内存信息包括基因共享内存剩余空间;当历史请求加载次数大于第一预设次数,且库文件所需空间小于基因共享内存剩余空间,则将所需的库文件加载至基因共享内存。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:所需的库文件信息还包括库文件请求加载频率;基因共享内存信息还包括所有的库文件请求加载频率;判断所需的库文件是否满足加载条件,在满足加载条件时,将库文件加载至基因共享内存的步骤中,还包括:当历史请求加载次数大于第一预设次数,且库文件所需空间大于基因共享内存剩余空间时,根据库文件请求加载频率和所有的库文件请求加载频率将所需的库文件和所有的库文件按照优先级进行排列,得到每个库文件的加载频率优先级;当所需的库文件的加载频率优先级高于基因共享内存中的库文件的加载频率优先级时,且若删除基因共享内存中加载频率优先级低的库文件后基因共享内存剩余空间大于或等于库文件所需空间,则删除基因共享内存中加载频率优先级低的库文件;将所需的库文件加载至基因共享内存。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:还包括:设置基因分析库文件的基因共享内存,设置基因共享内存的大小以及所能容纳的库文件个数、每个库文件的名字以及库文件的大小偏移量;根据基因共享内存的大小以及所能容纳的库文件个数、每个库文件的名字以及库文件的大小偏移量加载基因分析中常用的库文件至基因共享内存。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:基因分析包括比对分析、变异分析和注释分析;还包括:对预处理后的样本数据依次进行比对分析、变异分析和注释分析;当样本数据为多组时,在同一时刻每一组样本数据处于相同或不同的基因分析步骤。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:基因分析还包括排序分析和去重分析,对预处理后的样本数据依次进行比对分析、变异分析和注释分析的步骤之后,还包括:将对比分析后的所述样本数据采用位置标签进行标记;并对标记后的样本数据按模块进行排序分析和去重分析。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:还包括:将基因分析的部分或整个步骤采用内存衔接。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:对样本数据进行预处理的步骤中,包括:对样本数据进行质控、过滤和统计处理。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:读取样本数据,对样本数据进行预处理;对预处理后的样本数据进行基因分析,在基因分析过程中确定所需的库文件是否在基因分析库文件的基因共享内存中;如果是,从基因共享内存获取库文件,并将库文件映射到样本数据的基因分析进程中并完成相应的分析。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:还包括:在基因分析过程中所需的库文件不在基因共享内存中,判断所需的库文件是否满足加载条件,在满足加载条件时,将库文件加载至基因共享内存。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:在基因分析过程中判断所需的库文件不在基因共享内存中,判断所需的库文件是否满足加载条件是否满足加载条件;在满足加载条件时,将库文件加载至基因共享内存的步骤中,包括:获取所需的库文件信息和基因共享内存信息,其中所需的库文件信息包括库文件所需空间和历史请求加载次数;基因共享内存信息包括基因共享内存剩余空间;当历史请求加载次数大于第一预设次数,且库文件所需空间小于基因共享内存剩余空间,则将所需的库文件加载至基因共享内存。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:所需的库文件信息还包括库文件请求加载频率;基因共享内存信息还包括所有的库文件请求加载频率;判断所需的库文件是否满足加载条件,在满足加载条件时,将库文件加载至基因共享内存的步骤中,还包括:当历史请求加载次数大于第一预设次数,且库文件所需空间大于基因共享内存剩余空间时,根据库文件请求加载频率和所有的库文件请求加载频率将所需的库文件和所有的库文件按照优先级进行排列,得到每个库文件的加载频率优先级;当所需的库文件的加载频率优先级高于基因共享内存中的库文件的加载频率优先级时,且若删除基因共享内存中加载频率优先级低的库文件后基因共享内存剩余空间大于或等于库文件所需空间,则删除基因共享内存中加载频率优先级低的库文件;将所需的库文件加载至基因共享内存。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:还包括:设置基因分析库文件的基因共享内存,设置基因共享内存的大小以及所能容纳的库文件个数、每个库文件的名字以及库文件的大小偏移量;根据基因共享内存的大小以及所能容纳的库文件个数、每个库文件的名字以及库文件的大小偏移量加载基因分析中常用的库文件至基因共享内存。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:基因分析包括比对分析、变异分析和注释分析;还包括:对预处理后的样本数据依次进行比对分析、变异分析和注释分析;当样本数据为多组时,在同一时刻每一组样本数据处于相同或不同的基因分析步骤。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:基因分析还包括排序分析和去重分析,对预处理后的样本数据依次进行比对分析、变异分析和注释分析的步骤之后,还包括:将对比分析后的样本数据采用位置标签进行标记;并对标记后的样本数据按模块进行排序分析和去重分析。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:还包括:将基因分析的部分或整个步骤采用内存衔接。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:对样本数据进行预处理的步骤中,包括:对样本数据进行质控、过滤和统计处理。
本领域普通技术人员可以理解实现实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (12)
1.一种基于共享内存的基因分析方法,其特征在于,包括以下步骤:
读取样本数据,对所述样本数据进行预处理;
对预处理后的样本数据进行基因分析,在基因分析过程中确定所需的库文件是否在基因共享内存中;
如果是,从所述基因共享内存获取所述库文件,并将所述库文件映射到所述样本数据的基因分析进程中并完成相应的分析。
2.根据权利要求1所述的基于共享内存的基因分析方法,其特征在于,还包括:
在基因分析过程中所需的库文件不在所述基因共享内存中,判断所需的库文件是否满足加载条件;在满足加载条件时将所述库文件加载至所述基因共享内存。
3.根据权利要求2所述的基于共享内存的基因分析方法,其特征在于,在基因分析过程中判断所需的库文件不在所述基因共享内存中,判断所需的库文件是否满足加载条件;在满足加载条件时,将所述库文件加载至所述基因共享内存的步骤中,包括:
获取所需的库文件信息和所述基因共享内存信息,其中所述所需的库文件信息包括库文件所需空间和历史请求加载次数;所述基因共享内存信息包括基因共享内存剩余空间;
当所述历史请求加载次数大于第一预设次数,且所述库文件所需空间小于所述基因共享内存剩余空间,则将所需的库文件加载至所述基因共享内存。
4.根据权利要求3所述的基于共享内存的基因分析方法,其特征在于,所述所需的库文件信息还包括库文件请求加载频率;所述基因共享内存信息还包括所有的库文件请求加载频率;判断所需的库文件是否满足加载条件,在满足加载条件时,将所述库文件加载至所述基因共享内存的步骤中,还包括:
当所述历史请求加载次数大于第一预设次数,且所述库文件所需空间大于所述基因共享内存剩余空间时,根据所述库文件请求加载频率和所有的库文件请求加载频率将所需的库文件和所有的库文件按照优先级进行排列,得到每个库文件的加载频率优先级;
当所需的库文件的加载频率优先级高于基因共享内存中的库文件的加载频率优先级时,且若删除基因共享内存中加载频率优先级低的库文件后所述基因共享内存剩余空间大于或等于所述库文件所需空间,则删除基因共享内存中加载频率优先级低的库文件;
将所需的库文件加载至所述基因共享内存。
5.根据权利要求1-4任一项所述的基于共享内存的基因分析方法,其特征在于,还包括:
设置基因分析库文件的基因共享内存,设置所述基因共享内存的大小以及所能容纳的库文件个数、每个库文件的名字以及库文件的大小偏移量;
根据所述基因共享内存的大小以及所能容纳的库文件个数、每个库文件的名字以及库文件的大小偏移量加载基因分析中常用的库文件至所述基因共享内存。
6.根据权利要求1所述的基于共享内存的基因分析方法,其特征在于,所述基因分析包括比对分析、变异分析和注释分析;还包括:
对预处理后的样本数据依次进行比对分析、变异分析和注释分析;当样本数据为多组时,在同一时刻每一组样本数据处于相同或不同的基因分析步骤。
7.根据权利要求6所述的基于共享内存的基因分析方法,其特征在于,所述基因分析还包括排序分析和去重分析,对预处理后的样本数据依次进行比对分析、变异分析和注释分析的步骤之后,还包括:
将对比分析后的所述样本数据采用位置标签进行标记;并对标记后的样本数据按模块进行排序分析和去重分析。
8.根据权利要求7所述的基于共享内存的基因分析方法,其特征在于,还包括:
将所述基因分析的部分或整个步骤采用内存衔接。
9.根据权利要求6-8任一项所述的基于共享内存的基因分析方法,其特征在于,对所述样本数据进行预处理的步骤中,包括:
对所述样本数据进行质控、过滤和统计处理。
10.一种基于共享内存的基因分析装置,其特征在于,包括:
数据读取模块,用于读取样本数据;
数据预处理模块,用于对所述样本数据进行预处理;
基因分析模块,用于对预处理后的样本数据进行基因分析,在基因分析过程中确定所需的库文件是否在基因共享内存中;如果是,从所述基因共享内存获取所述库文件,并将所述库文件映射到所述样本数据的基因分析进程中并完成相应的分析。
11.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1-9任一项所述方法的步骤。
12.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1-9任一项所述方法的步骤。
Priority Applications (7)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011139824.9A CN112270959A (zh) | 2020-10-22 | 2020-10-22 | 基于共享内存的基因分析方法、装置和计算机设备 |
PCT/CN2020/127072 WO2022082878A1 (zh) | 2020-10-22 | 2020-11-06 | 基于共享内存的基因分析方法、装置和计算机设备 |
AU2020457044A AU2020457044A1 (en) | 2020-10-22 | 2020-11-06 | Shared memory based gene analysis method, apparatus and computer device |
EP20940476.3A EP4235679A1 (en) | 2020-10-22 | 2020-11-06 | Shared memory-based gene analysis method and apparatus, and computer device |
JP2021578272A JP7344996B2 (ja) | 2020-10-22 | 2020-11-06 | 共有メモリベースの遺伝子解析方法、装置、およびコンピュータデバイス |
IL289071A IL289071A (en) | 2020-10-22 | 2021-12-16 | Gene analysis method based on shared memory, device and computer device |
AU2024201174A AU2024201174A1 (en) | 2020-10-22 | 2024-02-22 | Shared memory based gene analysis method, apparatus and computer device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011139824.9A CN112270959A (zh) | 2020-10-22 | 2020-10-22 | 基于共享内存的基因分析方法、装置和计算机设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112270959A true CN112270959A (zh) | 2021-01-26 |
Family
ID=74342857
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011139824.9A Pending CN112270959A (zh) | 2020-10-22 | 2020-10-22 | 基于共享内存的基因分析方法、装置和计算机设备 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN112270959A (zh) |
WO (1) | WO2022082878A1 (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040234995A1 (en) * | 2001-11-09 | 2004-11-25 | Musick Eleanor M. | System and method for storage and analysis of gene expression data |
CN107609350A (zh) * | 2017-09-08 | 2018-01-19 | 厦门极元科技有限公司 | 一种二代测序数据分析平台的数据处理方法 |
CN108197433A (zh) * | 2017-12-29 | 2018-06-22 | 厦门极元科技有限公司 | 快速dna测序数据分析平台的数据内存和硬盘分流存储方法 |
CN108595346A (zh) * | 2018-04-25 | 2018-09-28 | 新华三信息安全技术有限公司 | 一种特征库文件管理方法和装置 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6805140B2 (ja) * | 2014-11-21 | 2020-12-23 | リサーチ インスティチュート アット ネイションワイド チルドレンズ ホスピタル | 平行プロセシングシステムおよび生物配列データの高度にスケーラブルな解析の方法 |
CN107480466B (zh) * | 2017-07-06 | 2020-08-11 | 北京荣之联科技股份有限公司 | 基因组数据存储方法及电子设备 |
CN108776617A (zh) * | 2018-06-08 | 2018-11-09 | 山东超越数控电子股份有限公司 | 一种基于访问频率和动态优先级的预取目标识别方法 |
-
2020
- 2020-10-22 CN CN202011139824.9A patent/CN112270959A/zh active Pending
- 2020-11-06 WO PCT/CN2020/127072 patent/WO2022082878A1/zh active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040234995A1 (en) * | 2001-11-09 | 2004-11-25 | Musick Eleanor M. | System and method for storage and analysis of gene expression data |
CN107609350A (zh) * | 2017-09-08 | 2018-01-19 | 厦门极元科技有限公司 | 一种二代测序数据分析平台的数据处理方法 |
CN108197433A (zh) * | 2017-12-29 | 2018-06-22 | 厦门极元科技有限公司 | 快速dna测序数据分析平台的数据内存和硬盘分流存储方法 |
CN108595346A (zh) * | 2018-04-25 | 2018-09-28 | 新华三信息安全技术有限公司 | 一种特征库文件管理方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
WO2022082878A1 (zh) | 2022-04-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
RU2761066C2 (ru) | Геномная инфраструктура для локальной и облачной обработки и анализа днк и рнк | |
Chin et al. | Voting algorithms for discovering long motifs | |
US20210193257A1 (en) | Phase-aware determination of identity-by-descent dna segments | |
Bolón-Canedo et al. | Challenges and future trends for microarray analysis | |
US11816580B2 (en) | Optimal solution determination method, optimal solution determination program, and optimal solution determination device | |
Costa-Silva et al. | Temporal progress of gene expression analysis with RNA-Seq data: A review on the relationship between computational methods | |
Bzikadze et al. | UniAligner: a parameter-free framework for fast sequence alignment | |
CN114237911A (zh) | 基于cuda的基因数据处理方法、装置和cuda构架 | |
Molinari et al. | Transcriptome analysis using RNA-Seq fromexperiments with and without biological replicates: areview | |
Kasilov et al. | High-performance genome sorting program | |
Srivastava et al. | NetSeekR: a network analysis pipeline for RNA-Seq time series data | |
CN112270959A (zh) | 基于共享内存的基因分析方法、装置和计算机设备 | |
WO2014145503A2 (en) | Sequence alignment using divide and conquer maximum oligonucleotide mapping (dcmom), apparatus, system and method related thereto | |
Abouelhoda et al. | Multiple genome alignment: Chaining algorithms revisited | |
JP7344996B2 (ja) | 共有メモリベースの遺伝子解析方法、装置、およびコンピュータデバイス | |
RU2792228C1 (ru) | Способ, устройство и компьютерное устройство генного анализа, основанные на совместно используемой памяти | |
Comin et al. | Comparing, Ranking, and Filtering Motifs with Character Classes: Application to Biological Sequences Analysis | |
KR101906970B1 (ko) | 분산 처리를 이용한 핵산 서열의 분석 방법 및 장치, 핵산 서열 분석을 위한 분산 처리 시스템 | |
Khan et al. | MSuPDA: A memory efficient algorithm for sequence alignment | |
US20030113767A1 (en) | Confirmation sequencing | |
Li et al. | On de novo Bridging Paired-end RNA-seq Data | |
Muggli et al. | Succinct de Bruijn graph construction for massive populations through space-efficient merging | |
US20220383980A1 (en) | Processing sequencing data relating to amyotrophic lateral sclerosis | |
Gunady et al. | Fast and interpretable alternative splicing and differential gene-level expression analysis using transcriptome segmentation with Yanagi | |
Costa-Silva et al. | Computational methods for differentially expressed gene analysis from RNA-Seq: an overview |
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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20210126 |