2015年5月31日日曜日

あなたがどんな人か、よーく、わかったわ

生物の機能、しくみを理解すれば応用できるので理解は大事です。そこで、複雑な生命現象をまとめてシステムとして理解してみようという試みも盛んです。では、どうなれば、「理解できた」といえるのでしょうか?どうも、われわれはなにかを理解するとき、物事を因果関係のあるお話、あるいは物語として理解しているみたいなんです。というより、物語としてお話にできたとき、はじめてなるほどーっと物事を理解したと納得できるんじゃないかと思います。また、物語論の重要な指摘として、「すべての物語には構造がある」というものがあります。善人がいれば悪人がいる。というような非対称な関係性のことです。この物語論の主張も、遺伝子やタンパクの相互作用などのしくみを、矢印を使って構造化したポンチ絵など用いて、ついついお話として説明する習性を持つ研究者には、なかなか論破はできないでしょう。

ウラジーミル・プロップは、『昔話の形態学』(1928)で、ロシアの魔法昔話に現れるモチーフは31個であり、物語の中でほぼ一定の順番で現れる、すなわち物語とはいくつかの紋切り型の集まりであることを示しました。ということは、生命システムがどのようにはたらくか?というお題にたいして、われわれがデータから抽出しうるお話の構造にもそれほどバリエーションはないらしいことを示唆しています。ということは、生物システムの理解とは、生物の複雑でややこしいふるまいを、われわれが理解可能な構造と筋書きへと当てこむ、あるいは要約してお話をつくる作業であると言えるかもしれません。大規模データを解析したことがある方なら、結局われわれは自分たちが読めることしか読めない。という事態に納得していただけるのではないでしょうか?また、京都の女性の「ふーん」という返事に込められた1000通り以上の解釈可能性に魅惑されたことのある方なら、結局われわれはデータについて語ることで、自分自身について語っているのだという文芸評論的なロマンチックな主張にも、ひょっとしたらそうかもねーとうなずいていただけることでしょう。大規模データの解析には、まず、お話を要約するスキルが重要みたいです。さらに、お話の、とくに隠された事実をわれわれはどのように見逃すのか、という点を取り扱った探偵小説も参考になるのでしょう。

2015年5月29日金曜日

清水研雑誌会5/29

今日の雑誌会の一人目はB4楢崎君で Lee et al. Engineering cellular redox balance in Saccharomyces cerevisiae for improved production of L-lactic acid. Biotechnol Bioeng 112, 751-758(2015)です。出芽酵母は発酵時のストレスに強い、菌体のリサイクルができる、扱いやすいなどの特性があるため、バイオエタノール生産の宿主として活用されています。こんな出芽酵母にエタノール以外の有用物質をエタノール並の高収率で作らせることができれば、イイ、ですよね。本論文では出芽酵母に乳酸を作らせています。まず、恒常的に高発現可能なプロモーターを選抜し、そのプロモーターでドライブしてPelodiscus sinensis (スッポン)由来のLDHの高発現を行なっています。さらに、競合する代謝経路の酵素遺伝子をURAブラスター法で破壊しつつ、そのサイトにプロモーター+LDHの断片を組み込んでいます。これをゲノム上の複数箇所で行なうことで、LDHの強発現を行ないました。ミトコンドリアのNADH脱水素酵素遺伝子 (NDE1, NDE2) を破壊しているところが渋いです。
二人目はB4の永井君で、Millard et al. Sampling of intracellular metabolites for stationary and non-stationary (13)C metabolic flux analysis in Escherichia coli.Anal Biochem 465, 38-49,(2014) でした。微生物細胞内の代謝がどうなっているのか調べたいわけです。そこで、菌体を培地から取り出して、培地成分を洗浄し、菌体内の代謝物を抽出して、分析装置で測定します。問題は、細胞内の代謝は変化が秒単位で早く起きるので、上記の操作中に代謝が変化してしまうようなんです。この論文では、さくっとフィルターで菌体をろ集するという方法はダメで、冷たいエタノールやグリセロール水溶液などにつけ込むのがよいと示しています。でも溶液につけこむと、代謝物が流れ出してしまってダメ、という説もあるんですよね。今回は13C代謝フラックス解析に限った話なので、代謝物が減る分には気にならないので大丈夫なんですが、難しいところです。二人とも堂々と発表していました。次回も楽しみです。


