HELM editorでお絵描き
前回の記事でマクロ分子の表現方法HELMの表記ルールについて調べてみました。
今回は実際の利用にあたって便利そうなツール、特にHELMエディタの入手方法と簡単な使い方について調べてみたいと思います。
HELMのデータベース・ツール
Pistoia AllianceのHPによるとHELMはマクロ分子の表現として標準的な手法となることを目指しているそうです。 新しい表記の普及にはデータベースの整備とお手軽な読み書きのツールが大事そうです。
データベースが準備されていれば、実際の分子がその表現でどのように表せるか実例を参照したり、他の表現方法との比較が簡単にできます。 また、ツールを使って自分で表記を書いてみたり変換したりできれば、ちょっと使ってみようかなってなりますよね!
具体例としてHELM Wiki (HELM Resources)には 以下が記載されていました。ありがたいことにツールの開発・公開も行なってくださっているそうです。
- オンラインデータベース:HELM in Online Databases
- PubMed:PubChemの「biologic description」セクションにHELM表記の記載
- EBI ChEMBL:「BIOTHERAPEUTICS」テーブルや「Compound Report Card」に記載
- ツール:
HELM Toolkitはこんな感じの構成。MIT licenseライセンスの下でオープンソースとなっています。 *1

前回の記事でRDKitでもHELMの取り扱いが可能であることを確認しましたが、現在RDKitで扱える範囲は以下のような天然のモノマー+αに限定されているようです。(RDKit-discussの議論より)
HELMの表現力を活かすには新しい非天然のモノマーもどんどん取り込んでいきたいところです。 上記RDKit-disucsではより細かな内容を扱うにはPiasota Allianceが提供しているJavaツールキットを利用する方が良いとオススメされていました。
ほな公式のHELM Toolkitで遊ばしてもらいましょ!
HELM editor入手方法
ざっと見た感じeditorには3種類のアクセス方法がありそうです。一つずつ試してみましょう!
HELM editor (ローカル環境)
まずはHELM editorに記載のローカル環境にインストールする方法。
GitHubページのリンク先に「HELM Editor v1.4.1」のバイナリファイル(zip)があるので ダウンロードしてきて解凍するだけです。

「HELMEditor-1.4.1.jar」というファイルをひらけばJAVAプログラムが起動します。

HELM Web-editor (トライアルバージョン)
ついで、WebベースのHELM Web-ediorです。HELM Wikiのページはこちら 。
トライアルバージョン(v1.1.4)が用意されているので下のリンク先に飛べばすぐに試すことができます。
先のローカルに落としたEditorとWeb-editorはちょっと見た目が違う感じです。

HELM Web-editor (インストールバージョン)
Web-editorをインストールして利用することも可能です。GitHubにコードが公開されており、 ReadMeにインストール方法が書かれています。
HELM Web-editorはJavascriptで書かれているそうです。で、JavascriptのWebアプリを使うには、Webコンテナとかいうアプリケーションサーバーを用意してWebサーバで動かすことになるらしい。。。どういうこっちゃ?
Tomcatを使って、ということなのでダウンロードしてみます。*3
① Java SE Development Kit (JDK)のインストール
OracleのサイトからmacOS用のJDK-15.0.1というのをダウンロードしてインストールしました。 Personal useはOKですと。。。アグリーアグリー
② Apache Tomcatのインストール
ついでApache TomcatのページからTomcat 9.0.39というのをダウンロードしてきました。 Tomcat 10.0もあるようでしたがalpha版のようだったので9.0にしました。
インストール後、実行権限を確認する必要があるそうです。
ターミナルでディレクトリを移動してls -lとしたところ、binは「drxr-xr-x」となっていました。(755であってます?)
一方、binの中のファイル群は「-rw-r--r--」(これは644?)となっていたのでシェルスクリプトの権限を書き換えました。
ターミナルに「chmod 755 *.sh」とコピペします。
実行権限も設定できたので、後はbinの中にあるstartup.shというスクリプトを実行すれば良いそうです。
ターミナルで./startup.shとすると「Tomcat started」と無事出てきました。
あとはlocalhostのポート番号8080にアクセスすれば良いらしい...
「http://localhost:8080/」をChromeに貼り付けてエンター!

できた!劇団四季のライオンキングみたい!この微妙な可愛くなさがいい!
シャットダウンは「./shutdown.sh」だそうです。忘れぬうちにメモしときます。
③ HELM Web-editorのインストール
Tomcatの準備ができたのでHELM Web-editorを順番に準備して行きます。必要なファイルは3つ!
まず、「①HELM2MonomerService (HELM2MonomerService.war)」 と 「② HELM2WebService (WebService.war)」を手に入れます。
GitHubからのリンク先からはダウンロードファイルがうまく見つからなかったので、 HELM Wikiに記載の Nexus repository managerというところから それっぽいファイルを取ってきました。コンパイル済みのJAVAファイルを置いてくださっているそうです。

