de novoトランスクリプトームアセンブリに関して配列クラスタリングを解説しているスライドがあったので,ちょっと読んで大まかな流れを追ってみた.ただし後半のクラスタリングの具体的な部分は少し割愛しているほか,内容の正確性は保証できないので注意.

de novoトランスクリプトームアセンブリの発現差異解析

非モデル生物におけるRNA-Seq

  • 非モデル生物におけるRNA-Seq;トランスクリプトームのde novoアセンブル
    • ゲノムアノテーションやゲノム配列が無い状態での解析

トランスクリプトームアセンブラ

ゲノムアセンブリにおいてはカバレッジに合わせてk-merの長さを最適化していたが,トランスクリプトームアセンブリでは遺伝子ごとに発現量が違うためカバレッジに大きな幅がある

  • 解決方法1:ゲノムアセンブラを使って異なるk-merのアセンブル結果を組み合わせる
  • 解決方法2:トランスクリプトームに特化したアセンブラで単一のk-merでアセンブルする

リード数の増加によるアセンブル配列の増加

横軸がNGSで得られたリード数,縦軸がアセンブルされた配列数を表しており,データ数が増加するにしたがってアセンブルされる配列数も線形に増加する.

スライドでは著者名が間違っているが,ここで引用している図は以下の論文のもの.

Francis, W. R. et al. A comparison across non-model animals suggests an optimal sequencing depth for de novo transcriptome assembly. BMC Genomics 14, 167 (2013).

http://www.biomedcentral.com/1471-2164/14/167

余談だが,この論文によるとデータ数が増加するとアセンブルされた配列数が増えるものの,アセンブルされた配列の平均長やN50は途中でサチることが確認されている.この論文の結論としてはデータ数は20M〜30M付近で十分だよねという感じらしい.

De Bruijn Graphの複雑性

シーケンスエラーやヘテロ接合箇所などの僅かな配列の違いも異なる配列として出力

カバレッジの変動

単一遺伝子内でNGSのショートリードのカバレッジに差があると,複数本の細切れの配列になってしまうことがある

アイソフォーム単位で発現解析するか遺伝子単位で発現解析するか?

  • アイソフォーム単位
    • 扱う配列が多くなるので大変
    • 発現量解析のときに複数箇所にマッピングされる配列が生じるので発現量推定が大変
    • 全ての転写物に関してアイソフォームがあるわけではない
  • 遺伝子単位
    • スプライシングなどを無視することになる
    • どうやって複数の転写物を幾つかの遺伝子にまとめるのか?

どうやってアセンブルされた転写物を遺伝子単位にクラスタリングするのか

アセンブルされた転写物のクラスタリングにおいて決定打は無いものの,幾つか方法はある(配列で共通している箇所を見つけてクラスタリングするとか)

クラスタリングする際に使える情報

  • アセンブルする際に出力されるlocus/componentの情報
  • CD-HITやBlastclustなどの配列相同性によるクラスタリングツール

クラスタリングにはTP・TN・FP・FNを数えて適合率Precisionや再現率Recallを見る

どうやらTrinityのクラスタリングは良くて,OasesとCD-HIT-ESTの組み合わせは良くないらしい(Trinity’s clusteringはRSEMのこと?)

  • CD-HIT-ESTは適合率は高いが再現率は低い
    • 配列情報しか使用しないので精度が低い
  • 考えられる他の方法
    • 発現量が低い領域は重みを軽くしたい
    • サンプル間で発現量の違う配列は区別したい
    • ペアエンドリードを考慮したい

(クラスタリングの具体的な部分は省略)

どのようにしてリード数から発現量に変換するのか

  • TrinityやOasesが推奨する方法
    • アセンブルされた配列に対してマッピング(複数箇所にマップされてもいい)
    • 複数箇所にマップされた配列も考慮して発現量を求めるプログラムを使う(RSEMとか)

実際に行われている方法としてよくあるのは,一番長くアセンブルされた配列に代表させてマッピングして発現量を推定するというもの

まとめ

  • Q1. なんでそんなにアセンブルされた転写物が出てくるの?
    • 既にアノテーションされている転写物よりも多くアセンブルされるから
    • de novoトランスクリプトームアセンブリはそもそも難しいから(完全長のアセンブリは目指しているのだけれども)
    • インタージェニックやノンコーティングの転写物も多くでてくるから
  • Q2. アイソフォーム単位か遺伝子単位か
    • 遺伝子単位の方がアイソフォーム単位より良さそう
  • Q3. どうやってアセンブルされた転写物から遺伝子にクラスタリングするか
    • Trinityのクラスタリングは良くて,OasesとCD-HIT-ESTの組み合わせは良くない
  • Q4. どのようにしてリード数から発現量に変換するのか
    • 3つの異なる方法で検証したが似た結果を示した
    • 正確なクラスタリングによる結果を得るほうが他のパイプラインを使って発現量差異を見るほうがインパクトがある(と主張している)


