magattacaのブログ

日付以外誤報

HELM editorでお絵描き

前回の記事でマクロ分子の表現方法HELMの表記ルールについて調べてみました。
今回は実際の利用にあたって便利そうなツール、特にHELMエディタの入手方法と簡単な使い方について調べてみたいと思います。

HELMのデータベース・ツール

Pistoia AllianceのHPによるとHELMはマクロ分子の表現として標準的な手法となることを目指しているそうです。 新しい表記の普及にはデータベースの整備お手軽な読み書きのツールが大事そうです。

データベースが準備されていれば、実際の分子がその表現でどのように表せるか実例を参照したり、他の表現方法との比較が簡単にできます。 また、ツールを使って自分で表記を書いてみたり変換したりできれば、ちょっと使ってみようかなってなりますよね!

具体例としてHELM Wiki (HELM Resources)には 以下が記載されていました。ありがたいことにツールの開発・公開も行なってくださっているそうです。

  1. オンラインデータベース:HELM in Online Databases
    • PubMed:PubChemの「biologic description」セクションにHELM表記の記載
    • EBI ChEMBL:「BIOTHERAPEUTICS」テーブルや「Compound Report Card」に記載
  2. ツール:

HELM Toolkitはこんな感じの構成。MIT licenseライセンスの下でオープンソースとなっています。 *1

f:id:magattaca:20201101011514p:plain
HELM Toolkit *2

前回の記事でRDKitでもHELMの取り扱いが可能であることを確認しましたが、現在RDKitで扱える範囲は以下のような天然のモノマー+αに限定されているようです。(RDKit-discussの議論より)

  • FASTA配列から読み書きできるタンパク質、核酸配列
  • PDBの残基コードで利用可能なモノマー
  • 頻繁に使われる非天然アミノ酸(D体 etc.)、ジスルフィド結合など

HELMの表現力を活かすには新しい非天然のモノマーもどんどん取り込んでいきたいところです。 上記RDKit-disucsではより細かな内容を扱うにはPiasota Allianceが提供しているJavaツールキットを利用する方が良いとオススメされていました。

ほな公式のHELM Toolkitで遊ばしてもらいましょ!

HELM editor入手方法

ざっと見た感じeditorには3種類のアクセス方法がありそうです。一つずつ試してみましょう!

HELM editor (ローカル環境)

まずはHELM editorに記載のローカル環境にインストールする方法。

GitHubページのリンク先に「HELM Editor v1.4.1」のバイナリファイル(zip)があるので ダウンロードしてきて解凍するだけです。

f:id:magattaca:20201101011854p:plain
HELM Editorの入手方法

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

f:id:magattaca:20201101011944p:plain
デスクトップ版アプリ HELM Editor

HELM Web-editor (トライアルバージョン)

ついで、WebベースのHELM Web-ediorです。HELM Wikiのページはこちら

トライアルバージョン(v1.1.4)が用意されているので下のリンク先に飛べばすぐに試すことができます。

http://webeditor.openhelm.org/hwe/examples/App.htm

先のローカルに落としたEditorとWeb-editorはちょっと見た目が違う感じです。

f:id:magattaca:20201101012048p:plain
Web版の方がシュッとしてる(個人の感想です)

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に貼り付けてエンター!

f:id:magattaca:20201101012549p:plain
Tomcat見参!!

できた!劇団四季のライオンキングみたい!この微妙な可愛くなさがいい!

シャットダウンは「./shutdown.sh」だそうです。忘れぬうちにメモしときます。

HELM Web-editorのインストール

Tomcatの準備ができたのでHELM Web-editorを順番に準備して行きます。必要なファイルは3つ!

まず、「①HELM2MonomerService (HELM2MonomerService.war)」 と 「② HELM2WebService (WebService.war)」を手に入れます。

GitHubからのリンク先からはダウンロードファイルがうまく見つからなかったので、 HELM Wikiに記載の Nexus repository managerというところから それっぽいファイルを取ってきました。コンパイル済みのJAVAファイルを置いてくださっているそうです。

f:id:magattaca:20201101012717p:plain
ダウンロードしたファイル

warファイルというのはJAVAベースのwebアプリが圧縮された形式らしいです。

ファイル名が長いのでGitHubの手順と同じ名前に変更した後、2つのwarファイルを「apache-tomcat-9.0.39ディレクトリ配下の「webappsディレクトリに入れました。

デプロイ!!・・・で、あってます?

で、すぐにwarと同じ名前のディレクトリが勝手に作られます。こんな感じになりました。。。

f:id:magattaca:20201101012911p:plain
Tomcat webappsディレクトリ内に格納

最後に「③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/」にアクセス!!

f:id:magattaca:20201101013034p:plain
HTTP 404

見つかりません!何故!

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

f:id:magattaca:20201101013103p:plain
アプリっぽいファイル

なんだかアプリっぽい。。。

URLを「http://localhost:8080/HELM2MonomerService/hwe/examples/App.htm」に変更してアクセス!

f:id:magattaca:20201101013136p:plain
立ち上がった!

デモ版と同じ画面が立ち上がりました!あってた!嬉しい!

HELM Web editorの使い方

インストール完了したので使ってみましょう!

HELMEditorよりもHELM Web-editorの方が画面がスッキリしているので、Web-editorで遊んでみたいと思います。

といっても使い方は簡単!モノマーのブロックを繋いでお絵描きしていくだけです。

画面の説明

まずは全体の画面。3分割されていて以下のようになっています。

f:id:magattaca:20201101013205p:plain
画面構成

