Jmol Applet/ja

From Jmol
Revision as of 01:03, 20 January 2015 by Cudo29 (talk | contribs) (Jmolのウェブへの出力: The remained original description was removed.)
Jump to navigation Jump to search

Geographylogo.png

Reference: English – Other: 日本語 ·


Running Jmol

Contents

Jmol オブジェクト

Jmolアップレット

Javaアップレット版のJmolを使うと、ウェブページにJmolを埋め込むことができます(Javaプラグインがインストールされたブラウザで見ることができます)。スタンドアロン版と同様に、スクリプトを使うことができます。例をいくつかデモページ http://www.jmol.org/demo/ に挙げてあるので参照して下さい。ウェブブラウザでHTMLソースを見るには、Firefoxの場合 表示ページのソース をクリックして下さい。

Jmol HTML5オブジェクト(JSmol)

バージョン13.1から、JSmolと呼んでいる非Java版Jmolを使ってJmolをウェブページに埋め込むことができるようになりました。 これによりJavaScriptだけを用いるHTML5オブジェクトが使ってJmolアップレットと同等の機能が実現できます。 詳しくはJmol JavaScriptオブジェクト(英語版)を参照して下さい。

Jmolオブジェクトのインストール

Jmolによる分子画像をウェブページに組み込みたいだけであれば、テストページ作りから始めるよりも簡単な方法があります。 Jmolウェブページを作るためのツールを参照して下さい。 Jmolを埋め込んだウェブページを作成する方法を知りたいのであれば、右記「Jmolをインストールする」を参照して下さい。

Installing Jmol

Jmolパッケージ(.zip版、tar.gz版どちらでも構いません)をダウンロードし、解凍・展開して、必要なファイルだけを使って下さい。

どのファイルが必要なのかについては、以下をご覧下さい。

ローカル環境(ハードディスクやCD)のウェブページでJmolアップレットを使う場合、あらかじめ注意しておくべき点がいくつかあります。Jmolアップレットをローカルで開発する(英語版)を参照して下さい。

場合によっては別のファイルを使う必要があります。以下に記している署名付きアプレットについてをお読み下さい。

アップレットが起動しない場合、Javaに関する問題の解決策(英語版)を参照下さい。

ウェブページを配布する場合、以下に記す著作権、許諾条件、諸情報を記したファイルを含めておく必要があります。

  • File icon.gifCOPYRIGHT.txt
  • File icon.gifLICENSE.txt
  • File icon.gifREADME.txt

ウェブページにJmolオブジェクトを埋め込む

JavaScriptをベースとした2つの方法を使うと簡単にJmolアップレット・オブジェクトをウェブページに埋め込み、管理することができます。


Jmol JavaScript オブジェクト(Jmol-JSO)

Jmol-JSO(Jmolバージョン13で新たに導入されました)を使うと、きれいで効率的な方法でJavaScriptからJmolアップレットを操作することができます。 更にJavaやアップレットの利用に制約があるiPad、iPhone、Androidモバイル端末などにも利用範囲を広げることができるほか、Jmol Javaアップレットが使えない環境であってもRCSB PDBデータベース、アメリカ国立がん研究所のCACTVSサーバ、PubChemなどの公開データベースへ簡単にアクセスできる機能が利用できます。

これにはJavaに代わる基本的な高レベルスクリプト機能が備わっています。更に、Jmol-JSOを使うことによりJSpecViewアップレットやJMEアップレットによる2次元-3次元モデル構築・相互変換と同期する機能も付加することができます。


Jmol.jsライブラリ

Jmol.jsはJmolバージョン12用のライブラリ(使おうと思えばバージョン13でも使うことはできます)で、ボタン、チェックボックス、リンク、メニューのような対話操作機能を含むウェブページを素早く構築できるようにする一連のスクリプトコマンドを提供します。

Jmol.jsに実装された全ての機能はJmol-JSOでも実装されています。 これら機能の概要についてはJmol.jsオンラインドキュメント、あるいは最新の情報が掲載されている Jmol.js のソースファイルを参照して下さい。

