一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于面向对象的基因检测报告的自动化系统的制作方法

2022-07-13 03:41:52 来源:中国专利 TAG:


1.本技术属于生物信息学分析技术领域,涉及用于一种基于面向对象的基因检测报告的自动化系统、构建方法及其应用。


背景技术:

2.通过基因测序技术进行的基因检测能够从血液、体液、组织中分析测定基因全序列,预测罹患多种疾病的可能性、药物敏感性、个体的行为特征及行为合理。基因测序技术能锁定个人病变基因,提前预防和治疗以及用药。基因检测相关产品和技术已由实验室研究演变到临床使用,可以说基因检测技术是下一个改变世界的技术。
3.随着临床基因检测的普及,快速准确的出具标准化的基因检测报告成为急需解决的问题。标准的基因检测报告需要包含检测结果、医院信息、患者信息、结果解读信息等。这些信息的来源多样、数据库需要保持更新,都对报告自动化软件提出了挑战。目前的报告自动化方案虽然一定程度能够满足临床需求,但还存在这样和那样的问题。比如专利cn101944162a,只能应用于电子病历,兼容性差,无法兼容检测的电子报告的生成。专利cn104899194a,可输出html格式的报告,但灵活性差,html无法进行二次编辑,无法实现需要二次编辑的报告类型。
4.总结而言,目前的报告自动化解决方案还存在如下问题:
5.1)容易引入人为错误,如判断的失误、撰写时的错别字、报告格式前后不统一等。
6.2)标准不统一,对于同一个报告,人共生成报告容易引入个人主观的思想导致报告标准和内容不统一。
7.3)门槛高,解读并撰写报告需要专业的报告解读人员撰写。
8.4)速度慢,人工生成报告需要在word文档中进行手动编辑,出一份一般的基因检测报告至少要2小时。
9.有鉴于此,提出本技术。


技术实现要素:

