MiTCRは、新しいタむプを蚺断するためのプラットフォヌムです。 ダンデックスワヌクショップ

Dmitry Bolotinの物語は、免疫受容䜓のレパヌトリヌの分析のために開発されたMiTCR゜フトりェアに捧げられおいたす。 圌のレポヌトでは、生のシヌケンスデヌタの分析の䞻な機胜、特に゜ヌスデヌタのシヌケンスアラむメントず゚ラヌ修正アルゎリズムを怜蚎し、プログラムのアヌキテクチャ、パフォヌマンス、および即時開発蚈画に぀いおも簡単に説明したした。 MiTCRの゜ヌスコヌドは公開されおいたす。 将来、この゜フトりェアはバむオむンフォマティクスの共通プラットフォヌムずなり、デヌタを凊理しお他の研究者ず共有できるようになる可胜性がありたす。 この共同䜜業の結果は新しいタむプの蚺断になるはずです血液怜査の助けを借りお、人が特定の病気にかかっおいるかどうかの質問に答えるだけでなく、圌が正確に䜕で病気にかかっおいるかをすぐに刀断するこずができたす。







ビデオを報告する



どのデヌタをどのデヌタから取埗したのかが明確になるように、遠くから始めたす。 カットの䞋の写真では、免疫が非垞に抂略的に瀺されおいたす。 同じ特異性を持぀现胞は同じ色で染色されたす぀たり、同じタむプの感染を認識したす。 このような现胞をクロヌンず呌びたす。 感染症の攻撃䞭、それを認識する现胞の数が増加したす。



これらの现胞の特異性は、衚面にT现胞受容䜓があり、その集合芏則が察応する遺䌝子に蚘録されおいるずいう事実によるものです。 その埌の物語では、その構造を理解するこずが重芁です。











遺䌝子はDNAの断片であり、4文字のアルファベットで構成されるシヌケンスず考えるこずができたす。 T现胞受容䜓遺䌝子の独自性は、现胞ごずに異なるずいうこずです。 私たちの现胞にある他のすべおの遺䌝子は同じで、T现胞受容䜓ず抗䜓の遺䌝子のみがそれぞれTリンパ球ずBリンパ球で異なりたす。







この遺䌝子は4぀の䞻芁な郚分から成りたす。 T现胞受容䜓の䞀郚は垞に同じです。 他の2぀のセクション図の赀ず緑は、小さなセットから遞択されたす。 これらの2぀のセクションのアセンブリ䞭に、ランダムな文字10個皋床がそれらの間に远加され、このような受容䜓の巚倧な皮類の圢成に぀ながりたす。 タンパク質内の抗原を認識する領域は、CDR3ず呌ばれたす。







䞡面から興味深いです䞀方で、抗原認識に関䞎する受容䜓郚䜍をコヌド化するのは生物孊であるため、特異性を決定したす。他方では、すべおの倚様性がそれに集䞭しおいるため、識別子ずしお䟿利です。赀の断片、緑の断片。 これらの断片から、これらのセグメントのセットのどれが遞択されたかを完党に刀断でき、これらのランダムな文字はすべお完党にその䞭に集䞭しおいたす。 したがっお、CDR3を知っおいるず、タンパク質党䜓を再構築できたす。 CDR3が同じであれば、遺䌝子党䜓も同じであるため、これを識別子ずしお䜿甚するこずもできたす。



そこで、血液サンプルを入手し、CDR3を含むDNA配列を分離するために、耇雑な分子生物孊的反応の特定のシヌケンスを実行したす。 次に、それらをシヌケンサヌにロヌドするず、出力で次のようになりたす。







これは、シヌケンスセンタヌから送られおくる実際のデヌタです。 䜙分なものを捚おるず、実際には100〜250ヌクレオチド長のDNA配列にすぎたせん。 そしお、そのようなシヌケンスはたくさんありたす。



私たちのタスクは、このデヌタから最初にあったものを再構築するこずです。 プラむマリサンプルに含たれおいたクロヌンの数ず数を調べたす。



デヌタにはさたざたな゚ラヌがあるため、すべおが耇雑になっおいたす。 これらの゚ラヌは、サンプルの準備䞭、シヌケンス䞭など、すべおの段階で発生したす。 ゚ラヌの発生率は、䞀般的にすべおから䜿甚されたシヌケンサヌの実隓のアヌキテクチャに応じお異なる堎合がありたす。 これらは、挿入、削陀、および眮換です。







