WSLのUbuntuでAmberTools26をソースビルドする―condaを使わずAntechamberを実行

WSLのUbuntuにAmberToolsを直接導入し、Antechamberを使う手順です。コンテナやcondaは使わず、公式ソースをホームフォルダー内でビルドします。

コンテナで実行したい場合は、WSLC版を参照してください。

WindowsのWSLCでAmberTools26をソースビルドする―condaを使わずAntechamberを実行
condaやDocker Desktopを使わず、WSLCとUbuntuの公式パッケージでAmberTools26をソースビルドします。公式ソースの入手からDockerfile、PowerShellでのビルド、Antechamberとparmchk2の使用例まで紹介します。
スポンサーリンク

前提条件と作業フォルダー

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は同名の中間ファイルを作るため、異なる計算を同じフォルダーで同時に実行しないでください。

スポンサーリンク

参考資料

コメント

タイトルとURLをコピーしました