超多項目の計測データから項目(因子・変数)間の因果関係をネットワークとして予測する、B-splineノンパラメトリック回帰モデルを用いたベイジアンネットワークの構造推定ソフトウェアである
INGOR
Yoshinori Tamada
Yoshinori Tamada
超多項目の計測データから項目(因子・変数)間の因果関係をネットワークとして予測する、B-splineノンパラメトリック回帰モデルを用いたベイジアンネットワークの構造推定ソフトウェアである。主にDNAシークエンサなどで得られる遺伝子発現データを元に遺伝子ネットワークを予測・解析したり、健康ビッグデータから健診項目間の関係性や疾病に対する関連性の解析に用いられており、内部システムの解析など多目的に用いることができる。2条件の違いからシステムに差のあるサブネットワークを抽出することも可能で、例えば健常時と疾患時のネットワークを比較することで、疾患に影響を及ぼす遺伝子およびその関係性を特定するのに役立つ。またサンプル(ケース)ごとに個別のネットワークを得ることもできる。
主に、DNAシークエンサなどの遺伝子発現データを元に遺伝子ネットワークを構築するために用いられている。使用可能なデータは遺伝子発現データだけでなく、オミクスデータ全般を利用可能で分子ネットワークを広く解析可能である。遺伝子ネットワーク解析は既存知識に基づくものとデータ駆動型の二種類に大別されるが、本アプリは後者の遺伝子ネットワーク解析を実現するもので、ネットワーク解析により創薬ターゲット探索や疾病・薬剤機序解明につながる仮説を計測データのみから既存知識なしで予測する。入力データ次第で様々な疾患・化合物の解析に使用可能である。ネットワーク推定・予測にはスーパーコンピュータの計算能力が必要であるので、事前に公共データセットに対して網羅的にネットワーク推定を行い結果をデータベース化するプロジェクトも進行中である。
INGORによるネットワーク推定の特徴は数万因子の入力データに対応していることと、入力データの個別のサンプル毎のネットワークを算出可能な点である。前者により、事前に遺伝子を選択せずに丸ごとネットワーク解析可能である。これができるネットワーク推定アプリはほとんど存在しない。また後者により患者毎の解析が可能で、例えば予後の良し悪しや特定の薬剤に対する抵抗性・感受性の違い、そもそもの疾患の有無などのサンプル間の違いを解析することで、数万因子の巨大ネットワークから真に重要な数百程度の重要ネットワークを特定可能である。これは枝毎サンプル毎にECvと呼ばれる値を算出可能な点を応用したもので、他のネットワーク解析ソフトウェアでは実現できない。
主なターゲット疾患の例として、癌が挙げられる。癌は遺伝子ネットワークの病気である。細胞内の遺伝子の制御が異常をきたし、制御が効かなくなり、細胞が増殖する。従って、遺伝子ネットワーク解析と相性がよい。京を用いた過去のプロジェクトの成果は https://tcng.hgc.jp/ にDBとしてまとめてある。
https://www.nature.com/articles/s41598-021-90556-1 → ヒアリング中に参照したSARS-CoV-2の論文
https://www.nature.com/articles/s41598-021-02394-w
https://www.mdpi.com/2218-273X/10/2/306
https://ieeexplore.ieee.org/document/5551118 → メインで使用しているアルゴリズム
SARS-CoV-2の論文では、重症度の異なる患者の遺伝子ネットワークを比較した。遺伝子ネットワークを解析して重要とみなされた遺伝子が、今まで開発されてきている薬のターゲットとなっていることを確認することが出来た。
https://sign.hgc.jp/ingor/
グラフィカルモデル(鈴木譲・植野真臣編著/共立出版)
INGORはバイナリを提供予定。ECv計算はリクエストがあれば玉田から提供。
前身のSiGN-BNは、https://sign.hgc.jp/signbn/ でバイナリを公開中
Yoshinori Tamada
ネットワークの推定部分は OSS 化を予定しているが当面先になるかもしれない。サブネットワークの推定部分は特許化された部分があり学術利用者には提供中。商用利用は要相談。
C言語
乱数ライブラリ:メルセンヌツイスター
行列:LAPACK、BLAS、MKL、富岳版は富士通のライブラリ。
開発環境 : 主に MacPro. Clang (gcc) でコンパイル。(intel / ARM)
主な開発ターゲット:富岳 (富士通コンパイラ・ライブラリ)、東大医科研のSHIROKANE (Intelコンパイラ)、一般的な Linux/gcc + LAPACK/BLAS でも動作可能。
MPI. MPIの実装種類やバージョンは特に指定なし。
富岳およびOpenMPIで動いている。
OpenMP でスレッド対応済み (Intel コンパイラ/富岳コンパイラ)。
整数演算系の方がウェイトが大きく、実行効率10%程度。
入力:遺伝子発現データセット(一つのデータセットの中に複数サンプル(30~3000サンプル程度までを想定)が含まれている。健常サンプルと、疾患サンプルなど)。人間の場合遺伝子は2万あるが、富岳上のINGORはこれを丸ごと解析する。1000まで減らせば富岳・東大のSHIROKANE以外のある程度高性能なワークステーションでも可能だが、減らす手間が大変。
出力:遺伝子ネットワーク、ECv行列(各サンプルの枝ごとの評価値)とそれを元にしたサブネットワーク(疾患に重要な遺伝子を浮き彫りにする)。全体のネットワークの構造は10万~20万のEdge(枝)からなる。形式はtxtかjson。データのファイルサイズは、100x 20万 x 10byte 200MB
トータルで1Gもいかない。 DB化で想定しているのは 1万8000 データセット程度でその場合はテラサイズ。
ntel/ARM Linuxサーバ、富岳
入力:遺伝子発現データセット(一つのデータセットの中に複数サンプル(30~3000サンプル程度までを想定)が含まれている。健常サンプルと、疾患サンプルなど)。人間の場合遺伝子は2万あるが、富岳上のINGORはこれを丸ごと解析する。1000まで減らせば富岳・東大のSHIROKANE以外のある程度高性能なワークステーションでも可能だが、減らす手間が大変。
出力:遺伝子ネットワーク、ECv行列(各サンプルの枝ごとの評価値)とそれを元にしたサブネットワーク(疾患に重要な遺伝子を浮き彫りにする)。全体のネットワークの構造は10万~20万のEdge(枝)からなる。形式はtxtかjson。データのファイルサイズは、100x 20万 x 10byte 200MB
トータルで1Gもいかない。 DB化で想定しているのは 1万8000 データセット程度でその場合はテラサイズ。