注: File icon.gifJmol.jsはJmolバージョン13より段階的に廃止され、新たなオブジェクト指向JavaScriptとFile icon.gif.jsファイルを用いた方法に移行します(詳細は次節)。またJmolバージョン13.2以降のダウンロードコンテンツにはJmol.jsに関連するファイル群は含まれません。引き続き利用したいのであれば、別途Jmolレポジトリから入手して下さい。特に2014年1月から、Javaの新たなセキュリティポリシーによって古いバージョンのFile icon.gifJmol.jsは機能しなくなります。もしウェブサイトをJmol-JSOを使ったもの(英語版)に移行できないか、あるいは移行期間用のアダプタJmol2.jsを使うのであれば、新しいJmol.jsをダウンロードして既存のJmol.jsファイルを置き換える必要があるでしょう。

JmolアップレットJARファイル

Jmol-JSOもJmol.jsも共にJavaScriptライブラリを使っていますが、Jmolをアップレットとして実装するには4種類の方法があります。

  • 単一の非署名アップレットを使う方法 File icon.gifJmolApplet.jarだけを使ってウェブサイトを構築するというやり方です。Jmol.jsを使う場合は、アップレットは同一サイト内のファイルにのみアクセスします。Jmol-JSOを使う場合は、同一サイト内のファイルに加え公開データベースのファイルにもアクセスします。
  • 非署名アップレットモジュール群を使う方法 File icon.gifJmolApplet0.jarとそれに関連するファイル(全部で54個のFile icon.gifjarファイルがあります)をウェブサイトに使います。ファイル数は多くなりますが、最初にダウンロードされるのはJmolの必要な部分だけであるという利点があります。ダウンロードされていない部分は必要に応じ追加ダウンロードされます。この方法だとアップレットの起動がより速くなります。
  • 単一の署名済みアップレットを使う方法 File icon.gifJmolAppletSigned.jarは署名済みJmolアップレットで使う全ての機能を実装した単一のファイルで、ファイルサイズは2.5MB以上ある大きなものです。この署名済みアップレットを使うとより多くの機能が使えるようになり、異なるドメインへのファイルにアクセスしたり、ユーザのローカルハードディスクにファイルを転送したりといったことができるようになります。
  • 署名済みアップレットモジュール群を使う方法

File icon.gifJmolAppletSigned0.jarおよびこれに関連するファイル(JmolApplet0.jarなど)を使って、必要なモジュールだけをユーザのブラウザに転送することができます。署名済みアップレットを使う場合、この方法を推奨します。

Jmolアップレットにより多くのメモリを割り当てて動作させる方法

注:これはJmol.js(jmolSetMemoryMb(nMb))でもJmol-JSO(Info.memoryLimit = nMb)でも行うことができます。

Jmolが利用できるメモリ量はJavaによって決められています。アップレットのポップアップメニューを開き、一番下にある「Jmolについて」から現在のメモリ割り当て量を確認することができます。

以下のパラメータにより割り当てメモリ量を増減することができます。

-Xmx###M

###にはメガバイト単位の数値を指定します(この例の場合、後ろに「M」を付けているので)。但し、割り当てることのできるメモリ量はシステムに実装されている物理メモリ量によって制限されます。例えば、システムに512MBのRAMがある場合、Javaが割り当てることのできるメモリ量は最大256MBです。

例:

  • -Xmx512M 最大512MBのメモリが利用可能
  • -Xmx1024M 最大1024MBのメモリが利用可能

このパラメータの設定位置はシステムによって異なります:

Windows

  • コントロールパネル > Javaアイコン(Javaコントロールパネル(英語版)が開く) > 「Java」タブ > 「アプレット ラインタイム設定」 > 「表示」ボタン > 「JRE」行(複数行ある場合はバージョンが最も新しいもの)をクリックし、「パラメータ」のテキストボックスに「-Xmx###M」と入力する。

Macintosh

  • OS 10.5 (Leopard): /アプリケーション/ユーティリティ にある JavaPreferences.app をダブルクリック。「全般」タブでリストの最初にあるバージョンのJavaを選択し、有効になった「オプション」ボタンをクリック。「アプレット ランタイムパラメータ」が開く。ここにパラメータ「-Xmx###M」を入力。
  • OS 10.4 (Tiger): /アプリケーション/ユーティリティ/Java/J2SE 5.0/Java Preferences を開いて、「-Xmx###M」を入力する箇所を探して下さい。