すごい人たちに自分のことについて話して貰いたいという欲求は,ある意味下世話な心理でありながら,インタビューという対話の一つの特徴でもある.それが現在も第一線で活躍し続ける研究者であれば,なおさら気になるものだ.本書「知の逆転」は,著名な学者6人のインタビューをまとめた本であり,執筆した本や今までの研究内容と絡めながら現在の主張を分かりやすく簡潔に追いかける内容となっている.聞き手が日本人であることも影響してか,所々に日本に関連した意見も見られる.彼らがどのように世界を捉え,そして日本を見ているのかを垣間見ることができるちょっと変わった面白い本でもある.

本書でインタビューに応じている人物は,

と,知っている人ならばこちらが萎縮してしまうなほどの豪華な面々だ.それぞれが自分の研究分野を開拓し,その後の著作や起業,数々の科学への貢献を経て一般にも認識されうる人物ばかりである.その彼らがインタビューを通して語るのは,もちろん今まで積み上げてきた研究成果でありながら,同時にこれからの未来を予想し「今現在」の世界に向けた提言でもある.

本書は,そのような彼らを知らない人にピッタリの入門書でもあると同時に,たとえ著作を読んだことのある人にとっても十分に興味深い内容となっている.とにかく上で述べた名前に心当たりがあるなら,本書はまさにオススメだ.自分から見てもかなりミーハーな精神だとは思うが,それに足る並びではないだろうか.



ここ1週間ほどご無沙汰だったので,最近考えているをちょっと書きだしてみる.

最近は同じ研究室の院生の学振書類を手伝ったり,大学院入学希望者の小論文にアドバイスしたりと,人の書いた文書にひたすら赤を入れる日々だったのだが,やはり添削というのは難しい.まず第一には文章を書いた人間の意図を最大限汲み取り,一方では段落や文章の流れを整え単語の使い方を統一するためにバッサバッサとメスを入れ,原形をとどめつつも改善策を提示していかなければならない.ハッキリと論理的に指摘できる部分もあれば,「この言葉の使い方はなんかダサい」みたいな主観的な意見が入ることもある.個人的には徹底して型にはめて形式化された文章にすべきだというスタンスなのだが,逆に書き手の意図さえ伝われば,たとえ文章が全部ひとつなぎになっていようが口語的口調であったり文学的口調になっていようがそれでもいいという人も中にはいるわけで,あまり押し付けがましいのも良くないかなと思う.そして何より,添削しているお前の書く文章はどうなんだと言い返されそうで,自分のやっていることが本当に正しいのかどうか怪しいのが一番怖い.

まあこんなコトを思いつつも,やってくれと言われれば無慈悲に赤を入れるわけだけれども,たまたま見つけた修論の指導を目的とした配布資料にナルホドと思いつつも少し引っかかることが書いてあったので,ここで紹介する.

http://www-utheal.phys.s.u-tokyo.ac.jp/~maxima/NetEd/To_M2/To_M2.pdf

この中の「2.2 段落(paragraph)」は非常によくまとまっている.英語では特にパラグラフ・リーディングなどで紹介されることが多い段落の構成法は,文章を書く上で何より意識しなければいけない「決まり事」だ.私も文章をあらかた書いたあとに形を整える作業をする際には,このような体裁に特に気をつけている.

この資料では段落を作る上でやって良いこと悪いことといった約束がいくつか紹介されており,それらは納得のいくものばかりなのだが,その中で一つ気になる項目があった.それは「段落の冒頭に強い接続語を使ってはいけない」という部分で,前後の文章を強く結ぶ言葉は段落の冒頭に使うにはふさわしくないということらしい.これに関しては確かに納得のいく部分もある反面,本当に使ってはいけないと断言してしまっていいのだろうかという感覚もある.特に逆接は禁止するほど悪い方法ではないと個人的に思っていて,前の話題にかぶせる形で議論の対象を変えるのに便利に使っている節がある.おそらくこの使い方は段落をひとまとまりとしてみた時の列挙に近い感覚なので,それは確かに段落に分けるべきではないかもしれない.しかしながら,あまりに膨らんだ内容を無理矢理一つに詰め込むのも良くないので,何かしらの方法で分けるべきだとは思う.やはりそこは,逆接を使わずにいきなり新しい話題でスタートしつつ,ところどころに前の段落との関連をいれていくべきなのだろうか.その方法もできなくはないけど,別に逆接を使ってもいいんじゃない?と思ってしまう.具体例が無い状態でアレコレ言うのは生産性が無いというのは分かっていても,なんとなく気になっている.

