WSLのUbuntuにAmberToolsを直接導入し、Antechamberを使う手順です。コンテナやcondaは使わず、公式ソースをホームフォルダー内でビルドします。
コンテナで実行したい場合は、WSLC版を参照してください。

前提条件と作業フォルダー
WSLのUbuntuが導入済みであることを前提にします。対象はUbuntu 26.04、x86-64です。ビルドに使う依存パッケージはaptで導入し、AmberTools本体はホーム配下へインストールします。
PowerShellからUbuntuに入ります。
wsl -d Ubuntu
以降はWSL内のBashで実行します。 最初にホームへ移り、作業フォルダーを作ります。ビルドは/mnt/cではなくLinux側で行います。
cd ~
mkdir -p ambertools/{sources,calculations}
cd ambertools
以降のビルド操作は、このambertoolsフォルダーで実行します。既に同名のフォルダーがある場合は、別の作業先を用意してください。
公式ソースを入手する
公式配布ページで、AmberToolsのソース配布を選び、フォームに氏名・所属などを入力してダウンロードします。AmberTools26では「Option 2: Getting source code in tar format」です。別製品のAmber26/pmemd26やcondaバイナリではありません。
取得したambertools26.tar.bz2を、作業フォルダー内のsourcesへ置きます。Windowsからはエクスプローラーの\\wsl$\Ubuntuを開いてコピーできます。WSLC版で取得したアーカイブも利用できます。
tar -xjf sources/ambertools26.tar.bz2
本記事では26を例にします。別バージョンを使う場合は、アーカイブ名と展開先名の26を取得した版に合わせて変更してください。ハッシュ確認は行いません。展開先名や依存関係、ビルド設定が変わった場合は公式案内に合わせて調整します。
依存パッケージをインストールする
コンパイラや数値ライブラリなど、ビルドに使うパッケージをUbuntuの公式リポジトリからまとめて導入します。この操作にはsudoを使います。既にインストール済みのパッケージも、同じコマンドに含めて構いません。
sudo apt update
sudo apt install -y --no-install-recommends \
build-essential gfortran cmake flex bison patch tcsh \
python3 python-is-python3 perl bc m4 tar bzip2 ca-certificates \
libopenblas-dev liblapack-dev libarpack2-dev \
libnetcdf-dev libnetcdff-dev libfftw3-dev \
zlib1g-dev libbz2-dev libreadline-dev
ビルドとインストール
同じBashで実行します。インストール先は作業フォルダー内のinstallです。
unset AMBERHOME PYTHONPATH
export OMP_NUM_THREADS=1 OPENBLAS_NUM_THREADS=1
cmake -S ambertools26_src -B build \
-DCMAKE_INSTALL_PREFIX="$PWD/install" \
-DCMAKE_POLICY_VERSION_MINIMUM=3.5 \
-DCOMPILER=GNU \
-DDOWNLOAD_MINICONDA=FALSE \
-DPYTHON_EXECUTABLE=/usr/bin/python3 \
-DBUILD_PYTHON=FALSE -DBUILD_PERL=FALSE -DBUILD_GUI=FALSE \
-DBUILD_QUICK=FALSE \
-DMPI=FALSE -DCUDA=FALSE -DOPENMP=FALSE \
-DINSTALL_TESTS=FALSE -DCHECK_UPDATES=FALSE
構成が成功したら、ビルドとインストールを実行します。エラーが出た場合は先へ進まず、表示された内容を確認してください。
cmake --build build --parallel 2 && cmake --install build
メモリ不足になる場合は並列数を1へ減らします。AmberTools本体のビルドとホーム配下へのインストールにはsudoは不要です。
付属のrun_cmakeはMinicondaの自動取得を有効にするため使わず、DOWNLOAD_MINICONDA=FALSEを指定してCMakeを直接呼び出します。対象はAntechamber、SQM、parmchk2を中心としたCPU構成で、Python/Perlツール、GUI、MPI、GPUなどは含めません。追加パッチの自動適用も行いません。
Antechamberを使う
環境を読み込む
次のコマンドは、作業フォルダーに関係なく実行できます。
source ~/ambertools/install/amber.sh
新しいBashを開いたときも実行します。毎回自動で読み込む場合は、この1行を~/.bashrcに記載します。install内のプログラムは、aptで導入したシステムライブラリも利用します。
メタンの入力を作る
メタンを例に、AM1-BCC電荷とGAFF2原子タイプを求めます。計算ごとに日時付きフォルダーを作ります。
run="calculations/methane-$(date +%Y%m%d-%H%M%S-%N)"
mkdir -p "$run"
cd "$run"
cat > methane.mol2 <<'EOF'
@<TRIPOS>MOLECULE
methane
5 4 1 0 0
SMALL
USER_CHARGES
@<TRIPOS>ATOM
1 C1 0.000000 0.000000 0.000000 C.3 1 MET 0.000000
2 H1 0.629312 0.629312 0.629312 H 1 MET 0.000000
3 H2 0.629312 -0.629312 -0.629312 H 1 MET 0.000000
4 H3 -0.629312 0.629312 -0.629312 H 1 MET 0.000000
5 H4 -0.629312 -0.629312 0.629312 H 1 MET 0.000000
@<TRIPOS>BOND
1 1 2 1
2 1 3 1
3 1 4 1
4 1 5 1
@<TRIPOS>SUBSTRUCTURE
1 MET 1
EOF
AM1-BCC電荷とGAFF2原子タイプを求める
antechamber -i methane.mol2 -fi mol2 -o methane-gaff2.mol2 -fo mol2 \
-c bcc -nc 0 -m 1 -at gaff2 -pf n -s 2 > antechamber.log 2>&1
-c bccはAM1-BCC、-at gaff2はGAFF2の指定です。-nc 0は正味電荷0、-m 1はスピン多重度1を表します。別の分子では、入力に合わせて電荷と多重度も変更してください。-pf nは中間ファイルを残す設定です。
計算が成功したことをantechamber.logとsqm.outで確認してから、次へ進みます。SQMの完了は次で確認できます。
grep 'Calculation Completed' sqm.out
parmchk2でfrcmodを作る
parmchk2 -i methane-gaff2.mol2 -f mol2 -o methane.frcmod -s gaff2 > parmchk2.log 2>&1
出力はmethane-gaff2.mol2とmethane.frcmodです。frcmodのセクションが空でも、必要なパラメータがGAFF2本体にあれば異常ではありません。ATTNなどの警告が出た場合は該当パラメータを検討します。
検証した26の配布ソースでは、-nc 0に対して出力MOL2の電荷合計が-0.002 eになりました。SQMの個別電荷出力の丸めに由来し、WSLC版でも同じ結果でした。計算の終了と、研究用途での電荷・パラメータの妥当性は別です。実利用前に電荷合計を確認してください。
Antechamberは同名の中間ファイルを作るため、異なる計算を同じフォルダーで同時に実行しないでください。
コメント