利用ggbio對生物資料進行視覺化

2021-09-20 02:13:00 字數 2089 閱讀 5742

ggbio是圖形語法(graphic grammar)在生物資料領域上的拓展,任何ggbio得到的結果都能與ggplot2進行互動,而不是簡單封裝。

ggbio對ggplot2的乙個拓展是其提供了tracks用於以不同軌的方式比較資料,比如說比較兩個不同的時間序列。

tracks支援多種方式定製

此外tracks還拓展了ggplot2的主題,以theme_tracks_*方式命名.

最後這些修改方式都可以通過reset一鍵還原到之前backup的地方。

ggbio支援bioconductor的幾個核心資料結構的視覺化, 如irange和genomicrange, 而ggplot2則是主要處理data.frame.為了方便銜接,作者開發了mold將biconductor的核心資料結構轉換成data.frame.mold相對於as.data.frame這種簡單粗暴的轉換,保留了原來資料結構的更多資訊,建立了更多變數統計值。目前支援eset, granges, iranges, grangeslist, seqinfo, matrix, views, expressionset summarizedexperiment, rle, rlelist。

ps:mold函式在biovizbase包中。

判斷乙個人是否懂ggplot2,只要問他"什麼是圖形語法"即可

一張統計圖形就是從資料到幾何物件(geometric object, 點、線、大小等)的圖形屬性(aesthetic attribute, 顏色、形狀、大小)的乙個對映。此外,圖形中還可能包括資料的統計變換(statistical transformation), 最後繪製在某個特性的座標軸(coordinate system)中,而分面(facet)則可以用來生成資料不同子集的圖形。

因此真正理解圖形語法的人,看了下面這張圖就會用ggbio了。

[上傳失敗...(image-154052-1516168383746)]

有些細節不懂,就可以翻翻

這部分操作涉及到annotationhubgenomicfeatures兩個r包,這些在我的用bioconductor對基因組注釋有過比較詳細的介紹。如果理解了那兩個r包的使用,那麼起始用起來也就很簡單,無非就是構建乙個ggbio能用的granges物件而已,步驟如下:

使用select根據基因id找到cds id

使用cds根據cds id篩選區域

對區域使用geom_arrowrect作圖

# 載入擬南芥txdb

library(annotationhub)

ah tair_tx

# 1. 根據基因id找到cds id

keys

cds_region

# 2. 根據cds id建立genomicranges

cds_gr

# 3. 作圖

有點醜

使用matplotlib對EC資料進行視覺化探索

使用matplotlib繪製ec氣壓層面的等高線圖及3d影象,首先安裝matplotlib庫和numpy庫,這裡略去安裝步驟。等高線圖製作 import matplotlib.pyplot as plt import numpy as np def height f open ecpl 201802...

利用社交網路資料進行推薦

原創 石曉文 本篇的思維導圖如下 一般來說,有3種不同的社交網路資料 雙向確認的社交網路資料 一般通過無向圖表示 單向關注的社交網路資料 使用者關係是單向的,可以通過有向圖表示 基於社群的社交網路資料 比如豆瓣小組 社交網路資料中也存在長尾分布,主要根據使用者的入度和出度,使用者的入度反映了使用者的...

利用oradata進行資料恢復

之前因為現場對方工程師的原因,把oracle其他資料夾都給格了,只剩下oradata資料夾拷貝出來了,基於oracle9i版本 第一步 搭建乙個和之前一模一樣的資料庫系統環境 第三步 將oradata資料夾覆蓋過去 第四步 啟動服務,登入之後應該會發現普通使用者無法登入,會報錯ora 01033 o...