Javaコントロールパネル(英語版)も参照して下さい。

これはローカルマシンの設定について記していて、その設定を行ったコンピュータにしか変更は反映されません。ウェブページを閲覧するユーザが同じJavaメモリ設定を行っているとは限りません。メモリ割り当て量を変更する時はこの点に注意して下さい。

技術的詳細情報:

  • -Xmx は利用可能な最大メモリサイズを設定します。
  • -Xms は利用可能な最小メモリサイズを設定します。

アプリケーションのメモリ取り扱いについて(英語版)もご覧下さい。


Jmolアップレットをある特定の言語で表示させる

Jmolアップレットではユーザインタフェース(ポップアップメニュー)に利用できる言語を複数備えています(技術的にはこのことを現地語化 localization と呼んでいます)。 初期状態では、OSで使用されている言語(参考)がアップレットのインタフェースに適用されます。これを変更する方法は以下の通りです。

  1. Jmol 11.1.30以降、アップレットの使用言語はいつでも変更できるようになりました。言語はポップアップメニューの下方にある「言語」から変更できます。
  2. 表示言語はスクリプト言語を使って変更することもできます。例: language = "de" (「language」というキーワードと言語を示す2文字コードで指定します。言語コードはca, cs, de, en, es, et, fr, ja, nl, pt, trなどが利用できます)。


異なるアップレットのバージョンを試す

(これは上級者向け機能です)

任意のウェブページ(自身が管理しているページでなくても構いません)に埋め込まれたJmolアップレットを強制的にある特定のバージョンで動作させることができます。 その方法は以下の通りです。

利用しようとしているJmolのjarファイル(File icon.gifJmolApplet0.jarまたはFile icon.gifJmolAppletSigned0.jar)を示すURLの末尾に以下の文字列を追記します。

?JMOLJAR=

もし既にURL中に?が存在する場合は、代わりに&JMOLJAR=を追記して下さい。

いくつか警告が表示され、許可するよう求められるでしょう。これは全く関係のないサーバにある別のアップレットと置き換えられてしまうという潜在的なセキュリティリスクがあるためです。また署名済みアップレットを使わないと、Javaのセキュリティ上の問題によりファイルの読み込みはブロックされるでしょう。

例:

http://www.rcsb.org/pdb/explore/jmol.do?structureId=1CRN&bionumber=1&JMOLJAR=http://chemapps.stolaf.edu/jmol/jsmol/java/JmolAppletSigned0.jar

Bobの最新バージョンJmol(現在バージョン12.2、署名済み)を使ってRCSBサイトにある構造を表示します。 こちらにアクセスしてみて下さい。

以下の指定を追加すれば、同じアップレットを署名付きに変えて表示することができます(Jmol.js 12.2.RC8以降)

?JMOLJAR=SIGNED

(但し、ウェブサイト作成者が署名済みアップレットファイルを配置していなかった場合はアップレットの起動に失敗します。)

WikiへのJmol埋め込み

JmolアップレットはHTML(またはXHTML)で埋め込むことができます(事例がJmolを使ったウェブサイト(英語版)に列挙されています)。但し、これをwikiページに埋め込むには追加で必要となる技術的なことがいくつかあります。詳しくはJmolの処理について(英語版)をご覧下さい。


データアクセスにおける非署名版と署名版の違い

Java Warning Signed.png

署名付きアップレットはどんなhttpやftpのURLからでも分子構造データを読み込むことができます。 但し、ユーザは署名されたアップレットを信頼するよう求められます(右図参照)。 ただ発行元(jmol.org)は「検証されていない」もので、セキュリティ証明書は「信頼されていない」グループ(jmol.org)によって発行されているため問題があります。

こうしているのは信頼された(商用の)証明書で各バージョンのアップレットを署名するのは費用がかかり、手続きが繁雑となるからです。