2015年5月22日金曜日

ノンターゲットメタボローム分析の課題その9 QC法で補正ができるMetabolite featureの範囲

 QC法は、実サンプルを標準物質として外部検量線を引き、測定データ中のMetabolite featureの強度値を補正する手段です。QC法で補正できるのは、単一のスタディ内に限ると、そのスタディ用に作成したpooled QCサンプルから検出可能なMetabolite featureということになります。したがって、一部のサンプルにしか含まれないマイナーな代謝物はpooled QCサンプルの作成時に大希釈されてしまうため、pooled QCサンプルから検出できない可能性があります。つまりQC法とはノンターゲット分析で検出可能な全Metabolite featureの補正を保証するものでは、そもそもないんだという点に注意しましょう。
 したがって、global QCを用いる大規模な解析で、複数のスタディから得たデータを補正する場合も、global QCサンプルから検出可能なMetabolite featureだけが、補正の対象になります。さらに複数の研究室で取得されたデータを統合する。というようなケースでは、同一のglobal QCで全分析を補正することが困難になると思われます(大量のglobal QCを用意し、全研究室での共有が必要となるため)。たとえば、各研究室で異なるglobal QCを用い、さらに上位のmaster QCを設定して補正を行うというような事態が起こりえるだろう。このとき、QC法で統合可能なのは、当然、master QCおよび全研究室のglobal QCで「共通して」検出可能なMetabolite featureとなります。たとえば、ある1研究室が、極端な組成を持つglobal QCを用いた場合、統合可能なMetabolite featureの数が大きく減少することになると予想されます。このような事態を避けるためにも、各研究室で用意するglobal QC は、極力標準的な組成を持つことが望ましいといえるでしょう。つまり、QC法の重要点は、いいQCサンプルを確保するかにかかっているといえます。でもどうしたら一番いいのかはまだわかっていません。

2015年5月20日水曜日

ノンターゲットメタボローム分析の課題その8 Metabolite featureの強度値の補正方法

 LC-MSをもちいたメタボローム分析では、生クロマトグラムデータ中の代謝物由来のシグナル(Metabolite feature)を網羅的に検出し、その強度値を調べます。この強度値が代謝物濃度の半定量値となるので、正しく定量することが大事です。しかし、Metabolite feature強度値は、①サンプル中の該当代謝物濃度、②サンプルマトリクスからの影響、③イオン化効率、検出器感度の影響を反映しています。なので、LC-UVなどをもちいた定量分析のように、標準化合物溶液で作成した検量線をもちいて、Metabolite featureの強度値からサンプル中の該当代謝物濃度を求めることができるのは、
  1. サンプルマトリクスからの影響が標準化合物溶液、複数サンプル間で一定
  2. イオン化効率、検出器感度が一定の期間変化しない

