前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >图形化开放式生信分析系统开发 - 7 分析报告的模板定制与自动生成

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

原创
作者头像
SliverWorkspace
修改2020-06-28 15:54:45
6780
修改2020-06-28 15:54:45
举报

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

需求分析:

  1. 报告模板版式设计(视图)
    • 封面
    • 配色
    • Logo
    • 联系方式
    • 页眉页脚
  2. 分析流程的输出数据(数据):
    • 通用信息:样本信息、患者信息、日期信息、检测项目、报告编号等等。
  • 分析流程输出的数据:如肿瘤项目中的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对应的数值。

如下图:

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

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

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

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

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 需求分析:
  • 技术选型
  • 技术实现
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档