warファイルというのはJAVAベースのwebアプリが圧縮された形式らしいです。
ファイル名が長いのでGitHubの手順と同じ名前に変更した後、2つのwarファイルを「apache-tomcat-9.0.39」ディレクトリ配下の「webapps」ディレクトリに入れました。
デプロイ!!・・・で、あってます?
で、すぐにwarと同じ名前のディレクトリが勝手に作られます。こんな感じになりました。。。
最後に「③HELMWebEditor (hwe-1.1.0.zip)」を手に入れます。こちらはGitHubのリンクからそのままダウンロードできました。
unzipしてできた「hwe」ディレクトリを先に作った「\webapps\HELM2MonomerService\」の中に移動します。
ファイルの準備はこれでおしまい。
④ 起動
Apatche Tomcatのサーバーを起動した後、URL「http://SERVER/HELM2MonomerService/hwe/」にブラウザからアクセスすれば
Web Editorが起動するとのことです。
SERVERのところをlocalhost:8080として「http://localhost:8080/HELM2MonomerService/hwe/」にアクセス!!

見つかりません!何故!
右往左往しているとhweディレクトリの中のexapmleにAPP.htm.というファイルがありました。 中身を見てみるとJSDrawディレクトリのjavascriptを読みに行っている感じです。

なんだかアプリっぽい。。。
URLを「http://localhost:8080/HELM2MonomerService/hwe/examples/App.htm」に変更してアクセス!

デモ版と同じ画面が立ち上がりました!あってた!嬉しい!
HELM Web editorの使い方
インストール完了したので使ってみましょう!
HELMEditorよりもHELM Web-editorの方が画面がスッキリしているので、Web-editorで遊んでみたいと思います。
といっても使い方は簡単!モノマーのブロックを繋いでお絵描きしていくだけです。
画面の説明
まずは全体の画面。3分割されていて以下のようになっています。

2次元構造は②Canvasに表示されます。①monomer browserでモノマーを選んで投げ込んでいけます。 ③Viewing areaはテキストベースの情報を見る箇所で、②と③の間で、グラフ構造とHELMを相互に変換する することも可能です。
monomer browser
monomer browserはSimple Polymer Type毎のタブに分かれています。 モノマーが略語で表されていますが、カーソルをあわせるだけで構造が表示されます。

RNAタブはこんな感じ。尚、Simple Polymer TypeのRNAはヌクレオチドポリマー全てを含むのでDNAも含みます。
ヌクレオチドR(A)PのAが「丸括弧( )」で囲まれているのは塩基を分岐として扱うことを反映しています。
構造の定まっていない曖昧なモノマーのための表現や、一発変換のRulesといったものも用意されてます。
デフォルトで用意されているルールはRNAポリマーのAをU、G、Tに変換するもののようです。 センス鎖-アンチセンス鎖を一発変換できれば便利そうと思いましたが、5'-3'配列順序も反転させないといけないので難しいのかもしれませんね。
Canvas
Canvasに用意されているボタンはアイコンを見ると使い方がだいたいイメージできるようになっています。

見慣れないのはBLOBですが、これは未知の構造/配列からなるSimple Polymerとして利用できます。
試しにお絵描きして見ます。始まりはいつも開始コドン!!!

できました!
モノマー間をSingleアイコンでつないでいますが、
singleを選択しなくても2つのブロックの中の文字をドラッグしながらつなぐだけで結合が作られます。
ついでにDNAのセンス鎖に変えてみます。

簡単!
Viewing area
Viewing areaには①Sequence、②HELM、③Properties、④Structure Viewの4つのタブがあります。
先にお絵描きした状態で表示される情報はこんな感じ。。。

一部重なってしまっていますが④Structure Viewで配列を構造に変換、確認できるのはちょっと感動です。
Propertiesでは分子量、組成式に加えてExtinction Coefficient(モル吸光係数?)も表示されています。
以上はCanvasに描いたグラフ構造の情報の確認ですが、反対にViewing areaに書いた配列をCanvasに反映させることも可能です。
終止コドンを加えてみます。開始即終了!!

できました!
ValidateでHELMが正しいかどうか確認できるのは手厚いですね!書き方のテストにも良さそうです。
簡単な描画画面の説明は以上です。
Monomer Library
HELM Web editorで利用可能なmonomer browserのMonomerやRulesといったデータの元を参照することも可能です。このデータを編集して表現を拡張することが意図されているようです。
グラフ描画の上のほうにカーソルをあわせると、下図のようなバナーが表示されます。

