CN117352068A - 一种宏基因组数据分析系统 - Google Patents
一种宏基因组数据分析系统 Download PDFInfo
- Publication number
- CN117352068A CN117352068A CN202311286371.6A CN202311286371A CN117352068A CN 117352068 A CN117352068 A CN 117352068A CN 202311286371 A CN202311286371 A CN 202311286371A CN 117352068 A CN117352068 A CN 117352068A
- Authority
- CN
- China
- Prior art keywords
- software
- data analysis
- quality control
- error correction
- assembly
- 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
- 238000007405 data analysis Methods 0.000 title claims abstract description 76
- 238000003908 quality control method Methods 0.000 claims abstract description 32
- 238000012937 correction Methods 0.000 claims abstract description 28
- 230000007613 environmental effect Effects 0.000 claims abstract description 10
- 241000512668 Eunectes Species 0.000 claims abstract description 5
- 238000002955 isolation Methods 0.000 claims abstract description 5
- 238000012545 processing Methods 0.000 claims description 43
- 238000012544 monitoring process Methods 0.000 claims description 19
- 230000001419 dependent effect Effects 0.000 claims description 13
- 238000009434 installation Methods 0.000 claims description 13
- 238000012790 confirmation Methods 0.000 claims description 11
- 230000010354 integration Effects 0.000 abstract description 7
- 230000000875 corresponding effect Effects 0.000 description 53
- 230000006870 function Effects 0.000 description 50
- 238000000034 method Methods 0.000 description 45
- 230000008569 process Effects 0.000 description 35
- 238000012163 sequencing technique Methods 0.000 description 24
- 238000004458 analytical method Methods 0.000 description 15
- 238000010586 diagram Methods 0.000 description 12
- 238000004422 calculation algorithm Methods 0.000 description 8
- 238000013515 script Methods 0.000 description 6
- 238000001514 detection method Methods 0.000 description 5
- 238000012216 screening Methods 0.000 description 5
- 230000003993 interaction Effects 0.000 description 4
- 238000000926 separation method Methods 0.000 description 4
- 238000012351 Integrated analysis Methods 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 3
- 238000009826 distribution Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000011156 evaluation Methods 0.000 description 3
- 238000001914 filtration Methods 0.000 description 3
- 238000005206 flow analysis Methods 0.000 description 3
- 230000002452 interceptive effect Effects 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 108090000623 proteins and genes Proteins 0.000 description 3
- 108020004414 DNA Proteins 0.000 description 2
- 238000005520 cutting process Methods 0.000 description 2
- 238000012165 high-throughput sequencing Methods 0.000 description 2
- 230000000813 microbial effect Effects 0.000 description 2
- 244000005700 microbiome Species 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000003752 polymerase chain reaction Methods 0.000 description 2
- 238000001303 quality assessment method Methods 0.000 description 2
- 241000894007 species Species 0.000 description 2
- 238000003860 storage Methods 0.000 description 2
- 238000007671 third-generation sequencing Methods 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 102000053602 DNA Human genes 0.000 description 1
- 238000001712 DNA sequencing Methods 0.000 description 1
- 241000282326 Felis catus Species 0.000 description 1
- 244000035744 Hura crepitans Species 0.000 description 1
- 238000012408 PCR amplification Methods 0.000 description 1
- 125000003275 alpha amino acid group Chemical group 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000010485 coping Effects 0.000 description 1
- 229910003460 diamond Inorganic materials 0.000 description 1
- 230000004907 flux Effects 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 238000012268 genome sequencing Methods 0.000 description 1
- 244000005709 gut microbiome Species 0.000 description 1
- 238000011900 installation process Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 239000002773 nucleotide Substances 0.000 description 1
- 125000003729 nucleotide group Chemical group 0.000 description 1
- 239000011148 porous material Substances 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 102000004169 proteins and genes Human genes 0.000 description 1
- 238000010008 shearing Methods 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 230000002194 synthesizing effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 208000001072 type 2 diabetes mellitus Diseases 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
- G16B50/00—ICT programming tools or database systems specially adapted for bioinformatics
-
- 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- 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
- 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45562—Creating, deleting, cloning virtual machine instances
-
- 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45587—Isolation or security of virtual machine instances
-
- 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45591—Monitoring or debugging support
-
- 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45595—Network integration; Enabling network access in virtual machine instances
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Evolutionary Biology (AREA)
- Biophysics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Biotechnology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Spectroscopy & Molecular Physics (AREA)
- Databases & Information Systems (AREA)
- Chemical & Material Sciences (AREA)
- Analytical Chemistry (AREA)
- Proteomics, Peptides & Aminoacids (AREA)
- Bioethics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开一种宏基因组数据分析系统,涉及软件集成技术领域,该系统包括:Docker容器和图形界面;所述Docker容器用于集成多个宏基因组数据分析处理软件,其中,所述Docker容器中,利用anaconda或者环境参数进行多个宏基因组数据分析处理软件的环境隔离;所述图形界面用于基于所述Docker容器,引导用户运行质控、纠错、组装和分箱中至少一种操作。本发明实现了宏基因组数据分析流程的一体化。
Description
技术领域
本发明涉及软件集成技术领域,特别是涉及一种宏基因组数据分析系统。
背景技术
宏基因组测序技术的应用越来越广泛,同时也带来了更多的挑战,由于宏基因组的测序结果不是单一纯物种的基因组数据,因此需要高效的识别算法来辅助分析,同时也因为宏基因组测序所产生的数据量庞大,必须在最小化内存需求的前提下尽可能加快计算速度。
通常将分析流程划分为质控模块、纠错模块、组装模块和分箱模块,而这些不同分析环节又分别需要针对性的分析算法。随着算法种类的增加,对应的处理工具也越来越多。因此在分析实际数据集时,可以选择算法已有的工具直接应用,也可以实现定制算法的专业工具。
目前应对办法大多是先选择已有工具对测序得到的数据进行分析,分别下载不同工具,在分别使用不同工具对测得数据进行分析处理,因此需要频繁切换各种工具。也使得使用成本随之上升,不同工具的使用困难大致可分为以下几类:
1)在切换不同工具过程中,大多数需要先了解相关文献,才能够知道某个工具的存在,对于文献的寻找以及工具的查找都是不可避免的选择成本。
2)基于文献了解了某个工具,而在下载过程中又存在一些依赖环境,依赖软件,而不同工具所使用的依赖环境版本之间各有差异,因此必须先解决这些问题才能顺利安装,这又增加了一些安装成本。
3)在使用过程中,如果希望顺利运行,某些软件还需要了解如何通过命令行来调用,即使提供了一些运行脚本文件,也必须先了解编写脚本的语言以及脚本中使用的语言,这都有专业门槛的限制。即使一些软件提供了图形化界面,但界面的不友好,导致用户无法正确点击相应图标而无法顺利运行,这些各异运行方式都增加了使用成本。
4)按照各工具的运行方式启动成功,但是大多数工具无法动态跟踪,其工作状态无法实时了解,而且其中间信息大多基于命令行的输出,无法直观了解其工作状态,而且最终结果也大多缺乏图形化展示,无法实时掌握其运行结束的时间点。
宏基因组测序技术的应用越来越广泛,用于宏基因组测序不同流程中相关分析的工具也越来越多,但是这些工具在使用过程中有很多困难:
1)缺乏全流程一体化分析工具:目前的分析流程可以划分为质控、纠错、组装等环节,大多数工具通常只用于其中某个流程的分析,如果需要整体分析某些数据集,必须将需要用的工具手动整合在一起;少量的集成系统,如MOCAT2等软件应用范围有限,只能用于二代测序,无法将其应用于三代测序数据的处理;目前为止,尚没有一个针对三代测序数据的全流程一体化分析工具。
2)存在工具兼容性问题:各工具之间存在依赖冲突、版本冲突问题,现有工具编写语言各不相同,因此需要的环境也各不相同,即使由同一种语言编写,但其版本大多不统一,现有工具在使用过程中大多存在依赖交叉问题,以及版本冲突问题。这导致使用过程中或者每次运行前手动更改本地的环境变量,或者每次只能卸载存在冲突的其他软件来方便某一个软件的运行,这增加了用户在使用过程中的负担。
同时,还有动态依赖文件冲突问题:一些基于数据库比对的工具虽然算法底层原理皆为与数据库进行对比,但是各个工具选用的数据库又各不相同,因此使用过程中又需要单独设置这些工具的参考数据库,而且某些工具的数据库又存在下载限制或是收费限制的问题。还存在动态依赖文件工具运行时所需要借助的其他软件的问题,也就是一个软件的运行必须使用其他某个或是某些软件,但是这些软件又需要用户手动安装。
此外,还有工具选择困难问题:一些基于数据库比对的工具虽然算法底层原理皆为与数据库进行对比,但是各个工具选用的数据库又各不相同,因此使用过程中又需要单独设置这些工具的参考数据库,而且某些工具的数据库又存在下载限制的问题,这也会增加用户浪费无用的工具甄别时间。工具选择困难问题还包括对于可以完成同一目的的不同软件,这些软件处理目的一样,但是处理方式不同,各自实现的算法不同,导致结果也不同。这些不同的实现方式对用户的原始数据的处理效果也不同,因而需要找到最合适的处理算法。
3)工具易用性有待提高:现有工具的实现方式各不相同,其运行命令也各不相同,如需要切换不同的工具,一般需要了解该工具编写语言的基础语法才可以顺利运行,这导致用户在使用过程中需要单独了解每个工具的运行方式。而且大多数软件基于命令行和命令脚本的编写,没有直观的图形化界面,在使用过程中增加了诸多不便。同时,现有工具在处理一些大型数据集时需要很长时间的运行,但是在运行期间没有对于运行状态的展示,因此只能通过操作系统来查看各工具的运行状态。并且大多数工具缺乏中间信息的图像化展示,用户需要了解其输出信息的含义才可以判断当前运行状态。
4)应用范围有限:大多软件工具可以处理的输入文件只有fastq格式,无法处理其他fastq.gz、sra等格式数据,这使得应用之前必须转换格式或是解压缩,这又需要足够的空间来支撑。同时也存在Windows、Linux和Mac系统中跨平台使用难的问题。
综上,宏基因组数据分析具有较高的专业门槛,缺乏全流程一体化分析工具,工具存在兼容性问题、工具选择困难,其易用性也有待提高。
发明内容
本发明的目的是提供一种宏基因组数据分析系统,实现了二、三代测序宏基因组数据分析流程的一体化。
为实现上述目的,本发明提供了如下方案:
一种宏基因组数据分析系统,包括:Docker容器和图形界面;所述Docker容器用于集成多个宏基因组数据分析处理软件,其中,所述Docker容器中,利用anaconda或者环境参数进行多个宏基因组数据分析处理软件的环境隔离;所述图形界面用于基于所述Docker容器,引导用户运行质控、纠错、组装和分箱中至少一种操作。
可选地,一种宏基因组数据分析系统还包括服务模块,所述服务模块用于监听用户的操作记录及对应操作的数据处理记录及数据处理的处理结果,所述服务模块通过Springboot搭建。
可选地,在集成多个宏基因组数据分析处理软件方面,所述Docker容器具体用于:
在所述Docker容器内部安装各所述宏基因组数据分析处理软件的环境依赖文件;
将各所述宏基因组数据分析处理软件的软件依赖安装入系统环境变量内;
在所述Docker容器内逐一安装各所述宏基因组数据分析处理软件,并将各安装路径加载为环境变量;所述环境变量用于所述服务模块通过shell根据各个宏基因组数据分析处理软件的指定环境变量来完成各个宏基因组数据分析处理软件的处理操作;
通过Dockerbuild为所述Docker容器构建一个镜像,并在Dockerfile中设置Springboot运行时使用的网络端口,在Springboot内部搭建服务接口,服务接口用于对应各个宏基因组数据分析处理软件的接口。
可选地,对于Spring boot搭建的所述服务模块,在Spring boot内部,对外暴露公共接口路径;所述公共接口路径包括查询状态请求路径,各查询状态请求路径包括请求路径参数,所述请求路径参数用于区分各宏基因组数据分析处理软件;所述服务模块用于通过查询状态请求路径监听对应的Get请求。
可选地,所述图形界面包括质控操作模块、纠错操作模块、组装操作模块和分箱操作模块;所述质控操作模块包括质控软件选择列表、质控确认按钮和质控结果记录,所述纠错操作模块包括纠错软件选择列表、纠错确认按钮和纠错结果记录,所述组装操作模块包括组装软件选择列表、组装确认按钮和组装结果记录,所述分箱操作模块包括分箱软件选择列表、分箱确认按钮和分箱结果记录;
所述质控软件选择列表用于质控软件的选择,所述纠错软件选择列表用于纠错软件的选择,所述组装软件选择列表用于组装软件的选择,所述分箱软件选择列表用于分箱软件的选择;
所述质控结果记录用于显示被选择的质控软件的运行结果,所述纠错结果记录用于显示被选择的纠错软件的运行结果,所述组装结果记录用于显示被选择的组装软件的运行结果,所述分箱结果记录用于显示被选择的分箱软件的运行结果;
各宏基因组数据分析处理软件为质控软件、纠错软件、组装软件或者分箱软件。
可选地,所述质控软件选择列中质控软件包括fastqc软件;所述纠错软件选择列表中纠错软件包括FMLRC软件;所述组装软件选择列表中组装软件包括megahit软件;所述分箱软件选择列表中分箱软件包括Maxbin软件。
可选地,所述图形界面还用于显示及输入各宏基因组数据分析处理软件的执行参数,当各宏基因组数据分析处理软件运行时,采用所述图形界面上对应的执行参数。
可选地,一种宏基因组数据分析系统还包括日志记录模块,所述日志记录模块用于记录用户的操作、对应操作的数据处理的处理结果和对应操作的运行时间。
根据本发明提供的具体实施例,本发明公开了以下技术效果:
本发明采用Docker容器集成多个宏基因组数据分析处理软件,利用anaconda或者环境参数进行多个宏基因组数据分析处理软件的环境隔离,避免多个软件的冲突问题;通过图形界面引导用户运行质控、纠错、组装和分箱中至少一种操作,实现宏基因组数据分析流程的一体化。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种宏基因组数据分析系统结构示意图;
图2为本发明实施例提供的一种宏基因组数据分析系统运行逻辑示意图;
图3为本发明实施例提供的简易版图形界面示意图;
图4为本发明实施例提供的简易版运行逻辑示意图;
图5为本发明实施例提供的完整版运行逻辑示意图;
图6为本发明实施例提供的启动界面示意图;
图7为本发明实施例提供的选择存放目录界面示意图;
图8为本发明实施例提供的Trimmomatic软件选定界面示意图;
图9为本发明实施例提供的选择要处理的文件界面示意图;
图10为本发明实施例提供的选择后续软件界面示意图;
图11为本发明实施例提供的结果展示面板示意图;
图12为本发明实施例提供的结果文件选取示意图;
图13为本发明实施例提供的pdf文件打开后内容显示示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的目的是提供一种宏基因组数据分析系统,实现了宏基因组数据分析流程的一体化。
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
术语解释如下。
1)宏基因组:宏基因组是指特定环境中的所有遗传物质的总和,其中包含可培养和未可培养的微生物的基因,对微生物群落DNA进行高通量测序,鉴定群体中所有功能基因的种类和丰度,泛指研究微生物组的宏基因组学。
2)二代测序:又称为高通量测序,技术层面看,以边合成边测序为原理,通过对聚合酶链式反应(PCR)分子簇上碱基连接的荧光信号进行捕获,并转换为碱基信息。与一代测序相比,具有通量高,单碱基成本低的巨大优势。
3)三代测序:指单分子测序技术。不需要经过PCR扩增,对每一条DNA分子的单独测序,也叫从头测序技术,即单分子实时DNA测序。
4)Spring boot:Spring Boot是一套开源框架,可以简化Spring应用的创建及部署。它提供了丰富的Spring模块化支持,可以帮助开发者更轻松快捷地构建出企业级应用。
5)Docker:Docker是一个开源的应用容器引擎,基于Go语言并遵从Apache2.0协议开源。Docker可以让开发者打包应用以及依赖包到一个轻量级、可移植的容器中,容器是完全使用沙箱机制,可以实现高度可移植的工作负载。
本发明希望通过简洁的图形化界面帮助用户快速搭建一套完整的宏基因组测序数据分析流程,方便用户在不同分析环节选择最适合的工具,并根据不同工具的处理结果选择最恰当的组合方式来搭建个性化的分析流程,从而完成微生物群落的分类。
如图1所示,本发明一种宏基因组数据分析系统,包括:Docker容器和图形界面;所述Docker容器用于集成多个宏基因组数据分析处理软件,其中,所述Docker容器中,利用anaconda或者环境参数进行多个宏基因组数据分析处理软件的环境隔离;所述图形界面用于基于所述Docker容器,引导用户运行质控、纠错、组装和分箱中至少一种操作。
本发明基于Java实现图形界面,图形界面引导用户选择不同的工具,以及对不同工具的定制使用方案。实际使用过程中,凭借Java和Docker的跨平台机制,实现本发明的跨平台使用。对在服务器中的使用,既可以使用直接的显示器展示,也可以通过支持X协议的MobaXTerm等软件远程使用。
一种宏基因组数据分析系统还包括服务模块,所述服务模块用于监听用户的操作记录及对应操作的数据处理记录及数据处理的处理结果,所述服务模块通过Spring boot搭建。也就是说服务模块开启服务监听,监听用户请求,用户请求为处理前面图形界面发过来的数据处理请求。
Spring boot是在Docker容器中设置的控制模块即操作监听功能的实现形式。图形界面为容器(系统)中的首页,即引导用户功能的展示形式,图形界面中显示有可供用户选择的操作内容。
一种宏基因组数据分析系统还包括日志记录模块,所述日志记录模块用于记录用户的操作、对应操作的数据处理的处理结果和对应操作的运行时间。
所述图形界面包括质控操作模块、纠错操作模块、组装操作模块和分箱操作模块;所述质控操作模块包括质控软件选择列表、质控确认按钮和质控结果记录,所述纠错操作模块包括纠错软件选择列表、纠错确认按钮和纠错结果记录,所述组装操作模块包括组装软件选择列表、组装确认按钮和组装结果记录,所述分箱操作模块包括分箱软件选择列表、分箱运行按钮和分箱结果记录。
所述质控软件选择列表用于质控软件的选择,所述纠错软件选择列表用于纠错软件的选择,所述组装软件选择列表用于组装软件的选择,所述分箱软件选择列表用于分箱软件的选择。
所述质控结果记录用于显示被选择的质控软件的运行结果,所述纠错结果记录用于显示被选择的纠错软件的运行结果,所述组装结果记录用于显示被选择的组装软件的运行结果,所述分箱结果记录用于显示被选择的分箱软件的运行结果。
各宏基因组数据分析处理软件为质控软件、纠错软件、组装软件或者分箱软件。
所述图形界面还用于显示及输入各宏基因组数据分析处理软件的执行参数,当各宏基因组数据分析处理软件运行时,采用所述图形界面上对应的执行参数。即图形界面包括简易版和完整版,简易版包括质控操作模块、纠错操作模块、组装操作模块和分箱操作模块。完整版不仅包括质控操作模块、纠错操作模块、组装操作模块和分箱操作模块,还包括显示及输入各宏基因组数据分析处理软件的执行参数的功能。
质控操作模块、纠错操作模块、组装操作模块和分箱操作模块自上而下排列。
简易版按照功能模块划分,宏基因组数据分析系统整体可以划分为启动运行、日志记录、引导用户和操作监听四个功能。
引导用户功能:本发明的图形界面会按照顺序自上而下引导用户选择各个分析流程所要使用的软件工具,并在用户选定工具之后引导用户确定相应软件运行所必须的控制参数。并在最后引导用户启动上述所选择的软件工具开始分析相应的数据。此外,还会借助菜单栏引导用户选择查看各个工具的简介,帮助用户更好地熟悉不同软件,选择最恰当的工具将进行数据的处理。最后,当所选定的工具运行完毕后,图形界面还会引导用户查看这些软件的运行结果,便于用户比较不同的软件工具。
操作监听功能:本发明在Docker容器内的服务器模块(服务模块)在启动后会实时监听用户操作,比如,用户选择了哪些工具、是否启动运行、是否查看各个工具简介以及是否查看运行结果等事件。这个服务器模块在监听到相应的事件之后会将下一步需要执行的操作分配给相应的处理者,并将处理结果再通过HTTP返回。
启动运行功能:本发明的启动运行功能主要用于按照用户所选择的工具以及用户所设定的运行方式来启动所要运行的工具,即实际处理用户操作请求,启动对应的软件进行数据处理。
日志记录功能:这一功能在于记录不同软件工具的输出结果以及运行时间,既可以帮助用户记录各个工具运行过程中的输出信息,便于用户后续回溯,对不同软件工具筛选,也可以记录可能出现的错误操作或是潜在问题,帮助用户甄别剔除这部分会影响结果的问题。
上述几个主体功能在实际运行过程中可以相互配合,从而完成对输入数据的处理。从用户使用角度来说,首先涉及的是引导用户功能,无论简易版或是完整版皆需要这一功能来完成与用户的交互,用户在这一功能中选择相应的软件并以参数的形式设定软件执行方式。之后用户的各类点击事件会以HTTP的形式发送,同时服务模块的操作监听功能会按照各类请求进行相应处理,并按照相应需要执行的功能分发给执行功能,最后监听功能会将执行结果返回给引导功能来返回用户。当执行功能接收到启动命令后,会根据不同的要求分别启动相应软件来完成对应操作,并在启动的同时,通知日志记录功能,由记录功能来记录各个任务的启动时间,同时等待任务结束后的结束指令,从而完成结束时间的监听,同时记录由执行功能发送到记录功能的日志信息。将这些信息保存以供用户查询。
由此完成上述四个主体功能之间的衔接。而在这四个功能中,完整版与简易版的区别仅在引导用户功能,简易版仅支持设置输入文件以及运行所必须的参数,完成最基础的功能执行,而在完整版内,则支持所有可设置的参数,实现灵活度更高的运行方式。
在简易版中,软件执行功能的实现依赖于Docker容器。以Docker容器来进行所有软件依赖的管理,选择Ubuntu镜像作为基础,再将其他所有需要的工具(可以理解为宏基因组数据分析处理软件)全部装入这个容器之内。最后并通过一个由Spring boot搭建的服务模块来处理图形界面模块的数据请求,同时启动相应的软件对数据进行分析。
在集成多个宏基因组数据分析处理软件方面,所述Docker容器具体用于:在所述Docker容器内部安装各所述宏基因组数据分析处理软件的环境依赖文件;将各所述宏基因组数据分析处理软件的软件依赖安装入系统环境变量(PATH环境变量)内。在所述Docker容器内逐一安装各所述宏基因组数据分析处理软件,并将各安装路径加载为环境变量;所述环境变量用于所述服务模块通过shell根据各个宏基因组数据分析处理软件的制定环境变量来完成各个宏基因组数据分析处理软件的处理操作;通过Dockerbuild为所述Docker容器构建一个镜像,并在Dockerfile中设置各宏基因组数据分析处理软件的暴露接口。
其中,将各所述宏基因组数据分析处理软件的软件依赖安装入系统环境变量内的是将这些软件在Docker容器内完成安装,并将编译过后得到的可执行文件拷贝至容器内的PATH环境变量所定义的路径中,从而确保可以在任意位置调用这些已安装好的软件。
上述软件安装入系统PATH环境变量中,但是各个软件依赖于同一个执行环境的不同版本,又或是执行过程中需要其他已有软件的支持,但是并非所有软件都需要,这时就需要在执行某个特定软件之前,先一步指定运行所需的所有依赖环境。最常见的比如执行需要python2,而另一些软件需要python3,这样运行之前需要事先指定运行环境。
更具体地,Docker容器实现集成的具体步骤如下:
从Docker Hub中拉取Ubuntu镜像,以Ubuntu镜像为基础创建起始Docker容器,同时指定端口映射,默认为8080。Docker容器内部安装所需要的环境依赖完成各类软件的配置,比如Java、python、Perl等环境的安装,以及对应文件权限的更改,并将各个版本统一存放于系统环境变量目录中,从而创造后续所要运行的软件的依赖环境。同时,针对各个集成入内的软件,按其各自所需的特有软件依赖安装入系统环境变量内,准备完毕后将要集成的软件环境依赖后再根据各个软件的安装方式逐一安装,并将所有软件的安装路径加载为环境变量,以此实现对Springboot的接口暴露,从而可以保证后续的Springboot服务模块可以通过shell根据各个软件的指定环境变量来完成各个软件的处理操作。将所需的所有软件以及Springboot制作的服务模块装入Docker容器后,将这个Docker容器通过Dockerbuild构建为一个独立的镜像,并在dockerfile中使用expose暴露接口以供用户的交互,另外再dockerfile中使用CMD命令来默认启动Springboot监听,同时暴露端口以及数据卷的挂载目录。从而完成docker容器的构建。
Dockerfile暴露的是Springboot运行起来之后所使用的网络端口,服务接口是Springboot内部对应的数据分析处理软件。
对于服务模块的软件执行功能,在本发明内按照数据分析流程可分为以下四个步骤,在质控阶段以二代测序质量控制(fastqc)为例,在Docker容器内,安装好这款软件所需要的Java依赖环境,并将其编译后对应的可执行文件拷贝入/usr/local/bin这个环境变量路径内,从而可以保证该软件可以直接使用,在这一阶段装入的软件包括但不限于:FastQC@0.11.9、FastQ Screen@0.14.0、BBTools@39.01、Trimmomatic@0.39、Multi QC@1.14、Nano Plot@1.33.0、LongQC@1.2.0;在纠错阶段,以FMLRC为例,会将其处理过程中所需要的awk、tr、ropebwt2、fmlrc-convert依赖软件及其自身FMLRC安装好后,统一拷贝至环境变量的目录下,按照同样的方法,在纠错模块中整合的工具包括(纠错软件)但不限于:fmlrc@1.0.0、Jabba@1.0、LoRDEC@0.9、HALC@1.1、ECTools@beta、NanoReviser@1.0、Proovread@2.14.1、nanoCORR@1.0;在组装阶段,以megahit为例,提前安装好zlib、gzip、bzip2、cmake、g++,这些编译过程中需要的依赖,之后根据该软件的源码进行编译,并将编译后的可执行文件放入环境变量中,同理,在组装模块中整合入内的工具包括但不限于:Megahit@1.2.9、SPAdes@3.15.5、MetaSPAdes@3.15.5、RayMeta@2.3.1、Metavalvet@1.2.01、IDEA-UD@1.1.3、metAMOS@1.5rc3、MaSuRCA@4.1.0;在分箱阶段,以Maxbin为例,提前安装好g++、Perl5、bowtie2、fragGeneScan、Hmmer3、IDEA-UD这些依赖软件,并将其安装至环境变量中,并通过cpan安装好perl的LWP::simple、findBin两个模块,最后再将运行文件拷贝至环境变量,在这一阶段中的工具包括但不限于:MaxBin@2.2.7、ConCoct@1.1.0、COCACOLA@1.0、Meta BAT@2.15、VizBin@1.0.0、GroopM@1.0、MetaCluster@1.4.4、MetaQuast@5.2.0、CheckM@1.1.6、Kraken@2.1.2、CLARK@1.2.6.1、Kallisto@0.48.0、Kaiju@1.9.2、DIAMOND@2.0.15、mmseq@14-7e284、Taxonomer@0.5、Centrifuge@1.0.4、MetaPhlAn@4.0.3。
上述四个阶段的所有工具安装入Docker镜像内,并在实际运行时指定每个软件所需要的运行依赖,并以其所对应的执行环境版本来启动各个工具的运行,从而避免了多个软件安装繁杂、各个软件工具之间依赖冲突的问题。
将所需要的软件装入Docker容器之后,本发明根据提前设定好的流程,可以按如图2的流程顺序选择相应的软件,本发明会按照所选定的软件来完成前后软件输出与输入文件之间的衔接转换过程。图2中字母表达式均为文件格式,图2中分类模块即为分箱模块。
比如,服务模块的执行功能按流程划分四类,在质控过程中,trimgalore运行时需要设定的数据种类、过滤长度皆来源于fastqc的检测结果;组装之前,以FMLRC为例,其需要的文件,对于二代数据会先通过ropebwt2配合awk、sort、tr、fmlrc-convert来进行构建,之后再将原始的纳米孔核苷酸或氨基酸序列的格式(FASTA/FASTQ)文件以及这个构建好的npy索引文件一同导入fmlrc中进行分析;另外在组装之前,比如megahit等组装软件,最主要的参数便是长度为k的短序列(k-mer)的大小,这一参数的设定,在本发明内部会使用kmerGenius来进行检测,从而实现前后衔接,并在每个工具运行结束后默认使用QUAST对结果进行评估。最后在分箱这一步,以metabat软件为例,本发明内部会默认使用bowtie2-build、bowtie2、samtools、jgi_summarize_bam_contig_depths来构建前述依赖文件,以确保可以正确运行,最后当相应软件执行完毕后会调用checkm对分箱结果进行评估。
trimgalore和fastqc都是质控软件,fastqc负责评估测序数据质量,产生一系列统计图表;随后trimgalore负责剪切和过滤低质量的碱基序列。
在组装阶段,以组装软件megahit来举例,megahit软件基于k-mers来组装,因此需要提前设定参数k的值。kmerGenius软件的作用是是能帮助确定最佳的k值。QUAST软件是组装质量评估工具,通过计算各种指标来评估基因组组装的质量。
在分箱阶段,checkm是分箱质量评估工具。
对同一组数据得到的多条质控结果记录进行筛选,之后再次使用fastqc进行质控剪切结果检测,以便用户对trimgalore等质控软件的剪切结果进行进一步的比较。其中,筛选是根据fastqc软件的检测结果进行筛选,筛选的条件包括数据整体描述、长度分布情况、adapter序列检测结果和CG含量。用户通过不同质控软件剪切结果的fastqc检测结果进行筛选,可以得到相应的数据是否合格的检测结果。
由此完成了全流程各个不同软件工具之间的衔接问题,从而形成一个完整的全流程分析平台。
上述服务端的分析流程搭建完毕后将要解决的是软件易用性差的问题。
易用性差就是需要用各种各样的命令来编写,且存在各种错误,即操作复杂。
总结来说,对于引导用户功能,只需用户点击图形界面,发送对应的请求,则请求到达Springboot,Springboot监听功能配合执行功能启动相应的软件进行处理,并进行结果显示。常规的软件,是在操作之后进行运行,无结果显示,本发明中还通过日志记录功能增加了结果显示。
对于使用命令而言,本发明的使用方式主要在于图形界面内,用户在使用时根据如图3所示,本发明的引导用户功能,选取必须的参数即可,并不需要编写任何的shell命令脚本来启动工具,由此避免了繁杂的启动命令编写过程。
具体以porechop软件为例,只需要在界面内选择将要进行质控过滤的原始文件,本发明的运行模块会默认将这些输入文件经过字符串的操作拼接生成“porechop-Iinput.fastq.gz-o input_porechoped.fastq.gz-tˋcat/proc/cpuinfo|grep processor|wc-lˋ>input_porechop.log”这样一个完整的命令,从而启动运行。
另一方面,对于结果展示与引导用户功能结合而言,本发明会提供一个查询结果的菜单栏,用户使用时只需要点击即可查看所有启动过的工具的运行记录,并通过运行时间与进度条的形式来对运行状态做区分。另外也可通过结果菜单栏,查看运行过程中输出的结果文件,会调用系统的默认查看器来进行展示。
具体实现方法在于服务器端日志记录功能配合运行功能对所有启动执行的工具加以记录,服务器模块的操作监听功能在接收到用户的查询请求后由日志记录功能返回相应的数据,在图形界面中的swing接收到数据之后,再由引导用户功能对结束时间的有无进行判断,从而对不同情况加以区分。而对于结果面板,则在接收到服务模块响应的文件路径数据后对响应的文件进行读取展示。
基于Springboot搭建的服务模块部分进一步展开,具体实现步骤如下:
在Springboot内部,对外暴露公共接口路径,从功能角度可以划分为启动软件、查询状态、查看结果与帮助信息四类请求路径。其中,针对不同软件,则通过请求路径中的变量来区分所要执行的不同功能。对于启动软件,在接收到图形界面发送的post请求后,将post请求体内部的执行参数与请求路径中指定的将要执行的软件启动命令以及对应的执行环境拼接为一个完整的可执行的命令,同时记录命令内容以及启动时间。对于查询状态,Springboot会监听相应的get请求,以请求路径参数的不同来区分用户将要查看的是哪一个软件的执行状态,上一步中所启动运行的所有软件都会有对应的监听结束事件,在运行结束的同时,记录结束时间以及输出结果文件,由此可根据结束时间的与否来为用户返回相应信息。对于查询结果,同样以get请求的路径为区分标准来根据用户请求返回相应的处理结果。对于帮助信息,同样根据用户在图形界面的不同点击事件所触发的不同请求路径来划分,返回给用户所需要的软件信息。
本发明增加了一些软件工具对多种不同数据格式的支持,用户只需要选择自己已有的文件,如果格式不适配,本发明的运行功能会在实际调用工具处理之前进行默认的转换,从而可以实现多种格式的文件支持。
在点击运行之后,将相应的文件发送到后台,当后台发现文件格式不对时,进行相应的格式转化,以解决应用范围有限的问题。
以FMLRC软件为例,其纠错的源文件需要为fasta格式,本发明会以后缀名来检测用户输入的文件格式,比如,将gz文件解压缩、fastq转换为fasta,从而实现多种格式文件分析的支持。
对于完整版而言,主要增加的功能在软件执行功能方面各软件工具的执行参数,相较于简易版增加了需要运行的某个软件的所有参数的设定方式,从而提供了更多运行时灵活性。这一功能的实现主要在于选定将要处理的文件这一步骤的修改,在选定处理文件的同时,使用一个滚动面板将所有可设定的参数在图形界面的启动运行模块进行展示,由此用户可以方便地看到每个参数的设定值;可以理解为,简易版为默认方式,完整版为根据自定义的内容对简易版进行更改后的版本,即在简易版的基础上自定义一些内容,完整版是简易版的补充、扩充。
如果对于软件版本不满意,在完整版中,还可以更换为用户本地系统内的软件进行分析,从而提供了软件选择的灵活性,这一功能的实现,在于将Java搭建的服务模块提取到用户系统,而非在Docker容器内只能使用本发明默认安装好的版本。
此外,如果对某个整合入内的软件工具不熟悉,可以通过帮助菜单栏的面板查看相应的软件官网信息,这一功能的实现主要通过一个名为config.json的配置文件将各个软件工具的官网链接写入这个文件内,服务端的软件帮助模块即可在接收到图形界面请求之后将对应的数据返回,以便在图形界面中完成展示。
按照运行逻辑而言,简易版的运行逻辑如图4,首先启动GUI模块的jar包,之后在这个图形界面启动过程中,会默认基于已有的Docker镜像创建一个Docker容器,并在这个容器内开启由springboot搭建的服务端对图形界面的数据请求进行监听。之后在图形界面内会监听用户的所有点击事件,并结合服务端的相应模块完成相应业务逻辑。
另外,对于完整版而言,其运行逻辑如图5,对于完整版需要手动启动图形界面与服务端的两个jar包,分别用于请求的监听以及用户交互事件的监听,从而完成相对应逻辑的协调处理。
最后,对于工具拓展,如果本发明中有某些新软件工具未纳入其中,可以很方便的进行拓展,对于完整版,只需要修改对应的properties配置文件并同时实现其运行方法即可;而在简易版中,则需要进入现有的Docker容器内,完成新增软件的安装,并实现对应的处理逻辑,最后使用这个新的Docker容器代替原有的Docker镜像即可完成拓展,方便后期维护。
本发明通过一个jar(JavaARchive)包完成内置所有工具的一键式安装,通过图形交互代替各个工具运行命令的编写,快速实现不同工具之间的切换和比较,实现个性化定制处理流程,统一结果信息展示,便于重点关注数据在不同工具之间的结果对比。
本发明的技术效果如下:
1)本发明为一键式安装、全流程分析平台:只需要下载一个jar包即可将内置的全流程常用工具全部下载完毕,直接通过java指令即可启动,不需要额外的依赖环境支持,借助本发明即可实现宏基因组测序的全流程分析。
2)本发明图形界面、简单易用:采用图形化交互式运行,通过简洁直观的图形化界面引导用户运行,以交互式的方式帮助用户完成各个分析环节不同工具的部署,不需要额外的非宏基因组背景知识的学习了解;采用图形化界面直观展示运行状态:所有已启动的工具都可以在本发明中实时监测其运行状态,交互式方式提醒用户工具运行完成与否;同时,可直观展示运行结果,所有内置工具运行完毕之后都有统一的界面展示告知用户当前工具的运行结果以及处理信息,方便用户对运行工具的评估。
3)本发明跨平台、应用范围广:可以跨平台,本发明基于Java实现,因此可借助Java的跨平台机制同时实现在Windows、Linux和Mac系统的运行;同时,应用范围广,本发明同时内置了二三代测序数据的处理工具软件,因此本发明适用于二三代的全流程分析,不止局限于二代或三代,或是其中的某个流程处理。此外,可处理多种文件:除了基础的fastq数据,也可以直接应用于中间文件处理fasta、gz、bam、sam、bed、sra等格式的中间文件。
总结来说,现有的数据处理工具大多为某个特定环节的特定算法的实现方案,因此在数据分析整体流程中衔接过程难以实现,各工具的下载安装以及使用都增加了使用成本。对此,本发明将各工具整合为一个全流程的图形化系统,简化了各工具的下载安装过程,避免了各工具之间依赖的版本冲突问题。
现有的各数据处理工具的运行方式各不相同,在不同工具之间切换过程需要耗费大量精力,同时也需要对各个工具分别编写运行脚本,这一过程增大了用户使用负担。因此,本发明通过图形化界面的方式引导用户完成各个工具的部署,简化了用户使用各个工具的方式。
本发明使用示例如下。
一种宏基因组数据分析系统启动需要在用户本地运行“Java-jar client.jar”来启动,之后根据图形界面引导选择所要运行的版本,比如选择简易版,数据选取SRR341725的两个fastq双端测序数据进行。SRR34172为Megahit工具提供的测试数据。
SRR341725的两个fastq双端测序数据是一个二代测序数据,所以选择质控-组装-分箱这一流程,之后按照图形界面依次选择质控软件trimmomatic、组装软件megahit、分箱软件metabat2,再点击“运行按钮”,即可完成用户界面的所有操作。
每个阶段均设置一个下拉选择框,界面底部一个汇总的运行按钮,直接点击底部就可以运行界面上方所选择的所有软件。
对于Docker容器内的实际运行,源自于Springboot的请求监听,监听到用户的点击运行事件之后会同时获取到用户所选择的这三个工具,以及所要处理的这两个数据,之后会生成不同的运行命令,其中最主要的三条分别为“java-jar~/trimmomatic/trimmomatic-0.39.jar SE input_1.fastq.gz input_2.fastq.gz input_trim_paired_R1.fq.gz input_trim_unpaired_R1.fq.gz input_trim_paired_R2.fq.gz input_trim_unpaired_R2.fq.gz ILLUMINACLIP:/root/trimmomatic/adapters/TruSeq3-PE.fa:2:30:10
LEADING:3 TRAILING:3 SLIDINGWINDOW:4:15MINLEN:36>>./input_trim.log 2>&1”、 “megahit-12input_trim_paired_R1.fq.gz input_trim_paired_R2.fq.gz -oinput_trim_megahit_asm>>./input_megahit.log 2>&1”、“metabat2-Iinput.contigs.fa-a input_depth.txt-o input_bin-tˋcat/proc/cpuinfo|grepprocessor|wc-lˋ”,由此可以启动所有需要运行的软件工具。
启动之后用户可以点击菜单栏上方的“结果”栏来查看运行状态,运行完毕与进行中的任务分别显示运行时间以及进度条。这一过程从Springboot角度来说,在于监听了这一点击事件,并将之前软件的运行记录作为数据发送给用户界面。
最后用户可以点击“结果”菜单栏,会根据Springboot返回的路径打开对应文件夹,引导用户选择所要查看的文件。在这一示例中为checkm对分类结果的评估文件。这一过程从Springboot的角度来看,同样在于监听用户的点击事件,并将最终结果的文件夹路径作为数据返回给图形界面,从而可以引导用户查看相应的结果文件。
运行只需要通过java来启动对应jar包即可“Java-jar client.jar”,随后可以选择使用版本,如图6所示。
这里以简易版的使用为例,数据选取ENA数据库的Illumina Genome Analyzer IIpaired end sequencing;A Metagenome-Wide Association Study of gut microbiotaidentifies markers associated with Type 2Diabetes,可以通过SRR341725下载得到。
将下载的数据放在/home/data/zzh/software/dataForDocker/assemblyData,这个目录下,启动界面系统后,选择对应的目录打开,如图7所示。
之后选择需要运行的软件,这里以测序质控软件(trimmomatic)为例,如图8所示,选定之后,根据引导,选择对应的成对端(Paired-End,PE)双端数据运行模式。
之后根据提示,选取对应的原始数据文件,如图9所示。
之后选取组装软件时,会记录上一次质控已选择的数据,如图10所示,可以通过“是”快速选定。
最后点击底部“运行”按钮,即可启动服务模块开始运行,期间可以通过菜单栏的“记录”选项查看当前运行的所有工具状态,如图11所示。
同时还可通过点击“结果”选项,会默认打开结果存放的目录,如图12所示,之后可以点击选取所要查看的评估结果,这里默认以checkm为例。之后会调用默认pdf查看器来展示,如图13所示。图13为Checkm的评估结果图,其中,图13中(a)为每个bin的不同序列GC含量分布直方图,(b)为每个bin的不同序列GC含量分布误差图,(c)为bin每条序列与bin平均四核苷酸频率的距离(Tetranucleotide Distance,TD)直方图,(d)为bin每条序列与bin平均四核苷酸频率的距离误差图,(e)为每个bin序列的编码密度(Coding Density,CD)直方图,(f)为每个bin序列的编码密度误差图。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。
本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本发明的限制。
Claims (8)
1.一种宏基因组数据分析系统,其特征在于,包括:Docker容器和图形界面;所述Docker容器用于集成多个宏基因组数据分析处理软件,其中,所述Docker容器中,利用anaconda或者环境参数进行多个宏基因组数据分析处理软件的环境隔离;所述图形界面用于基于所述Docker容器,引导用户运行质控、纠错、组装和分箱中至少一种操作。
2.根据权利要求1所述的宏基因组数据分析系统,其特征在于,还包括服务模块,所述服务模块用于监听用户的操作记录及对应操作的数据处理记录及数据处理的处理结果,所述服务模块通过Springboot搭建。
3.根据权利要求2所述的宏基因组数据分析系统,其特征在于,在集成多个宏基因组数据分析处理软件方面,所述Docker容器具体用于:
在所述Docker容器内部安装各所述宏基因组数据分析处理软件的环境依赖文件;
将各所述宏基因组数据分析处理软件的软件依赖安装入系统环境变量内;
在所述Docker容器内逐一安装各所述宏基因组数据分析处理软件,并将各安装路径加载为环境变量;所述环境变量用于所述服务模块通过shell根据各个宏基因组数据分析处理软件的指定环境变量来完成各个宏基因组数据分析处理软件的处理操作;
通过Dockerbuild为所述Docker容器构建一个镜像,并在Dockerfile中设置Springboot运行时使用的网络端口,在Springboot内部搭建服务接口,服务接口用于对应各个宏基因组数据分析处理软件的接口。
4.根据权利要求2所述的宏基因组数据分析系统,其特征在于,对于Springboot搭建的所述服务模块,在Springboot内部,对外暴露公共接口路径;所述公共接口路径包括查询状态请求路径,各查询状态请求路径包括请求路径参数,所述请求路径参数用于区分各宏基因组数据分析处理软件;所述服务模块用于通过查询状态请求路径监听对应的Get请求。
5.根据权利要求1所述的宏基因组数据分析系统,其特征在于,所述图形界面包括质控操作模块、纠错操作模块、组装操作模块和分箱操作模块;所述质控操作模块包括质控软件选择列表、质控确认按钮和质控结果记录,所述纠错操作模块包括纠错软件选择列表、纠错确认按钮和纠错结果记录,所述组装操作模块包括组装软件选择列表、组装确认按钮和组装结果记录,所述分箱操作模块包括分箱软件选择列表、分箱确认按钮和分箱结果记录;
所述质控软件选择列表用于质控软件的选择,所述纠错软件选择列表用于纠错软件的选择,所述组装软件选择列表用于组装软件的选择,所述分箱软件选择列表用于分箱软件的选择;
所述质控结果记录用于显示被选择的质控软件的运行结果,所述纠错结果记录用于显示被选择的纠错软件的运行结果,所述组装结果记录用于显示被选择的组装软件的运行结果,所述分箱结果记录用于显示被选择的分箱软件的运行结果;
各宏基因组数据分析处理软件为质控软件、纠错软件、组装软件或者分箱软件。
6.根据权利要求5所述的宏基因组数据分析系统,其特征在于,所述质控软件选择列中质控软件包括fastqc软件;所述纠错软件选择列表中纠错软件包括FMLRC软件;所述组装软件选择列表中组装软件包括megahit软件;所述分箱软件选择列表中分箱软件包括Maxbin软件。
7.根据权利要求5所述的宏基因组数据分析系统,其特征在于,所述图形界面还用于显示及输入各宏基因组数据分析处理软件的执行参数,当各宏基因组数据分析处理软件运行时,采用所述图形界面上对应的执行参数。
8.根据权利要求5所述的宏基因组数据分析系统,其特征在于,还包括日志记录模块,所述日志记录模块用于记录用户的操作、对应操作的数据处理的处理结果和对应操作的运行时间。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311286371.6A CN117352068A (zh) | 2023-10-07 | 2023-10-07 | 一种宏基因组数据分析系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311286371.6A CN117352068A (zh) | 2023-10-07 | 2023-10-07 | 一种宏基因组数据分析系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117352068A true CN117352068A (zh) | 2024-01-05 |
Family
ID=89366129
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311286371.6A Pending CN117352068A (zh) | 2023-10-07 | 2023-10-07 | 一种宏基因组数据分析系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117352068A (zh) |
-
2023
- 2023-10-07 CN CN202311286371.6A patent/CN117352068A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Carvalho et al. | Integrated analysis of shotgun proteomic data with PatternLab for proteomics 4.0 | |
US8621053B2 (en) | Firmware update apparatus and program | |
US6909974B2 (en) | System and method for discovery of biological instruments | |
US8108456B2 (en) | Method and apparatus for migrating the system environment on which the applications depend | |
US7643982B2 (en) | Debugging prototyped system solutions in solution builder wizard environment | |
US20100017146A1 (en) | Auto-analysis framework for sequence evaluation | |
CN1658157A (zh) | 在整个开发周期内自动确定用户界面的差异的方法和系统 | |
Oliver et al. | Using the iPlant collaborative discovery environment | |
US20140250425A1 (en) | Systems and Methods for Enabling and Configuring Tracking of User Interactions on Computer Applications | |
CN112615758B (zh) | 一种应用识别方法、装置、设备及存储介质 | |
CN110309006A (zh) | 一种功能调用方法、装置、终端设备及存储介质 | |
US20140033123A1 (en) | User interface and method for comparing a local version of a profile to an online update | |
Poplawski et al. | Systematically evaluating interfaces for RNA-seq analysis from a life scientist perspective | |
CN109976758B (zh) | 基于安卓系统的ui控件轮播方法、电视终端及存储介质 | |
CN117352068A (zh) | 一种宏基因组数据分析系统 | |
CN112612393A (zh) | 界面功能的交互方法及装置 | |
Sandhu et al. | Rapid QC-MS–Interactive Dashboard for Synchronous Mass Spectrometry Data Acquisition Quality Control | |
CN111508601B (zh) | 一种信息管理设备和信息配置方法 | |
JP2002281111A (ja) | プロトコルアナライザ | |
CN114356396A (zh) | 一种适配多种服务的服务发布方法及装置 | |
Herrick et al. | ILIAD: a suite of automated Snakemake workflows for processing genomic data for downstream applications | |
CN116991380B (zh) | 一种应用程序的构建方法、装置、电子设备及存储介质 | |
CN118394407B (zh) | 基于Git源码的接口扫描方法、装置、设备及存储介质 | |
Kurs et al. | Nextflow Workbench Documentation Booklet | |
CN116204413A (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 |