tetraの外部記憶箱

«前の日記(2009-05-31) 最新 次の日記(2009-06-03)» 編集
Category;

2009-06-02

_ [R][Bioconductor] アレイ解析練習2

『RとBioconductorを用いたバイオインフォマティクス』第10章(p.197)から、データ散布図の描写について。

1. Rを起動し、まずはAffymetrixのサンプルデータを読み込む。

> library("affydata")
> data("Dilution")

ちなみに、サンプルデータの概要は、以下のとおり。

> Dilution
AffyBatch object
size of arrays=640x640 features (27210 kb)
cdf=HG_U95Av2 (12625 affyids)
number of samples=4
number of genes=12625
annotation=hgu95av2
notes= 

2. log2値の計算。Dilutionに含まれる4枚分のアレイデータの内、2枚分のアレイデータを使用。

> x <- log2(exprs(Dilution)[, 1:2])

3. 行列演算子%*%を使った内積計算によって、2つのベクトルの和Aと差Mを計算する。(内積を使うとは、頭いい方法だなー)

> x <- x %*% cbind(A = c(1, 1), M = c(-1,1))

4. プロット。

> plot(x, pch = ".")

20090602103852

5. これでは密集部分が黒く潰れてわからないので、hexbinパッケージを使って六角形ビン分割で描画してみる。 (本ではgeneplotterパッケージを読み込んでいるが、その代わりにRColorBrewerパッケージを読み込む必要あり)

> library("hexbin")
>library("RColorBrewer")
plot(x, plot(x, col = densCols(x,), pch=20)col = densCols(x,), pch=20)

6. データ行列xからhexbinオブジェクトを作成し、プロット。(色によって密度が示される。xbinsを大きくすると、分割数が大きくなる=ビンが小さくなる)

> hb <- hexbin(x, xbins = 50)
> plot(hb, colramp = colorRampPalette(brewer.pal(9, "YlGnBu")[-1]))

20090602103851

7. 同様に、smoothScatterで濃淡を描画。(本文中ではpradaパッケージとなっているが、正しくはgeneplotterパッケージ)

> library("geneplotter")
> smoothScatter(x, nrpoints = 500)
> plot(x, col = densCols(x), pch=20)

20090602103850

8. densColsを利用する方法。局所的な密度を計算し、濃淡で表現。(ちょっち計算に時間がかかる)

> plot(x, col = densCols(x,), pch=20)

20090602103849

RとBioconductorを用いたバイオインフォマティクス
ジェントルマン
シュプリンガー・ジャパン株式会社 ( 2007-07-09 )
ISBN: 9784431734642
おすすめ度:アマゾンおすすめ度