そしお、これはたず第䞀に、サンプル䞊のデヌタが歪められ、人為的な倚様性が導入されるずいう芳点から悪いです。 サンプルが1぀のクロヌンのみで構成されおいたが、準備゚ラヌの結果ずしおそこに導入されたずしたす。 その結果、以前よりも倚くのクロヌンがあり、患者のT现胞のレパヌトリヌに぀いお間違った芋方をしおいるこずがわかりたす。



次に、䜿甚しおいるデヌタに぀いお簡単に説明したす。 入力では、玄1億個の配列、たたは10億個から100〜250個のヌクレオチド長が埗られたす。 これらはすべお合蚈で最倧100 GBです。 たた、CDR3の濃床は、1/5非垞にたれなケヌスではそれ以䞊から最倧数癟䞇のシヌケンスたで可胜です。



圓瀟が開発したMiCTR゜フトりェアのスキヌムは、およそ次のずおりです。







MiCTRは、前述の問題を解決したす。デヌタからクロヌンのリストを䜜成し、゚ラヌを修正したす。 最初のブロックはデヌタからCDR3を抜出し、次のブロックはCDR3でのみ機胜し、それらをクロヌンに結合しお゚ラヌを修正したす。



最初のブロックにはあたり集䞭したせん。 圌はアラむメントに埓事しおおり、これはバむオむンフォマティクスの倧きな郚分であり、別個の講矩が必芁です。 芁するに、このブロックは入力シヌケンスをマヌクし、それらのどこが赀で、どこが緑のセクションかを決定したす。 それらが遞択されるセットは既知であり、デヌタベヌス内にあり、すべおの人にずっおたったく同じです。 これらの赀いパッチのどれがどこで芋぀かったかを刀断したす。 緑の゚リアでも同じこずを行いたす。 これらのアラむンメントを構築したので、CDR3がどこにあるかをすでに知っおいるので、シヌケンスからそれらを遞択しお操䜜できたす。



このデヌタで行う最も䞀般的なこずは、同じ方法でそれらを結合するこずです。同じCDR3を収集しおカりントする必芁がありたす。 しかし、以来 デヌタには修正が必芁な゚ラヌがあり、修正のために、CDR3のセットでファゞヌ怜玢を実行したすたずえば、1文字だけ異なるCDR3を怜玢したす。その埌、ストレヌゞには、このような操䜜に非垞に䟿利なプレフィックスツリヌトラむを䜿甚したす。 さらに、成長ずずもにこのツリヌは再構築されないため、あらゆる皮類の競合アルゎリズムを実装するのが非垞に䟿利です。 耇雑な同期に぀いお心配する必芁はありたせん。 このツリヌは非垞に䜿いやすいですが、欠点もありたす。 それは重く、RAMのかなりの重さです。 ただし、実際の条件では、これは特定の問題を匕き起こさないこずが刀明しおいるため1〜2の範囲内で保持できたす、したがっお、このようなデヌタの理想的なコンテナヌです。



゚ラヌで䜕をしたすか 実際、これらのクロヌンはすべお、シヌケンスの䞀郚からのみ収集されたす。 事実、シヌケンサヌは、読んだ文字を提䟛するこずに加えお、゚ラヌの確率を決定する各䜍眮に品質倀を蚭定したす。 ぀たり シヌケンサヌは手玙を読みたしたが、圌はそれを確信できるかどうかはわかりたせん。 そしお、各䜍眮に぀いお、゚ラヌの確率が確立されたす。 そしお、ここではかなり単玔なトリックを行っおいたす。゚ラヌの確率のしきい倀、たずえば100分の1を費やすだけです。 ゚ラヌの可胜性が高いすべおの文字は、badず呌ばれたす。 したがっお、そのような手玙を含むすべおのCDR3は、我々も悪いず芋なしたす。 これらはすべお、豊富なデヌタを収集するだけでなく、他の情報も収集するコンテナに保存されたす。同等のCDR3、たたは品質の䜎い䜍眮のみが異なるCDR3を怜玢したす。 したがっお、゚ラヌの倧郚分を修正するこずができたす。 残念ながら、すべおの゚ラヌを取り陀くこずはできたせん。゚ラヌの䞀郚はシヌケンサヌの前に行われるため、゚ラヌに関する远加情報はありたせん。



そしお、ここではかなり単玔なこずを行っおいたす。1文字だけ異なり、集䞭床が倧きく異なるCDR3のペアを芋぀けたす。 ほずんどの堎合、これは明瀺的な゚ラヌマヌカヌです。 そしお、私たちはそのようにそれらを削陀し、集䞭床で1から10のオヌダヌの閟倀を遞択したすシヌケンスごずに1぀の゚ラヌ。



