图形化开放式生信分析云平台产品开发 - 7 分析报告的模板定制与自动生成

分析报告的模板定制与自动生成


前文链接:

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

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

需求分析:

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

    • 封面

    • 配色

    • Logo

    • 联系方式

    • 页眉页脚

  2. 分析流程的输出数据(数据):

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

eiQsRqtD6uwVHKB.png

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

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

    007Y5Jk0gy1g717twq88lj30dc0c7q38.jpg

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

    P5Gn2cg61WuZMjs.png

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

技术选型

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

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

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

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

技术实现

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

这里举一个简单的例子:

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

如下图:

ATJkv1cQMHygSzX.png

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

or6n4D1guW5adip.png

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

007Y5Jk0gy1g717twq88lj30dc0c7q38.jpg

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

KTNAs96laoz17Ih.png

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

SeiAVltg9FsG13j.png


产品完整PPT下载

欢迎回复讨论或者加入QQ群:853718264

  • 发表于 2019-10-22 18:39
  • 阅读 ( 2241 )
  • 分类:软件工具

0 条评论

请先 登录 后评论
不写代码的码农
豆浆包子

7 篇文章

作家榜 »

  1. 祝让飞 118 文章
  2. 柚子 91 文章
  3. 刘永鑫 64 文章
  4. admin 57 文章
  5. 生信分析流 55 文章
  6. SXR 44 文章
  7. 张海伦 31 文章
  8. 爽儿 25 文章