場合に限られます。
 LC-MSでは、1も2が成り立たないことがわかっています。MSの感度やイオン化効率は、イオン源の状態やMS内部の汚れの影響を受けます。そこで数化合物にターゲットを絞った分析では、安定同位体標識化合物を内部標準としてもちいることでこの問題をクリアしています。一方、メタボローム分析では、すべてのMetabolite featureをカバーする内部標準物質も、非標識の標準化合物溶液を用意できません(未知化合物の標準物質はないですよね)。
 そこで、実サンプルを混合した pooled QCサンプルをもちいるというアイデアが生まれてきました。pooled QCサンプルには、そのスタディで検出されるすべての化合物が含まれるため原理的には、標準化合物溶液の代わりとして用いることができます。
 またメタボローム分析では、サンプル中の該当代謝物濃度の相対濃度がわかればよいです。そこで、pooled QCサンプルを標準化合物溶液とみなした分析を行い、えられたMetabolite featureの強度値から一点検量線を作成し、pooled QCサンプルと実サンプルの中の代謝物濃度の相対値を調べる。という考え方が採用されています。
 さらに、大規模なスタディで必要とされる多検体の分析では、分析期間中にイオン化効率、検出器感度が経時的に変化(低下)してしまいます。つまり、pooled QCサンプルで作成した検量線の寿命が非常に短いため、5-10インジェクションごとにpooled QCサンプルを再分析し、検量線の傾きの変化をモニターし続けるという分析法(以下QC法)につながっています。
 ですが、QC法で完璧というわけでももちろんありません。より大規模な解析では、分析サンプルの前処理とメタボロームデータの取得を並行して実施します。このため、全サンプルを混合したpooled QCサンプルがそもそも作成できない。そこで、1バッチ目の前処理で作成したpooled QCを以降の全分析のQCサンプルとする方法が考えられています。さらに、標準的な均一サンプルを大量に用意し、global QCとして、複数のスタディで共通して利用することも試みられています。
 あと、QC法は、「1サンプルマトリクスからの影響がpooled QCサンプル、実サンプル間で一定である」と仮定してる点には注意が必要です。解決できない問題はそっとしておくのがよいでしょう。以降何回かにわけてQC法の考えかたと課題について議論したいと思います。

2015年5月14日木曜日

ノンターゲットメタボローム分析の課題その7 Metabolite featureの強度値の算出方法

LC-MSメタボロミクスでは、Metabolite featureの強度値としてピーク面積が一般に利用されています。ピークを波形処理して開始点および終了点を認識し、面積を計算する作業をフルオートで実施する必要があります。しかし、特にシグナルが近接する、弱い、形状が悪い場合などに面積計算のやり方次第で、値がおおきくばらつく場合があります。

ピーク波形処理を確認しましょう」で、博士が、「線の引き方でこんなに面積がちがうぞ!」とおっしゃっておられますが、ま、そういうことです。


問題は、ピーク面積を計算する際の線の引き方に「正解」がない、点にあります。また、さまざまな波形処理アルゴリズムが実装されているが、それぞれに癖があり、完璧なものは存在していません。さらに、波形処理の結果が「怪しい(要確認)」Metabolite featureはピーク面積計算結果からだけでは、判定できません。そこで、通常のターゲット分析では、ピーク波形処理結果を目で(人間のです。念のため)確認し、手作業での修正が行われています。しかし、個々人のことなる基準が反映されるため再現性が低いです(俺メタボロミクス)。また、メタボローム分析の実際において、検出した全Metabolite featureの確認作業は現実的ではないでしょう(そんな仕事。。。)。したがって堅牢なピーク波形処理法を確立し、品質管理(QC)法を標準化しない限り、自信をもってメタボロームデータの解析を進めることができません。
たとえば、以前行なった、メタボロームGWAS解析で、適当に処理したデータで解析したところ、検出されたQTLはピーク誤認識の結果生じた擬陽性でした。データ処理結果を批判的に検討し直す必要がありました。