非署名版アップレットによって分子を表示する際、ユーザは信頼するかどうかを尋ねられることはありません。 しかし(セキュリティ上の理由から)、アップレット自体があるのと同一のhttpドメイン(サーバ)にある分子構造データしか読み込みことはできません。 FirstGlance in Jmolは特に指定がなければ非署名版を使いますが、「詳細オプション」(Advanced Option)がONになっている時は署名付きを使います。これで両方のアップレットの動作を簡単にみることができます。任意のサーバにあるデータファイルへアクセス方法について詳しくはPDBデータへのアクセス方法を参照して下さい。

ローカルディスクにあるウェブページを使っているなど、まだアップレットをウェブサーバで動作させていないのであれば、Javaによって更にセキュリティ上の制限が加えられます。分子構造データはアップレットファイル群があるディレクトリと同一階層またはそれ以下の階層にあるフォルダにあるものしか利用できません。詳しくはJmolアップレットをローカルで開発する(英語版)を参照して下さい。


Jmolウェブページを作成するためのツール

Jmol.php: Jmolを簡単にウェブページへ

単に<script>タグや<a>タグを記すだけでJmolアップレットををウェブページに埋め込むことができます。 Jmolファイルをコンピュータやウェブサーバにインストールする必要はありません。 分子の立体構造ファイルさえ必要ありません。必要なファイルは自動的に適当なウェブサーバからダウンロードされます。

この方法を使えば、ソースコード全体を管理することなくどんな環境でも使えるJmolページを簡単に作成することができます。フォーラム、ブログ、wiki、コンテンツ管理システム、e-learning環境などは必要ありません。実は、URLを電子メールで送り、受け取った人はメールに記載されたリンクをクリックするだけでJmolアップレットをみることができるのです。

詳しくはJmol PHP(英語版)をご覧下さい。

プロテオペディアの表示設定編集ツール

プロテオペディアでページを作成するのが、Jmolによる分子画像をカスタマイズしてウェブページに埋め込み、シェアする最も簡単な方法です。

プロテオペディアの分子表示設定編集ツールを使えば、Jmolコマンド、HTML、JavaScriptについて学ぶことから解放されます。

wikiテキストの文法を少し学ぶだけで便利なボタンやヘルプを作成できるのです。

一方、もしJmolコマンドをいくらか知っているのであれば、コマンドを使って好きな画像を作ることもできます(Jmolコンソールを使って)。 どんな表示設定でも、Jmol状態スクリプトを使って設定内容を保存することができます。 原子座標ファイルをアップロードしたり、公開されているPDBファイルを利用したりすることもできます。 プロテオペディアでは蛋白質構造データバンク(PDB)でファイルの更新が行われたりしてもスクリプトが壊れないよう、利用しているPDBファイルを自動的に保存します。 また他人が編集できないページを作ることもできます。

Jmolのウェブへの出力

html/xhtmlやJavaScriptのコードを書きたくない、あるいはいくつかある簡単なページを簡単に統合したいというのであれば、 Jmolのウェブ出力機能(バージョン11.4以降で利用可能)についての説明をご覧下さい。 この機能を使うと、全ての必要なファイルを出力して、ボタンをクリックするだけで表示などを変更することができるJmolアップレットページを作ることができます。 ユーザに見せたい表示様式はJmol上で設定できます。 後はウェブエディタの出力機能を使って、好きなテキストやコマンドを .html ファイルに追加して下さい。

  1. SeaMonkeyはシンプルですがよく機能します
  2. Kompozerはより高機能ですがかなりよく機能します
  3. Amayaは最も高機能ですが使いこなすのは難しくなります

出力機能の利用方法については、Jmolアプリケーションのウェブダイアログに出力して参照できます。 詳しい説明や過去のパッケージについてはJmolウェブページメーカーをご覧下さい。

アップレットからファイルを保存する

Although this isn't obvious, the molecule that is being shown in the applet can be saved to local disk (even from the unsigned applet) unless the model was loaded inline, in which case this technique fails. To do so:

