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 = ".")
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]))
7. 同様に、smoothScatterで濃淡を描画。(本文中ではpradaパッケージとなっているが、正しくはgeneplotterパッケージ)
> library("geneplotter") > smoothScatter(x, nrpoints = 500) > plot(x, col = densCols(x), pch=20)
8. densColsを利用する方法。局所的な密度を計算し、濃淡で表現。(ちょっち計算に時間がかかる)
> plot(x, col = densCols(x,), pch=20)
2009-06-03
_ [R][Bioconductor] アレイ解析練習3
本日は、アレイ解析からはちょっと離れて、Bioconductor上でのグラフの扱いについて。
参考文献は、例によって『RとBioconductorを用いたバイオインフォマティクス』第21章より。
Bioconductorには、グラフを取り扱う基本的な暮らすやメソッドを含むgraphパッケージ、経路探索などのグラフアルゴリズムを含むRBGLパッケージ、グラフを描写するためのRgraphvizパッケージがある。
まず、これらのパッケージをインストールっと・・・
> source("http://www.bioconductor.org/getBioC.R") > getBioC("graph") > getBioC("RBGL") > getBioC("Rgraphviz") Running biocinstall version 2.3.13 with R version 2.8.1 Your version of R requires version 2.3 of Bioconductor. install.packages(pkgs = pkgs, repos = repos, dependencies = dependencies, 中で警告がありました: argument 'lib' is missing: using '/home/mtagaya/R/i486-pc-linux-gnu-library/2.8' URL 'http://bioconductor.org/packages/2.3/bioc/src/contrib/Rgraphviz_1.20.4.tar.gz' を試しています Content type 'application/x-gzip' length 521869 bytes (509 Kb) 開かれた URL ================================================== downloaded 509 Kb * Installing *source* package 'Rgraphviz' ... configure: No --with-graphviz option was specified. Trying to find graphviz using other methods. checking for pkg-config... /usr/bin/pkg-config Package libgvc was not found in the pkg-config search path. Perhaps you should add the directory containing `libgvc.pc' to the PKG_CONFIG_PATH environment variable No package 'libgvc' found configure: pkg-config was not able to find the graphviz library libgvc. This either indicates that graphviz is old or that something is wrong. Verify graphviz is installed and that PKG_CONFIG_PATH is correct. configure: Using dotneato-config to find graphviz checking for dotneato-config... no configure: dotneato-config not found in PATH. configure: Trying default graphviz dir /usr/local. Consider specifying --with-graphviz configure: Using graphviz root directory /usr/local configure: error: /usr/local/bin/dot not found. Check graphviz installation. ERROR: configuration failed for package 'Rgraphviz' ** Removing '/home/mtagaya/R/i486-pc-linux-gnu-library/2.8/Rgraphviz' The downloaded packages are in /tmp/Rtmp7hWYBq/downloaded_packages Warning message: In install.packages(pkgs = pkgs, repos = repos, dependencies = dependencies, : installation of package 'Rgraphviz' had non-zero exit status
ありゃ、怒られた(^^;
と言うのも、Rgraphvizは外部プログラムのGraphvizのライブラリを使うので、先にこっちのインストールが必要だった。
コマンドラインより、
$ sudo apt-get install graphviz graphviz-dev
を実行し、再度、getBioC("Rgraphviz")を実行すると、無事にライブラリがインストールされた。
1. 早速、Rでライブラリを読み込む。
> library("graph") > library("RBGL") > library("Rgraphviz")
2. 簡単な有向グラフを書いてみる。まずは、頂点(ノード)のラベルを定義。
> myNodes <- c("s", "p", "q", "r")
3. 次に、頂点から頂点への辺(エッジ)の配線を定義。
> myEdges <- list(s = list(edges = c("p", "q")), + p = list(edges = c("p", "r")), q = list(edges = c("p", "r")), + r = list(edges = c("s")))
4. グラフのオブジェクトを生成。
> g <- new("graphNEL", nodes = myNodes, edgeL = myEdges, edgemode = "directed") > g A graphNEL graph with directed edges Number of Nodes = 4 Number of Edges = 7
4. グラフの描画。
> plot(g)
5. なんか味気ないので、頂点と辺に色を付けてみる。
> nodeA <- list(fillcolor = "lightblue") > edgeA <- list(color = "red") > attrs <- getDefaultAttrs(list(node = nodeA, edge = edgeA)) > plot(g, attrs = attrs)
これは、なかなか楽しいなぁ〜
2009-06-04
_ [R][Bioconductor] アレイ解析練習4
昨日に引き続き、ランダムグラフとグラフ描画練習。
1. randomEGraphにより、20個の頂点(ノード)に30本の辺(エッジ)がランダムにはられた無向グラフを作成する。(配色を設定しているattrsは、前日に定義したものと同じ)
> set.seed(100) > MyNodes <- letters[1:20] > rg <- randomEGraph(MyNodes, edges = 30) > plot(rg, attrs = attrs)
ここで、レイアウトアルゴリズムを変えてみる。
現在、実装されているレイアウトアルゴリズムは、"dot"、"neato"、"twopi"、"circo"、"fdp"の5つ。デフォルトではdotが指定される。
では、他のレイアウトアルゴリズムも試してみよう。
2. neato・・・辺が交差しないように描画するアルゴリズム
> plot(rg, attrs = attrs, "neato")
3. twopi・・・放射状構造を可視化するアルゴリズム
> plot(rg, attrs = attrs, "twopi")
4. circo・・・環状構造を可視化するアルゴリズム
> plot(rg, attrs = attrs, "circo")
5. fdp・・・directed spring model・・・って何だろうね?
> plot(rg, attrs = attrs, "fdp")
ん〜、有向グラフを例にした方がおもしろかったかも。
2009-06-05
_ [K-7] 公式動画サンプル
米国ペンタックスのサイトに、PENTAX K-7のオフィシャル動画サンプルがアップされてます。
http://www.pentaximaging.com/slr/K-7/
Youtubeにも。
被写体深度が浅い、明るい単焦点レンズの特性を生かし、フォーカスを移動させる絵作りは面白い。また、FISHEYEレンズとの組み合わせも、なかなか楽しそう。
2009-06-07
_ [photo][K100D][TAMRON SP AF90mm] アジサイ(オタクサ)
江戸末期、シーボルトが来日した折に、この『アジサイ』の花をこよなく愛したと言う。彼は、愛妾の「お滝さん」の名前をこめて、学名に“Hydrangea Otaksa”と命名したという、そんな逸話が残っている。
ちなみに、アジサイには毒性があり、摂食すると、過呼吸、興奮、ふらつき歩行、痙攣、麻痺などを経て死亡する場合もあるとの事。従来、アジサイの含有する青酸配糖体がその原因物質ではないかと考えられてきたが、厚生労働省の通達によると、中毒症状と青酸配糖体との因果関係に関しては、確証が無いようだ。
参考:
・アジサイ - Wikipedia
・アジサイ - 農業・食品産業技術総合研究機構 動物衛生研究所
・アジサイの喫食による食中毒について - 厚生労働省
2009-06-13
_ [education] 保育園探し
いよいよ、相方もあと一週間で産休入りだ。
仕事から帰ってくると「お腹が重い!重い!」と、その苦しみを訴えているのだが、僕が肩代わりするわけにもいかないので、いやはや何とも・・・(^^;
で、今現在、我らの最大の悩みは「産休明け」の事。
今年の8月に生まれ、1年間の産休を経て、来年の8月に復帰したい場合、年度途中で我が子を保育園に預けなければならない。自分の住んでいる足立区のHPに、認可保育園の空き状況が公表されているのだが、なんと募集人数ゼロ・ゼロ・ゼロのオンパレード。途中入園って、難しそうだなぁ、オイ。。。
すると、比較的入りやすいと思われる再来年の4月に入園という事になる。しかし、相方が8月に仕事に復帰するのため、8月〜翌3月までの間、どこかで預かってもらわなければならない。そこで、候補に上がってきているのが、東京都「認証」保育園だ。
「認可」保育園の場合、入園は区役所の方で取り仕切っているため、あまり融通が利かない。その点、「認証」保育園の場合、少々保育料は高くはなるが、事業者と利用者の直接契約になるため、「認可」よりは融通が利きそう・・・と持っているのだが、実際のところはよくわからん。
てなわけで、とりあえず候補の保育園を見学し、ついでに状況の偵察に行く予定。
なかなか、大変っすなぁー。
2009-06-29
_ [log] 妻の里帰り
いよいよ妻の腹も大きく膨らんできたので、先週末、実家のある栃木まで送ってきた。
向こうでお世話になる産婦人科医院へ行き、母親学級と検診に付き合う。
都会のクリニックは、狭い待合室に実に多くの妊婦とその付き添いの家族がひしめき合っていたが、こちらの産婦人科の待合室は、人もまばらで、広々としている。地方と都会との少子高齢化の進行度の違いなのだろうか。
さて、検診終了後、妻の実家で一泊し、お暇乞いして東京へ戻り来りて、ながながし夜を独りかも寝む・・・
これだけの長期に渡って、夫婦別々に過ごすのは、一緒の生活を初めて以来の事である。
再び独身生活を満喫かな・・・と思ったのだが、夜、独り布団に横になると、何か心の奥底にぽっかりと穴があいた様な寂しさを感じるものである。
とりあえず、妻とは毎晩Skypeで連絡を取るつもりだ。