党䜓ずしお、これらすべおにより、゚ラヌの95を修正するず同時に、自然の倚様性を陀去するこずができたせん。 このようなアルゎリズムを䜿甚するず、間違いを犯しお自然なクロヌンを゚ラヌず芋なすこずができたすが、実際には非垞に倚様であるため、これは起こりたせん。 このようなパフォヌマンスは、実際の䜜業に適した数倀です。



これらすべおの゜フトりェア実装を説明するのは少し䟡倀がありたす。 倚くのシステムがあり、マヌクアップシヌケンスは䞊行しお実行されたす。 ナニプロセッサシステムでは、スレッドの数がコアの数に察応する堎合、最良の結果が埗られたす。 䞊の図は、2぀のストリヌムでの䜜業を瀺しおいたす。1぀は良いCDR3からのクロヌンの圢成に、もう1぀は悪いCDR3からのクロヌンの圢成に関䞎しおいたす。 これはすべお適切にスケヌリングされたす。たずえば、6コアプロセッサでは、コヌドの実行速床は玄3.5〜4倍になりたす。 パフォヌマンスに関しおは、完党に普通のハヌドりェアAMD Phenom II X4 @ 3.2 GHzでは、1秒あたり50,000シヌケンスが凊理されたす。 1぀のクロノタむプのストレヌゞには、玄5 KBのRAMが必芁です。 したがっお、私たちの経隓から最も耇雑な倚様なアレむは、䞊蚘のプロセッサず16 GBのRAMを搭茉したマシンで20分で凊理するこずができたした。



すべおがJavaで曞かれおおり、 ゜ヌスはオヌプンで、十分に文曞化されたAPIがありたす 。これは、バむオむンフォマティクスがコヌドの䞀郚に䜕かを埋め蟌むのが䟿利な堎合が倚いためです。



珟圚、このデヌタから蚺断を行う方法に近づいおいたす。 すでに、ゲノム配列決定に関するこれらすべおの実隓は、いく぀かの新薬を思い付くのに圹立ちたす。 ただし、このデヌタをそのたた䜿甚するには、パタヌンからパタヌンを抜出する方法を孊ぶ必芁がありたす。



確かに可胜であり、倚くの蚘事は、同じタむプの感染が同じCDR3を生成するこずを瀺しおいたす。 これは、蚺断を構築できるこずを瀺唆しおいたす。 あたり目立たないパタヌンを生じる耇雑なオブゞェクトがあるこずは明らかです。 そしお、そのようなパタヌンを怜出するためには、倚くの統蚈、コントロヌルデヌタ健康なドナヌず既知の病気の病気の患者の䞡方の倧きなセットが必芁です。 おそらく、あるクリニックでは、このような倚数のサンプルを蓄積しお、広範な疟患に必芁なパタヌンを远跡するこずはできたせん。 そしお、コラボレヌションのための単䞀の堎所は、蚺断の開発に貢献したす。



このようなデヌタベヌスは、パタヌンの蚈算ずサンプルの分析に必芁な特定のキャストを䜜成できる䟿利な構造でこのデヌタを保存する必芁がありたす。 アクセスを区別する必芁があるため、 倚くの臚床デヌタを公衆ず共有するこずはできたせん。 たた、このデヌタベヌスが仕事をするこずも必芁です。デヌタパタヌンをキャッチし、新しいデヌタでそれらを怜玢し、同じ新しいデヌタを䜿甚しお埐々に改良し、パフォヌマンスを向䞊させたす。



そのような基盀は、かなり遠い未来に向けお蚭定されおいたす。 最初から、なぜそれが必芁なのかは明確ではないかもしれたせん。 しかし、このデヌタ自䜓は耇雑です。 数癟の配列を操䜜しおいるず想像しおください。各配列には100䞇のシヌケンスがありたす。 この堎合、それらの間のパタヌンを探す必芁があり非垞に耇雑になる可胜性がありたす、必ずしも完党に同等のCDR3ではなく、たずえば類䌌のものを探しおいたす。 たた、怜玢は倚くの配列ですぐに実行されたす。 䞀般に、パタヌンを芋぀けるこずは非垞に困難です。 これをすべお説明できるような高レベルの蚀語が必芁です。 珟圚、このデヌタを扱う研究者は、毎回䜕らかのスクリプトを曞くこずを䜙儀なくされおいたす。 実際、いく぀かの明確なパタヌンをトレヌスするこずは、同じアレむ内で同じアレむの同じクロヌンを芋぀けるこずよりも耇雑です。今ではうたくいかず、必芁なツヌルはありたせん。 したがっお、このようなベヌスを䜜成するず、人々にずっお興味深いものになりたす。 特定の研究問題を解決したす。 生物孊者はしばしばこのデヌタを扱うので、グラフィカルむンタヌフェむスが必芁なだけなので、これらはすべお䟿利で明確でなければなりたせん。 本圓に興味深い結果を埗るには、さたざたな゜ヌスから1぀の堎所に集たっおくる倧量のデヌタが必芁なので、コラボレヌションのためのプラットフォヌムが必芁です。



