NCI Plot インストール

# 概要
非共有結合相互作用 (Non-Covalent Interaction) の視覚化を行うためのソフトウェア NCIPLOT のインストール方法。2011 年に Julia Contreras-Garcia らにより発表された。

# 背景
NCIPLOT は、電子密度（ρ）とその微分に基づく可視化ツール。換算密度勾配（RDG または s）から非共有結合相互作用を識別することができる。分子間では密度勾配がこれらの点で消滅するため ρ に重要な変化が生じ、その結果 RDG にも変化が生じる。RDG を ρ に対してプロットすると、ピークが生じる。
RDG 対 ρ のピークによって識別される非共有結合相互作用を可視化するためには、RDG と ρ の値がピークを形成する 3D 点を見つける必要がある。これらの相互作用は、有利な（引力的）相互作用と不利な（斥力的）相互作用の両方に対応する。それらを区別するために、第二密度ヘシアン固有値（λ₂）と密度の積の符号（sign(λ₂)ρ と表現）が使用される。この値は、密度によって相互作用の強さを特徴付け、第二固有値の符号によってその性質（引力か斥力か）を表すことができる。

<ul>
<li>引力的相互作用：λ₂ < 0の領域</li>
<li>斥力的相互作用：λ₂ > 0の領域</li>
<li>弱いファンデルワールス相互作用：λ₂ ≈ 0の領域</li>
</ul>

# 検証環境
計算用 Linux サーバー
OS: Fedora 40 server Edition
CPU: Ryzen 9 9950x

解析用 mac
MacBook Pro, 16 inch, 2023, M2 Pro
OS: mac OS Sequoia

# インストール方法
su で root ユーザーになる。

```shell
cd /opt
git clone https://github.com/juliacontrerasgarcia/nciplot
cd nciplot/src_nciplot_4.2
make mrproper
make
make clean
```

ここで、ls で nciplot という実行ファイルが生成していることを確認する。

exit で root ユーザーを終了し、ホームディレクトリで .bashrc に /opt/nciplot/src_nciplot_4.2 をpath に書き加える

```shell
export PATH=/opt/nciplot/src_nciplot_4.2:$PATH
export NCIPLOT_HOME=/opt/nciplot/src_nciplot_4.2
```

which nciplot で表示されることを確認する。
<注意>NCIPLOT_HOME の設定だけでは、which コマンドで nciplot が見つからない。NCIPLOT_HOME は nciplot のプログラム内部で使う変数のため、which コマンドには関係しない。

# テストデータの実行方法

nciplot は、以下の 3 種類のインプットファイルを必要とする。
<ol>
<li>filemane.nci</li>
<li>filename.wfn または filename.wfx</li>
<li>filename.xyz</li>
</ol>
.nci は、他のインプットファイルの指定とパラメータ指定。
.wfn と .wfx は波動関数ファイルであり、Gaussian16 で作成する。
.xyz は座標ファイル。無くてもよいが、巨大分子系では推奨。

計算の実行は、以下のコマンド
```shell
nciplot filename.nci
```

## .nci の書き方

```shell
input.wfn   # 波動関数ファイル名または分子構造ファイル名
outputfile     # 出力のベース名
-s                 # 表面生成のオプションフラグ
0.5                # RDG（密度勾配）の値
-r                 # 分析する領域を指定
-3.0 3.0           # X軸の範囲（最小値 最大値）
-3.0 3.0           # Y軸の範囲（最小値 最大値）
-3.0 3.0           # Z軸の範囲（最小値 最大値）
```

/opt/nciplot/tests 内にお手本のファイルがあるので参照するとよい。
＜注意＞runtests.sh 内のファイルパスに誤りがあるので、修正すること。
version 4.2 でも ../../../src_nciplot_4.0/nciplot と記載されてしまっている。
全ての runtests.sh を修正するのは手間なので、シンボリックリンクを作成するのが良い。

例：

```shell
2
benzene.wfn
ethene.wfn
FINE # ULTRAFINE にすると解像度が上がる
INTERMOLECULAR
RANGE 3
-0.1 -0.01
-0.01 0.01
0.01 0.1
ONAME BE
```


## wfn と wfx の準備

系全体で計算を行う場合と、相互作用している２つの分子それぞれで計算する方法がある。
系全体で計算を行うと計算量が大きくなるが、より精密な相互作用の計算結果が得られる。一方で、分子間と分子内相互作用の切り分けが面倒になる。

Gaussian16 では、output=wfn キーワードを用い以下のように計算を行う。

```shell
%nprocshared=8
%mem=8GB
%nosave
%chk=molecule.chk
#p M062X/6-31+G** scf=tight output=wfn

title

0 1
C    0.000000    0.000000    0.000000
H    0.000000    0.000000    1.089000
H    1.026719    0.000000   -0.363000
H   -0.513360    0.889165   -0.363000
H   -0.513360   -0.889165   -0.363000

molecule.wfn



```


