ラベル Research の投稿を表示しています。 すべての投稿を表示
ラベル Research の投稿を表示しています。 すべての投稿を表示

2013年11月1日金曜日

[自分用] Rの基本

久しくRを触ってなかったんですが論文執筆のために触ることになり、何からすれば良いのかも戸惑う始末。なのでダメな自分用にメモっておきます。随時追加するかも。
ちなみに私のRの使用目的はグラフを作るのがメインです。あくまで自分用なので、「基本」と書きつつも私がよく使うものだけを列記します。

Rstudio立ち上げましょう

まずはここから。

CSV読み込みましょう

d <- read.csv("path to file", header = T or F) ワークディレクトリはデフォルトではホームフォルダに設定されてる。変更したければRstudioの環境設定から変える。<注意:csvファイルのカンマ区切りはスペースを含まないようにする。スペースも文字としてカウントされてしまうため。>
以下、データはこんなのを想定してます。

Species Season Value
A Spring 12
A Summer 36
B Spring 41
B Summer 19

特定の行または列だけ選びたければ

d[1,] (行)
d[,1] (列)

行とか列を削除したいときは

d[,-c(2,3,4)] #(2,3,4列目を削除)

オブジェクトの削除

a, b, cという3つのオブジェクトを一度に消す rm(a,b,c) 

条件からデータを抽出

例えば季節(Season)がSpringのデータだけ抽出したい、とか。 d.spring <- subset(d, Season=="Spring")

データの取り出し方いろいろ

説明しにくいので、読んで分かれ自分。
#ベクトル作成
> v<-c(2,3,4,5,6)

#普通に表示
> v
[1] 2 3 4 5 6

#2で割って余りが0になる=TRUE
> v%%2==0
[1] TRUE FALSE TRUE FALSE TRUE

#TRUEになるデータだけピックアップ
> v[v%%2 ==0]
[1] 2 4 6

#TRUEのデータが何番目かを表示
> which(v%%2==0)
[1] 1 3 5

#1,3,5番目のデータをピックアップ、二つ上のコードと結果は同じだけど。
> v[which(v%%2==0)]
[1] 2 4 6

とりあえずplotしてみる

plot(x,y,…) という書き方なので以下だとX軸にdのSeason、Y軸にdのValueが表示されます。 plot(d$Season, d$Value, main="title of figure") ちなみに、タイトルが長すぎて改行を入れたい場合は、 main="title of figure\nsubtitle" のように改行したいところに\nを入れれば、"title of figure" と "subtitle"の間に改行が入る。
※Macの場合。Windowsでは¥nを入れる。

x軸の項目名が1,2,3...とかなってるけど任意の名前にしたいとき

plot(data, xaxt="n") とxaxtパラメータでx軸の名前を入れないようにして一旦描画。次に、 axis(side=1, at=c(1:n), labels=LabelName) としてx軸に上書き。sideパラメータは1:下,2:左,3:上,4:右。atはx軸の項目数。その数と同じだけのLabelNameを先に作っておいて、x軸の項目名を置き換えるわけです。このLabelNameは文字列(character)でもベクターでもOKなようです。ここで、項目名が長いために90度回転させたいならlasというパラメータを入れる。こちらの有り難いページによれば以下とのこと。
可能な値は 0 (標準・軸に平行), 1 (x軸,y軸とも水平), 2 (x軸,y軸とも軸に垂直),3 (x軸,y軸とも垂直(半時計回りで90度回転)) の4つ
axis(side=1, at=c(1:n), labels=LabelName, las=3)

ヒストグラムも描いてみようかな

hist(d$Value)

ggplot2てパッケージがあったよな、たしか

インストール(初回だけで良い) install.packages("ggplot2") 読み込み library("ggplot2")

ggplot2でもプロットしてみる

qplot(data=hoge.rule1, Season, Value, main="title of figure") 分類(Species)に基づいて色分けしたいときは
qplot(data=hoge.rule1, Season, Value, main="title of figure", color = Species)

ggplot2は + で表現を追加できる