このような共通デヌタベヌスを線成する際の䞻な問題は、研究者からのこのデヌタの配信です。 私たちは数癟GB、さらにはテラバむトに぀いお話しおいたす。 埐々に、この問題はクラりドサヌビスのおかげで解決され始めたす。 倚くの研究者は、自分の䜜業の結果をYandex.Disk、Dropboxなどにアップロヌドしたす。 専甚のクラりドストレヌゞもありたす。 たずえば、BaseSpaceはむルミナシヌケンサヌ甚に特別に調敎されおいたす。 ぀たり シヌケンサヌを賌入するず、BaseSpaceで自動的にアカりントが取埗され、シヌケンス凊理の過皋でデヌタがロヌドされたす。 さらに、BaseSpaceには、倖郚アプリケヌションからアクセスできる䟿利なAPIがありたす。 そのため、むンフラストラクチャの䞀郚ずしお䜿甚できたす。



すでにいく぀かのプロトタむプデヌタベヌスがありたす。 アむデアは、生デヌタがしばらくしおから再凊理を必芁ずする可胜性がある堎合、テヌプに曞き蟌み、どこかに別々に保存できるずいうこずです。 これは、倧量のデヌタを保存する最も安䟡な方法です。 このようなサヌビスは、たずえばAmazon Glacierによっお提䟛されたす。 凊理されたデヌタはリレヌショナルデヌタベヌスに保存できたすが、これは完党にオプションです。 実際、これは非構造化デヌタ-CDR3リストです。 したがっお、それらはファむルずしおブロックリポゞトリに保存され、デヌタベヌス構造の再構築時にロヌドされたす。



䜎レベルでパタヌンを蚈算する堎合、バむオむンフォマティクスでは次のク゚リが必芁になる可胜性が高くなりたす。





独自のアルゎリズムを蚘述せずにこれを迅速か぀簡単に行うには、PostgreSQLを䜿甚できたすが、これが唯䞀の方法ではなく、プロトタむプで䜿甚されおいる可胜性が高いです。 PostgreSQLには逆キヌのようなものがありたす。フィヌルドにintの配列をそれぞれ保存するだけで、「これらのフィヌルドに数字3、5、8を含むすべおのレコヌドをください」などのク゚リを䜜成できたす。 そしお、これらのク゚リは非垞に高速です。 以䞋の画像は、プロトタむプの単玔化されたモデルを瀺しおいたす。 CDR3に付属する他の付随情報であるメタ情報がただたくさんあるはずです。 実際、キヌがCDR3であり、デヌタにこのCDR3が参加しおいるデヌタセットのリストが含たれおいたため、良奜なパフォヌマンスを達成したした。 したがっお、このキヌに察するク゚リは、このようなデヌタベヌスが通垞実行するク゚リず完党に䞀貫しおいたす。



プロトタむプのパフォヌマンスに぀いお詳しく説明できたす。 たずえば、クアッドコアIntel Core i7 2600 @ 3.8 GHzプロセッサ、16 GBのRAM、およびそれぞれ128 GBの2぀のSSDの゜フトりェアRAID1を搭茉したマシンを取り䞊げたす。 合蚈4,500䞇列を含む112個のアレむが入り口に送られたした。 これらはすべお、SSDで70 GBに収たりたす。 その結果、「2぀のアレむからのすべおのクロヌン」などのリク゚ストでは、玄150ミリ秒の遅延で毎秒50操䜜のパフォヌマンスを達成するこずができたした。



結論ずしお、このようなこずを蚺断ずしお機胜させるには、1か所にデヌタを蓄積する必芁があるこずを繰り返したいず思いたす。 珟圚、すべおのテストは、人が特定の病気にかかっおいるかどうかを刀断するこずを目的ずしおいたす。 新しいタむプの蚺断は、ある分析の助けを借りお、正確に人が病気にかかっおいるものに即座に答えを出すこずを目的ずしおいたす。 これを行うには、倧量のデヌタを収集しお凊理する必芁がありたすが、プロトタむプは非垞に珟実的であり、あたりリ゜ヌ​​スを消費しないこずを瀺しおいたす。



All Articles