2次元構造は②Canvasに表示されます。①monomer browserでモノマーを選んで投げ込んでいけます。 ③Viewing areaはテキストベースの情報を見る箇所で、②と③の間で、グラフ構造とHELMを相互に変換する することも可能です。

monomer browser

monomer browserはSimple Polymer Type毎のタブに分かれています。 モノマーが略語で表されていますが、カーソルをあわせるだけで構造が表示されます。

f:id:magattaca:20201101013231p:plain
monomer browserのPeptideタブ*4

RNAタブはこんな感じ。尚、Simple Polymer TypeのRNAヌクレオチドポリマー全てを含むのでDNAも含みます。

f:id:magattaca:20201101013306p:plain
RNAタブ*5

ヌクレオチドR(A)PのAが「丸括弧( )」で囲まれているのは塩基を分岐として扱うことを反映しています。

構造の定まっていない曖昧なモノマーのための表現や、一発変換のRulesといったものも用意されてます。

f:id:magattaca:20201101013404p:plain
ambiguous monomerとRules*6

デフォルトで用意されているルールはRNAポリマーのAをU、G、Tに変換するもののようです。 センス鎖-アンチセンス鎖を一発変換できれば便利そうと思いましたが、5'-3'配列順序も反転させないといけないので難しいのかもしれませんね。

Canvas

Canvasに用意されているボタンはアイコンを見ると使い方がだいたいイメージできるようになっています。

f:id:magattaca:20201101013516p:plain
Canvasのアイコン

見慣れないのはBLOBですが、これは未知の構造/配列からなるSimple Polymerとして利用できます。

試しにお絵描きして見ます。始まりはいつも開始コドン!!!

f:id:magattaca:20201101013554p:plain
開始コドンをお絵描き

できました!

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

ついでにDNAのセンス鎖に変えてみます。

f:id:magattaca:20201101013638p:plain
お絵描きの編集

簡単!

Viewing area

Viewing areaには①Sequence、②HELM、③Properties、④Structure Viewの4つのタブがあります。

先にお絵描きした状態で表示される情報はこんな感じ。。。

f:id:magattaca:20201101013716p:plain
Viewing area

一部重なってしまっていますが④Structure Viewで配列を構造に変換、確認できるのはちょっと感動です。

Propertiesでは分子量、組成式に加えてExtinction Coefficient(モル吸光係数?)も表示されています。

以上はCanvasに描いたグラフ構造の情報の確認ですが、反対にViewing areaに書いた配列をCanvasに反映させることも可能です。

終止コドンを加えてみます。開始即終了!!

f:id:magattaca:20201101013830p:plain
HELMからグラフへ

できました!

ValidateでHELMが正しいかどうか確認できるのは手厚いですね!書き方のテストにも良さそうです。

簡単な描画画面の説明は以上です。

Monomer Library

HELM Web editorで利用可能なmonomer browserのMonomerRulesといったデータの元を参照することも可能です。このデータを編集して表現を拡張することが意図されているようです。

グラフ描画の上のほうにカーソルをあわせると、下図のようなバナーが表示されます。

f:id:magattaca:20201101014150p:plain

ここで画面を切り替えてMonomer LibraryRulesetの確認、編集、追加といったことが可能になります。

Monomer Library画面へと切り替えてみましょう!図のようにデフォルトで入っているMonomer Listが表示されます。

f:id:magattaca:20201101014222p:plain
デフォルトのMonomer List

SymbolNameをつかってライブラリを検索できます。

登録されているチロシン(Y)の関連構造をみてみるために「Symbol: Y」で検索してみました。

f:id:magattaca:20201101014258p:plain
デフォルトのチロシン関連構造

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

・・・が、どうもうまくいかないようです。編集、追加ともにエラーが出てしまいました。

f:id:magattaca:20201101014512p:plain
エラーでmonomerの追加ができない

GitHubのissue #220 に同じ状況が報告されており、まだ解決していないようでした。

残念。。。*7

HELM editorの使い方

HELM Web editorではmonomerの追加がうまくいかなかったので、Web版ではないHELM Editorも試して見ることとしました。

画面構成と使い方

基本的な使い方は同じですがアイコンの見た目や配置が異なる箇所があります。
ざっと画面をみていきます。

f:id:magattaca:20201101014650p:plain
HELM editor

  • ① Web版のMonomer browserに相当
  • ② Web版のCanvasに相当
  • ③ Web版のViewing areaに相当。ただしApplyAppendといった機能はない
  • ④ 線形表記をここに書いてLoadするとグラフ表現にできる。Web版のApplyに相当。

Web版のViewing areaで便利だったSequenceからHELMへの変換はToolsConvert Notation機能で実行できます。

f:id:magattaca:20201101015048p:plain
Convert NotationでHELMに変換

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

f:id:magattaca:20201101015129p:plain
構造式が確認できる

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

f:id:magattaca:20201101015205p:plain
モノマー構造を直接編集

上の図では塩基のウラシルを5-フルオロウラシルに編集しています。
編集してSaveすると、グラフの表記が5fUに変化し、 Sequence viewのUもイタリック(modified)に変わっています。

これは便利ですね!・・・配列に突如組み込まれるテガフール!

新しいモノマーの追加

さて、気になる新しいモノマーの追加です。デスクトップ版ではうまくライブラリを拡張できるでしょうか??

Web版のMonomer Libraryに相当するのはMonomer Managerという機能です。
ここでライブラリにない新しいモノマーの情報を入れてregisterとすることでライブラリに追加できます。

f:id:magattaca:20201101015430p:plain
モノマーの追加

上の図では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も残っています。。。