解決案は以下の5つくらいでしょうか。
1.ピーク高を使う:2006年に作成したノンターゲット分析法(Matsuda et al. Plant J (2009)57, 555-577)では、データ処理にMetalignを用い、Metabolite featureの強度値の指標としてピーク高をもちいました。ピーク高はピーク面積に比べ精度が低いが、ピーク波形処理時に起きる「大失敗」が起こりにくいのです。
2.波形処理が怪しいMetabolite featureの検出1:ピーク面積計算結果から、波形処理が怪しいMetabolite featureを抽出できればよいです。1つのサンプルを複数回分析し、あるMetabolite featureの面積値や保持時間が大きくばらつく場合、ピーク波形処理に問題がある可能性が高いですよね。しかし分析数が倍増するため大規模スタディでは現実的ではないでしょう。
3.波形処理が怪しいMetabolite featureの検出2:メタボロームデータを用いた解析では、多数のメタボロームデータから生成したデータマトリクスに含まれる、Metabolite featureから、品質の悪いものを抽出できればよいとおもいます。波形処理結果をスコア化し、理想的な状態からの乖離を検出できればQCの指標として使えそうです。MRMPROBS(Anal Chem. 2013 85(10):5191-9.)はそのような試みの一つです。
4.確認イオンの導入:これまでの経験上、波形処理の課題の多くは確認イオンを導入すると改善できる場合が多いです。ノンターゲット解析ですべてのMetabolite featureに確認イオンを定義できるかはわかりませんが、インソースCIDで生じたフラグメントイオン、多価イオン、あるいはMSEで生じるフラグメントイオンなどを用いることが可能かもしれません。
5.複数の波形処理法を用いる:単独の波形処理法で完璧を目指すところに無理があるんじゃないでしょうか?そこで原理の異なる波形処理法、同一波形処理法だが内部パラメーターが違うものなどを、たとえば100種用意する。1つのMetabolite featureを100種の波形処理法で処理し、ピーク面積値を100個得る。えられた100個の面積値のメジアンはよいピーク面積の推定値となり得るだろう。また、ピーク面積値が100個波形処理法間で大きくばらつくMetabolite featureは、波形処理結果の品質が低い可能性が高い。このように、必要とされているのは、堅牢なピーク面積の決定法と、ピーク面積処理結果のQAです。以前紹介した zigzag index のようなアイデアをどんどん進めていく必要があります。

2015年5月10日日曜日

ノンターゲットメタボローム分析の課題その6 Metabolite Featureのリストアップ


LC-MSを用いたノンターゲット型のメタボローム分析では、生データファイルのセットの中に存在する、Metabolite Featureをすべてリストアップする作業をおこないます。複数のデータファイル間で同一のが検出されているなら、それを同一のMetabolite Featureとして認識できなくてはダメですよね。がしかし、これはかなりの難題で、いろいろなタイプの誤りが生じる可能性があります。
というのも、LC-MS分析時のコントロールが甘いと、保持時間を正確に補正しきれなくなることがあります。そうすると、本来は同一のMetabolite Featureとして認識されなくてはならないのに、保持時間がサンプル間で大きくばらついてしまったせいで、2つのMetabolite Featureとして間違えて認識してしまうことがあります。また、2つのMetabolite Featureが近接しているような場合、保持時間がずれると隣のMetabolite Featureとごっちゃになってしまうこともあります。こういう誤りを避けるためにも保持時間の再現性が大事なことがわかります。

さらに、検出したMetabolite Featureの多くは、生体に由来しないアーティファクトを誤認識したものであるといわれています。これを避けるには、QCサンプルの希釈系列のメタボロームデータを取得し、強度値が正しく増減したもののみを選ぶという手が使われています。さらに、ノイズを誤ってMetabolite Featureと誤認識してしまうことがありますが、その判別には、pooled QCサンプルの繰り返し測定結果を用いて、RSDが20%以上あるもの、QCの分析で>50%の欠損値があるMetabolite Featureを除去する (Nature Protocols 6, 1060-1083 (2011))などが行なわれています。がしかし、これで問題のあるピークを、完璧かつ自動で除去しきれるかというと、難しいでしょうね。

また1つの代謝物から通常複数のMetabolite Featureが生成します。これを見つけて、不要なものを除去する作業をdeconvolutionと呼びますが、これまたかなりの難題であります。除去するべきMetabolite Featureが除去できない、逆に除去してはいけないMetabolite Featureが除去されてしまったなどの誤りが多数生じてしまうんですよね。クロマトグラムの処理はおしゃれなアイデアがクロマトの現実の前に粉砕されていく黒歴史にことかきません。自動的に生成したMetabolite Featureのリストには、アーティファクトやredundantなMetabolite Featureが多く含まれいる(経験的には70-80%程度)が、これらを完璧に除去し整頓する技術の確立はかなり時間がかかる。と考えるといいかなぁと思います。