10.为解决上述技术问题,本技术寻求开发一种word模块,可以由用户自由组合成word报告模板,用于自动生成word报告,大大减少了人工引入错误、保证了word报告标准性、大大增加了生成报告的效率。
11.具体的本技术提供如下技术方案:
12.本技术首先提供一种基于面向对象的基因检测报告的自动化系统,包括如下组件:
13.1)系统输入处理组件;
14.2)患者基本信息加载组件;
15.3)检测结果加载组件;
16.4)数据库加载组件;
17.5)word报告模块开发组件;
18.6)word报告模块配置组件。
19.进一步的,所述1)系统输入处理组件使用python语言类的方法编程,将输入数据保存到该组件类的属性;
20.进一步的,所述输入数据包括患者基本信息和检测结果数据;
21.进一步的,所述输入数据的格式包括excel、csv格式和/或json格式。
22.更进一步的,所述1)系统输入处理组件中,所述保存具体为:使用python的json模块中的load方法把输入的json格式数据转换成python可直接使用的python字典格式,并保存在该组件类的属性“input_data”中。
23.进一步的,所述2)患者基本信息加载组件使用1)系统输入处理组件保存的内容,把患者基本信息提取出来并存储在本组件类的属性中;所述患者基本信息至少包括样本编号、姓名、性别、年龄;
24.优选的,所述患者基本信息还包括:民族、家系编号、临床表现、临床诊断、家族史等。
25.进一步的,所述2)患者基本信息加载组件使用1)系统输入处理组件的属性“input_data”的内容,从该数据中把患者基本信息“sampleinfo”提取出来并存储在本组件类的属性“sample_info”中。
26.更进一步的,所述提取具体为:使用python语言处理多种输入形式的样本信息,若患者基本信息是字典格式,则直接保存在属性“sample_info”中;若患者信息是excel文件格式,则使用python语言的xlrd方法中的open方法把患者的基本信息从excel文件中提取出来,再保存在属性“sample_info”中。
27.进一步的,所述3)检测结果加载组件,该组件使用1)系统输入处理组件保存的内容,把检测结果数据提取出来处理并存储在本组件类的属性中;
28.进一步的,所述检测结果数据包括测序注释结果,核酸质谱检测下机结果,和/或qpcr扩增检测下机结果;
29.所述测序注释结果为excel文件,内容包括下机结果说明、下机结果质控和下机结果变异位点信息;
30.所述核酸质谱检测下机结果为csv文件,包括下机结果变异位点基因型信息;
31.所述qpcr扩增检测下机结果excel文件,包括下机变异位点扩增信息
32.更进一步的,所述3)检测结果加载组件,该组件使用1)系统输入处理组件的属性“input_data”的内容,并从该数据中把检测结果数据“taskcommentdata”和“files”提取出来处理并存储在本组件类的属性“input_info”中;
33.进一步优选的,所述提取具体使用python语言处理多种输入形式的检测结果数据。
34.进一步的,所述4)数据库加载组件对word报告模块加载器需要查询的数据库进行检索,并把检索内容存储在该组件类的属性中;
35.进一步的,所述数据库包括本地数据库和/或在线数据库;
36.更进一步的,所述在线数据库为在公网服务器上搭建的mysql数据库;
37.进一步的,所述数据库加载组件的输入是数据库名称和数据表名称,通过python
的pymsql模块和sql语句检索数据库,把检索出的整个数据表保存在该组件类的属性“database_info”中。
38.进一步的,所述5)word报告模块开发组件用于开发word报告模块加载器;
39.所述word报告模块加载器包含4类:
40.内容仅来自数据库的报告模块加载器、
41.内容仅是样本基本信息的报告模块加载器、
42.内容仅来自检测结果的报告模块加载器、
43.内容需要结合数据库和检测结果两者内容的报告模块加载器;
44.进一步的,上述4类报告模块加载器分别存放在“database”、“sample_info”、“test_result”、“test_result_db”这四个文件夹中。
45.进一步的,所述word报告模块加载器是python文件,使用python面向对象的编程方法,基于python类的继承特点,每个加载器继承患者基本信息加载器、检测结果加载器和数据库加载器,直接获取到患者基本信息、检测结果、数据库数据。
46.更进一步的,所述word报告模块开发组件中存在一个word报告全局的模块加载器,该模块加载器不受word模块的限制,对除word模块外的其他变量进行赋值和渲染。
47.进一步的,所述6)word报告模块配置组件是python文件,将word文档中的with模块和代码中的word报告模块加载器关联。
48.进一步的,所述with模块是基于python的jinjia2模版引擎开发的模块代码。
49.本技术还提供一种上述任一所述系统的构建方法,包括如下步骤:
50.1)构建系统输入处理组件;
51.2)构建患者基本信息加载组件;
52.3)构建检测结果加载组件;
53.4)构建数据库加载组件;
54.5)构建word报告模块开发组件;
55.6)构建word报告模块配置组件。
56.通过上述步骤分别执行,从而实现上述任一所述系统中组件功能。
57.本技术还提供一种计算机可读介质,其存储有计算机程序,所述计算机程序被处理器执行时,实现上述任一所述系统中组件的功能。
58.本技术还提供一种电子设备,包括处理器以及存储器,所述存储器上存储一条或多条可读指令,所述一条或多条可读指令被所述处理器执行时,实现上述任一所述系统中组件的功能。
59.本技术与现有技术相比所具有的积极效果在于:
60.1)兼容性,兼容了多种检测平台的下机数据,包括illumina和ion torrent等二代测序仪、质谱、qpcr仪等。
61.2)易用性,系统严格按照预设的模板和逻辑来解读并生成报告,不需要专业报告解读人员进行解读,对于人员专业性要求降低。
62.3)灵活性,用户用word报告模块组装新的报告模板,模板可编辑,可以自由组合报告模块生成新的报告模板。
63.4)稳定性,系统严格按照预设的报告模板和解读逻辑自动化生成的word报告,不
会引入人为主观因素。
64.5)高效性,该系统生成一份报告不会超过10秒,并且该系统可以同时进行多个报告的生成,大大减少了生成报告的时间。
65.6)增加了代码的复用性,使用面向对象的开发方式使word报告和代码实例化,避免了重复开发,增加了代码的复用性。
附图说明
66.为了更清楚地说明本技术具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本技术的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
67.图1、本技术的系统的具体实现流程图;
68.图2、本技术的系统文件夹结构图;
69.图3、本技术的系统输入处理组件输入的示例图;
70.图4、本技术兼容的ngs注释结果的document(下机结果的说明)的示例图;
71.图5、本技术兼容的ngs注释结果的qc(下机结果的质控)的示例图;
72.图6、本技术兼容的ngs注释结果的judge-variant(下机结果的变异位点的详细信息)的示例图;
73.图7、本技术兼容的核酸质谱检测下机结果的数据示例图;
74.图8、本技术的系统下的文件夹和文件示例图;
75.图9、本技术的word模块示例图;
76.图10、本技术的word报告模块的开发组件中,一个word报告模块加载器代码示例图;
77.图11、本技术的word报告模块配置组件,对“患者信息”word模块的配置示例图;
78.图12、本技术的系统最终生成的报告示例图。
具体实施方式
79.下面将结合实施例对本技术的实施方案进行详细描述,但是本领域技术人员将会理解,下列实施例仅用于说明本技术,而不应视为限制本技术的范围,并且所述实施例是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
80.部分术语定义
81.除非在下文中另有定义,本技术具体实施方式中所用的所有技术术语和科学术语的含义意图与本领域技术人员通常所理解的相同。虽然相信以下术语对于本领域技术人员很好理解,但仍然阐述以下定义以更好地解释本技术。
82.如本技术中所使用,术语“包括”、“包含”、“具有”、“含有”或“涉及”为包含性的(inclusive)或开放式的,且不排除其它未列举的元素或方法步骤。术语“由

