看教程不够直观,那就看视频吧! >>点击加载视频
企业需要怎样的生信生产系统/全自动分析系统?- 1简单需求分析及技术实现
从三年前开始,工作的原因接触到了NGS(二代测序)技术和相关的生信分析,在公司技术到临床应用转化过程中遇到一系列问题,遇到的坑多了,有了开发一套通用生信生产系统的想法,目前已经完成了第一个版本开发,有必要做一下记录并复盘:本文为本系列文章的第一篇。
先上几张图片:
1、分析流程(pipeline)设计:基于文件输入输出的图形化工作流设计,适用所有分析流程
2、分析结果保存:配置输出文件数据结构,可以直接保存进数据库
3、配置分析流程(pipeline)自动运行:可以选择多长时间轮询一次,哪个时间点触发执行
4、分析结果过滤:较为复杂的分析结果,可以人工过滤,并将过滤结果导出生成分析报告
5、分析流程(pipeline)运行:可以中途停止,并在停止位置恢复运行,统计运行结果
6、服务器性能监控:CPU、内存、网络、硬盘空间
7、分析报告模板及输出结果:模板是word格式,便于自定义/DIY。
下面进入正题,以具体个人工作经历为例,分析归纳出需求:
实践问题一,图形化替代命令行脚本交互
我司技术上,陆陆续续完成了十几个项目,十几条pipeline,生信大佬们写的那些500行的shell脚本,基本上要求使用运行人员处在一定技术水平(熟悉Linux系统,熟悉shell,perl,python,R编程中的一种),这就限制了使用范围。后来公司基于脚本的基础上也实现了部分自动化,但仍不能满足以下情况:
需求:
结合自身知识结构,做出技术选型如下:
实践问题二,解决迁移部署问题
刚加入公司时候:公司美国团队某跌落神坛的大佬写的一套分析流程,部署在ubuntu14.04上,迁移到ubuntu16.04遇到问题,某些底层代码或者库不兼容,具体原因不详,简单的说就是部署迁移成本高。
实践问题三,解决环境搭建、软件安装问题
每一套分析流程(pipeline)都要安装一大堆工具软件,如bwa,samtools,gatk,annovar,snpeff等等;安装配置过程相当痛苦。
需求:分析流程(pipeline)能够快速部署迁移
技术实现:使用虚拟化技术:
A、 虚拟机技术Vmware,Virtualbox
B、 Docker
A、B 都可以满足需求,经过比对,Vmware,Virtualbox这种比较“重”,Docker目前在隔壁IT圈已经大范围使用,具有占用资源小,运行效率高等一系列优势,这里推荐Docker。无论是虚拟机还是Docker将部署好的pipeline作成镜像,就可以部署、迁移了,不用每次都重新安装、配置。导入Docker/虚拟机镜像的方便程度远远高于全新安装。如果不是因为那大几百G的reference文件,直接就可以做到全自动分发、部署
最终软件架构设计如图:
自动运行结构如图(针对Illumina机型):
欢迎加入QQ群讨论:853718264 PPT下载
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!