CN117393046B - 一种空间转录组测序方法、系统、介质及设备 - Google Patents
一种空间转录组测序方法、系统、介质及设备 Download PDFInfo
- Publication number
- CN117393046B CN117393046B CN202311685055.6A CN202311685055A CN117393046B CN 117393046 B CN117393046 B CN 117393046B CN 202311685055 A CN202311685055 A CN 202311685055A CN 117393046 B CN117393046 B CN 117393046B
- Authority
- CN
- China
- Prior art keywords
- data
- read
- sequencing
- reads
- producer
- 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.)
- Active
Links
- 238000012163 sequencing technique Methods 0.000 title claims abstract description 70
- 238000012545 processing Methods 0.000 claims abstract description 23
- 238000000034 method Methods 0.000 claims description 44
- 230000015654 memory Effects 0.000 claims description 32
- 230000008569 process Effects 0.000 claims description 19
- 230000006835 compression Effects 0.000 claims description 14
- 238000007906 compression Methods 0.000 claims description 14
- 230000006837 decompression Effects 0.000 claims description 14
- 238000010276 construction Methods 0.000 claims description 8
- 238000004590 computer program Methods 0.000 claims description 6
- 238000003860 storage Methods 0.000 claims description 5
- 108090000623 proteins and genes Proteins 0.000 abstract description 7
- 230000014509 gene expression Effects 0.000 description 3
- 238000011065 in-situ storage Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 2
- 238000007901 in situ hybridization Methods 0.000 description 2
- BASFCYQUMIYNBI-UHFFFAOYSA-N platinum Chemical compound [Pt] BASFCYQUMIYNBI-UHFFFAOYSA-N 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000031018 biological processes and functions Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000001427 coherent effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 210000000056 organ Anatomy 0.000 description 1
- 229910052697 platinum Inorganic materials 0.000 description 1
- 230000002103 transcriptional effect Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/174—Redundancy elimination performed by the file system
- G06F16/1744—Redundancy elimination performed by the file system using compression, e.g. sparse files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2453—Query optimisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24552—Database cache management
-
- 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
- G16B40/00—ICT specially adapted for biostatistics; ICT specially adapted for bioinformatics-related machine learning or data mining, e.g. knowledge discovery or pattern finding
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- Data Mining & Analysis (AREA)
- Medical Informatics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Spectroscopy & Molecular Physics (AREA)
- Evolutionary Biology (AREA)
- General Health & Medical Sciences (AREA)
- Biotechnology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Computational Linguistics (AREA)
- Biophysics (AREA)
- Proteomics, Peptides & Aminoacids (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioethics (AREA)
- Epidemiology (AREA)
- Evolutionary Computation (AREA)
- Public Health (AREA)
- Software Systems (AREA)
- Analytical Chemistry (AREA)
- Chemical & Material Sciences (AREA)
- Artificial Intelligence (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明属于基因测序数据处理领域,提供了一种空间转录组测序方法、系统、介质及设备,其技术方案为:消费者线程按块读取barcode位置信息文件,基于barcode位置信息文件构建map数据结构;生产者线程按块读取fastq测序数据,将读取的数据转化read格式放入数据块队列中;消费者线程从数据块队列获取数据块,解析出read,对于每条read,使用构建好的map数据结构查询read的位置,如果未查询到,进行容错处理后再查询,将查询得到的相应的位置对应的read交给写线程,仍未查询到,直接丢弃。解决了生产者线程读取速度过快,造成的负载不均衡的问题。
Description
技术领域
本发明属于基因测序数据处理领域,尤其涉及一种空间转录组测序方法、系统、介质及设备。
背景技术
本部分的陈述仅仅是提供了与本发明相关的背景技术信息,不必然构成在先技术。
随着传统转录组学的持续发展,人们对于基因有了进一步的深入认识,但是由于传统转录组学的限制,一系列新的技术应运而生。空间转录组学就是一种极具潜力的测序技术。对于多细胞生物来说,虽然正常细胞都拥有完整和相同的基因组,但是外在表现却是多细胞生物的组织和器官专门从事一个生物过程。这种表现的不同不只是因为内部基因调控引起的,外部组织环境发出的信号也会影响其基因的表达。空间转录组测序可以同时获得基因的空间位置信息和测序数据,可以有效帮助对于组织原位细胞真实基因表达的研究。
空间转录组测序的研究方法有三种,分别是序列荧光原位杂交(Fluorescence insitu hybridization,FISH),选择基因用于原位测序(In Situ Sequencing,ISS)和连接已知坐标的所有转录本的空间标记。其中第三种方法不需要成像,而是在一个预先定义的空间单元内捕获转录本,并且在测序步骤之前将它们与一个已知的坐标系统连接。在测序后需要将转录本映射回它们的空间坐标,以便于后续流程的分析和使用。
在测序时,通过一段长度为25bp的barcode来标记空间位置和测序reads。在测序结束后,对于每条read,进行barcode序列匹配来得到read的空间信息,并将空间信息写回到read中。但是由于测序过程中可能会出现的测序错误,因此read可能会无法匹配到相对应的barcode。所以需要采用一定的容错策略来避免这一情况。现有技术采用的容错策略为:对于一个barcode,允许其中存在一位或是两位的测序错误,即至多有两个碱基可以替换成其他的碱基。
整个过程非常耗时,首先是读取以及写回结果时,如果使用的是压缩文件,那么处理压缩以及解压时就会成为处理的瓶颈。
由于fastq文件具有一定的格式,因此通常使用生产者消费者模型来进行处理,生产者线程读取数据,消费者线程解析数据并进行接下来的处理,但是这样会造成负载不均衡。
在处理过程中,使用的是map数据结构,由于需要处理测序造成的错误,因此需要查询的次数较多,造成查询的时间较长,此外由于查询map的操作是随机访存,cache miss较高,这些问题限制了这一处理过程的速度。
发明内容
为了解决上述背景技术中存在的至少一项技术问题,本发明提供一种空间转录组测序方法、系统、介质及设备,其更改了生产者和消费者的任务分配,首先使用内存池,减少内存的分配时间,同时节省内存,生产者读取一块数据并将其格式化为符合read格式的数据块,然后将其放入数据队列中,消费者此时拿到的数据是已经格式化好的,这样有效地减少了消费者线程的任务量,更好地实现了生产者和消费者的负载均衡。
为了实现上述目的,本发明采用如下技术方案:
本发明的第一方面提供一种空间转录组测序方法,包括如下步骤:
获取测序数据和barcode位置信息数据;
基于测序数据、barcode位置信息数据和生产者-消费者模型进行分析得到测序结果;其中,所述生产者-消费者模型的构建过程为:
消费者线程按块读取barcode位置信息文件,基于barcode位置信息文件构建map数据结构;
生产者线程按块读取fastq测序数据,将读取的数据转化read格式放入数据块队列中;
消费者线程从数据块队列获取数据块,解析出read,对于每条read,使用构建好的map数据结构查询read的位置,如果未查询到,进行容错处理后再查询,将查询得到的相应的位置对应的read交给写线程,仍未查询到,直接丢弃。
进一步地,所述测序数据的格式采用fastq未压缩格式文件或fastq压缩格式文件;
在使用fastq未压缩文件时,使用单线程,在使用fastq压缩格式文件时,使用多线程解压,然后将解压结果交给生产者。
进一步地,如果输出为未压缩格式的文件,那么就使用单个写线程来输出文件,如果输出压缩格式的文件,那么使用多线程压缩来输出压缩文件。
进一步地,fastq压缩格式文件解压缩时,采用流式解压缩。
进一步地,map数据结构的构建过程为:采用第一数组存储key-value对,采用开放寻址法来处理冲突,采用第二数组记录映射到同一个值的所有key中最近插入的key,第一数组同时存储下一个映射到同一个值的key在第一数组中的索引来模拟链表。
进一步地,使用构建好的map数据结构查询read的位置时,将接下来要查询的地址,提前预取到cache中。
进一步地,map数据结构的构建时,采用布隆过滤器来过滤掉map中不存在的barcode。
本发明的第二方面提供一种空间转录组测序系统,包括:
数据读取模块,其用于获取测序数据和barcode位置信息数据;
数据处理模块,其用于基于测序数据、barcode位置信息数据和生产者-消费者模型进行分析得到测序结果;其中,所述生产者-消费者模型的构建过程为:
消费者线程按块读取barcode位置信息文件,基于barcode位置信息文件构建map数据结构;
生产者线程按块读取fastq测序数据,将读取的数据转化read格式放入数据块队列中;
消费者线程从数据块队列获取数据块,解析出read,对于每条read,使用构建好的map数据结构查询read的位置,如果未查询到,进行容错处理后再查询,将查询得到的相应的位置对应的read交给写线程,仍未查询到,直接丢弃。
本发明的第三方面提供一种计算机可读存储介质。
一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如第一方面所述的一种空间转录组测序方法中的步骤。
本发明的第四个方面提供一种计算机设备。
一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如第一方面所述的一种空间转录组测序方法中的步骤。
与现有技术相比,本发明的有益效果是:
1、针对生产者和消费者模型负载不均衡的问题。本发明更改了生产者和消费者的任务分配。首先使用内存池,减少内存的分配时间,同时节省内存。生产者读取一块数据并将其格式化为符合read格式的数据块,然后将其放入数据队列中,消费者此时拿到的数据是已经格式化好的,这样有效地减少了消费者线程的任务量,更好地实现了生产者和消费者的负载均衡。
2、针对map查询的问题,本发明首先使用布隆过滤器来过滤掉map中不存在的barcode。
3、通过构建map数据结构,采用第一数组存储key-value对,采用开放寻址法来处理冲突,采用第二数组记录映射到同一个值的所有key中最近插入的key,第一数组同时存储下一个映射到同一个值的key在第一数组中的索引来模拟链表。可以有效地加速查询速度。
4、针对解决压缩和解压缩的处理速度过慢的问题,在读取以及写出压缩格式的数据时,进行流式地解压缩和写压缩。
附图说明
构成本发明的一部分的说明书附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。
图1是本发明实施例提供的一种空间转录组测序方法整体流程图。
具体实施方式
下面结合附图与实施例对本发明作进一步说明。
应该指出,以下详细说明都是例示性的,旨在对本发明提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本发明所属技术领域的普通技术人员通常理解的相同含义。
需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本发明的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。
针对生产者和消费者模型负载不均衡的问题。本发明更改了生产者和消费者的任务分配。首先使用内存池,减少内存的分配时间,同时节省内存。生产者读取一块数据并将其格式化为符合read格式的数据块,然后将其放入数据队列中,消费者此时拿到的数据是已经格式化好的,这样有效地减少了消费者线程的任务量,更好地实现了生产者和消费者的负载均衡。
针对map查询的问题,本发明首先使用布隆过滤器来过滤掉map中不存在的barcode。
本发明通过构建map数据结构,采用第一数组存储key-value对,采用开放寻址法来处理冲突,采用第二数组记录映射到同一个值的所有key中最近插入的key,第一数组同时存储下一个映射到同一个值的key在第一数组中的索引来模拟链表。可以有效地加速查询速度。
针对解决压缩和解压缩的处理速度过慢的问题,在读取以及写出压缩格式的数据时,进行流式地解压缩和写压缩。
实施例一
按参照图1,本实施例提供了一种空间转录组测序方法,包括如下步骤:
步骤1:获取测序数据和barcode位置信息数据;
步骤2:基于测序数据、barcode位置信息数据和生产者-消费者模型得到测序结果;其中,所述生产者-消费者模型的构建过程为:
消费者线程按块读取barcode位置信息文件,基于barcode位置信息文件构建map数据结构;
生产者线程按块读取fastq测序数据,将数据块存储至内存池;
消费者线程获取数据块,解析出read,对于每条read,read的第一行含有位置信息,使用map数据结构查询read的位置,如果查询不到,进行容错处理,可以分别尝试修改一个碱基和两个碱基查看map中是否存在,如果查询出相应的位置,将处理后的read交给写线程使用,否则就直接丢弃。
在读取以及写出压缩格式的数据时,解压缩和压缩就成为了性能瓶颈,需要解决压缩和解压缩的处理速度过慢的问题。
针对上述问题,步骤1中,获取测序数据时,针对读取fastq压缩格式文件数据较慢的问题,本实施例,采用的方法是集成了pugz软件,pugz软件是一款多线程解压缩软件,相比于gunzip,它的最快解压速度大约快了4倍。
但是pugz并没有提供相应的api,并且不是流式地进行解压缩,因此本实施例修改了相应的源码,将其集成到了解压方法中,流式地进行解压缩。
针对于写出压缩数据较慢的问题,集成了pigz软件,pigz软件是一款多线程压缩软件,同样也没有提供相应的api,也进行了相应的修改,流式地进行写压缩,将其集成到了写出压缩数据。
步骤2中,本实施例中,所述测序数据的格式可以采用fastq未压缩格式文件或fastq压缩格式文件;
按照图1,支持普通的二进制文件,hdf5文件和压缩文件,构建map数据结构,在使用fastq未压缩文件时,使用单线程,在使用fastq压缩格式文件时,使用多线程解压,然后将解压结果交给生产者。
步骤2中,测序结果中,如果输出未压缩格式的文件,那么就使用单个写线程来输出文件,如果输出压缩格式的文件,那么使用多线程压缩来输出压缩文件。
其次,通常使用生产者消费者模型处理时,由于生产者线程读取速度过快,因此会负载不均衡,需要解决负载不均衡的问题。
针对生产者和消费者模型负载不均衡的问题。本实施例更改了生产者和消费者的任务分配。首先使用内存池,减少内存的分配时间,同时节省内存。生产者读取一块数据并将其格式化为符合read格式的数据块,然后将其放入数据队列中,消费者此时拿到的数据是已经格式化好的,这样有效地减少了消费者线程的任务量,更好地实现了生产者和消费者的负载均衡。
再次,在barcode匹配过程中使用的是map数据结构,同时还需要处理一定的错误情况,会造成map查询次数过多,此外map查询的时间复杂度虽然是常数时间,但是由于是不规律访存,因此执行时间较慢。
针对map查询的问题,本实施例首先使用布隆过滤器来过滤掉map中不存在的barcode。
布隆过滤器对于集合中没有的元素可以有效地进行过滤,虽然会有一定的误差,相较于map来说,所占用的空间更小,并且查询时间也是常数,hash函数之间互相没有关系,实现简单。
c++ stl库已经提供了unordered_map这一数据结构,但是它的执行效率存在一些问题。因此,本实施例构建了自己的map数据结构,使用第一数组A来存储key-value对,采用开放寻址法来处理冲突,使用第二数组B记录映射到同一个值的所有key中最近插入的key,第一数组A不仅存储key-value对,同时存储下一个映射到同一个值的key在第一A数组中的索引来模拟链表,使用链表是为了处理哈希冲突,使用数组来模拟链表是为了在hash冲突较少的情况下可以减少cache miss,可以有效地加速查询速度。
除此之外,由于map查询操作是随机访存,cache表现较差,单次查询所耗时间比较常,因此利用了软件数据预取功能,将接下来要查询的地址,提前预取到cache中,这样在使用时可以直接在cache中读取,进一步提高了查询效率。
除了上述几个问题之外,本实施例还采用了以下技术来提高分析效率。
使用向量化技术来加速处理过程中的质量分统计模块,其在是在图中获取数据块和对每条read查询步骤之间进行的。将需要处理32次的质量分统计操作改用向量化来实现,变为1次操作。现代的高性能处理器很多采用了非一致性内存访问架构,也就是不同的cpu访问不同的内存的速度是不一样的。
对于每一个cpu来说,访问靠近的内存相比于访问远离自己的内存速度更快。为了充分利用这个特性,设计了软件内的数据申请以及存放的策略,将cpu分为两组,每组都有靠近的内存和距离较远的内存,申请内存时同时申请两份内存,在两组中分别使用一个cpu进行初始化,保证数据存放在不同的内存中,这样每个cpu都可以访问离自己比较近的内存。使得每一个cpu经常访问的数据放到离自己更近的内存中来进一步提高软件处理效率。
验证
本发明实现了一个经过了高度优化的软件,它可以快速地使用barcode来定位read的空间信息,并且将相应的空间信息写回到测序文件中。在Intel Xeon Platinum83698 CPU@2.9GHz,单节点64核,256G内存的机器上,输入文件为gz格式的双端文件,大小分别为6.3G和6.8G,构造barcode map的文件为h5格式,大小为1.8G,输出文件为gz格式,大小为6.9G,采用本发明的方法,处理速度达到了80S。这对于加快下游分析任务有重要意义,为生物信息领域的工作者提供了一种更加快速的空间转录测序研究工具。
实施例二
本实施例提供一种空间转录组测序系统,包括:
数据读取模块,其用于获取测序数据和barcode位置信息数据;
数据处理模块,其用于基于测序数据、barcode位置信息数据和生产者-消费者模型进行分析得到测序结果;其中,所述生产者-消费者模型的构建过程为:
消费者线程按块读取barcode位置信息文件,基于barcode位置信息文件构建map数据结构;
生产者线程按块读取fastq测序数据,将读取的数据转化read格式放入数据块队列中;
消费者线程从数据块队列获取数据块,解析出read,对于每条read,使用构建好的map数据结构查询read的位置,如果未查询到,进行容错处理后再查询,将查询得到的相应的位置对应的read交给写线程,仍未查询到,直接丢弃。
实施例三
本实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述所述的一种空间转录组测序方法中的步骤。
实施例四
本实施例提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述所述的一种空间转录组测序方法中的步骤。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (8)
1.一种空间转录组测序方法,其特征在于,包括如下步骤:
获取测序数据和barcode位置信息数据;
基于测序数据、barcode位置信息数据和生产者-消费者模型进行分析得到测序结果;其中,所述生产者-消费者模型的构建过程为:
消费者线程按块读取barcode位置信息文件,基于barcode位置信息文件构建map数据结构;
生产者线程按块读取fastq测序数据,将读取的数据转化read格式放入数据块队列中;
消费者线程从数据块队列获取数据块,解析出read,对于每条read,使用构建好的map数据结构查询read的位置,如果未查询到,进行容错处理后再查询,将查询得到的相应的位置对应的read交给写线程,仍未查询到,直接丢弃;
map数据结构的构建过程为:采用第一数组存储key-value对,采用开放寻址法来处理冲突,采用第二数组记录映射到同一个值的所有key中最近插入的key,第一数组同时存储下一个映射到同一个值的key在第一数组中的索引来模拟链表;
map数据结构的构建时,采用布隆过滤器来过滤掉map中不存在的barcode。
2.如权利要求1所述的一种空间转录组测序方法,其特征在于,所述测序数据的格式采用fastq未压缩格式文件或fastq压缩格式文件;在使用fastq未压缩文件时,使用单线程,在使用fastq压缩格式文件时,使用多线程解压,然后将解压结果交给生产者。
3.如权利要求1所述的一种空间转录组测序方法,其特征在于,测序结果中,如果输出为未压缩格式的文件,那么就使用单个写线程来输出文件,如果输出压缩格式的文件,那么使用多线程压缩来输出压缩文件。
4.如权利要求2所述的一种空间转录组测序方法,其特征在于,fastq压缩格式文件解压缩时,采用流式解压缩。
5.如权利要求1所述的一种空间转录组测序方法,其特征在于,使用构建好的map数据结构查询read的位置时,将接下来要查询的地址,提前预取到cache中。
6.一种空间转录组测序系统,其特征在于,包括:
数据读取模块,其用于获取测序数据和barcode位置信息数据;
数据处理模块,其用于基于测序数据、barcode位置信息数据和生产者-消费者模型进行分析得到测序结果;其中,所述生产者-消费者模型的构建过程为:
消费者线程按块读取barcode位置信息文件,基于barcode位置信息文件构建map数据结构;
生产者线程按块读取fastq测序数据,将读取的数据转化read格式放入数据块队列中;
消费者线程从数据块队列获取数据块,解析出read,对于每条read,使用构建好的map数据结构查询read的位置,如果未查询到,进行容错处理后再查询,将查询得到的相应的位置对应的read交给写线程,仍未查询到,直接丢弃;
map数据结构的构建过程为:采用第一数组存储key-value对,采用开放寻址法来处理冲突,采用第二数组记录映射到同一个值的所有key中最近插入的key,第一数组同时存储下一个映射到同一个值的key在第一数组中的索引来模拟链表;
map数据结构的构建时,采用布隆过滤器来过滤掉map中不存在的barcode。
7.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-5中任一项所述的一种空间转录组测序方法中的步骤。
8.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1-5中任一项所述的一种空间转录组测序方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311685055.6A CN117393046B (zh) | 2023-12-11 | 2023-12-11 | 一种空间转录组测序方法、系统、介质及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311685055.6A CN117393046B (zh) | 2023-12-11 | 2023-12-11 | 一种空间转录组测序方法、系统、介质及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117393046A CN117393046A (zh) | 2024-01-12 |
CN117393046B true CN117393046B (zh) | 2024-03-19 |
Family
ID=89466922
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311685055.6A Active CN117393046B (zh) | 2023-12-11 | 2023-12-11 | 一种空间转录组测序方法、系统、介质及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117393046B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102521528A (zh) * | 2011-12-05 | 2012-06-27 | 中国科学院计算机网络信息中心 | 一种基因序列数据的筛选方法 |
CN111676279A (zh) * | 2020-05-20 | 2020-09-18 | 东南大学 | 一种空间转录组构建方法 |
CN114489518A (zh) * | 2022-03-28 | 2022-05-13 | 山东大学 | 测序数据质量控制方法及系统 |
CN116092587A (zh) * | 2023-04-11 | 2023-05-09 | 山东大学 | 一种基于生产者-消费者模型的生物序列分析系统及方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017164936A1 (en) * | 2016-03-21 | 2017-09-28 | The Broad Institute, Inc. | Methods for determining spatial and temporal gene expression dynamics in single cells |
-
2023
- 2023-12-11 CN CN202311685055.6A patent/CN117393046B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102521528A (zh) * | 2011-12-05 | 2012-06-27 | 中国科学院计算机网络信息中心 | 一种基因序列数据的筛选方法 |
CN111676279A (zh) * | 2020-05-20 | 2020-09-18 | 东南大学 | 一种空间转录组构建方法 |
CN114489518A (zh) * | 2022-03-28 | 2022-05-13 | 山东大学 | 测序数据质量控制方法及系统 |
CN116092587A (zh) * | 2023-04-11 | 2023-05-09 | 山东大学 | 一种基于生产者-消费者模型的生物序列分析系统及方法 |
Non-Patent Citations (1)
Title |
---|
高胜寒 ; 禹海英 ; 吴双阳 ; 王森 ; 耿佳宁 ; 骆迎峰 ; 胡松年 ; .复杂基因组测序技术研究进展.遗传.2018,(第11期),24-43. * |
Also Published As
Publication number | Publication date |
---|---|
CN117393046A (zh) | 2024-01-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4533682B2 (ja) | トレース解析装置およびトレース解析方法 | |
US10268454B2 (en) | Methods and apparatus to eliminate partial-redundant vector loads | |
CN108985008B (zh) | 一种快速比对基因数据的方法和比对系统 | |
US11308171B2 (en) | Apparatus and method for searching linked lists | |
US8312227B2 (en) | Method and apparatus for MPI program optimization | |
WO2010077770A1 (en) | Device and method for configuring the same | |
JP2009539168A (ja) | 予測型データローダ | |
WO2018040270A1 (zh) | 在Windows系统中加载Linux系统ELF文件的方法及装置 | |
US20140188807A1 (en) | De-duplicated virtual machine image transfer | |
KR102287677B1 (ko) | 데이터 액세스 방법, 장치, 기기 및 저장 매체 | |
Edelkamp et al. | Efficient explicit-state model checking on general purpose graphics processors | |
US10277246B2 (en) | Program counter compression method and hardware circuit thereof | |
CN1912854A (zh) | 用于从地址高速缓存去除条目的方法和设备 | |
EP3931689A1 (en) | Device, processor, and method for splitting instructions and register renaming | |
CN114237911A (zh) | 基于cuda的基因数据处理方法、装置和cuda构架 | |
CN113257352A (zh) | 一种基因测序数据排序方法、集成电路及排序设备 | |
CN117393046B (zh) | 一种空间转录组测序方法、系统、介质及设备 | |
US9507725B2 (en) | Store forwarding for data caches | |
CN111126619A (zh) | 一种机器学习方法与装置 | |
CN114356912A (zh) | 一种向数据库写入数据的方法及计算机设备 | |
CN114780409A (zh) | 基于程序运行进程的断点设置方法、电子设备和存储介质 | |
CN114518841A (zh) | 存储器中处理器和使用存储器中处理器输出指令的方法 | |
JP4540556B2 (ja) | データアクセス方法及びそのプログラム | |
CN116804915B (zh) | 基于存储器的数据交互方法、处理器、设备以及介质 | |
CN107463512B (zh) | 分布式高速存储系统的数据更新方法 |
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 |