2010年11月29日月曜日

Rのデータフレームで全ての要素を0にする方法。

適当にデータフレームを作る。

a <- data.frame(vx = rnorm(4), vy = rnorm(4))
> a
          vx         vy
1 -0.8471887  0.3259928
2 -0.6407484 -0.7220875
3  0.5641560 -0.6801677
4 -0.5879207  0.1991004
列数を数えて(眼で分かれば数える必要もない)
行数の場合はnrow(a)

> ncol(a)
[1] 2

全部0にしてね~
行の場合はa[1:4,]<-0

> a[,1:2]<-0
はーい
> a
  vx vy
1  0  0
2  0  0
3  0  0
4  0  0

Rのデータフレームで特定の列(行)を削除する方法。

例えば10~20列目を削除したかったら
arudataframe <- arudataframe[,-10:-20]
例えば10~20行目を削除したかったら
 arudataframe <- arudataframe[-10:-20,]

以上。
こういう単純なことが調べにくいのがRの弱点だと思う。
(え、(゜∇゜ ;)エッ!?だったら作ればいいって??)そうですな。ヾ(´ε`*)ゝ


追記
簡単な追加の方法
> MetalDistance
MG CA MN ZN CU FE NI MO SE
FRU 0 0 0 0 0 0 0 0 0
FUC 0 0 0 0 0 0 0 0 0
GAL 0 0 0 0 0 0 0 0 0
GLC 0 0 0 0 0 0 0 0 0
MAN 0 0 0 0 0 0 0 0 0
NAG 0 0 0 0 0 0 0 0 0
NGA 0 0 0 0 0 0 0 0 0
8 0 0 0 0 0 0 0 0 0
> MetalDistance[9:11,] <- 0 > MetalDistance
MG CA MN ZN CU FE NI MO SE
FRU 0 0 0 0 0 0 0 0 0
FUC 0 0 0 0 0 0 0 0 0
GAL 0 0 0 0 0 0 0 0 0
GLC 0 0 0 0 0 0 0 0 0
MAN 0 0 0 0 0 0 0 0 0
NAG 0 0 0 0 0 0 0 0 0
NGA 0 0 0 0 0 0 0 0 0
8 0 0 0 0 0 0 0 0 0
9 0 0 0 0 0 0 0 0 0
10 0 0 0 0 0 0 0 0 0
11 0 0 0 0 0 0 0 0 0

2010年11月25日木曜日

Rでヒートマップ 適当メモ (せせけんwikiからも引用)

x <- read.table("x.txt",header=TRUE,sep="¥t",row.names=1)

⇒getwd()で今いる作業フォルダを確認してその位置からのx.txtを使います。

⇒ファイルの1行目がデータではなくサンプル名等の場合、
header=TRUE とし、1行目からデータが始まっている場合、
header=FALSE と指定する。
⇒sep=" "の部分で、読み込むデータファイルが何で区切られている
のか指定する。
⇒ファイルの1列目がデータではなく遺伝子名等の場合、
row.names=1 とし、1列目からデータが始まっている場合、
特に何も記述しない。
(もちろんR内でtableを自分で作っている場合には、この手順は必要ないです。)

 * 読み込んだデータを、numericクラスに変換する。数値に変換する必要があるためです。

x_numeric <- apply(x,c(1:2),as.numeric)

⇒行列の形をしたデータの全体をnumericにしたい場合、
apply関数の2番目の要素はc(1:2)とし、
全体に作用させたい関数をapply関数の3番目の要素とする。このapply関数はよく使います。
 


> x_numeric
           a   b   c   d
weight    55  60  42  70
height   150 173 148 180
body fat  28  12  22  15

*データ間距離を計算

x_euclid <- dist(x_numeric,method="euclid")

⇒numericに変換したデータ間のユークリッド距離を
求め、距離行列をx_euclidに代入している。
method=" "の部分は"euclid","manhattan","minkovski","canberra"が指
定できる。

*クラスタリングの方法を選択

x_ward_hclust <- hclust(x_euclid,method="ward")

⇒method=" "の部分は
"single","complete","average","centroid","ward"が指定できる。
(ちなみにここで
plclust(x_ward_hclust,hang=-1)
とするとデンドログラムがかけます。)

 ** ヒートマップの作成

heatmap(x_numeric,hclustfun= function(x_euclid) hclust(x_euclid,method="
ward"))


      ⇒numericとはxをnumericクラスに変換したデータ
      ⇒x_euclidとはxをユークリッド距離行列に変換したデータ
      ⇒function()とは関数の定義で、hclustfunのパッケージ内の
       ある関数を呼び出している。ここでは関数hclustをよびだして、
       xのユークリッド距離行x_euclidを引数としている。
(もっときれいな書き方があったようにも思うのですが、ちょっと思い出せなく
てすみません;;)

ちなみに
    * 行と列のクラスタリング方法を変えたい場合

      例として行をaverage法、列をward法でクラスタリングする

      x_average<-hclust(x_euclid,method="average")
      x_row<-as.dendrogram(x_average)
      heatmap(x_numeric, Rowv=x_row, hclustfun=function(x_euclid) hclust
(x_euclid,method="ward"))

      ⇒x_rowはx_euclidをaverage法でクラスタリングしたデータ
⇒heatmapにおいてRowvで行のデンドログラムを指定する
      ⇒列のクラスタリング法は heatmap()のhclust()で指定する。

です。

また保存する場合は
    * 保存するファイルを作成する

pdf("___.pdf",paper="a4r")#ファイル名と大きさを指定
heatmap(x_numeric,hclustfun= function(x_euclid) hclust(x_euclid,method="
ward"))
dev.off()

Local Blast めも

BlastとはDNAやタンパク質の配列を比較するツールである。
Local Blastはネット経由だと遅くなりがちだったりするので、ローカルで(自分のPCで)できたらいいじゃんってものである。

Local Blastのコマンドが新しくなった。

取ってきたaaファイルからblast検索に必要なファイルの作成
もと
formatdb -i yeast.aa -p T -o T

makeblastdb -in yeast.aa -dbtype prot -hash_index

もと
blastall -p blastp -d yeast.aa -i test.txt -o test.out
これが、新しくなったためにblastallが使えない(基本的に perlを使ってそれを経由して使うことは出来るらしい
blastp -db yeast.aa -query test.txt  -out test.out

blast
-i -d -p -o
blast +
-query -db -task -out



BLAST+ Traditional BLAST program
blastn –task blastnblastall –p blastn
blastpblastall –p blastp
blastxblastall –p blastx
tblastnblastall –p tblastn
tblastxblastall –p tblastx
blastn –task megablastmegablast
psiblastblastpgp
makeblastdbformatdb
blastdbcmdfastacmd





もと
-b 数字 

-num_alignments 数字
で出力に含まれるアラインメント数を指定
アラインメントされる配列数を限定する。

-e 0.1 でE-valueの閾値を指定
新 -evalue 0.1
E-valueが0.1以下でヒットした配列のみが出力される。

-F F で低複雑度領域(フィルタ)のマスクをオフにする。
オンだと(デフォルト) Xでマスクされていた(塩基配列ならN)部分が検索の際に考慮されていることがわかる。
もと オン・デフォルト
オフにするには
-F F
新 オフ・デフォルト
オンにするには
-seg yes

-v 数字 で検索結果リストとして出力する数を指定できる。
新 -num_descriptions数字


出力形式の変更
-m 9 で、結果をタブ区切りテキストとして出力できる。
新 -outfmt 6
タブ区切りテキストなので、表計算ソフトで読み込むことができる。

-T Tを指定すると、結果をHTML形式で出力する。
test.out → test.html に変更する。
新 test.html -html
リンクをクリックすると、NCBIの該当するエントリが開く。

ライフサイエンスQA

これは使いやすそう。うふふ。
http://qa.lifesciencedb.jp/

2010年11月17日水曜日

PDBめも 読み方 (一部)

どうやら必要な情報を取り出すためには、ブロックとしてではなくて、最初から何文字に何があるのか
ということが大事らしい。

1-6レコードタイプ
13-16 原子名
18-20 残基名
23-26 残基番号
31-38 X座標
39-46 Y座標
47-54 Z座標
55-60 占有率
61-66 温度因子
77-78 元素名


名大成田先生のpdfより
   1-4 ATOM
7-11 Atom serial number ←原子通し番号
13-16 Atom name ←原子名
17 Alternate location indicator
18-20 Residue name ←残基名
22 Chain identification ←ポリペプチド鎖名
23-26 Residue sequence number ←残基番号
31-38 X (Orthogonal Å coordinates) ←原子の直交Å座標値
39-46 Y (Orthogonal Å coordinates)
47-54 Z (Orthogonal Å coordinates)
55-60 Occupancy ←占有率
61-66 Temperature factor ←温度因子
73-76 ID ←識別コード
77-80 Sequential number ←通し番号

観劇日記 劇工舎プリズム「Δ」

後輩の劇を観てきた。
作演の彼は私の勧誘がきっかけでサークルに入ったなんて言ってくれるものだから
行かないわけにはいかなかったのである。後輩メイツからの連絡をいただいたなら、いかないわけにはいかなかったのである。後輩大好きな残念な先輩としても・・・。

思い出そう。

Δ、微分のおはなしだと思った。
曲線を微分すると線になり、線でさえも微分すると点になってしまう。
我々の世界は微分で出来た一部しか見ていない。本当に分かっていることなんて
ちょっとだけだ、ということなんだというテーマだと感じた。

冒頭と最後のカチューシャは、その曲線を出して、しまう、という動作に、すべてが集約されて
いたと考えるので良いのだろうか。
それを表現する仕組みを皆でつくろうとして、でもそれが出来ないと分かったときにはものすごい
混乱をもたらす。その危険性を我々は感じているだろうか、いや、ないだろう、と。

まぁ、理解しきれていない部分はあると思うけれど。
この微分と作演の考えが、私の考えた結果とあっていたならば、
非常に骨太で、芯の通った作品だと思った。
芯が太いから、ぶれずに済んでいるのだ。

惜しいのは、プリズムだからこその会話感の不足で
最近マーキュリーが得意としている
さりげない日常の会話につい人は引きこまれてしまうという事実に
プリズムの人たちは気づいていなくて、冒頭の会話の不自然で観客を
いくらか突き放してしまったであろうことが少々残念である。

ここに、先輩としての些かの反省があって、私はその事実に現役時代全く気がついて
いなかったのである。だから、勝手に責任を感じて唸ってしまったりする。
演劇のサークルが続いていくには、発展していって欲しいという思いがあって、この発展には2つ、サークルとして人と人が繋がり合う発展と、劇を作るという行為において発展していって欲しいという
思いである。

自分自身の反省として、前者においても後者においても、先輩方に比べて自分は多くのものを受け取ったのに少ないものしか伝えられなかったのではないか、という反省があるのだ。
後輩が作った劇に粗が目立ったりすると余計その思いが強くなって、もう引退して何年も経つのだから
いい加減にしろ、と自分でも思うのだが、そう思わずにはいられない瞬間というのもあるのである。でも当時はいっぱいいっぱいで、最善を尽くしているつもりだった。大した役者じゃなかったけど。

だから今回、役者の演技という面では粗が目立つにしろ、(悪かったわけではない、荒削りだっただけ)
写真や個々人の感想を見る限り、前者においても後者においてもそれは克服されつつある、と感じて
勝手にホッとしていたのである。この大変頭脳を使う、数学的且つ哲学的な劇を理解して協力しあえたのは頭脳派集団プリズムだからこその特技ではないか、それはうまいことやったなと。
ただ次回はメンバーも演出も変わるだろうから、次への危険性も大きいぞと老婆心ながらに心配していたりする。脚本に救われた部分が多々ある。削って鋭さを出し切っただけに、次下手に肉付けすると
残念なものになる可能性がある。
役者は時間の許す限り、他の団体に参加したり、観たりして、引き出しと武器を増やし、スタッフもスタッフ目線ではなく、作り手として劇に関わる強い視点を持っていてほしい。

実に独り言になってしまった。ただのおばあちゃんの独り言である。
もう、大学も卒業しちゃったから口出しを直接はすまい、と思っているからなんです。

でも、たまには、劇場に出向いて考えないと、ですね。

2010年11月16日火曜日

非日常の日常ーお台場生活(東京国際交流館)




お台場に住んで半年が経とうとしている。
私が住んでいるのは東京都江東区青海、東京国際交流館(http://www.tiec.jasso.go.jp/)
というところだ。
大学も性別も問わない巨大な国際寮だと思ってもらえば早いかもしれない。
ただ、寮と違うのは、1人で住むA棟とB棟の他に夫婦で住むC棟とD棟がある。
交流館だけあってほとんどが留学生や外国の研究者の方で、日本人はRA(Resident Assistant)として、主に大学院生(と日本人研究者)がサポート役として住んでいる。
普段は一人暮らしと変わらない。たまに留学生の日本語相談にのったり、翻訳の手伝い、入居サポートをしたりしている。(月一回報告書をRAは書くってのと、月一回会議がある)
施設はとても恵まれていて、私が住んでいるのはB棟だが、部屋も広いし(30平方メートル)、家具も備え付け(洗濯機、冷蔵庫、掃除機、アイロン、電気、ベッドなど)、体育館もジムも自習室も音楽室も調理室も(他にもいろいろ)ある。相談室もあって、万全である。ついでにお台場にあるだけあって、海はすぐそこで、部屋によっては海が見えたりもする。ついでに調べてもらえば分かるけどお台場にしちゃ破格の家賃だ。
A棟は洗濯機が共有ランドリーなのと、キッチンも共有キッチンだ。B棟も共有キッチンではないが共有スペース(ラウンジ)があって、そこにはテーブルが3つ入るくらいのスペースで、テレビもPCもあって、ちょっとしたフロアパーティーが開けるようになっている。

特徴的なのは、そしてしょっちゅうイベントがあって、バザーをしたり、ダンスパーティーがあったり、ハロウィンパーティーをしたり、色々な国を紹介するイベントがあったりする。クラブも盛んで、バレーボール、バスケ、ランナーズクラブ、なんてのもあったりする。交流館に住んでいる子供たちと関わっていろいろなことをするクラブなんてのもあるらしい(よく知らない)。日本語を学ぶ留学生のために、日本語教室もあるし、日本文化を学ぶ教室なんてのもある。
住んでる日本人も積極的な人が多くて、ちょっとビックリする。
留学生も多様な国から来ている。
一回社会に出てからの留学生や、1年だけ会社を休んで日本に来ている人もいて、色々な人に会える。

交流館だけあって会った人には気軽に挨拶するし、ゆりかもめで一緒になったら、ずっと目的の駅につくまでおしゃべりしたりする。

書くだけじゃよく分からないと思うけど、とりあえず、不思議な空間ってことは確かだ。
管理センターには職員さんがいらして、何か問題があったり、手続き関係は彼等に頼っている。
防災センターにも職員さんがいらして、見回りや、台車などの道具もお借りできる。

色々なイベントは学生支援機構だけでなく、他の国際交流の団体だったり、色々なところから支援を
いただいて行っているらしい。

仕分けの対象になっていて、2012年の3月までしか住めない。(今後どうなるのかなぁ)
確かに公平性を考えると致し方が無いと思うけれど、ここでの国際交流の文化は住んでいる日本人にとっても留学生にとっても非常に貴重な空間であり、経験が出来る理想的な環境であることは確かだ。

そして
お台場はきれいなところである。
ゴミ箱は至る所にあるし、案外公衆トイレも多い。
海は近くにあって、お台場海浜公園をはじめ、色々な公園が周りにあって緑もある。
フジテレビが近くにあったり、気軽にビーナスフォートやアクアシティお台場に行けるのは
ちょっと変わってるけど、観光スポットだけあって景色がいい。

買い物はちょっと不便だけど(自転車で5分くらい)週3回、八百屋さんがトラックで来てくれたり、コープデリなんかを使っている人もいる。B棟の一階にはデイリーヤマザキのストアがあって、コンビニは近くにある。(となりにイベントをよくやっている駐車場も近くにあるから、あのデイリーとても儲かっていそうである…中でパンも焼いてるらしい。)ゆりかもめもちょっと不便だけど、綺麗だし、時間によっては混まなくて快適な乗り物でもある。
と大雑把に紹介してみた。

気になることがあったら気軽にコメントしてください;-)