ここで画面を切り替えてMonomer LibraryやRulesetの確認、編集、追加といったことが可能になります。
Monomer Library画面へと切り替えてみましょう!図のようにデフォルトで入っているMonomer Listが表示されます。

SymbolやNameをつかってライブラリを検索できます。
登録されているチロシン(Y)の関連構造をみてみるために「Symbol: Y」で検索してみました。

天然のチロシン以外にD体やN-メチル体、ニトロチロシンが登録されています。 鉛筆マークをクリックするとmonomer情報を編集することができ、プラスマークでは新規monomerを追加できるようになっています。
・・・が、どうもうまくいかないようです。編集、追加ともにエラーが出てしまいました。

GitHubのissue #220 に同じ状況が報告されており、まだ解決していないようでした。
残念。。。*7
HELM editorの使い方
HELM Web editorではmonomerの追加がうまくいかなかったので、Web版ではないHELM Editorも試して見ることとしました。
画面構成と使い方
基本的な使い方は同じですがアイコンの見た目や配置が異なる箇所があります。
ざっと画面をみていきます。

- ① Web版のMonomer browserに相当
- ② Web版のCanvasに相当
- ③ Web版のViewing areaに相当。ただしApply、Appendといった機能はない
- ④ 線形表記をここに書いてLoadするとグラフ表現にできる。Web版のApplyに相当。
Web版のViewing areaで便利だったSequenceからHELMへの変換はToolsのConvert Notation機能で実行できます。

またグラフ表現上でクリックすることで構造の情報確認が可能です。

さらに面白い機能として、モノマーを編集して構造修飾を加えることができます!

上の図では塩基のウラシルを5-フルオロウラシルに編集しています。
編集してSaveすると、グラフの表記が5fUに変化し、
Sequence viewのUもイタリック(modified)に変わっています。
これは便利ですね!・・・配列に突如組み込まれるテガフール!
新しいモノマーの追加
さて、気になる新しいモノマーの追加です。デスクトップ版ではうまくライブラリを拡張できるでしょうか??
Web版のMonomer Libraryに相当するのはMonomer Managerという機能です。
ここでライブラリにない新しいモノマーの情報を入れてregisterとすることでライブラリに追加できます。

上の図では3-Fluoro-L-tyrosineを「Monomer ID FlY」として追加登録しました。
登録後、Monomer browserのOtherから新しいモノマーFlYが選べるようになっていることを確認できました!*8
Web版でうまくいかなかったモノマーの追加がうまくいったようです!!
これでオリジナル分子を自由にかけますね!
まとめ
以上、今回はHELMの利用をめざしてツールの導入と簡単な使い方を調べてみました。 ツールがあれば自分でHELMを書いたり、グラフ表現との変換が容易にできるのでいろいろと遊ぶことができそうです。
HELMエディタとしてデスクトップ版のHELM EditorとHELM Web editorの両方を試してみました。
Web editorはデスクトップ版よりも画面がスッキリしていて、よりシュッとした(?)インターフェースといった印象でした。 CanvasやViewing areaの使い勝手が良い一方で、Monomer Libraryの追加機能に不具合があるという問題点がありました。
デスクトップ版 HELM Editorは見た目がちょっと旧い感じはありますが、新しいモノマーが追加可能、構造の編集が容易という点がWeb版よりも優れている印象です。
特殊ペプチドや核酸アナログといった構造修飾、化学変換を組み入れていくには現在のところデスクトップ版を使う方が良いかもしれません。
マニュアルの図を貼り付けたりしていたらまた長い記事になってしまいました。
「途中のWeb版の長々としたインストールの説明必要だったのか?」というツッコミをいただきそうですが、 Tomcatのライオンキングみたいなロゴが気に入って使いたかっただけです。・・・すみません。
これでHELMの書き方は心配ないさ~~
適当に調べたことを書いているので誤り等ご指摘いただければ幸いです。
*1:但し、HELM toolkitが利用しているMarvinBeansはChemAxonのもので、HELMのためにロイヤリティフリーで提供されていますが、他の目的の利用についてはライセンスが必要となるそうです。
*2:https://pistoiaalliance.atlassian.net/wiki/spaces/PUB/pages/13795362/HELM+Notation
*3:インストールはこちらのページを参考にさせていただきました。
*4:User Guide for the HELM Web Editor V1.1.0より
*5:User Guide for the HELM Web Editor V1.1.0より
*6:User Guide for the HELM Web Editor V1.1.0より
*7:MonomerLib2.0.dbというそれっぽいファイルがあったのでパーミッションを変えて書き込みできるようにしてもダメでした、、、
*8:登録したモノマーの削除方法がわからないので試しに登録したFYも残っています。。。