facet_wrapで複数のプロットを一度に描ける。以下の例では種ごとにプロットを作成。scalesで軸の範囲を設定可能
+ facet_wrap( ~ Species, scales = "free_y")   レイヤーの発想で点を重ねることも可能。以下の例ではsizeが3の点の上に、sizeが1.5の薄いグレーの点を重ねることで赤い境界線だけに見えるプロットになる。
+ geom_point(size=3, color="red") + geom_point(size=1.5, color="grey90")

ggplot関数に+していくとqplotより複雑なことができる(らしい)

ggplotで基本的なデータ要素、X、Yを決めてあげて、それに+してどんなプロットの形にするか等を追加していくことが可能みたい。 p <- ggplot(d, aes ( Season, Value ) )
p + geom_boxplot ( aes ( fill = Species )

ggplot2のqplotで参照するページ

ggplot2のqplot関数のまとめ - ぬいぐるみライフ(仮)
qplot. ggplot2 0.9.3.1

結果をテキストファイルに書き出し

sink(“results.txt”) と書くと、これ以降の出力をresults.txtに書き出してくれる。止めるときは、 sink()

他に参考にするページ

Google の R の書き方案内

2013年9月20日金曜日

MEGA 5 でアラインメントを印刷する方法

普段あまり印刷はしないので後輩に聞かれて分からず、調べたことをメモしておきます。

MEGAの基本的な使いかたは以下をご参照ください。
http://togotv.dbcls.jp/20110705.html#p01

では、以下から印刷の方法です。

1. .megファイルを用意

アラインメントだけでしたら、.masファイルのみを使っている方も多いと思います。
これを以下の手順で.megファイルに変換します。.megファイルがあれば変換は必要ありません。
  1.  Data -> Export Alignment -> MEGA Format
  2. 適宜名前を付けて保存保存します

2. .megファイルを印刷用ファイルに変換して印刷

上で作成した.megファイルを開きます。
  1. Data -> Export Data を選択
    • megファイルのアラインメントは、一番上に使用配列群のコンセンサスが表示されます。個々の配列においては、コンセンサスと相同な配列が「・」で表示されます。このまま印刷したら「・」のままです。
      そうではなく配列を全部表示したい場合は、
       Display -> Use Identical Symbol
      のチェックをはずしてください。すべての文字が表示されます。
    • また、Color Cellのチェックを入れることで.megファイル上では文字に色をつけることができますが、印刷用ファイルには反映されません。色がつけば印刷したアラインメントがもっと見やすくなるんですが…。もし方法があれば教えてください。
  2. 以下のパラメータを適当に選択して「OK」して印刷用ファイルに変換
    • Title, Description = 空欄でも大丈夫。
    • Format = お好きに。どれでも良ければデフォルトの「MEGA」で。
    • Sites per line = 一行の文字数。だいたい40か50くらいでA4に収まります。なお、配列名が長いと一行に入る文字数が減りますので、その場合は配列名を変更しましょう。megファイルでは配列名をクリックしただけでは名前が変えられないので、Data -> Select & Edit Taxa/Groupsにおいて配列名をクリックし、一呼吸おいてまたクリックすると変更可能になります。masファイルに戻って配列名を変更しても構いません(もちろんその場合は再度megファイルに変換してください)。
      Interleaved Outputのチェックを外すと印刷用ファイルで配列名が消えます。
    • Writing site numbers = 配列の番号
    • Missing data and alignment gaps = 相同性のある部分だけを見せるか、等
  3. 出てきたウィンドウで罫線が引いてある範囲に入ってれば基本的にA4に収まるはずです。罫線から飛び出していたら、一度ウィンドウを閉じて、上記のSites per lineあたりを変更してA4に収まるよう調整しましょう。フォントとか大きさとか変えられるので、気になる方はどうぞ。
    調整できたらFile -> Printを選択するか、プリンターアイコンをクリック。
    パラメータを適当に選択して「OK」。基本的にデフォルトで大丈夫。
  4. あとは普通の印刷と同じです。
以上です。
正直、面倒ですね笑 もっと良い方法があれば知りたい。。。

2011年12月7日水曜日

Macで論文をまとめる文献管理ツール

論文をまとめたり、引用を作ったり、面倒ですよね。
そこらへんのメンドクサイことはどうにかササッとやってしまいたい。

ということで、お勧めの文献管理アプリケーションをあげます。
タイトルではMacと書きましたが、どれもWindows、Mac両方で使えます。

2013年11月13日追記
調べた範囲で各ツールの違いをまとめてみました。readcubeの設計は他2つと異なるようなので機能的には劣っているように見えますが、「論文を探して読む」ということだけに関しては優れていると思います。意外と(?)TogoDoc Clientも健闘しています。
Mendeley readcube TogoDoc Client
ウェブブラウザからのインポート
(ブックマークレットの有無)
×
ウェブ版の有無 ×
ローカルアプリケーションからの論文検索 *1 ×
同業者グループのコミュニケーション *2 × ×
Recommendation機能
(Related Articlesとは別)
×
PDFファイルのリネーム ×
論文情報の修正 ×
iOSアプリ ×
*1 Mendeleyに登録されている論文は検索可能。どのような論文が登録されているかは未調査ですが Google Scholar, Pubmed, Microsoft Academic にアクセスできるreadcubeには敵わないように思います。
*2 自由度の高いコミュニケーションではなく、論文ベースの情報共有といった感じです。

以下、それぞれの説明です。

1.Mendeley - 科学の未来はMendeleyが担う(かも)

http://www.mendeley.com/
現状、もっとも良さそうなツールです。
文献管理はけっこう既に色々あって、ローカルに保存してるPDFとかをインポートして自動的に解析し情報をまとめてくれたりするんですが、そんなことはもちろんMendeleyでも出来ます。
Mendeleyが素敵なのは、ある論文についてソーシャルネットワークサービスのような仕組みを使ってウェブ上で研究者同士でコメントしたりできる点です。(追記:これは間違いではないのですが、どうも私の勘違いも多分にありまして、自由度の高いコミュニケーションではなかったようです。グループを作ってPDFをベースにして論文情報や注釈を共有することができる程度です。PDFに付加するコメントがベースなので深いディスカッションができるかどうか…。どちらかと言えば、音楽で「みんな何聴いてる?」というのが分かるサービスに似ています。つまり、Mendeleyは専門領域が近い研究者たちがどんな論文を読んでいるのかが分かるサービスを兼ね備えた文献管理ツールです。)

Mendeleyの取り組みについてはWIREDで物語風に紹介されています。
News Long Story Wireless Social Media Clip to Evernote top - Business - Long Story 知のシェア – 学術論文における理論と実践(その1) from 『WIRED』VOL.2 
2011年12月8日現在Vol.3まで読めますが、読みごたえがありつつ、Mendeleyの取り組みの先見性には驚きます。 
正直、これを世界中の研究者が使い始めたらおそらくもっと科学の発展するスピードは早くなるでしょう。だって、これまである文献について何か考えても、ラボメンバー以外の誰かとディスカッションしたくてもなかなか出来ませんでしたからね。話したことのない同業者とコミュニケーションをとれる(かもしれない)ツールがあるのは素晴らしいです。おそらく、これまでの研究者だけのSNSや掲示板等の小規模のウェブコミュニティはありましたが、文献と密接に連携したサービスはこれが初めてです。研究はやはり論文がベース。Mendeleyは科学者同士のコミュニケーションを一変させる可能性を秘めています。
使い方を日本語で説明していただいているサイトがありました。感謝です。
Mendeleyの使い方 from 水の中が落ち着く

(2013年1月16日追記)
筑波大学のサイトにかなり詳細な日本語マニュアルがありました。
http://library.k.tsukuba-tech.ac.jp/ori/Mendeley.pdf

なお、Mendeleyは次のreadcubeやTogoDoc Clientのようなrecommendation機能はありません。ブラウザからmendeley.comに行って、mendeleyに保存されているPaperであればRelated Papersは表示されますが、これはひとつの論文ごとに表示されますから自分のライブラリに照らし合わせて網羅してくれる訳ではありません。また、アプリケーション内からはRelated Papersも表示されません。
またPDFも多くはウェブから自分でダウンロードして、それをアプリケーションに追加する操作をしなければなりません。中には自動的にダウンロードしてくれる場合もあるのですが。ウェブサイト側の形式によるのでしょう。readcubeならほとんどワンクリックでダウンロードできるのにな…。

(2013年11月13日追記)
論文中心のコミュニケーション、という意味では(まだ調査が必要ですが)ResearchGateやAcademia.eduなどが十分にその役目を果たしそうです。文献管理ツールにSNS的要素が必要なのかどうか…Mendeleyの挑戦には期待しつつも、やはりSNSはSNSのみで成立するような気もしています。

2.readcube - グッドデザイン賞(個人的)

http://www.readcube.com/
Nature Publishing Group(NPG)との提携もあり、出てきたばかりなのに既に「スタンダード」になりそうなツールです。ネット上でも「キラーアプリになるか」と言われているようです。
デザインが秀逸で、ほとんど操作がわからないという瞬間がありません。よく考えられたインターフェースです。
文献検索(PubMed, Google Scholar)もアプリ内で可能で、取り込みも一発。MendeleyのようなSNS的機能はありませんが、そんなのなくて良いという人には最上の選択肢でしょう。

(2013年1月16日追記)論文執筆の際に必要なCitationのエクスポートがEndnote, BibTex, RefManだけになっており、単純にテキストで吐き出すことができません。なんでだろう…。

(2013年11月13日追記)私の思い違いもあって「Mendeleyがベスト!」みたいな書き方になってましたが振り返ってみるとそうでもなかったので一長一短ですね。結局、Mendeleyは同業者が読んでいる論文が個人ベースで分かるサービス、readcubeはアルゴリズム的に関連論文を推薦してくれるサービス、ということでしょうか。人か機械か、という二分は極端かな、でもそんな印象です。もしかしたらreadcubeの推薦機能も人手なのかもしれないけど。あまりそのあたりは詳しくないので漠然とした言い方ですが。

3.TogoDoc Client - 国産のメリット

http://tdc.cb.k.u-tokyo.ac.jp/
これは僕がアルバイトしてるDBCLSで作られたものです。パッと見は上2つに劣りそうなんですが、機能的にはほぼ同じことができます。
一番の強みは、日本語であることです。・・・まぁ英語苦手な僕にとっては、ですね。
それと、iPhoneアプリがあります。(Mendeleyにもありますが、readcubeにはiPhoneアプリはありません)
あまり時間をかけたくない文献管理には、日本語であることが意外と一番のメリットかもしれません。


それにしても5年前とかにはこんなアプリケーションなんて1つもなかったのに、ほんと便利になりましたね。EndNoteとかどこ行ったんだ…。いや、今でも多分シェアはトップだろうとは思いますが、上記のようなアプリ/ツールに取って代わるのは時間の問題だと思います。


2011年4月21日木曜日

英辞郎で一気に後ろのページに飛ぶ

かなりちょっとしたTIPSです。

英語論文のお供としてよく使うのが
英辞郎
です。

豊富な語彙はもちろん、文章を検索しても結果が出てくるのがとても素敵です。
日本語で同じような言い回しでも、ちょっとずつニュアンスの違う英文が検索できます。
例えば、「やってみる」など口語的な表現でも英辞郎で検索すると
"やってみる"の検索結果
と、色んな言い回しが参照できます。

ただ、たまにごく一般的な単語の文章中での使われ方を知りたい時に検索すると、まず単語から先にリストされていくので文章の検索結果はかなり後のページになってきます。
例えば、「study」と検索すると、
"study"の検索結果
60ページまで飛ばないと文章中での使われ方が出てきません。
ページ移動は検索結果の右上にあるページ番号をクリックすればできるのですが、
一度に9ページ分しか表示されません。
60ページに飛ぶためにいちいちページ内にあるリンクをクリックするのはとても面倒です。

そんなときにはURLに注目してください。
http://eow.alc.co.jp/study/UTF-8/?pg=60
となっています。これは、構造としては、
http://eow.alc.co.jp/調べている語/UTF-8/?pg=ページ番号
となっています。
つまり、「60」という数字が現在60ページであることを示しています。
ここ数字を手入力で変えれば、そのページにすぐ移動できます。

もちろん自分が知りたい情報がどこのページにあるかは調べてみないと分かりませんが、
大雑把にでも移動したいときには便利です。

2011年2月18日金曜日

Macで綺麗な統計グラフを描く MjoGraph

統計データを美麗にグラフ化したい。
そう思って色々試していました。

まず前提として、
  • Microsoft Excelでデータまとめ、解析
  • Excelのグラフでは印刷に耐えないのでベクターデータ(EPSなど)でプロットしたい
ということで始めました。
まず最初の選擇肢、Adobe Illustrator CS5を使おうとするも、統計につきものの「エラーバー」が設定できません。
そこでフリーのアプリケーションを探しました。
参考にしたのは下記のページです。
http://oku.edu.mie-u.ac.jp/~okumura/texwiki/?%E6%8F%8F%E7%94%BB%E3%83%BB%E3%82%B0%E3%83%A9%E3%83%95%E3%83%84%E3%83%BC%E3%83%AB
まず試したのは、
PlotはEPSデータも出力できるようで、いいなと思ったのですが、
いまひとつ直感的な操作ができず、マニュアルを求めるも英語サイトしかなく詳細な使い方を理解するのに時間がかかる…。
Grapherはエラーバーが設定できない?ようです。日本語で使いやすそうなのに非常に残念…。
基本的にはどちらも「数式」のグラフ化に重点を置いているようです。統計データのような散布図には向いていないですね…。(もちろんGrapherで簡単な散布図は作れます)

ということでまた別のツールを試しました。
MjoGraph http://www.ochiailab.dnj.ynu.ac.jp/mjograph/
こちらもEPS出力可。
しかも日本語サイト!いいですね〜w(マニュアルは英語ですが、使い方は簡単です)
とにかく使ってみようと試したところ、だいたい直感的に使えたのでこれを採用することにしました。
私の目的としては、X軸にもY軸にもエラーバーをつけた定数値のプロットを作りたかったのですが、以下の要領で作成することができました。
  1. 統計データをCSVデータにする
    1. ここでX軸の名前などは入れられないようです。値のみです。
    2. CSVのフォーマットは、1行につき1点を指定します。
      値の並びは以下のとおりです。
      http://www.ochiailab.dnj.ynu.ac.jp/mjograph/manual/Site/DataFileFormat.html
      このマニュアルの画像を見るだけで使い方が簡単にわかると思います。
      (ちなみに私の環境ではカンマ区切りでデータ入力すると、1行5値まで読み込めましたが6値は正常に表示されませんでした。タブ区切りですと6値でも問題ありませんでした。)
    3. なお、各要素はすべての点について同じだけ揃えなければならないようです。
      つまり、1点目ではXもYも誤差範囲を指定したが、2点目はXだけ、というのは無理なようです。(まぁそういうケースはほとんどないでしょうね)
  2. MjoGraphに作成したCSVファイルをドラッグアンドドロップ(右側のエリアにドロップします。)
    http://www.ochiailab.dnj.ynu.ac.jp/mjograph/manual/Site/QuickStart.html
  3. 軸項目名やプロットの色など、色々設定出来ます。テキストや線描も入れられます。お好みでどうぞ。
  4. 出力はメニューの Tools > Export から。eps と png を選択できます。
    私の場合はベクターで使いたいので eps ですね。
以上でベクターデータのグラフが出力されます。
さらに細かいビジュアルの変更は Illsutrator で行いました。

mjograph、フリーでありながらかなり使えるグラフ描画ソフトですね。
作者の方に感謝です。

<2014年9月20日追記>
長らくmjographを使ってなかったのですが、久しぶりに使おうとするとアップグレードの通知が。何の気なしにアップグレードしてみたら、起動しない…。ファイルが壊れているとエラーが出ました。旧バージョンに戻しても同じ状況。どうしたものかと調べてみたところ、解決策はダウンロードしたzipファイルを「StuffIt Expander」で解凍すること。デフォルトのアーカイブユーティリティでは何故かうまく解凍できないようです。現在はOSX Marvericksでmjograph v4.6.1が使用できています。

2011年2月7日月曜日

t検定

論文執筆に統計学が必要になったので付け焼き刃で勉強。

色々調べていると、
「同一個体の2種類の観測値を比較検討」
私のための統計処理ー検定ー2群の比較
というのが今回の僕の条件に合う。

とりあえず計算してみたものの英語でどう書くのかよく分からない。
先日つくったコーパスで色々使用例を調べてみる。
t検定: t-test/t-test/t-Test など
p値: p-value/p-value/P-value など
一応統一して t-test, p-value としました。

他にも関連英語表現
「スコアはP<0.05で有意さを検定した。」
The scores were considered significant at P < 0.05.
Figure中に入れる簡略的な表現
Bars are ± SD; *P < 0.05; N.S. = Not significant.

かなり備忘録的になりましたね…。

2011年1月27日木曜日

[Mac] 論文コーパス作成 CasualConc

(※一部、自分の理解不足があったため追記あり)
論文を書いてます。

ものの本に「concordance software(コンコーダンサー)」を用いて自身のコーパスを作れと書いてあった。
コーパスというのは専門分野における自分で作る文章データベースみたいなもの(かな)。

ということでMac用を検索してみたら次のがヒット。
CasualConc
http://sites.google.com/site/casualconcj/
2011年1月現在、beta版があって日本語化されているようなのでそちらをダウンロード。
2013年11月現在、β 1.9.7 があり、OSX Mavericks で問題なく動作しています。

作者のコメントに「(研究に使用してもらってもかまいませんが、検索結果に責任を持てない、ということです。自分では使ってますが。)」旨書いてました。
とりあえず研究初動のコーパス作成が目的なので使ってみます。
ここでの「研究に使用」というのは言語学の方々の研究で頻度分析をする、などの話でした。私が使うような専門分野の論文コーパスとしての使用はごくごく簡単な使用方法なのでこれには当たらないです。

〜試用後追記〜
とても素晴らしいアプリケーションです。
ダウンロードした論文PDFからテキストを抽出(Adobe Acrobat Proを使用しました。なお製作者のサイトにPDFや様々なファイル形式からのテキスト抽出ソフト CasualTextractor もあります。本当に素晴らしい。)しなくてはならず、コピペ後に余分な改行の削除など割りと労力が要った(実は後で気づいたのですが CasualConc 側で改行を文末としないという設定ができたので不要でした)のですが、それができてしまえば論文執筆に必須のセルフコーパスができました。
おかげで執筆途中の文面がかなり改善されました。
制作者の方に感謝です!

ひとつ注意点をあげるとすれば、名詞の複数形、動詞の過去形など、それも一緒にピックアップできればなお良いですね。
例えば、animals は animal で検索しても表示されません。(設定次第では可能?)
どのような動詞の活用形が正しいか調べたくてもひとつひとつ入力してみるしかないですね。
コンコーダンサーとしてこのような仕様が適切かどうかは別として、機能的に含まれれば…最高です。

<2014年11月12日追記> animalsをanimalで検索できるようでした。私の調査不足です、作成者の方ごめんなさい。
この機能のことをLemmaと言うらしいです。
https://sites.google.com/site/casualconcj/tsukaikata/lemma
ただし、2014年11月12日現在、Yosemiteで動作する Version 1.9.8 では上記説明のような「Lemmaファイルを選択する」画面が出てこないですね…また私が何か見落としているのかもしれませんが。

2010年5月24日月曜日

Macで分子生物学

小生、日頃は分子生物学をやっております。
これまでWindowsで核酸配列の解析をやってきましたが、Macに乗り換えたことでこれまでの蓄積が...という予測可能な問題に直面しました。

ということで色々ツールを(まずはフリーで)探しているのですが。
期待していたMegaは「Mac OS X」版があるものの、X11で動く何ともWindows臭のする作り…。

めげずに調べていたら、まずは最低限のことができそうなオンライン解析サイトを見つけました。

DrKazu.com 総合解析センター
http://www.drkazu.com/KAISEKITOOL.htm

使用方法はこちら
http://www.drkazu.com/KAISEKITOOL-help.htm

* 相補鎖に変換
* 制限酵素マップ
* アミノ酸配列変換

など、基礎的なことはだいたいできますね。
ちょっと何かしたい、というときに便利ですね、素敵です。

最近はプライマーもNCBIのPrimer-Blastで作ったりするので、ローカルに解析ツールはあまり必要なくなってきてるかもしれませんね...。

ローカルでは結局、
eBioX
4Peaks(ABIシークエンサーの波形データを見るには最適!)
なども試しましたが、Megaほどかゆいところに手が届かず。
結局Megaを使用しています。

MEGA :: Molecular Evolutionary Genetics Analysis