Galaxy-搭建分析工具
最近看了一些Galaxy的一些官方文件,學習下如何在Galaxy這個開源生信雲平臺上構建一些分析工具,最後不是太令人滿意;整體上Galaxy還是很好的一個平臺工具,其開源平臺再加上開發者們提供的開源分析流程能很好的搭建一些生信分析流程,其也設定好了一個前段-後端的框架,使用者可以通過註冊並登陸,以及儲存資料集以及分析的輸入/輸出檔案,也可以通過html檔案設定登陸介面等等
主要的一些Galaxy操作說明都在 https://galaxyproject.org/admin/ 中
比如用Tool Shed安裝工具,可以看文件 Installing Tools into Galaxy ,比如常見的bwa、hisat2等等
但通常一般會本地化Galaxy,那麼需要將自己的登陸賬戶設定為管理員,這樣才能通過Tool Shed安裝軟體,如修改配置檔案galaxy.yml,將其中的admin_users後面加上自己的註冊郵箱即可,然後重啟Galaxy,然後點選管理員後(我是中文介面。。。),介面如下:
如果從shed tools上安裝的軟體需要一些依賴軟體或者想直接使用本地上已經安裝的版本,那麼可以參考 Tool Dependencies ,其實就是將軟體執行檔案的路徑放到系統環境變數中
對於Tool Panel的管理可以參照 Tool Panel Administration ,明白其佈局規則(config/tool_conf.xml),大致格式如下():
<?xml version='1.0' encoding='utf-8'?> <toolbox monitor="true"> <section name="MyTools" id="mTools"> <tool file="myTools/toolExample.xml" /> </section> <section id="getext" name="Get Data"> <tool file="data_source/upload.xml" /> </section> </toolbox>
介面如下:
如果想自定義本地軟體或者一些指令碼到Galaxy中的話,這個是我最為關注的,可以參考 Adding custom tools to Galaxy
一般步驟如下,以計算fasta檔案的GC含量為例:
toolExample.pl toolExample.xml
toolExample.pl
和 toolExample.xml
示例參照上述連結下的文章,有很詳細的解釋說明
Galaxy還支援自定義繪圖工具,如 Creating a histogram tool tutorial ,具體原理跟上面那個自定義工具一樣,但是其支援的繪圖工具有點非主流。。。
我查看了Galaxy內建的bar_chart繪圖工具指令碼,其是用Python呼叫Gnuplot來實現繪圖的,我最開始想用R來實現圖形展示,但是無法輸出圖片到Galaxy上,晚上搜索了好久也沒查到Galaxy和R繪圖的關聯資料
那麼Galaxy是如何來實現視覺化的呢,其是利用javascript來實現視覺化的,其示例都在Galaxy平臺上的視覺化模組內,可參照 Visualization with Charts ,有興趣的可以試試。。。
除了上述安裝Galaxy工具外,其還支援用Planemo來build tools,如參考 Building Galaxy Tools Using Planemo
整體上Galaxy還是一個很好用的開源生信平臺工具,但是個人覺得由於其在某些方面顯的很方便,從而使得其看起來比較的臃腫以及個性化展示方面顯得比較的約束,這點比起Shiny可能做的更加的好些,畢竟Shiny更加貼近網頁工具
Galaxy學習資料網上比較少,主要還是得依靠官方文件,推薦一些中文版資料:
本來還想深入瞭解下Galaxy,看看是否能做個簡易版的生信雲平臺搞搞,但是瞭解了後,覺得可能不太合適,變成了從入門到放棄系列。。。
後續看看學下Python的web後端框架,從傳統思路上來試試,比如簡單的搭建個登入介面以及資料庫管理,然後再搭配上一些前端網頁以及一些shiny視覺化?
本文出自於 http://www.bioinfo-scrounger.com 轉載請註明出處