属于服务器端运行的程序_生信分析云平台产品开发 - 5 生信分析pipeline服务器端运行...

在上文 [生信分析云平台产品开发 - 4 生信分析pipeline的图形化] 讨论了生信分析pipeline的图形化,如何用图形的方式显示生信pipeline,但是pipeline脚本按照变量的形式保存之后,如何运行,在什么环境下运行?是本文要解决的问题。

运行方式:本地 VS 远程

1. 本地模式:

  • 优势:容易实现,运行效率高,不依赖网络
  • 劣势:限制了软件的适用范围,本机性能就决定了分析性能,不易扩展,限于运算量较低的业务。

2. 远程模式:

  • 优势:便于扩展,部署方便。本程序作为控制端,可以和分析端部署在一台机器,也可以通过联网方式连接。这样就可以把控制端单独部署,控制一个服务器集合>从单台到简单的集群
  • 劣势:增加了编程复杂度;需要编程实现与服务器端的交互,并保持长连接,时刻保持通信。分析过程状态、服务器运行状态,需要由服务器端推送到用户端。

综合考虑,结合软件设计目标,这里选择远程模式

运行服务器节点:

  1. 服务器节点信息:
  2. 经常手动分析脚本的朋友大家的习惯可能是,ssh远程登录Linux服务器,在shell控制台输入各种脚本,软件。这里首先要解决的就是服务器信息的保存,操作。根据日常习惯归纳实现后,上图:
bd82625bb866014b85b689d374d79bdf.png
  • 首先这里实现了,服务器账户信息的管理,账户、主机名、端口、密钥、密码,这些信息为了保证安全,需要二次加密,不能将密码明文保存在数据库中,一旦泄漏危害巨大
f202f5ea17f1079e57d1ea1088d84f2b.png
  • 针对分析流程,按照约定定义了两个变量:${data}数据输入目录,${result}输出目录
  • 考虑到并行运算,这里设置了该账户可以并行运行的任务数量,已经连续运行任务的最小时间间隔。
  • 前文中,针对pipeline里的变量,每个服务器账户对应一组变量,彼此独立,互相隔离。
  • 针对服务器状态,提供状态按钮来验证是否符合要求。网络状态、变量值是否符合要求
  • Web终端应急操作,可以点击终端按钮直接打开shell,手动操作,见下图:
471ce0170f176f513ba8d16eca3195fd.png

运行的方式:

之前系统设计时所做的准备:

  1. 通过图形化设计之后获得的pipeline脚本
  2. 对应于服务器账户信息中的变量
  3. 录入系统的样本信息:样本编号,${sn} Run ID ${id}等等

通过将保存的shell脚本,将脚本变量用以上信息替换为实际需要运行的脚本,通过远程连接发送指令在服务器上运行

运行的过程:状态监控,结果的判断

  1. 发送完脚本,服务器端运行状态需要和控制端保持连接,监控运行状态,获取运行输出。
  2. 运行完成后服务器端推送信息到控制端,判断是否符合要求,输出文件是否存在
  3. 运行失败后服务器端推送信息到控制端,显示错误信息,错误日志,便于生信开发人员查找错误
  4. 统计每一个分析步骤的运行时间,便于统计分析

运行的结果:

  1. 如果需要获取分析结果文件的,这时候需要将该文件下载至本系统指定目录中。
edac5cd85a51abc5c1805db78b8e60a0.png
  1. 如果需要将分析结果vcf,csv等格式文件保存于数据库,按照前文中,pipeline图形化中设计格式,读取文件保存于系统数据库中。
  2. 收集标准化的数据,累积数据,为以后数据挖掘,回归分析做好准备
cf1d2bfd92d56c52412577483826a4e7.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/502867.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

c mysql 统计不重复数据库,MySQL_MySQL数据库中分组统计的问题,首先准备四张表A、B、C、D, - phpStudy...

MySQL数据库中分组统计的问题首先准备四张表A、B、C、D,--------------------------------A  | B  | C  | Da b | a c | a d | d e1 1 | 1 1 | 1 A | A 12 2 | 1 3 | 2 B | B 23 4 | …

TF卡里删掉文件后内存没变大_原来三星手机是这样清理内存的,难怪用好几年也不卡...

三星手机的耐用性一直都很高,而除了手机本身系统性能做的很好之外,手机的设置也是很人性化的。在三星手机使用了一段时间过后,手机里的内存会越来越大,手机里的垃圾也会越存越多,那么我们应该怎么清理手机中的内存呢&a…

拓扑排序排课系统_视频结构化人脸布控系统

一、平台背景在国家智慧城市的建设中的公共安全,对维稳防控、全城布控、预测预警、综合管理等提出了更高需求,针对这些需求我们作为识别领域的领先者,结合我们的识别技术,更全面、更智能提出了我们视频结构化黑名单布控系统解决方…

php数组转ini文件,php – 将数组转换为.ini文件

