新型コロナウイルス解析に協力したい

こんにちは、ファンデリー デザイン・システム室の大内です。今回は分散コンピューティングを使って世間に貢献する、という内容についてです。ITエンジニア(に限らず)がオープンなプロジェクトに協力する方法はいくつかありますが、この方法だと余剰リソースを使って放置しているだけで良いのがメリットです。

モチベーション

現在、世界的な脅威となっている新型コロナウイルスの解析に自分のリソースを使って協力できるそうなので、やってみました。見かけたのは、以下のツイート。

これは、Folding@Home(FAH)という分散コンピューティング基盤上で、新型コロナウイルス(SARS-CoV-2)のタンパク質の解析が行えるというものです。

協力の仕方

前記のとおり、Folding@Homeという分散処理の基盤を利用しているため、それに参加するために専用のソフトをインストールする必要があります。Windwos/macOS/Linux全てに対応していますが、今回はWindows環境を例に取ります。(といってもインストールの仕方自体は上記ツイートのリンクにあるため、簡単に)

まず、公式サイトのダウンロードページに行き、環境に応じた(今回はWindows)インストーラのダウンロードをします。ダウンロードしたあとは、通常通りのインストールですが、インストール終了後起動させるとファイアウォールの設定次第で警告が出る場合があるので、許可します。

起動した時点ではまだ解析は始まっていません。通常、デフォルトではブラウザ上から(Web Control)確認できるようですが、自分の環境では動かなかったので、Windowsクライアント(Advanced Control)から確認しました。以下のような表示になっています。

初めに解析用のデータをサーバーからダウンロードして、全てダウンロードし終わると解析が始まります。ここでは3つのSlot(=解析に使用できるリソース)が認識されており、それぞれに別のタスクが与えられます。

仕組みとしては単純で、割り当てられたタスクを進めていき、終了すると次のタスクが始まります。処理するマシンパワーによってかかる時間は変わりますが、自分の環境では2時間〜7時間程度かかるようです。FAHでは新型コロナウイルス以外の解析ももとから行っていましたが、現在は特定の疾病を指定しない場合、優先的に新型コロナウイルスのプロジェクトが割り当てられるようです。

特に解析に協力したからと言って、直接報酬が得られるわけではありませんが、解析を進めると進捗に応じてポイントをもらえます。このポイントは個人/チームで集計され、ランキングとしてWebサイトに表示されます。

また、チームごとの獲得ポイントの推移も確認できます。以下はPCMRチーム、ツイートされた日以降、獲得ポイント数が急増している(=参加者、マシンパワーともに伸びている)のがわかります。

参考までに自宅のPCの環境を記載しておきます。

FP32 FLOPS(理論値)Credit(FAH perf.)
CPUCore i5-4690S@3.0GHz0.2TFlops780
MEMDDR3 1600 16GB(8GB*2)
GPU1Geforce GTX1080Ti 11GB11.3Tflops15396
GPU2Radeon RX580 8GB6.2Tflops9405

FAHはCPU/GPU両対応となっていますが、上記の通り、各CPUとGPUのパフォーマンス差は相当あります。とはいえ、実行するアルゴリズムの性質なのかGPU側は理論性能に対しての実行効率は低そうです。また、実行されているプログラムを確認すると、CPUはSIMD(AVX2), GPU1はCUDA, GPU2はOpenCLで実行されています。

Folding@Home

Folding@Homeとは?

Folding@Homeは前述の通り、分散コンピューティングを使って特定の問題を解く、その中でもタンパク質の折りたたみ構造を解析するプロジェクトです。スタンフォード大学が主催しており、スタートしたのは20年ほど前ですが、かつてはPS3がネットワークに参加し、分散ネットワーク全体の演算性能が飛躍的に増大したこともあります。(私も昔PS3経由で参加していました)こういった、アカデミックにはいない人が協力して行うような研究をCitizen Scienceと呼び、類似のプロジェクトはいくつか存在します。

タンパク質のFolding(折りたたみ)とは?

やや専門的な話になりますが、タンパク質は通常、生体の細胞内で遺伝情報であるDNAからRNAに転写が行われ、そのRNAの配列をベースにタンパク質に翻訳されます。翻訳された段階ではただのアミノ酸配列ですが、それが自然と特定の立体構造をとるようになります。そして、その立体構造がタンパク質の機能を決めています。立体構造が決まれば、例えばそのタンパク質の機能を阻害するような分子を設計し、創薬のターゲットとしたりしています。(例えば抗インフルエンザ薬のタミフルなど)

立体構造を決定する方法はいくつかあり、実験的なものではX線結晶構造解析やNMRを利用する方法がありますが、シミュレーションによる構造予測も行われており、FAHはこれを分散コンピューティングで行うものになります。タンパク質はFoldingにより一意な立体構造をとるという仮説のもと、そのエネルギーを最小化するような構造を種々のアルゴリズムで求めています。

分散コンピューティングでのFolding解析

現在の新型コロナウイルスに関するプロジェクト

  • 14530/14531 Coronavirus SARS-CoV-2 (COVID-19 causing virus) protease – potential drug target
  • 14328 – Coronavirus SARS-CoV-2 (COVID-19 causing virus) protease – potential drug target
  • 11741: Coronavirus SARS-CoV-2 (COVID-19 causing virus) receptor binding domain in complex with human receptor ACE2
  • 11746: Coronavirus SARS-CoV-2 (COVID-19 causing virus) receptor binding domain in complex with human receptor ACE2 (alternative structure to 11741)
  • 11742: Coronavirus SARS-CoV-2 (COVID-19 causing virus) protease in complex with an inhibitor.
  • 11743: Coronavirus SARS-CoV-2 (COVID-19 causing virus) protease – potential drug target.
  • 11744: Coronavirus SARS-CoV (SARS causing virus) receptor binding domain trapped by a SARS-CoV S230 antibody.
  • 11745: Coronavirus SARS-CoV (SARS causing virus) receptor binding domain mutated to the SARS-CoV-2 (COVID-19 causing virus) trapped by a SARS-CoV S230 antibody.

上記の例では11741に参加していることがわかります。

まとめ

電気代はかかりますが(上記の環境でもフルパワーだと500W〜600Wほどの消費電力だと思われます。)、新型コロナウイルス対策の一助として解析に参加してみてはどうでしょうか。

ファンデリー デザイン・システム室では新型コロナウイルスに立ち向かうメンバーを募集しております。
興味を持ってくださった方はぜひ一度お話を聞きにきてください!

募集要項およびエントリーフォーム >