2012年4月12日木曜日

シンプソンズとPacBioの深い関係

アメリカでは結構人気のあるシンプソンズ。
コメディとしてはちょっと過激、というイメージ。
日本では、知らないひとが多いでしょうね。 私もPacBio にたずさわるまでほとんど知りませんでした。

何でPacBioとシンプソンズが関係あるかって?

それは、PacBioのシーケンサーを操作するプログラムの名前が、全部シンプソンズの登場人物名になっているからなんです!!

例えば、シンプソンズ一家の、ホーマー(父)、マギー(赤ちゃん)、バート(男の子)は、Pacエンジニアが頻繁に使う、あるいは良く耳にするプログラムの名前です。
シーケンサーを前に私たちがそんな言葉を発していても、「何言ってんだ?」と思わないで下さい。
ちゃんと仕事をしているので。

ロボットを操作したり、ベースコールサーバーにアクセスしたりと、ユーザが触ることはないプログラムの名前です。
でも、操作するプログラムの名前が「波平」、「カツオ」、とかだったらすごく恰好悪いのに、アメリカ人にはそういう感覚無いのかなあ。
それともシンプソンズがよっぽど親しみがあるアニメなのだろうか。

ちなみに、ユーザが触る2次解析サーバでも、少し登場します。 
インストールディレクトリのことを、SEYMOUR_HOME と呼び、このSEYMOURはシンプソンズでは市長のこと。
自動で2次解析が始まるデーモンをKodosと呼び、これはエイリアンの名前。
最初、これらのキャラクター名の意味が分からず、Pacに聞いてました。
相手は、私がシンプソンズを知らないとは知らず、しばらーく無駄な会話のやりとりを続けたのでした。

今日は軽い話でした。




------------------------------- おまけ -------------------------------------

ところで、シンプソン一家が住んでいる街の名前は、Springfield です。
この名前も、Pacのあるものの名前なんです。
ここでクエスチョン!
その「あるもの」とは、何でしょう?


2012年4月5日木曜日

Pacの一次解析 その2

パルスデータまでできたら、次はベースデータです。
どうやってパルスからベースコールを出しているのか?

これは、「観測されたパルスがOの時に、そのテンプレート配列がTである確率が、最も高い、Tを、そのテンプレート配列の塩基とする」 ということにしています。
回りくどい言い方ですみません。 数学が得意な方はこちら
あ~あ、そういうことね。 ってわかった方はすごい!
つまり、パルスがこれくらいだったらこれはAである確率が一番高い、とかTである確率が一番高い、とかそういうパターンアルゴリズムがあって、それに当てはめているのです。

そこんとこもっと詳しく! って思った方、しかしながら、トレースファイルからパルスデータ、その後の一連のベースコールアルゴリズムは、公開されていません。
ですので概念としてしかお伝えできません。 あしからず・・・



さて、PacBioのデータの特徴、エラーの特徴にはどんなものがあるのか。
トレース、パルスデータにヒントがあります。

以前、PacのデータはInsertionエラーがある、と書きましたが、それを含め、Pacのエラーはどんなときに起こるのか?

エンジニアに聞けばまた別の答え(カメラやレーザーだとか、窒素濃度だとか)があるのですが、分子生物学の立場からだと、その答えはポリメラーゼにあります。
(レーザーによるエラーはまた別の特徴があり、窒素濃度によるエラーもまた別の特徴があるので、InDelエラーはほぼポリメラーゼによる、と考えて良いでしょう)
DNAポリメラーゼは、人工的に変異を施しています。 
合成スピードをカメラの技術に合わせて、ダウンさせています。
CellのZMWの底にBiotinでくっつくようにしています。
さらに試薬のpHに耐えられるようにしています。
また、酸素は有害です。
そして何より、自身が蛍光を放つたびに、光子が出すエネルギーに絶えずさらされています。 これによるダメージも大きいのです。

以上の環境下では、ポリメラーゼ君は時に疲れて休んでしまうこともあるでしょう。
ちょっと休んでまた働くこともあれば、そのまま動かなくなってしまうことも。
されにサボって、合成しないときも。
  1. サボってDNAを合成しないで、そのまま次に進んでしまうと ・・・・ その塩基ではパルスは検出されないので見かけ上Deletionになります。
  2. 合成はしても、疲れて休んで動かないと、蛍光を外さないので2個+分読まれてしまうことも ・・・ その塩基では2個分読まれてしまい、見かけ上のInsertion
  3. さらに2個分の蛍光が、テンプレートと同じときと違うとき(間違いパルス)の2種類あるのでInsertionにも2種類あるのです。
  4. 合成はしたけど間違ったパルスが検出された ・・・ これはMiscall
というわけで、ポリメラーゼの働きがInDelエラーに大きく影響を与えるのです。
もちろん、同じ蛍光が2つ並んだ時が、ポリメラーゼ君のお休みによるものなのか、真にホモポリマーによるものなのか、その見分けは、簡単ではありません。
モデル式を用意して、当てはめて、区別しているのです。
単純に偶数倍のパルスの幅があるからそれで割る、みたいなことよりもずっと賢い計算をしているそうです。




2012年4月4日水曜日

Pacの一次解析 その1

