圖形化開放式生信分析系統開發 - 4 生信分析流程圖形化設計

前文鏈接:

在上文圖形化開放式生信分析系統開發 - 3 生信分析pipeline的進化 討論了生信分析流程的進化,從手動到自動,但仍然停留在終端命令行階段,爲了讓更多非生信專業的人能夠使用,就要想辦法實現生信分析pipeline的圖形化:提供能夠快速上手的UI,簡單點擊鼠標就能夠運行的圖形化系統。

核心功能:pipeline的圖形化工作流設計器

變量處理:要實現pipeline圖形設計器,首先要先對用到的變量,做統一的設計。

1. 變量的分類: 根據實際經驗,pipeline變量用到根據用途可以分爲以下幾類:

  1. 分析數據目錄data{data} 分析過程輸出目錄{result}
  2. 分析用到的軟件 bwa ${tools.bwa};samtools ${tools.samtools}
  3. 分析流程中用的reference文件以及數據庫,如 hg19.fa ${ref.hg19}
  4. 分析流程中,用到的cutoff值. 如 cnv的cutoff值 ${cutoff.cnv}
  5. 分析流程運行時配置的資源,如 線程數 threads{threads} 分配內存大小{mem}

2. 變量值的類型:

  1. 字符:通用的格式,比較寬鬆
  2. 程序:校驗變量值時,判斷文件是否存在,是否有可執行權限
  3. 文件:校驗變量值時,判斷文件是否存在,是否有讀寫權限
  4. 目錄:校驗變量時,判斷目錄是否存在,是否有讀寫權限
  5. 數值:校驗變量時,判斷是否爲數值格式

最終設計數據好數據結構,做好增刪改查功能,UI如下:
在這裏插入圖片描述

分析步驟/節點設計:前文提到,生信分析pipeline其實就是基於文件輸入輸出的工作流,這裏對工作流做了簡化,歸納起來工作流中有4種節點。

  1. Input節點,提供pipeline的起始輸入文件
    在這裏插入圖片描述
    在這裏插入圖片描述
  2. Output節點,獲取pipeline的最終輸出文件
    在這裏插入圖片描述
    在這裏插入圖片描述
  3. Task節點,輸入文件,運行分析過程,輸出分析過程運行結果
    在這裏插入圖片描述
    在這裏插入圖片描述
  4. Database節點,部分pipeline運行結果,需要將輸出文件保存至系統數據庫中
    在這裏插入圖片描述
    在這裏插入圖片描述

工作流設計: 最後,有了變量,和節點,最後就是工作流的設計了。用連接線,將以上4中節點連接起來,計算相互之間的依賴關係,用統一的格式保存起來。

設計器功能增強:

  1. 當分析節點沒有相互連接時候,要提示錯誤
    在這裏插入圖片描述
  2. 修正Start的錯誤後,重新驗證狀態時:
    在這裏插入圖片描述
  3. 在Task任務中選擇Start輸入的文件,並填寫好輸出文件後:保存時提示,沒有運行的命令:
    在這裏插入圖片描述
    在這裏插入圖片描述
  4. 在Task中輸入運行的命令,可以看到:變量提供了語法着色顯示,防止輸錯
    在這裏插入圖片描述
  5. 最終滿足校驗要求後,工作流是這樣的:
    在這裏插入圖片描述

最後上一張,完成了的工作流設計器:
在這裏插入圖片描述

您可以下載PPT或加QQ羣:853718264討論

發佈了10 篇原創文章 · 獲贊 2 · 訪問量 2332
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章