最近我在B站的視頻頁面下發(fā)現(xiàn)了這樣的一條評論,面對質(zhì)譜數(shù)據(jù)分析領域內(nèi)的初學者的求教,其實自己也是非常的誠惶誠恐的。因為在視頻中所使用的腳本語言是自己開發(fā)的一門新語言,所以可能給@徐冬冬阿哈哈哈哈同學造成了一部分的困擾哈哈。首先先對這位粉絲說一聲抱歉哈。抱歉抱歉抱歉抱歉,,,
針對上述的提問,我的回答大概是有以下的幾點:
(資料圖)
在B站的教程視頻《【BioNovoGene Mzkit教程】代謝組學原始數(shù)據(jù)處理基礎》中,所提到的腳本語言其實并不是真正的R語言,而是基于R語言的向量化編程特性而仿照著開發(fā)出來的一門國產(chǎn)編程語言R#
。所以有一些視頻中所提到的軟件包在真正的R語言環(huán)境之中是無法找到的。
所以netCDF.utils
程序包模塊其實是R#編程語言的環(huán)境庫之中自帶的一個用于讀寫CDF文件的模塊,在真正的R語言環(huán)境之中是找不到的哈哈
因為R#語言的開發(fā)結合了多種語言的特性,所以看起來可能會有一些四不像。但是腳本中所展示的imports
之類的語句,其實并不是來自于python,而是來自于javascript語言。代碼中using
相關的代碼語法其實是來自于C#語言或者VB.NET語言之中的using。
那說完了上面的針對評論回復的幾點,下面我們開始進行一些拓展性的知識講解吧:關于如何使用上R#語言進行質(zhì)譜數(shù)據(jù)分析。
首先,先向大伙簡單介紹一下MZKit桌面工作站軟件的一些背景信息。在視頻中所介紹的MZKit軟件,其實是帕諾米克從2017年啟動的一個質(zhì)譜原始數(shù)據(jù)開源項目,相關的項目源代碼大家可以從Github上下載得到:https://github.com/xieguigang/mzkit
目前呢,經(jīng)過多年的發(fā)展,MZKit開源項目目前在質(zhì)譜原始數(shù)據(jù)處理相關領域內(nèi)的應用其實已經(jīng)比較廣泛了:就帕諾米克而言,MZKit軟件以及R#
腳本編程語言已經(jīng)非常廣泛的應用于各種商業(yè)項目中的質(zhì)譜原始數(shù)據(jù)處理的自動化流程搭建之中。那現(xiàn)在廢話不多說,回到我們的正題:我們該如何通過R#編程語言腳本調(diào)用MZKit進行質(zhì)譜數(shù)據(jù)的一些處理操作呢?假若各位同學已經(jīng)安裝有MZKit桌面工作站軟件的話,實際上你已經(jīng)獲取得到了一個R#編程語言的運行環(huán)境:因為MZKit的一些數(shù)據(jù)分析功能和數(shù)據(jù)可視化功能是基于R#腳本語言編寫的,R#語言編程環(huán)境已經(jīng)集成在了MZKit桌面工作站軟件之中了。
既然R#
編程語言環(huán)境已經(jīng)集成在了視頻中所提到的MZKit桌面工作站軟件之中,那么我們怎么打開它呢?其實這個非常的簡單,我們只需要按照下面的操作步驟就可以進入R#編程環(huán)境之中:
首先,通過軟件左上角的【File】菜單入口打開軟件的主菜單;接著可以在主菜單之中看見有【MZKit Data Toolkit】菜單欄;就是在這個菜單欄之中,展開后可以發(fā)現(xiàn)有一個命令行圖標的東西【Developer CommandLine Tools】;對,就是它了,點擊這個東西我們就可以進入到R#
編程語言環(huán)境之中了。假設點擊這個菜單之后,跳出來了下面所示的這樣的一個命令行界面,那么就說明你已經(jīng)成功打算開了質(zhì)譜數(shù)據(jù)分析的開發(fā)工具環(huán)境:
那現(xiàn)在我們來編寫一個進行CDF數(shù)據(jù)可視化的腳本來初步講解MZKit軟件自帶的質(zhì)譜數(shù)據(jù)處理函數(shù)庫的使用吧。
像傳統(tǒng)的R語言編程一樣,一般編程語言環(huán)境之中是不包含有針對具體的實際問題解決工具的。所以在進行相關的實際問題處理之前,我們需要導入面向具體實際問題進行數(shù)據(jù)處理的相關的軟件包。在這里我們先進行接下來所需要解決的具體問題的描述:通過讀取CDF文件之中的色譜圖數(shù)據(jù),然后分別通過ggplot軟件包或者mzkit軟件包繪制出來。
那根據(jù)上面的問題描述,實際上我們就可以分解出三個腳本操作相關的模塊:CDF文件數(shù)據(jù)讀取模塊,ggplot繪圖模塊或者mzkit質(zhì)譜數(shù)據(jù)可視化模塊。那么首先,我們向腳本執(zhí)行環(huán)境之中導入CDF文件數(shù)據(jù)讀取模塊netCDF.utils
進行數(shù)據(jù)讀取操作:
CDF文件數(shù)據(jù)讀取
具體的來講,上面的語句其實就是從base.dll
這個程序模塊文件之中導入了CDF文件讀取相關的函數(shù)內(nèi)容,這樣子我們就可以在R#腳本之中打開并且讀取CDF文件之中的數(shù)據(jù)啦。接下來我們就可以通過下面所列舉的幾個函數(shù)來從我們的目標CDF文件之中讀取數(shù)據(jù)了:
open.netCDF: 按照一個所設定的文件路徑,打開CDF文件流
var: 從CDF文件流之中獲取得到指定名稱的變量信息
getValue: 基于特定的變量信息讀取CDF文件之中所存儲的向量數(shù)據(jù)
對于氣質(zhì)色譜數(shù)據(jù)分析而言,CDF文件是一種比較通用的標準格式,CDF文件里面主要是存儲很多個向量數(shù)據(jù),而氣質(zhì)色譜的總離子流相關的向量變量信息在CDF文件中分別為:
scan_acquisition_time 向量即為總離子流圖的保留時間向量信息
total_intensity 顧名思義就是總離子流圖的每一個保留時間點上所對應的總離子信號響應強度信息
那,現(xiàn)在了解到了上面的主要相關信息之后,我們就可以寫出如下腳本進行數(shù)據(jù)的讀取了:
現(xiàn)在保存一下我們的腳本文件,在命令行窗口中輸入R#;接著呢,復制文件路徑,然后粘貼我們的文件路徑在命令行輸出窗口中,例如像下面這樣子:
最起始的R#
就是代表我們所使用的R#腳本的解釋器程序,后面的路徑就是我們上面所保存的R腳本了。現(xiàn)在在命令行上按下回車執(zhí)行我們的腳本,經(jīng)過一會兒之后,在我們的命令行窗口上應該會出現(xiàn)和下圖類似的dataframe打印結果,出現(xiàn)這個就說明我們通過腳本從CDF文件之中讀取總離子流色譜圖相關的向量數(shù)據(jù)成功了!
ggplot繪制總離子流色譜圖
現(xiàn)在,我們已經(jīng)擁有了繪圖相關的數(shù)據(jù),那現(xiàn)在我們可以做繪圖操作了。首先我們祭出R語言的繪圖利器,首先展示一下在R#編程語言環(huán)境之中通過ggplot進行總離子流色譜圖的繪制:
通過執(zhí)行上面的一段ggplot的繪圖腳本代碼,我們得到了如下所示的TIC圖數(shù)據(jù)可視化輸出結果:
MZKit程序包繪制總離子流色譜圖
上面我們展示的是基于ggplot程序包按照一般的數(shù)據(jù)繪制流程做的一個數(shù)據(jù)可視化,那現(xiàn)在假若我們想要基于MZKit程序包進行上面所展示的類似的TIC色譜圖的繪制操作呢?當然也是沒問題的了,因為MZKit軟件包就是專門進行質(zhì)譜數(shù)據(jù)處理操作的工作,繪制這種基礎原始數(shù)據(jù)圖當然不在話下了,首先來看繪圖代碼:
從上面的繪圖代碼可以看見,相關的繪圖操作和ggplot相比較,自定義方面的內(nèi)容(例如坐標軸,標題之類的信息)會較少一些,但是相關的繪圖操作卻簡化了一些:我們只需要通過chromatogram對象相關的操作函數(shù),將讀取出來的原始數(shù)據(jù)轉換為chromatogram對象,接下來就可以直接通過plot函數(shù)繪制出來了!除了操作簡單這個特點,默認輸出的圖形樣式也要漂亮了許多。
下面截圖的是在這篇文章中所展示的基礎數(shù)據(jù)作圖功能的全部代碼了:
上面的所有代碼都是基于MZKit桌面工作站軟件最新發(fā)布的版本所完成的,如果各位同學需要更新或者安裝最新版本的MZKit桌面工作站軟件,可以訪問BioDeep網(wǎng)站進行下載:http://www.biodeep.cn/downloads?lang=zh-CN
希望這篇評論回復文章可以解開粉絲的一部分疑惑哈