## 計算結果の見方 & VMD のインストール方法
NCIPLOT は、以下のファイルを出力する。
<ol>
<li>filemane.cube</li>
<li>filename.vmd</li>
<li>filemane.dat</li>
</ol>

<font color="red">＜注意＞ここから先は Linux ではなく、mac での操作</font>
生成された結果を VMD で開く。

VMD は、<a href="https://www.ks.uiuc.edu/Development/Download/download.cgi?PackageName=VMD">こちらのサイト</a>からダウンロードしてインストールする。
mac の場合は、以下のコマンドでインストールする。（Volumes の後ろのファイル名はバージョンにより異なる。）

```shell
cp -R "/Volumes/vmd194a57-macarm64/VMD 1.9.4a57-arm64-Rev12.app" /Applications/
sudo ln -s "/Applications/VMD 1.9.4a57-arm64-Rev12.app/Contents/vmd/vmd_MACOSXARM64" /usr/local/bin/vmd
```
以下のコマンドで .vmd ファイルを開く。

```shell
vmd -e 出力ファイル名.vmd
```

例えば、/nciplot/tests/ 内にあるお手本ファイルである benzene-ethane/intra_wfx_2input/BE.vmd を開くと以下のようになる。

![VMD_demo.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4035613/a49c795f-6128-4dc7-a561-3b111489f684.jpeg)

.vmd ファイルの一行目にはシバンが書いてあるので、vmd がきちんと設定できていないと結果が表示されない。

非共有結合相互作用が色分けされた等値面として表示される：

青色：強い引力的相互作用（例：水素結合）
緑色：弱いファンデルワールス相互作用
赤色：反発的相互作用（例：立体障害）


# より実践的な使い方
/nciplot/tests/ 内にあるお手本ファイルではなく、自分で生成したファイルでの相互作用について計算を行う。

今回は例として、以下の論文の座標を用いた。
Hong Zhang, Mathias Kirk Thøgersen, Cooper S. Jamieson, Xiao-Song Xue, Karl Anker Jørgensen, and Kendall N. Houk: "Ambimodal Transition States in Diels-Alder Cycloadditions of Tropolone and Tropolonate with N-Methylmaleimide," <i>Angew. Chem. Int. Ed.</i>, <strong>2021</strong>, 60, 24991-24996. (<a href="https://onlinelibrary.wiley.com/doi/10.1002/anie.202109608">PDF</a>)


以下のように Gaussian の inputfile を作成

```shell
%nprocshared=8
%mem=8GB
%nosave
%chk=A.chk
#p nosymmetry b3lyp def2svp int=grid=ultrafine output=wfx

title

0 1
 O                  2.88049400    1.73954300    0.01725300
 O                  1.19338900   -2.43174300   -0.65338900
 N                  2.23656700   -0.47260600   -0.01087500
 C                  1.21590700    0.90695800   -1.55786400
 H                  0.98976500    1.82782200   -2.07553900
 C                  0.71705300   -0.30927600   -1.74660300
 H                 -0.02167900   -0.64602200   -2.45967100
 C                  2.21276200    0.84313700   -0.44105100
 C                  1.36553000   -1.24439400   -0.77145300
 C                  3.07045600   -0.96764300    1.06270900
 H                  4.12642600   -0.90227400    0.79307600
 H                  2.80789500   -2.00990200    1.24046700
 H                  2.89568200   -0.39047300    1.97227300

A.wfx


```

```shell
%nprocshared=8
%mem=8GB
%nosave
%chk=B.chk
#p nosymmetry b3lyp def2svp int=grid=ultrafine output=wfx

title

0 1
 O                 -1.86583600   -2.05292300    1.01871100
 H                 -2.51329800   -2.31948400    0.33242500
 O                 -3.20401600   -1.08213600   -0.86421900
 C                 -1.66123500   -0.75662900    0.81019100
 C                 -2.49114500   -0.23580200   -0.29780600
 C                 -2.50328900    1.14217400   -0.69071100
 H                 -3.20625200    1.33949800   -1.49467600
 C                 -1.77878100    2.20261300   -0.22546000
 H                 -1.98543300    3.14888700   -0.71837000
 C                 -0.79598900    2.26496300    0.78801200
 H                 -0.34491100    3.23779400    0.95195000
 C                 -0.35971400    1.24370000    1.58789200
 H                  0.40204000    1.50162000    2.31746700
 C                 -0.75349200   -0.10956900    1.60378400
 H                 -0.26684300   -0.74255900    2.34003500

B.wfx



```

.wfx ファイルの作成は数秒、光の速さで終了する。
nci ファイルは、以下のように設定する。

```shell
2
A.wfx
B.wfx
ULTRAFINE
INTERMOLECULAR
RANGE 3
-0.1 -0.01
-0.01 0.01
0.01 0.1
ONAME C
```

計算結果を VMD で開くと以下のようになる。

![C.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4035613/d4a56448-395c-4763-95b8-e5647cc671d8.jpeg)