CN114067910A - 一种基于UMI-tools和Spark的单细胞上游大数据处理方法 - Google Patents
一种基于UMI-tools和Spark的单细胞上游大数据处理方法 Download PDFInfo
- Publication number
- CN114067910A CN114067910A CN202111346883.8A CN202111346883A CN114067910A CN 114067910 A CN114067910 A CN 114067910A CN 202111346883 A CN202111346883 A CN 202111346883A CN 114067910 A CN114067910 A CN 114067910A
- Authority
- CN
- China
- Prior art keywords
- data set
- fastq
- sam
- umi
- data
- 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
- 238000011144 upstream manufacturing Methods 0.000 title claims abstract description 12
- 238000003672 processing method Methods 0.000 title claims abstract description 8
- 238000012545 processing Methods 0.000 claims abstract description 24
- 238000000034 method Methods 0.000 claims abstract description 17
- 210000004027 cell Anatomy 0.000 claims abstract description 13
- 210000000349 chromosome Anatomy 0.000 claims abstract description 8
- 238000012216 screening Methods 0.000 claims abstract description 8
- 230000002776 aggregation Effects 0.000 claims abstract description 4
- 238000004220 aggregation Methods 0.000 claims abstract description 4
- 238000004458 analytical method Methods 0.000 description 4
- 230000014509 gene expression Effects 0.000 description 2
- 238000012163 sequencing technique Methods 0.000 description 2
- 238000007405 data analysis Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 238000003908 quality control method Methods 0.000 description 1
- 238000011002 quantification Methods 0.000 description 1
- 238000012174 single-cell RNA sequencing Methods 0.000 description 1
- 238000006467 substitution reaction 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
-
- 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/172—Caching, prefetching or hoarding of 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/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
-
- 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/5061—Partitioning or combining of resources
- G06F9/5066—Algorithms for mapping a plurality of inter-dependent sub-tasks onto a plurality of physical CPUs
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Proteomics, Peptides & Aminoacids (AREA)
- Biophysics (AREA)
- Health & Medical Sciences (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Biotechnology (AREA)
- Evolutionary Biology (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Spectroscopy & Molecular Physics (AREA)
- Analytical Chemistry (AREA)
- Chemical & Material Sciences (AREA)
- Measuring Or Testing Involving Enzymes Or Micro-Organisms (AREA)
Abstract
本发明公开了一种基于UMI‑tools和Spark的单细胞上游大数据处理方法,包括如下步骤:S1、通过HadoopBAM的接口读取FASTQ R1和FASTQ R2文件,并分别抽象为FASTQ R1数据集和FASTQ R2数据集;S2、从FASTQ R2数据集筛选出待处理的FASTQ数据集;S3、利用软件STAR将待处理的FASTQ数据集转化为SAM数据集;S4、读取GTF数据集和SAM数据集,分别根据各自记录中的染色体名进行聚合分组,得到GTF数据集组和SAM数据集组;S5、将GTF数据集组和SAM数据集组中具有相同染色体名的SAM记录和GTF记录进行拼接,并计数;S6、将计数的结果保存为结果文件。本发明大大减少了不必要的中间读写过程,提高数据处理的效率。
Description
技术领域
本发明涉及数据处理技术领域,特别涉及一种基于UMI-tools和Spark的单细胞上游大数据处理方法。
背景技术
目前使用最广泛的三种基于液滴的协议(Drop-seq、inDrop和10XChromium)均是利用对细胞条形码和独特分子标识符这两个生物信息进行特定的处理以完成定量估计,其仅通过一次实验就能对大量的细胞进行测序,并产生大量的原始FASTQ数据,而FASTQ数据文件是整个数据处理流程的起点。
对于高通量单细胞RNA测序(scRNA-seq)数据来说,在分析scRNA-seq数据前,需要先将原始的FASTQ类型的测序文件转化成可读的数据,也就是将原始FASTQ数据整理成基因表达矩阵以供下游分析,该过程包括条形码处理、序列质量控制、基因组比对和转录本量化。当前,研究者们已经开发了一些可以在单机环境下运行的软件工具包来完成从原始FASTQ数据到基因表达矩阵的处理,例如,UMI-tools、CellRanger以及STARsolo是目前最常使用的三个单细胞上游数据分析处理工具,但这三个工具都存在以下问题:1、仅能运行在单机环境上、并行度低、可拓展性差;2、子步骤存在大量冗余的中间文件读写,耗费了大量的计算资源,拖慢数据处理效率。
发明内容
为解决上述问题,本发明提供了一种基于UMI-tools和Spark的单细胞上游大数据处理方法。
本发明采用以下技术方案:
一种基于UMI-tools和Spark的单细胞上游大数据处理方法,包括如下步骤:
S1、通过HadoopBAM的接口读取FASTQ R1和FASTQ R2文件,并分别抽象为FASTQ R1数据集和FASTQ R2数据集;
S2、从所述FASTQ R2数据集筛选出待处理的FASTQ数据集;
S3、利用软件STAR将所述待处理的FASTQ数据集转化为SAM数据集;
S4、读取GTF数据集和所述SAM数据集,分别根据各自记录中的染色体名进行聚合分组,得到GTF数据集组和SAM数据集组;
S5、将所述GTF数据集组和SAM数据集组中具有相同染色体名的SAM记录和GTF记录进行拼接,并计数;
S6、将计数的结果保存为结果文件。
进一步地,所述步骤S2中的从所述FASTQ R2数据集筛选出待处理的FASTQ数据集,具体为:
S21、根据所述FASTQ R1数据集中出现频率最高的UMI构造出白名单数据集(WHITELIST RDD);
S22、分别压缩所述FASTQ R1数据集和FASTQ R2数据集得到索引好的R1数据集和索引好的R2数据集;
S23、对照所述白名单数据集,将所述FASTQ R1数据集的UMI未出现在所述白名单数据集的对应的所述索引好的R1数据集删除,得到过滤后的R1数据集;
S24、通过所述过滤后的R1数据集从所述索引好的R2数据集筛选出过滤后的R2数据集作为待处理的FASTQ数据集。
进一步地,步骤S3中所述软件STAR是利用map函数和Java本地接口直接获取并转化所述待处理的FASTQ数据集。
进一步地,所述数据集均为弹性分布式数据集。
采用上述技术方案后,本发明与背景技术相比,具有如下优点:
1、传统的流程是先将FASTQ文件写入磁盘,软件STAR再从磁盘上读取FASTQ文件并进行处理,得到的是SAM文件;而本发明是先把FASTQ文件抽象为FASTQ数据集,然后利用Spark自带的map函数和Java的本地接口将FASTQ数据集直接传输给软件STAR处理以得到SAM数据集;即本发明将原本STAR的中间结果SAM文件直接抽象为SAM数据集,大大减少了不必要的中间读写过程,提高数据处理的效率;
2、Spark是大规模数据处理的分析引擎,具有高效性、易用性、通用性和兼容性的优点,本发明利用Spark固有的可扩展性,通过自带的函数将原本仅能在单机单线程运行的计数处理流程转变成可以在集群的多台机器上并行处理的流程,实现多个计算机节点的同时进行数据处理,显著提高了数据处理速度,在相同的CPU内核消耗下实现了5-20倍左右的速度提升;
3、本发明的发明可以处理在分布式文件系统上的FASTQ文件。
附图说明
图1为本发明的方法步骤S2的流程示意图;
图2为传统流程与本发明方法的对比图;
图3为本发明的步骤S4、S5、S6的流程示意图;
图4为UMI-tools和本发明的scSpark的相关性图;
图5为不同工具在不同数据集上的运行时间对比结果图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
实施例
一种基于UMI-tools和Spark的单细胞上游大数据处理方法,包括如下步骤:
S1、通过HadoopBAM的接口读取FASTQ R1和FASTQ R2文件,并分别抽象为FASTQ R1数据集和FASTQ R2数据集;
S2、从所述FASTQ R2数据集筛选出待处理的FASTQ数据集;
如图1所示,所述步骤S2中的从所述FASTQ R2数据集筛选出待处理的FASTQ数据集,具体为:
S21、根据所述FASTQ R1数据集中出现频率最高的UMI构造出白名单数据集(WHITELIST RDD);
S22、分别压缩所述FASTQ R1数据集和FASTQ R2数据集得到索引好的R1数据集和索引好的R2数据集;
S23、对照所述白名单数据集,将所述FASTQ R1数据集的UMI未出现在所述白名单数据集的对应的所述索引好的R1数据集删除,得到过滤后的R1数据集;
S24、通过所述过滤后的R1数据集从所述索引好的R2数据集筛选出过滤后的R2数据集作为待处理的FASTQ数据集。
如图2所示,传统的流程是先将FASTQ文件写入磁盘,软件STAR再从磁盘上读取FASTQ文件并进行处理,得到的是SAM文件;而本发明的方法(简称scSpark)是先把FASTQ文件抽象为FASTQ数据集,然后利用Spark自带的map函数和Java的本地接口将FASTQ数据集直接传输给软件STAR处理以得到SAM数据集;即本发明将原本STAR的中间结果SAM文件直接抽象为SAM数据集,大大减少了不必要的中间读写过程,提高数据处理的效率。
S3、利用软件STAR将所述待处理的FASTQ数据集转化为SAM数据集;
步骤S3中所述软件STAR是利用map函数和Java本地接口(Java NativeInterface)直接获取并转化所述待处理的FASTQ数据集。
S4、读取GTF数据集和所述SAM数据集,分别根据各自记录中的染色体名进行聚合分组,得到GTF数据集组和SAM数据集组;所述SAM数据也可以是BAM数据集,其最终得到的是BAM数据集组;
S5、将所述GTF数据集组和SAM数据集组中具有相同染色体名的SAM记录和GTF记录进行拼接,并计数;
S6、将计数的结果保存为结果文件。
所述数据集均为弹性分布式数据集。
Spark是大规模数据处理的分析引擎,具有高效性、易用性、通用性和兼容性的优点,本发明利用Spark固有的可扩展性,通过自带的函数将原本仅能在单机单线程运行的计数处理流程转变成可以在集群的多台机器上并行处理的流程,实现多个计算机节点的同时进行数据处理,显著提高了数据处理速度,在相同的CPU内核消耗下实现了5-20倍左右的速度提升。
本实施例在性能和可拓展性方面都有极大的提升。通过比较scSpark(即本实施例的流程)和传统流程(UMI_tools、CellRanger、STARsolo)表现,如图3所示,我们发现在运行速度方面,在scSpark集群总CPU和传统流程占用的CPU数目相同的情况下,本实施例的scSpark所需要的处理事件远远小于传统流程,scSpark的运行速度能达到传统流程的5-20倍,并且scSpark继承了Spark自带的可拓展性。
如图4所示,我们还发现UMI-tools和scSpark的结果相关性高;CPU数目的提升对传统流程的性能的提升会迅速收敛,但是对于scSpark,它的性能可以取得接近线性的提升,同时我们发现,由于修改了文件读写的接口,在没有修改处理逻辑的align这一步,scSpark也能取得更高的性能和更好的可拓展性。
如图5所示,通过与UMI-tools的结果进行比较,我们可以发现scSpark生成的结果是正确的。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。
Claims (4)
1.一种基于UMI-tools和Spark的单细胞上游大数据处理方法,其特征在于:包括如下步骤:
S1、通过HadoopBAM的接口读取FASTQ R1和FASTQ R2文件,并分别抽象为FASTQ R1数据集和FASTQ R2数据集;
S2、从所述FASTQ R2数据集筛选出待处理的FASTQ数据集;
S3、利用软件STAR将所述待处理的FASTQ数据集转化为SAM数据集;
S4、读取GTF数据集和所述SAM数据集,分别根据各自记录中的染色体名进行聚合分组,得到GTF数据集组和SAM数据集组;
S5、将所述GTF数据集组和SAM数据集组中具有相同染色体名的SAM记录和GTF记录进行拼接,并计数;
S6、将计数的结果保存为结果文件。
2.如权利要求1所述的一种基于UMI-tools和Spark的单细胞上游大数据处理方法,其特征在于:所述步骤S2中的从所述FASTQ R2数据集筛选出待处理的FASTQ数据集,具体为:
S21、根据所述FASTQ R1数据集中出现频率最高的UMI构造出白名单数据集(WHITELISTRDD);
S22、分别压缩所述FASTQ R1数据集和FASTQ R2数据集得到索引好的R1数据集和索引好的R2数据集;
S23、对照所述白名单数据集,将所述FASTQ R1数据集的UMI未出现在所述白名单数据集的对应的所述索引好的R1数据集删除,得到过滤后的R1数据集;
S24、通过所述过滤后的R1数据集从所述索引好的R2数据集筛选出过滤后的R2数据集作为待处理的FASTQ数据集。
3.如权利要求2所述的一种基于UMI-tools和Spark的单细胞上游大数据处理方法,其特征在于:步骤S3中所述软件STAR是利用map函数和Java本地接口直接获取并转化所述待处理的FASTQ数据集。
4.如权利要求1-3任一项所述的一种基于UMI-tools和Spark的单细胞上游大数据处理方法,其特征在于:所述数据集均为弹性分布式数据集。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111346883.8A CN114067910A (zh) | 2021-11-15 | 2021-11-15 | 一种基于UMI-tools和Spark的单细胞上游大数据处理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111346883.8A CN114067910A (zh) | 2021-11-15 | 2021-11-15 | 一种基于UMI-tools和Spark的单细胞上游大数据处理方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114067910A true CN114067910A (zh) | 2022-02-18 |
Family
ID=80271895
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111346883.8A Pending CN114067910A (zh) | 2021-11-15 | 2021-11-15 | 一种基于UMI-tools和Spark的单细胞上游大数据处理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114067910A (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017214765A1 (zh) * | 2016-06-12 | 2017-12-21 | 深圳大学 | 针对fastq数据的多线程快速存储无损压缩方法及其系统 |
CN110021345A (zh) * | 2017-12-08 | 2019-07-16 | 北京哲源科技有限责任公司 | 基于spark平台的基因数据分析方法 |
CN113488106A (zh) * | 2021-07-02 | 2021-10-08 | 苏州赛美科基因科技有限公司 | 一种快速获取目标基因组区域比对结果数据的方法 |
-
2021
- 2021-11-15 CN CN202111346883.8A patent/CN114067910A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017214765A1 (zh) * | 2016-06-12 | 2017-12-21 | 深圳大学 | 针对fastq数据的多线程快速存储无损压缩方法及其系统 |
CN110021345A (zh) * | 2017-12-08 | 2019-07-16 | 北京哲源科技有限责任公司 | 基于spark平台的基因数据分析方法 |
CN113488106A (zh) * | 2021-07-02 | 2021-10-08 | 苏州赛美科基因科技有限公司 | 一种快速获取目标基因组区域比对结果数据的方法 |
Non-Patent Citations (1)
Title |
---|
高官涛;郑小盈;宋应文;周星宇;吴佳明;霍雷;张嘉璐;: "基于Spark MapReduce框架的分布式渲染系统研究", 软件导刊, no. 12, 24 December 2013 (2013-12-24), pages 30 - 33 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Chikhi et al. | Compacting de Bruijn graphs from sequencing data quickly and in low memory | |
Lin et al. | Network motif discovery: A GPU approach | |
AU2005333693A1 (en) | Back-off mechanism for search | |
CN109061020B (zh) | 一种基于气相/液相色谱质谱平台的数据分析系统 | |
CN110021345B (zh) | 基于spark平台的基因数据分析方法 | |
CN107133137B (zh) | 一种便捷的获取rmt测试信息的方法 | |
Utturkar et al. | Bacterial differential expression analysis methods | |
CN111651514A (zh) | 数据导入方法及装置 | |
CN115221143A (zh) | 一种跨类型迁移的算子化多源大数据处理方法 | |
CN114067910A (zh) | 一种基于UMI-tools和Spark的单细胞上游大数据处理方法 | |
US20090083751A1 (en) | Information processing apparatus, parallel processing optimization method, and program | |
CN112035461B (zh) | 数据库的表数据文件的迁移方法和系统 | |
CN103092955B (zh) | 检查点操作方法、装置及系统 | |
CN114489518B (zh) | 测序数据质量控制方法及系统 | |
CN114169651B (zh) | 一种基于应用相似性的超级计算机作业失败主动预测方法 | |
CN112818007B (zh) | 数据处理方法、装置及可读存储介质 | |
CN114420209A (zh) | 基于测序数据的病原微生物检测方法及系统 | |
WO2017215030A1 (zh) | 一种有查询功能的存储器及其查询方法 | |
CN101655782A (zh) | 基于基本块的汇编代码得出程序的数据流图的实现方法 | |
Hongyan et al. | Research and implementation of database high performance sorting algorithm with big data | |
US7117209B2 (en) | Record trimming method, apparatus, and system to improve processing in a sort utility | |
CN113178233B (zh) | 大规模单细胞转录组数据高效聚类方法 | |
CN110188804A (zh) | 基于MapReduce框架的支持向量机最优分类模型参数搜索的方法 | |
CN114817311B (zh) | 应用于GaussDB数据库存储过程的并行计算方法 | |
CN116226296B (zh) | 基于OpenGauss的数据分组聚集方法 |
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 |