为了编写.ini文件,你需要创建自己的函数,因为除了阅读之外,PHP没有提供开箱即用的功能(可以在这里找到:http://php.net/manual/pl/function.parse-ini-file.php).可能将多维数组封装到.ini-syntax兼容字符串的函数示例可能如下所示:function arr2ini(arr…

win10去掉快捷方式小箭头_简单几步,教你怎么去掉win10电脑图标小箭头

Windows通过在桌面图标上增加“小箭头”,来区分它是属于正经的应用程序、文件还是快捷方式。好处能够一目了然的区分桌面显示的内容都是什么。坏处就是对有强迫症、要求统一的用户来说,这个小箭头实在是太碍眼了!如果你属于后者,注…

python整形怎么切片_python 切片操作 slice

列表切片:list [start_index, end_index, step] step可正可负,为正时表示从左往右取,为负时表示从右往左取步长-1:表示从右往左取,开始1,结束3,表示从左往右取,两个互相矛盾&#x…

php实现双向队列详解,PHP实现一个双向队列例子

deque,全名double-ended queue,是一种具有队列和栈的性质的数据结构。双端队列中的元素可以从两端弹出,其限定插入和删除操作在表的两端进行。双向队列(双端队列)就像是一个队列,但是你可以在任何一端添加或移除元素。双端队列(de…

CIF进口货物流程图_上海关区对外承包工程货物进口报关公司【清关代理吧】

进口清关:退运/返修/一般贸易/对外承包工程专业、专心、专注提供服务上海港/上海海关:对外承包工程进口清关报关有需要看左边:←←←←←←←进口清关报关要注意哪些问题:(同行禁止抄袭及转载)首先:要找一家靠谱、值得…

月均数据_程序员月均薪多少,2019全国互联网行业程序员就业大数据报告

《2019全国互联网行业程序员就业大数据报告》,该报告针对程序员画像、专业背景、职能供需分布、城市分布特征和薪资优势等方面进行分析。作者:子瑜说IT下面,一起来看看,2019年1月-9月程序员的就业现状。01、程序员基础画像“程序媛…

php json 循环输出html,我要用js从json文件中取值,并输出的html页面,有个问题

json文件有多个 0.json 1.json 2.json 3.json ...现在的情况是js可以挨个读取json文件中的内容,但是每次读取新文件的时候之前的文件内容就没了,我想要加载新json文件内容时,保留之前的读出来的内容求大神!!&#xff0…

单分支 两路分支和多分支的if结构_JavaScript学习笔记(二)-- 分支结构

分支结构我们的 js 代码都是顺序执行的(从上到下)逻辑分支就是根据我们设定好的条件来决定要不要执行某些代码IF 条件分支结构if 语句通过一个 if 语句来决定代码执行与否a语法: if (条件) { 要执行的代码 }通过 () 里面的条件是否成立来决定…

php 时间格式化_3分钟短文 | PHP获取函数的代码片段,唯有反射最高效

引言为了演示上一篇我们所说的PHP中反射的应用,本篇接着讲反射的应用。因为其特性,是操作函数和方法的,是函数的操作者,类的操作者,所以显得格外重要。我们从一个小需求出发,假如有一段这样的代码&#xff…

文本解析 python 多行,关于python:基于文本的数据格式,支持多行字符串

我搜索支持多行字符串的基于文本的数据格式。JSON不允许多行字符串:>>> import json>>> json.dumps(dict(textfirst linesecond line)){"text":"first line\second line"}我想要的输出:{"text":"f…

电脑屏幕卡住了按什么都没反应_手机突然“死机”了关机也不行,怎么按都没反应,怎么办?...

阅读本文前,请您先点击上面的“蓝色字体”,再点击“关注”,这样您就可以继续免费收到最新文章了。每天都有分享。完全是免费订阅,请放心关注。人有生老病死,手机也可能遇到死机黑屏的问题。在手机众多的“疑难杂症”中…

python中哪里用到缩进_建筑防火中各类门的总结归纳!乙级门?甲级门?都哪里用到了!...

大家在学习防火部分时,会遇到各种场所设置不同耐火性能的防火门,很杂乱的感觉,今天这里就好好总结一下,希望对大家能有帮助!一:双设门1.防烟楼梯间:此处的防烟楼梯间分为两种:一种是…

linux 打开php服务器文件夹,Linux下如何查看文件和文件夹大小

《Linux下如何查看文件和文件夹大小》要点:本文介绍了Linux下如何查看文件和文件夹大小,希望对您有用。如果有疑问,可以联系我们。相关主题:服务器配置1 Linux下查看文件和文件夹大小当磁盘大小超过标准时会有报警提示&#xff0c…

android media apex_APEX英雄主播即将登陆时代广场?人气十强介绍!

5月6日,在经过14天短暂而激烈的战斗后,由小葫芦星球联合海外fanx基金会共同举办的APEX英雄篇主播C位战「人气主播榜」率先顺利收官。而在明天即5月8日中午12点将准时开启本次APEX英雄篇主播C位战支线——「潜力主播榜」,前三强选手也同样能够…

linux php 执行python,Linux(Ubuntu)下php使用exec调用python程序返回json数据

问题起因:解决乱码问题,及解决PHP调用python外部程序的权限问题数据中带有中文,数据来自python读取微软数据库mssql2005 server的数据操作注意事项主要有两点:1.python返回的编码必须为utf-8(1) 必须导入codecs模块,操作代码如…

实时获取滚动条的高度_适用于星上快速处理的雷达高度计有效波高反演技术

卫星雷达高度计的主要观测参数之一为有效波高,数据产品中其数值的确定通过波形重跟踪来实现(Retracking),波形重跟踪的实现主要通过最大似然迭代完成,其主要的反演公示为W(t) PFS(t)*qs(t)*sr(t)。式中包括:高度计海面回波由平坦…

基于python的modbus协议编程_通往未来的网络可编程之路:Netconf协议与YANG Model

近年来,随着全球云计算领域的不断发展与业务的不断增长,促使网络技术也不断发展,SDN技术应运而生,从最初的基于Openflow的转发与控制分离的核心思想,人们不断的去扩展SDN的外延,目前,人们可以达…