これは明記されていないことなのですが、実はアップレットで表示されている分子のデータは(例え署名されていないアップレットであっても)ローカルディスクに保存することができるのです。但し、インラインで読み込まれた構造に限ります。その方法は以下の通りです。

  1. アップレットメニューを開く(右クリック、Ctrl+クリック、または右下の「Jmol」ロゴをクリック)
  2. 一番下の項目(Jmolについて)をクリック
  3. 表示される下位メニューの一番上に、最初に読み込まれた構造の名前が表示されています。何か文字列が書かれていれば構造がインラインで読み込まれたことを、404で始まっていればデータが見つからなかったことを示します。もし文字列がファイル名を示している場合は、次のステップに進むことができます。複数のファイルが読み込まれていた場合、各ファイルの名前が1行に1つずつ表示されます。開きたいファイルあるいは保存したいファイルの名前をクリックして下さい。次の層のメニューオプションが開きます。
  4. 一番下にある項目(ファイル名+「を表示」)をクリック
  5. ファイルが関連づけられたプログラム(ヘルパーアプリケーション)で開かれるか、あるいは「ファイルを開く/保存する」ダイアログが表示されます。後者の場合は、保存先を指定して下さい。どのような挙動をするかはブラウザの設定に依存します。
旧バージョンJmolの場合:
  1. アップレットメニューを開く(右クリック、Ctrl+クリック、または右下の「Jmol」ロゴをクリック)
  2. 一番上の項目(分子名)をクリック
  3. 表示される下位メニューの一番上にある項目(モデル名)をクリック
  4. ファイルが関連づけられたプログラム(ヘルパーアプリケーション)で開かれるか、あるいは「ファイルを開く/保存する」ダイアログが表示されます。後者の場合は、保存先を指定して下さい。どのような挙動をするかはブラウザの設定に依存します。
警告: 少なくともWindows環境下において、最近のブラウザはこの動作をポップアップウインドウを開く動作として検知し、ポップアップがブロックされることにより「ファイルを開く/保存する」ダイアログが表示されない場合があります。表示メッセージやブラウザの設定に注意し、このページではポップアップを許可するようにして下さい(通常この類のメッセージは、ページの上端に黄色い帯、ツールバー内の警告、ブラウザ画面下端にあるステータス行内のヒントで表示されます)。
Chimeユーザへの注意: MDL Chimeをインストールしている場合、分子構造はChimeを使ってブラウザウインドウ内で開かれます。Chimeのメニュー(File > Save molecule as)を使えば構造ファイルをディスクに保存することができます。

署名済みアップレットを使ったページでは、より直感的で全機能を備えたFileサブメニューが利用できます。このメニューはポップアップメニューの下の方にあります。

全構造を保存できるだけでなく、構造の一部分だけを取り出してMOLフォーマットで保存することもできます。これは以前ほど直感的ではなくなっています。 詳細は「対話的スクリプトについて」に記しています(Jmolホームページも参照して下さい)。

It is also possible to save the state of the molecule (rendering style, coloring, visibility, orientation, etc.). See save state and write state in the Jmol scripting documentation.

また分子の表示設定(表示様式、配色、表示範囲、配置など)も保存できます。「Jmolスクリプトについて」のsave stateやwrite stateを参照下さい。これはChimeやRasmolでできることと似ていますが、Javaのセキュリティ制約によりファイルに保存する機能は非署名版アップレットでは利用できません。但し、それに代わる方法として、コンソールでデータを表示し、その内容をテキストエディタにコピー(英語版)して保存するやり方があります。


クラウドストレージAWS S3のバケットにJmolサイトを構築する

2013年10月: この節はAWS S3のバケット(ファイルの入れ物)に簡単なJmolデモサイトを設定する方法について説明します。 ちなみに、前節までに記したJmolAppletxxx、html、構造の各ファイルが機能するための配置方法についても再確認のため記しています。 ここではJava版のJmolについてのみ記しており、JSmolについての内容は含まれていません。

AWS S3(Amazon Web Services, Simple Storage Service、Amazonのストレージサービス)はアップレットに埋め込んだ簡単なJmolデモサイトを構築するのにうってつけです。

S3は信頼性のある、安価なクラウドストレージで、ウェブアクセスサービスを基本としています。 小さなサイトであれば費用は取るに足らないほどです: http://aws.amazon.com/s3/pricing/ またAWS無料利用枠を使って12ヶ月間無料でストレージにアクセスできる便利な制度もあります。 このサービスを使えば組織で所有しているコンピュータでウェブサービスを利用する際に生じる様々な問題点を回避できます。