今日はPacの一次解析について書きます。
NGSではおなじみですが、ご存じない方のためにちょっと説明すると、一次解析、二次解析、三次解析というのあって、それぞれ、
  1. 一次解析: シーケンサーから出てきた生データから、塩基配列を求める(ベースコールする)
  2. 二次解析: 塩基配列になったリードデータを、アセンブルまたはリファレンスにマッピングする
  3. 三次解析: マッピングされたデータをもとに、Contigをつなげたり、配列から何か意味のある現象(例えば発現量や変異など)を得る
という意味です。

一次解析は、最初の基本的なところなので、データの精度や結果に大きく影響しますね。
以下は全て、シーケンサーの横にあるBlade Center、というベースコールサーバーで行われます。


PacBioのシーケンサー生データは、Movieです。
Movieはとてつもなく大きなデータで、1秒間に3Gbも出てきます。
これはメモリ上に展開されるだけで、すぐに圧縮されてトレースデータ、という形で保存されます。
この、Movieからトレースデータへ、「Movie-to-Trace」 という部分が、Real Timeで行われているのです!
SMRT Cell のSingle Molecule "Real-Time" ですね。

Movieから変換されたトレースデータは、それでも1Cellあたり、50~150Gbもあります。 (Movieの時間によってサイズが異なります)。
トレースデータは、各ZMWから放出された、計測したPhotonの量(光量子束、photon flux)を数値化したものです。
各カメラから計測されたPhotonの推定量と、蛍光ごとによるPhotonの推定量とを使って、何やらノイズを取り除くノーマライズをしています・・・。
これ以上説明せよと言われてもできません。 ごめんなさい!

まあ、ざっくり言うと、動画から蛍光ごとに区別した波形データを作っているんですよ!


で、このトレースデータは、まだ塩基ごとの波形がばらばらなので、もうちょっと見やすく、さらにノーマライズしたのがパルスデータです。

トレースからパルスへ、「Trace-to-Pulse」変換が行われます。
この変換の最終目的は、ポリメラーゼがDNAを読んだ時の、パルスの正確な検出と、他との区別をすることにあります。

トレースデータはまだ、塩基ごとの区別があいまいなんです。 それを、閾値を設けてノイズをできるだけ取り除き、ほかの塩基としっかりと区別できるように変換したのがパルスデータなんです。
パルスデータには、重要なKinetics情報が含まれます。例えば、
  1. パルスの高さ Intensity, or Pulse Height
  2. パルスの幅 Duration, or Pulse Width  (PW)
  3. パルス間の時間 Spacing, or Interpulse distance  (IPD)
  4. 塩基の種類 Content, or Base identity
などです。

次にようやく、パルスデータからベースデータへの変換、「Pulse-to-Base」が行われます。


2012年4月3日火曜日

Menlo Parkにて

久々の投稿です。
ちょっと最近、忙しくて書く暇が見つからなかった・・・。 
ネタはいっぱいあるんですけれど。

そういえば先週、Menlo Parkへ行ってきました。
カリフォルニア州のベイエリアのほとり、ちょうどFacebookの本社があるすぐそばに、PacBioの会社はあります。
社員およそ300人。
開発に携わるグループは、分子生物学、光学、計算科学、など各分野からの天才がそろっています。
R&Dセクションでは、常に新しい酵素のテストが繰り返され、今まで数千を超える酵素がランされたそうです。
工場では、パーツごとに外注で作られた部品が、慎重に組み立てられていました。

私が行ったところは、主にバイオインフォのセクションと、R&D、それにITシステムのセクションです。
ポリメラーゼの開発は、特に興味深いものでした。 
Publicには書けないのが残念です。

Pacには、フィールド・アプリケーション・スペシャリスト(別名FAS)という仕事があります。
私も、実際、Pacの分け方ではFASの一部で、FASのバイオインフォ担当、ということになるそうです。
そんなこんなで、全米各地から20~30人のFASが集まるトレーニングに参加してきました。

日本ではまだPacのシーケンサーが入ったばかりなので、正直言って、どんなサポートが必要なのか、未知のことが多いです。
アメリカではもう1年以上経験があるので、ユーザーがどんな質問をするのか、どんな要求をするのか、そこは参考になりました。

IT、ソフトウェアに関しては、私も前職で経験がありますが、改良すればバグがつきものです。
バグは見つけたら直す、ということの繰り返しです。
なので、私は最近、バグを見つけることにやりがいを感じています。
幸い致命的なバグは見つかっていませんが。

バイオインフォ関係は、以前もちょこっと書きましたが、アセンブリにCelera Assembler を使うことができます。
Celeraをやってた技術者がそのままPacに転職してきたから、使うのに慣れていた、ということもありますが、ロングリードはCeleraが向いているそうです。
そのほか、マッピングやアセンブラは、まだまだ開発の余地が残っています。
開発というよりも、既存のマッパーやアセンブラーを使うか、少し改良して使う方が、精度を上げることができるように感じました。
実際、BWAでもちゃんとマッピングできます。
CLCでもできるかな?

さてさて、Menlo Parkというところは、Facebook効果もあってか、最近物価が上がってきているそうです。 
ミリオネア(つまり大金持ち)がたくさん引っ越してきているそうです。
近隣の町のダウンタウンも、いい感じのレストランが多くありました。
そして、ホームレスがいない。
ちょっと先のサンフランシスコとは大違いです。

Facebook本社前の「いいね」看板