Notebookから使える環境設定方法について紹介します。バージョンが異なる2つのPyMOLを、異なる方法でインストールして同時に実行できるようにもしています。今回は、AWSのクラウドサーバーを使いました。該当のクラウドサーバーは以下の手順で用意しました。AWSのコンソールにサインインして、EC2のサービス画面に行き、インスタンスの起動ボタンをクリックすると、ステップ1からステップ7の設定をして新しいインスタンスを作成できます。Maketplaceを選択し、検索窓に"centos7"を入力して検索すると、関連するマシンイメージがリストアップされます。HVM"を選択します。インスタンスタイプの選択ここでは、リモートデスクトップ接続を行うため、メモリに少し余裕があった方がいいので、メモリ16GBのt3.xlarge(仮想コア数は4)を選択します。利用料金は0.2176USD/時間です。標準設定ではストレージのサイズは8GBとなっています。Anacondaのインストールに少しディスク容量を使用するので、少し大きくします。ここでは30Gに変更します。最初から100GB以上にすると不必要な費用がかかることになるかもしれません。(ストレージサイズは後で大きくすることができます。大きく確保したものを、小さくすることはできません。そのため、最初は必要最低限で確保して、必要に応じて拡張するといいでしょう。)"終了時に削除"の項目にチェックをいれておくと、インスタンス終了時にストレージも削除されます。Marketplaceのマシンイメージは、標準で、この項目のチェックがOFFになっているようですが、AWSが提供するマシンイメージは、標準でこの項目がONになっています。AWSが提供するマシンイメージをよく利用している人は、このチェックをONにしていないと、終了時にストレージが削除されていないことに気づかないかもしれません(私は、しばらく気づいていませんでした)。値(右の枠)に今回借りるクラウドサーバーの名前(ここではCentOS7_MolEnv)を入れておくといいでしょう。後でも設定できますが、Nameを設定しておくと、複数のインスタンスを区別しやすくなります。インスタンス作成の確認"起動"ボタンを押すと、鍵ファイル作成のダイアログが出ます。ここでは、"新しいキーペアを作成する"を選択し、キーペア名を"CentOS7_MolEnv"としています。"キーペアのダウンロード"をクリックすると、鍵ファイルがダウンロードされます。"インスタンスの作成"ボタンは、"キーペアのダウンロード"をクリック後にクリックすることができます。EC2のインスタンスリストで、作成したインスタンスを選択して、"接続”ボタンをクリックすると、接続に必要な情報を表示するダイアログが出ます。そこに、鍵ファイルのモード変更の指示と、ログイン用のコマンドについての説明があります。name}は、rootとなっていると思いますが、実際には、rootのままではログインできません。name}にするように指示が出ます。name}をcentosにするように指示が出ると思います。OSのアップデートクラウドサーバーの準備が整ったら、まず最初に、OSのアップデートを行います。クライアントPCで以下のコマンドで実行して、クラウドサーバーにログインします。file}には、鍵ファイルの名前を指定します。鍵ファイルがカレントディレクトリ以外に存在している場合には、ファイル名の前にパスを記述します。name}には、ユーザー名を指定します。AWSで上記手順でCentOS7のイメージを指定した場合には、ユーザー名がcentosとなっていると思います。以下のコマンドで、OSのアップデートと再起動を行います。yumの実行時には、本当にインストールするかを確認するメッセージが出ます。一応、少し見てから、yキーを押すと良いでしょう。reboot最後のコマンドで接続が切れます。上の手順で接続が切れているので、再ログインして作業を続けます。次のコマンドで再ログインします。address}次のコマンドで、GNOMEデスクトップをインストールします。Desktop"このコマンドは少し時間がかかります。(参考)次のコマンドでインストールされているプログラム(yumの管理下のもの)を確認できます。installedGNOMEデスクトップをインストール後には、wget等がインストール済みであることが確認できます。次にリモートデスクトップ接続(より正確にはVNC接続)のサーバープログラムをインストールします。tigervnc-serverインストール後に、次のコマンドでディスプレイを作成します。ここではディスプレイの解像度を1440x900に設定しています。1440x900最初にディスプレイを作成する際には、VNC接続のパスワードを設定します。次のメッセージが出てくるのでパスワードを設定します。このパスワードは、クライアントPCからVNC接続をする際に入力するものです。n最後の質問の答えはnでよいと思います。(参考)次のコマンドで作成されたディスプレイを確認できます。-list(参考)次のコマンドでディスプレイを削除できます。:1(参考)ディスプレイ番号を指定してディスプレイを作成するには次のコマンドを使用します。:1ディスプレイを作成すると、ディスプレイ番号に5900を足した数のポート番号で、VNC接続できるようになります。ディスプレイ番号が1番のディスプレイには5901番ポートでアクセスできます。後述しますが、ポート開放の設定は少し面倒な設定が必要で、通信も暗号化されないので、SSHの機能を使用して、5901番ポートにアクセスするようにします。Anaconda3のインストールと環境設定ここでは、Pythonの環境設定をするために、Anacondaをインストールします。Anacondaをインストールすると、Pythonでよく使われるモジュールがインストールされます。次のコマンドでAnacondaのインストールプログラムを入手します。)にアクセスして、インストールプログラムのURLを確認するといいでしょう。次のコマンドでAnacondaのインストールを行います。Anaconda3-2020.02-Linux-x86_64.sh最初に、ライセンスアグリーメントの確認と承諾を行います。continueENTERを押して、画面をスクロールさせてライセンスアグリーメント全文を読みます。[yes|no]ライセンスアグリーメントを承諾する場合には、この質問にyesを入力します。below標準のインストール先(~/anaconda3/)にインストールする場合には、そのままENTERキーを押します。[yes|no]ここではyesを入力するとよいでしょう。yesを入力すると、インストーラープログラムがAnaconda3を初期化します。yesを選択すると~/.bashrcに、anacondaの設定が追加されます。インストールが終了したら、ここで、次のコマンドを実行します。これで、~/.bashrcに追加された設定が有効になります。.bashrc(参考)次のコマンドを実行すると、現在の環境にインストールされているモジュールを確認できます。list以下に示すモジュール等がインストールされていることを確認でるはずです。listのリストが長くて探したいモジュールを見つけることが困難な場合にはgrepコマンドを組み合わせて使用して、grepコマンドで指定した文字列を含む行のみを表示するようにすると良いでしょう。listの出力の中からnumpyの文字列を含む行のみを表示します。ここまでの手順を実行すると、次回ログイン時、もしくは、新しいシェルの起動時にanacondaのbase環境に自動的に入ります(コマンドプロンプトの先頭に(base)が表示されるようになります)。:1)がbase環境では正常に動作しないため、ここでは、次のコマンドで、ログイン時、もしくは、シェル起動時にanacondaのbase環境に自動的に入らないようにします。false(参考)base環境から抜けるためには次のコマンドを実行します。base環境に再度入る場合には次のコマンドを実行します。activate新しいPython環境の作成Anacondaインストール後には、base環境が利用できるようになっています。Pythonでは、多くのモジュールを利用するため、モジュールが依存している別のモジュールのバージョンの違いによってコンフリクトが発生することがあります。モジュールAがモジュールCのバージョン1に依存していて、モジュールBがモジュールCのバージョン2に依存しているといった状況では、モジュールAとモジュールBは同時に利用できないといったことが発生すると考えられます。場合によってはモジュールBの古いバージョンなら、モジュールCのバージョン1でも動作するかもしれません。conda)の使い方等によって、用意した環境で目的のプログラムが正常に動作しないことがあります。そのために、1つの環境に、いろいろなモジュールを導入するのではなく、複数の環境を用意して、そこに問題が発生しない組み合わせのモジュール(のバージョン)を導入して、用途によって環境を切り替えて使用するとよいでしょう。次のコマンドで、base環境とは別の環境(分子研究用の環境(molenv))を作成します。anacondapython=X.Xは、pythonのバージョンを指定するためのものです。ここでは、3.6を指定しています。使用するモジュール、ソースコードによっては、特定のバージョンのPythonでしか正常に動作しないことがあるので、用途に応じてpythonのバージョンを指定します。ここでコマンドの引数にanacondaを指定しておくと、base環境に含まれるモジュールを新しい環境にインストールすることができます。(参考)利用可能な環境は次のコマンドで確認できます。listRDkitとNGLviewのインストールまず、次のコマンドで、新しく作成した環境(molenv)に入ります。molenv以下のコマンドでRDkitとNGLviewをインストールします。--sys-prefix環境のクローン作成ここでは、ここまでの環境をこのまま残して、これまでの環境のクローンを別に2つ作成し、そのそれぞれに、異なる方法でPyMOLをインストールすることにします。pymolenv2を作成します。molenvPythonの環境は、比較的壊れやすいので、新しいモジュールをインストールする前には、環境のクローンを作成しておくとよいでしょう。PyMOLのインストール1pymolenv1の環境には、githubで公開されているpymolをインストールします。installのコマンドでインストールできるPyMOLをインストールします。こちらは、少しバージョンが古いです。この方法は、管理者権限がなくてもインストール可能なのがいいところです。準備リモートデスクトップ接続をする前に、一旦、クラウドサーバーからログアウトして、特別なオプションを追加して再ログインします。次のコマンドでログアウトします。exit次のコマンドで、再ログインします。5901:localhost:5901ここで使用している-Lオプションは、クラウドサーバーの5901番ポートをクライアントPCの5901番ポートに接続するためのものです。実際には、SSHで使用する22番ポートのみを使用しています。この方法を使わない場合には、クラウドサーバーの5901番ポートを解放する必要があります。解放したとしても、途中の通信を暗号化することができません。そのため、SSHを利用して、5901番ポートにアクセスしています。MacOSXからの接続MacOXからは、Finderを起動→メニューバーの"移動"→サーバーへ接続、出てきたダイアログにvnc://localhost:5901を入力して、OKボタンを押します。パスワード入力のダイアログが出てきたら、上で設定したパスワードを入力します。Windowsからの接続Windowsから接続する場合には、UltraVNCをインストールするとVNC接続が可能です。ViewerのみをインストールすればVNC接続が可能です。Notebookの起動リモートデスクトップ接続したデスクトップ上で、端末を起動します。端末の起動は、デスクトップの背景のどこかで右クリックして出てきたメニューから"端末を開く"をクリックするといいでしょう。クライアントPCの設定等の違いにより、GUIの言語が異なっていることがあります。notebookを起動することができます。端末を新しく開いて、次の2つのコマンドを実行するとpymolenv1のPyMOLを起動できます。pymolenv1pymol別の端末を新しく開いて、次の2つのコマンドを実行するとpymolenv2のPyMOLを起動できます。pymolenv2pymol2つの端末を使用すると、2つのPyMOLを同時に起動することができます。Commnitycom,Inc.。