コンテンツにスキップ
GitHub リポジトリ フォーラム RSS-ニュースフィード

Genome analysis powered by Crystal

mpettinati

Diploid はベルギーのルーベンに拠点を置く企業であり、臨床ゲノム分析を使用して希少疾患を診断するサービスやソフトウェアを病院や研究室に提供しています。

Diploid がとても興味深い点は、人工知能を使用して希少疾患を自動的に診断する最初のソフトウェア パッケージである Moon を開発したこと。Moon は現在、世界中の病院で使用されており、重篤な遺伝子疾患を持つ患者の診断に役立てられています。

これはなぜ関連性があり、興味深いのかというと、Moon が開発される前は遺伝子学者は特別なソフトウェアを使用して変異のフィルタリングやランク付けを手作業で行う必要があり、そうしてようやく診断に到達できていたからです。このソフトウェアは、患者の症状とゲノムデータを単純に入力するだけで、患者の状態を説明する可能性が最も高い変異を導き出します。このプロセスには通常、数時間から数日かかっていました。Moon はフィルタリングとランク付けを自動的に行い、3 分以内に診断を行います。

では、Moon がなぜこれほど高速に処理できるのか、疑問に思うかもしれません。答えはCrystalです。Moon は主に Ruby で記述されていますが、Moon の大部分には十分高速ですが、コードベースのパフォーマンスに最も重要な領域では低速になる可能性があります。そのため、Diploid は Crystal を使用してソフトウェアを開発することにしました。この言語は優れたパフォーマンスと Ruby によく似た構文を組み合わせているため、非常に表現力が豊かで開発者は高速にコーディングできます。

この特定のプロジェクトでは、Crystal は Ruby よりも 4 ~ 6 倍高速化され、ユーザー エクスペリエンス面で大きな差が生じました。つまり、Moon は小規模のデータセットではほぼリアルタイム(約 540 ms)で結果を表示でき、ユーザーには一瞬で提示されます。

Diploid の CEO である Peter Schols は、これらの結果に非常によく満足していました。

Photo of Peter Schols

Peter Schols、CEO、Diploid

Crystal […] この今でも優れたパフォーマンスにとてもRubyライクな構文を組み合わせています。私たちの残りのコードベースがRubyで書かれていることを考えると、これは最適です。さらに、CrystalにはGoライクな並行モデルがあり、基本的にはRubyの世界(表現力豊かな構文、完全なOOP)の最良の部分を採用し、Goの最良の部分(並行モデル、パフォーマンス)を組み合わせています。

このストーリーについて人々が語っています

https://crystal.dokyumento.jp/2017/10/27/diploid-and-crystal.html

http://www.diploid.com/moon

https://researchstash.com/2017/06/14/a-european-startup-is-revolutionizing-the-genome-diagnostics-through-artificial-intelligence/

https://www.bio-itworld.com/2018/05/16/2018-best-of-show-winners.aspx

https://www.genomeweb.com/informatics/moon-software-launch-diploid-aims-accelerate-diagnosis-rare-genetic-diseases

https://datanews.knack.be/ict/nieuws/leuvense-software-helpt-met-wereldrecord-genoomanalyse/article-normal-965499.html