そこで、尿を測定した2つのスタディを行い、そのデータをあとから①と②を統合して解析したくなったとしましょう。たとえば、スタディ①で取得した尿のメタボロームデータセットからMetabolite Featureの新たなリストを生成したとします。各Metabolite Featureには、STUDY_1_ID0055のようなIDを付与しておきましょう。同様に、スタディ②の尿のメタボロームデータセットからMetabolite Featureのリストを生成し、各Metabolite FeatureにSTUDY_2_ID0151のようなIDを付与したとします。ここまでは技術的に今でも可能です。次にスタディ①と②を統合して解析したくなったとします。原理的にはSTUDY_1_ID0055とSTUDY_2_ID0151の(保持時間x、質量電荷比y)の一致を基準にMetabolite Featureを統合可能かなぁと期待してしまいますが、これまで議論してきたように、保持時間情報には誤差が多く含まれ、さらに擬陽性、擬陰性のピークもふくまれている。このような小汚いデータでスタディ①と②のMetabolite Featureリストを誤りなく完璧に統合するのは容易ではありません。
じゃあどうするかというと、スタディ①と②のメタボロームデータセットをまとめて新規にMetabolite Featureリストを生成することになります。処理後のデータを統合できないので、データをまとめて処理し直そうというアイデアですね。これは、データ数が数100程度の時には、まだ実行可能ですが、数千を超える場合は、むちゃくちゃ時間のかかる作業になるでしょう。ちなみに800データくらいの処理をMetalign で行なったときは、ユニットマスに変換して高速化しておよそ10日程度かかりました。この方法の欠点は、同一化合物のMetabolite Featureを指し示すIDが多数できてしまうことです。たとえば、STUDY_1_ID0055のMFが新たに生成した統合データのMetabolite Featureのどれに相当するのか、完璧に対応するのは難しくさらに混乱を招きやすい欠点があります。このように、自動生成したMetabolite Featureリストをもとにノンターゲット分析を大規模化していくのには限界があるようにおもえます。

この問題を解決するには、データの処理法をターゲット型に変更するのが、現実的なように思えます。以前述べたように、ノンターゲット型のメタボローム分析のデータ処理のうち、Metabolite Featureリストの作成部分と、定量部分を分離しよう。そしてMetabolite Featureリストの作成部分の成果を共有しよう。というアイデアです。たとえば、尿のメタボロームデータから検出されるMetabolite Featureの完璧なリストを手作業で作成し、そのマルチターゲット分析を行えばよい。本気でやるとこんな感じになるでしょうか。


  1. 複数の研究室で尿メタボロームコンソーシアムを作る。
  2. このコンソーシアムのメンバーは、尿から検出された新規Metabolite Featureが、ノイズでもアーティファクトでもないことを示し、コンセンサスMetabolite Featureリストへの追加を提案する。また、頻回に観察されるノイズやアーティファクトのKnown-unknown metabolite FeatureもコンセンサスMetabolite Featureリストへの追加する。
  3. コンソーシアムで話し合い、承認が得られたらIDを付与してコンセンサスMetabolite Featureリストへ追加する。
  4. コンセンサスMetabolite Featureリストをもちいて、定量パートを実施する。生成したデータマトリクスにふくまれるMetabolite FeatureのIDには、互換性があるのでスタディ間の比較も容易になる。
また、各研究室では、
  1. 各スタディ毎に新規にMetabolite Featureリストを生成する。検出したMetabolite Featureのうち代謝物由来のシグナルで、コンセンサスMetabolite Featureリストにないものを探索する。
  2. コンセンサスMetabolite Featureリストに新規Metabolite Featureを追加し、研究室内ローカルコンセンサスMetabolite Featureリストを作成する。
  3. 新たに追加したMetabolite Featureは次回のコンソーシアムで追加を提案する。
のような流れでデータ解析を行えばいいと思います。これはあくまでも本気で大規模解析をするためのインフラなんですが、そろそろメタボローム分析が本気を出す時期、でもあるとおもいます。






2015年5月8日金曜日

清水研雑誌会5/8

