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

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

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

需求分析:

  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']}输出报告后如下图:

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

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

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 图形化开放式生信分析系统开发 - 1 需求分析及技术实现V2(2020.7更新)

    从2017年前开始,工作的原因接触到了NGS(高通量测序技术 High-throughput sequencing又称“下一代”测序技术"Next-genera...

    SliverWorkspace
  • 图形化开放式生信分析系统开发 - 4 生信分析流程图形化

    在上文图形化开放式生信分析系统开发 - 3 生信分析流程的进化 讨论了生信分析pipeline的进化,从手动到自动,但仍然停留在终端命令行阶段,为了让更多非生信...

    SliverWorkspace
  • 图形化开放式生信分析系统开发 - 1 需求分析及技术实现

    从三年前开始,工作的原因接触到了NGS(二代测序)技术和相关的生信分析,在公司技术到临床应用转化过程中遇到一系列问题,在问题中挣扎、解决问题的过程中逐渐有了开发...

    SliverWorkspace
  • 我们正在进入一个软件定义的时代 要学会创造性地运用大数据和人工智能 | 大咖周语录

    从云计算到大数据,人工智能已经具备了相对坚实的基础。不过,从当下人工智能的发展现状看,大部分的人工智能还停留在大数据分析阶段,距离真正的人工智能还有一定的距离。...

    数据猿
  • 数据挖掘之数据预处理学习笔记数据预处理目的主要任务

    数据预处理目的 保证数据的质量,包括确保数据的准确性、完整性和一致性 主要任务 数据清理 填写缺失的值、光滑噪声数据、识别或者删除离群的点,先解决这些脏数据,否...

    张俊怡
  • 澳大利亚疯狂计划:把现实世界数字化

    大数据文摘
  • 百度AI大会的一些想法,了解DuerOS、Amazon Alexa和Echo

    今天看了一会百度的AI开发者大会视频,说实话被一些场景震撼了,尤其是一位嵌入式工程师,利用百度AI,将小外甥的乐高机器人,打造为可对话的机器人,让我体会到AI就...

    bisal
  • 干货 | 从小白到大数据技术专家的学习历程

    ·大数据处理技术怎么学习呢?首先我们要学习Java语言和Linux操作系统,这两个是学习大数据的基础,学习的顺序不分前后。

    华章科技
  • 基于ubuntu搭建FTP文件服务

    林清猫耳
  • 使用igvtools可视化测序深度分布

    igvtools是最常用的NGS数据可视化工具之一,功能非常强大,可以展示序列比对,拷贝数变异,突变位点等多种数据的分布,网址如下

    生信修炼手册

扫码关注云+社区

领取腾讯云代金券