以上のようなことをこの1週間の間ぼやーっと考えていたわけだけれども,いまだに結論は出ていない.型にはまった文章を書くというのは,読み手が想定する文章を提示することであって,それは論理構造や正確さ以上に読みやすさという重要な役割を果たしていると思っているのだが,読みやすさの感覚は人それぞれなので,なかなかに統一が難しい.


(余談)それにしても,ここの文章はどういうアレで書けばいいのか未だによく分からない.表現の境界線を行ったり来たりという感じで,まあ実験場のようなイメージなので,ここで下手糞な文章を書いてても勘弁して欲しい….



機械学習系の教科書としてはそこそこの知名度のある「The Elements of Statistical Learning」(通称ESLまたはHastie)は,全ページのPDFが公式で配布されている.

Elements of Statistical Learning: data mining, inference, and prediction. 2nd Edition.

これは輪講に使えそうだということで色々と準備をしているのだが,このpdfには一つ気になるところがあって,それはページの余白が大きいということだ.右上にトンボの一部と「Printer: Opaque this」という文字が書かれているように,おそらく印刷所に出す前のpdfをそのまま配布しているらしい.pdfが配布されているだけ有難いというものではあるものの,このままでは少し読みづらい.ということで,余白を良い感じに自動で削れるツールを探して,文字だけの部分を抜き出してみた.

brissで余白をトリミングする

今回は「briss」というJavaアプリケーションを使ってみる.

[Mac] 自炊に!PDFのページを重ねて一発で余白を切り取る「briss」 « Appdrill

使い方は上のリンクを参考にしていただくとして,pdfを読み込んだ画面が以下のようになる.

これは1ページ目だけを除いた残りのページを全て重ねあわせたたもので,右ページ中央に表示されているグチャッとした部分がpdfのテキスト部分となる.水色の透過の部分がトリミング後に残る箇所を表しており,読み込んだ際に自動で設定される.左上と右下の四角をドラッグすると範囲を手動で選択できるが,下手にやると右ページと左ページでpdfサイズがズレることがあるので,今回のESLのpdfの場合は自動で設定されたものをそのまま使った方がいいだろう.

トリミングを実行して出力されたpdfを開くと,このような感じになる.

今回の場合は本当に文字ぎりぎりという感じだが,iPadで眺めたり印刷する際にはちょうどくらいだ.これでストレス無くESLを読む事ができる.



最近は色々と忙しくネタが無いわけではないが,書けるだけの内容にまとまりきれていないのが現状.というわけで今回もLinxuの環境周りの話ということで,ディレクトリ構造をターミナル上で可視化するtreeというコマンドについて.ああ,これ以上何も言うことがない….

The Tree Command for Linux Homepage

インストール

ソースを取ってきてコンパイルする.以上.

1
2
3
4
$ wget ftp://mama.indstate.edu/linux/tree/tree-1.6.0.tgz
$ tar zxvf lftp-4.4.6.tar.gz
$ cd tree-1.6.0
$ make

あとは,treeをパスの通ったところに移動させれば完了.以上.

使い方

何もオプションを指定しないと,以下のようにファイルとディレクトリが表示される.以上.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
$ tree
.
├── CHANGES
├── INSTALL
├── LICENSE
├── Makefile
├── README
├── TODO
├── color.c
├── color.o
├── doc
│   ├── tree.1
│   ├── tree.1.fr
│   └── xml.dtd
├── hash.c
├── hash.o
├── html.c
├── html.o
├── strverscmp.c
├── tree
├── tree.c
├── tree.h
├── tree.o
├── unix.c
├── unix.o
├── xml.c
└── xml.o

1 directory, 24 files

-dオプションをつけると,ディレクトリだけを表示することができる.詳しくはmanで.以上.

1
2
3
4
5
$ tree -d
.
└── doc

1 directory

ちなみに,色も付きます(ディレクトリと実行ファイル).以上.お疲れ様でした.