今日の雑誌会の1人目はM1前田君で、Crown et al. Integrated 13C-metabolic flux analysis of 14 parallel labeling experiments in Escherichia coli.Metab Eng. 2015 28:151-8.です。細胞内の中枢代謝経路の流れ(代謝フラックス)を測定する手法の一つに13C代謝フラックス解析があります。清水研では、13C代謝フラックス解析の技術開発を精力的に進めています。世界で13C代謝フラックス解析法をリードする研究者の1人がこの論文の著者であるUniversity of DelawareのMaciek R. Antoniewiczです。彼は13C代謝フラックス解析法を一気にモダンに進化させた人で、その成果を我々が開発してる解析ソフトウェアにも取り入れています。
13C代謝フラックス解析では、13Cラベルグルコースを炭素源として微生物を培養し、細胞内代謝物のラベルパターンの計測値から細胞内代謝フラックス分布を推定します(詳細は後日本ブログでも解説する予定です)。13Cラベルグルコースとして[1-13C]グルコースとか[U-13C]グルコースと[1-13C]グルコースの混合物などを用います。他にも[1,2-13C]グルコースとか、選択肢は多いです。しかし、使用する13Cラベルグルコースによって、代謝フラックスの推定精度が反応毎に異なることもわかっていたのですが、じゃあどれを選ぶのがいいのかはよくわかっていません。本論文では、14通りの13Cラベルグルコースを用いて、同一条件での13C代謝フラックス解析を行い、結果を比較しています。その結果はオールマイティーなものはない。とのことです。そこで、14通りのデータを全部まとめて解析すると(パラレルラベリング)、一番精度があがることを示しています。さすがに14通りのパラレルラベリングは大変ですが、2-3通りで実施するのは現実的ですよね。
13C代謝フラックス解析では、実験を始める前に13Cラベルグルコースの選択など予備検討が大事です。そのためのソフトウェアを前田インティライミ君がばりばり作って解析しています。その成果を次回の質量分析討論会で公表予定ですので乞うご期待!です。
2人目はM1増田さんでGuzman et al.Model-driven discovery of underground metabolic functions in Escherichia coli. Proc Natl Acad Sci U S A. 2015 Jan 20;112(3):929-34.です。代謝反応は酵素が触媒します。酵素は利用する基質を厳密に認識したり、あいまいに認識していたりします。代謝シミュレーションに用いる代謝モデルは既知の基質/酵素関係の情報を元に作成されていますが、基質をあいまいに認識する酵素が、既知の基質”以外”を利用するならば、代謝シミュレーションの予測結果が現実には合わないことになります。
この論文では、代謝シミュレーションの結果が実験データと合わない場合に注目し、うまく実験を行なうことで、基質の認識があいまいな酵素を探すことに成功しています。モデルを用いた計算機シミュレーションと実際に実験を組み合わせたかしこい研究です。ふたりともとても発表が上手でした。

2015年5月6日水曜日

ノンターゲットメタボローム分析の課題その5 保持時間の補正

 LC-MSメタボロームデータをがんばって取得しても、データ間で保持時間が変動します。ずれるんです。この変化量が大きいと、保持時間が近接するMetabolite Featureを誤認する可能性があるので、そこで、保持時間の補正(アライメント)をおこなって、ぴったり保持時間を一致させるという作業を行ないます。保持時間の補正について以前紹介したように、実用的なのはクロマトグラム生データを、テンプレートのメタボロームデータにぴったり合うように補正する方法です。Dynamic time warping, correlation optimized warping, parametric warping などの補正法がすでにあります。ここでアツく主張しておきたいのは、ほとんど補正しなくてもいいデータの補正は隅々までうまくいきますが、補正をしないとダメなデータの補正はだいたい70%くらいしかうまくいかない。ということです。補正をしなくてはならないが、補正に頼ってはいけない。のであります。
また、もし、2つのスタディーで結果を直接比較したいとき、保持時間の補正に用いるテンプレートも同じじゃないといけない。ですよね。つまり過去に検出したMetabolite Featureの保持時間xの記録と照合するには、常に同一のテンプレートを用いてアライメントを行う必要がある、ということは、保持時間アライメント用のテンプレートデータファイルをみんなで共有すれはOKってことなんでしょうか?

2015年5月3日日曜日

ノンターゲットメタボローム分析の課題その4 LC-MSを用いたデータの取得