S3バケットの利用例を以下に挙げます。

学術的論文の補足情報を提供する、プロテオミクスデータアーカイブ: http://mouse-brain-ptmome.s3.amazonaws.com/list.html

Jmolデモ: http://ptmjmol.s3.amazonaws.com/section1/trace.html

画像ギャラリー: http://ptmgallery.s3.amazonaws.com/list.html

Amazonで本を買うためのアカウントを既にお持ちかも知れません。 もしまだアカウントをお持ちでないなら、https://www.amazon.com で案内に従いアカウントを作成して下さい(訳注:Amazon日本サイト https://www.amazon.co.jp とは別途アカウントが必要です)。 次に http://aws.amazon.com/console/ にアクセスして「サインアップ」からログインします。 画面右上「アカウント/コンソール」-「AWSマネージメントコンソール」をクリックしてコンソールを開き、「Storage & Contact Delivery」の「S3」をクリックします。

バケット(データの入れ物)を作成します。バケット名は全てのAWSデータセンター内で他と重複しないものにする必要があります。 「test」「mybucket」のような名前は既に使われていて新たに使うことはできないでしょう。 バケットには http://bucketname.s3.amazonaws.com のベースアドレスからアクセスできます。 http://s3.amazonaws.com/bucketname/ からもアクセス可能です。

S3コンソールを使うと次のような操作を行うことができます。 バケット作成、バケット内でのフォルダ・サブフォルダの作成、ファイルのアップロード・ダウンロード、ファイルのアクセス権や種類(Mime type)の設定、その他一般的なファイルシステムの管理(ファイル名の変更、ファイルの削除・切り取り・複製・貼り付けなど)。 また扱うファイルの数が多かったり、類似の操作を繰り返し行うような場合に、より効率的に操作を行えるようにするコマンドラインツールや画面ベースでのアプリケーション(下記参照)を利用することもできます。

バケット内で構造データファイルをJmolアップレットで扱えるようにするための配置方法は以下の通りです。

bucketname
  Jmol.js
  JmolApplet.js
  JmolApplet.jar
  JmolApplet0.jar
  JmolApplet0_Console/Minimize/Popup/ReadersCifPdb/ReadersMolXyz/ReadersMore/ReadersQuantum/ReadersSimple.jar
  JmolApplet0_ReadersXml/ReadersXtal/ShapeBio/ShapeSpecial/ShapeSurface/Smiles/Spectrum/Symmetry.jar
  section1
    mydemo.html
  models
    1GFL.pdb
    4E50.pdb
   

キーとなるスクリプトの設定は以下の通りです。

<html>
  ...  
  <script>
    jmolInitialize("..", window.location.protocol=="file:");  
    ...
    jmolApplet(600, "load ../models/1GFL.pdb");
    ...

バケット内において、全てファイルは通常だれでもアクセスできるようになっています。ファイルタイプはHTMLファイルの場合 text/html、画像ファイルの場合は image/png などとなっています。もしアップロードしたファイルが自動的にこのような設定にならなかった場合、プロパティ - Permissions/Metadata で修正できます。新たなバージョンのファイルをアップロードし直すとこれらの設定は簡単に失われてしまうことに注意して下さい。

ソフトウェアバージョンは以下の通りです:

 Jmol 13.0.18(S3バケットに上記 .js、.jar ファイルを配置)
 確認したブラウザ: Google Chrome 30.0, Firefox 24.0, Safari 5.1, Opera 12.16  
 開発の大半はMac OS X 10.6.8, java 1.6.0_51環境で、テストはMac OS 10.8.5、Windows 7環境で行いました。

S3バケット管理をより簡単にするためのフリーツールを以下に挙げます:

http://aws.amazon.com/developertools/739    ... コマンドラインツール
http://www.timkay.com/aws/                  ... 前項の別URL
http://s3browser.com/                       ... Windows用のS3バケット管理を行うGUIツール

Contributors

Cudo29, AngelHerraez