组成”被认为是术语“包含”的优选实施方案。如果在下文中某一组被定义为包含至少一定数目的实施方案,这也应被理解为揭示了一个优选地仅由这些实施方案组成的组。
83.在提及单数形式名词时使用的不定冠词或定冠词例如“一个”或“一种”,“所述”,包括该名词的复数形式。
84.此外,说明书和权利要求书中的术语第一、第二、第三、(a)、(b)、(c)以及诸如此类,是用于区分相似的元素,不是描述顺序或时间次序必须的。应理解,如此应用的术语在适当的环境下可互换,并且本技术描述的实施方案能以不同于本技术描述或举例说明的其它顺序实施。
85.实施例1本技术系统构建
86.本技术的自动化系统主要由以下组件组成:
87.1)系统输入处理组件;
88.2)患者基本信息加载器;
89.3)检测结果加载器;
90.4)数据库加载器;
91.5)word报告模块的开发组件;
92.6)word报告模块配置组件。
93.该自动化系统的具体实现流程如图1所示。
94.具体的:
95.1.系统输入处理组件,该组件使用python语言类的方法编程,使用json格式数据与使用者进行数据的对接。
96.使用python的json模块中的load方法把输入的json格式数据转换成python可以直接使用的python字典格式并保存在该组件类的属性“input_data”中。
97.2.患者基本信息加载器,该组件使用系统输入处理组件得到的患者基本信息进行进一步的处理,目的是为了让后续程序都能直接调取到患者基本信息。
98.该组件使用python类的方法,该组件继承了系统输入处理组件的类,即可直接获取到系统输入处理组件的属性“input_data”的内容,并从该数据中把患者的基本信息“sampleinfo”提取出来并存储在本组件类的属性“sample_info”中。
99.该组件使用python语言处理多种输入形式的样本信息,若患者的基本信息是字典格式,则直接保存在属性“sample_info”中,若患者信息是excel文件格式,则使用python语言的xlrd方法中的open方法把患者的基本信息从excel文件中提取出来,再保存在属性“sample_info”中。
100.输入的患者基本信息的格式,输入的患者基本信息可以是excel文件(图2),也可以是json格式(图3),输入的患者基本信息必须有:样本编号、姓名、性别、年龄3.检测结果加载器,该组件使用系统输入处理组件得到的检测结果数据进行进一步的处理,目的是为了让后续程序都能调取到检测结果数据。
101.该模块使用python类的方法,该模块继承了系统输入处理组件的类,即可直接获取到系统输入处理组件的属性“input_data”的内容,并从该数据中把检测结果“taskcommentdata”和“files”提取出来处理并存储在本组件类的属性“input_info”中。
102.数据处理,兼容了检测结果数据的四种格式,ngs的注释结果,核酸质谱检测下机结果,qpcr扩增检测下机结果excel格式,json格式,并使用python语言处理这四种数据。
103.对于ngs的注释结果excel,该结果数据是由北京安智因生物技术有限公司对ngs
的变量为“{{a.姓名}}”,以此类推。
119.开发word模块加载器,加载器文件路径是:component/sample_info,在该文件夹下新建文件名为“wtbasicinfocomponent.py”的python脚本文件,如图10所示,先加载类wtcomponent:from ar.doc.wtcomponent import wtcomponent,再继承类wtcomponent,再获取患者信息self.get_input().get_sample()并保存在变量dist_sample_info中,该信息数据是一个字典格式,可以直接获取到具体信息,如获取“姓名”的方式为:dist_sample_info[“姓名”],其他的内容以此类推,最后return一个字典格式的数据,该字典数据的key值和word模块中的变量名一致,value值是患者的具体信息。
[0120]
关联word报告模块和模块加载器,配置文件路径为:ar/config.py,内容如图11,先记载wtcomponentfactory方法和word模块加载器“wtbasicinfocomponent”,代码分别为:“from ar.doc.wtcomponentfactory import wtcomponentfactory”和“fromcomponent.sample_info.wtbasicinfocomponent import wtbasicinfocomponent”,通过wtcomponentfactory方法的register函数将word模块“患者信息”和word模块加载器“wtbasicinfocomponent”关联起来。
[0121]
实施例3、运行例
[0122]
运行系统,脚本路径:./report_oo.py,直接在命令行运行命令:python3 report_oo.py系统输入参数,系统输入参数内容如图3。
[0123]
输入参数是一个json格式的文件,输入参数内容是患者信息和检测结果,患者信息在“sampleinfo”和“customsampleinfo”中,检测结果在“customfiles”中。
[0124]
系统输入处理组件将输入的json格式文件使用python的open函数进行读取,再用python的json模块把json格式数据转换成python语言的字典格式数据,并保存在该组件的属性“input_data”中。
[0125]
患者信息加载器继承系统输入处理组件的类,并从“input_data”中提取出“sampleinfo”和“customsampleinfo”,并保存在该组件的属性“sample_info”中。
[0126]
检测结果加载器继承系统输入处理组件的类,并从“input_data”中提取出“customfiles”,使用python的xlrd模块读取检测结果文件里面的数据,并保存在该组件类的属性“input_info”中。
[0127]
word报告模块配置组件自动检索报告模板中的模块编号(图9)为“患者信息”,再根据预设的配置(图11)找到“患者信息”模块对应的报告模块加载器为“wtbasicinfocomponent”(图10)。
[0128]
系统运行报告模块加载器“wtbasicinfocomponent”为报告模块填充内容,系统再调用python语言的docxtpl模块给word报告进行渲染和保存,最终得到一份word报告(图12)。
[0129]
实施例4、系统的后续优化
[0130]
为进一步提供系统性能,本实施例对该系统进行部分系统优化,具体优化过程和优化结果如下:
[0131][0132]
最后应说明的是:以上各实施例仅用以说明本技术的技术方案,而非对其限制;尽管参照前述各实施例对本技术进行了详细的说明,但本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本技术各实施例技术方案的范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献