LC-MSで取得したメタボロームデータ中の、Metabolite Featureは(保持時間x、質量電荷比y)座標上の位置として指し示すことができます。2つのメタボロームデータ間で比較すると、質量電荷比yはいつもほぼ同じ位置になりますが、それにくらべると、保持時間xはLCの設定から影響を受けやすいです。配管等のセットアップ、移動相の組成、カラム、温度、グラジエントカーブなどの影響を受けてしまうからです。したがって、複数のメタボロームデータの比較がしたいのであれば、カラム、分析メソッドを標準化する必要があります。あと、できればデッドボリューム、グラジエント遅れなどの一致させたいので、できれば同じメーカーの同じ機種を同じセットアップで使いたいです。それから、後述するように、イオン化の雰囲気、効率も一定でないと、強度値を比較できません。できれば質量分析装置も同じメーカーの同じ機種を同じセットアップがいいですよね。
保持時間がずれた状態、イオン化の雰囲気が変化した状態で取得したデータは、後のデータ解析において支障をきたします。また、サンプルの寿命を考えると、LC-MSを用いた分析は、数ヶ月後のやり直す。ということが難しいので、どうしても一発勝負にならざるを得ません。そうなると、きちんとデータがとれたことを確認しながら進めていく必要があるでしょう。分析開始前と終了後に分析メソッドが正常に動作していることを確認する方法を作る必要があります。QCサンプルを分析しKnown-unknownおよびKnown-knownなMetabolite Feature 20個程度について、保持時間x、質量電荷比y、強度値補正用内部標準物質(後述)のシグナルとの強度比、ピークの半値幅が許容値以内にある。とか、個々のデータをその場でPLSモデルに投げて、外れ値にならないなどなどの基準を作成する必要があります。さらに、この確認法も標準化しないと、他所のデータって使いにくいですよね。
そうなると、たとえはある研究所で、LC-MS装置を新規導入したとき、その装置から出たデータは今までのものと比較可能なのか?また、別の研究所で、メタボローム分析を立ち上げたとき、もとの研究所と比較可能なデータが出るのか?を確かめる必要があります。分析法全体のバリデーションを行う必要があるんですけど、ノンターゲット分析のバリデーション法と、バリデーションの範囲ってどう決めればいいんでしょうか?おそらく、室間再現性をとるためのバリデーションなので、拠点研究室と新規研究室で同一のサンプルを同一メソッドで分析し、同一のデータ処理を行って、同じ結果が出るか確認するクロスバリデーションをすることになると思います。近年メタボロミクスのバリデーション法も議論が始まっているので (J. Chromatogr. A (2014) 1353, 99-105)議論の進展に注目が必要です。分析サンプルおよびLC-MS分析で得られたデータファイル、および必要なメタ情報がLIMSで管理されていることが大前提です。メタ情報の標準化も必要になるでしょう。ここの部分だけはメタボローム業界がちょっとだけ仕事をしているので、うまく使えるといいですね。

2015年5月1日金曜日

Perl 正規表現雑伎

最近正規表現が気になっています。かなり邪道ですが、正規表現で

1:2:2:3:2:4:6:5:6:4:

というような数列が和が10となる部分列をもつか判定したいのです(数字はとりあえず1桁限定)
いわゆる標準正規表現ではかなり難しいようですが、
正規表現のPerl拡張、動的正規表現

(?{code}) #codeを実行
(??{code})#codeを実行し正規表現として評価

をつかうと下記のような正規表現で、#1:2:2:3:2:を見つけることができています。これはいろいろ使えそうなんですが、どなたかぜひ、もっとエレガントな書きかたの伝授をよろしくお願いします。

my $text = "1:2:2:3:2:4:6:5:6:4:";
$text =~ m/
  (?{local $i = 10}) #10を設定
  (
    (
      (
        (??{join("|",(0..$i))}) #一回目は"(0|1|2|3|4|5|6|7|8|9|10)"にマッチ。
       )#マッチした文字をキャプチャ
       :
       (?{$i-=$+}) #$+にキャプチャした数字分$iを減算
     )+  #マッチする間繰り返す。
   )
   (?(?{$i == 0})|z) #$i == 0なら終了 
/x;
print $1."\n";