图形化开放式生信分析系统开发 - 7 分析报告的模板定制与自动生成

前文链接:

图形化开放式生信分析云平台产品开发 - 1 需求分析及技术实现
图形化开放式生信分析云平台产品开发 - 2 样本信息处理
图形化开放式生信分析云平台产品开发 - 3 生信分析流程的进化
图形化开放式生信分析云平台产品开发 - 4 生信分析流程的图形化
图形化开放式生信分析云平台产品开发 - 5 生信分析流程服务器端运行
图形化开放式生信分析云平台产品开发 - 6 生信分析流程批量运行与过程控制

在前文中描述了生信分析流程的整个设计、图形化、服务器端运行、批量运行与过程控制(手动停止,恢复运行、覆盖运行),本文尝试解决分析报告的模板定制与自动生成

需求分析:

  1. 报告模板版式设计(视图)

    • 封面
    • 配色
    • Logo
    • 联系方式
    • 页眉页脚
  2. 分析流程的输出数据(数据):

    • 通用信息:样本信息、患者信息、日期信息、检测项目、报告编号等等。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5as87s3T-1571713440404)(https://i.loli.net/2019/10/18/eiQsRqtD6uwVHKB.png)]

  • 分析流程输出的数据:如肿瘤项目中的SNV,CNV,SV等;可以是一个标准数据集,也可以是多个。

    下面是分析流程中SV的输出结果:根据项目需要定义,实际上还会加上各种关联的数据库的数据,也可以实现:

  • 分析流程输出图表:分析流程输出的图表,图片;最终显示在报告上面。 在这里插入图片描述

报告的自动生成,就是将分析流程的输出数据用模版填充,并提供下载。

技术选型

这里可以选择的技术大致有两种:

  1. 将数据渲染显示为Web端(即网页)的形式,需要时候打印为PDF下载,这是最常用的方式。优点是下载之前可以预览报告,便于调整。缺点是,个性化定制能力稍差,调整范围不大。如果项目很多,则基本上共用一套模板,最多在颜色、字体上做些调整。就像某老板讲的从报告上一看就知道你用了哪套程序,同质化严重

  2. 模板格式直接使用Office Word格式,由word设计模板版式,下载的时候填充数据,下载之后打开预览。优点是,毕竟word的使用门槛比设计web网页低得多。设计的灵活性大的多。而且,下载之后还可以人工修改、打印成PDF格式。缺点是,下载之前没有办法预览,没有web端显示那么直观。

    经过反复比对,为了提高整个平台的灵活性,避免过度同质化,这里采用Office Word文件格式来实现报告模板的定制与报告生成。

技术实现

要将设计好的word格式文件,作为模板使用,就需要一套语法,将准备好的数据集用变量显示,生成报告的时候用实际数据替换变量得到报告。

这里举一个简单的例子:

如下图,年龄字段这里做了简单的逻辑判断,如果patient.patientAge==null显示为""空字符,如果patient.patientAge!=null则直接显示patient.patientAge对应的数值。

如下图:

通用数据格式,按照以上形式拼写:${变量名.属性名}来表示相应的值,对于分析流程输出的数据集,也需要设计好语法,与之对应。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-BgUCcxAK-1571713440405)(https://i.loli.net/2019/10/18/or6n4D1guW5adip.png)]

对应的数据如下图,实际上还会加上各种关联的数据库的数据,如有需要也可以实现。:

CNV分析输出的图片插入模板:

对应字段${image[‘cnv_scatter.png’]}输出报告后如下图:

您可以下载PPT或加QQ群:853718264讨论

发布了10 篇原创文章 · 获赞 2 · 访问量 927

猜你喜欢

转载自blog.csdn.net/weixin_39900139/article/details/102678727
今日推荐