WindowsにPhenixとCootをインストールする

## Phenix、Cootとは
Phenixは、結晶構造解析(x線、中性子線、電子線)やクライオ電顕のデータを使用して、高分子構造のモデルを決定するためのソフトウェアパッケージです。
Cootは高分子構造のモデルの構築や操作ができる分子グラフィックスアプリケーションです。
PhenixとCootを連携して使用すると、快適に解析を進めることができます。
Windowsでこれらソフトをインストールする際に、手こずる人が多いそうなので、環境構築方法をまとめることにしました。

## 動作環境
- Windows11 (WSL2)
- Ubuntu 22.04.3 LTS

## 環境構築フロー
1. WSL2のインストール
2. 依存関係等のインストール
3. Phenixのインストール
4. Cootのインストール
5. 最終セットアップ

## 1. WSL2のインストール
WSL2とは、Windows Subsystem for Linux 2の略称で、Windowsコンピュータ上でLinux環境を構築することができます。以下手順でインストールします。
##### 1. Windows PowerShellを管理者として実行する
![powershell.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2602355/814f52d4-9fae-dcd1-6e72-5c057c7a4892.png)
##### 2. PowerShellで以下のコマンドを入力する。
```bash:PowerShell
wsl --install -d ubuntu-22.04
```
再起動後にユーザー名とパスワードを入力することで、Ubuntuを使用できます。(もとのWindows環境は失われません)

## 2. 依存関係等のインストール
PhenixとCootをUbuntu上で使用するには、追加で必要なパッケージがあります。以下コードの、`$`から次の`$`までをUbuntuの黒い画面にコピペして、1行ずつEnterで実行していってください($はコピペしない)。
```bash:Ubuntu
$ sudo apt-get update
$ sudo apt-get install \
  build-essential \
  freeglut3-dev \
  libglu1-mesa-dev \
  libgtk2.0-0 \
  libxxf86vm1 \
  mesa-common-dev \
  mesa-utils \
  openssl \
  x11-apps
$ echo "deb http://security.ubuntu.com/ubuntu focal-security main" | sudo tee /etc/apt/sources.list.d/focal-security.list
$ sudo apt-get update
$ sudo apt-get install libssl1.1
$ sudo rm /etc/apt/sources.list.d/focal-security.list
$ sudo apt-get update
$ sudo locale-gen en_US.utf8 en_GB.utf8
```
## 3. Phenixのインストール
Phenixをインストールするには、[公式ページ](https://phenix-online.org/download)でパスワードのリクエストを行い、インストーラをダウンロードする必要があります(以下図1,2)。手順は以下の通りです。

##### 1. Phenixインストーラのダウンロード
学生やアカデミアの方は、「Request password for academic users」からフォームを送信します。1分程度でユーザ名とパスワードがメールに届きます。次に「Download official release」をクリックし、ユーザ名とパスワードを入力します。 

![スクリーンショット 2024-07-05 224645.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2602355/264d775c-37db-0bdf-6ed6-5689e1b1a60b.png)

以下黄色マーカーで示したインストーラをダウンロードします。
![スクリーンショット 2024-07-05 225337.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2602355/2b077b44-ea37-fabc-7d0c-9a0504e2abcf.png)

##### 1. Phenixのインストール
ダウンロードしたファイルは、WindowsのDownloadsディレクトリに保存されます。これをUbuntuの`/home/<linux username>`に移動させます。コマンドで移動させるのが難しければ、エクスプローラでコピペしてもいいです。Ubuntuにおけるフォルダは、以下図の赤矢印で示したとこからたどることができます。青矢印のディレクトリ(ユーザディレクトリ)にコピペします。

![スクリーンショット 2024-07-05 230501.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2602355/343a6074-9174-1a8b-22ce-46f249022c92.png)

次にUbuntuの黒い画面で以下のコマンドを実行し、インストールします。
(tarファイルの名前や、インストーラのディレクトリ名は変わりうるので、自身のものに合わせて変更してください)

```bash: Ubuntu
$ cd
$ tar -xf phenix-installer-1.21.1-5286-intel-linux-2.6-x86_64-centos6.tar
$ cd phenix-installer-1.21.1-5286
$ ./install --prefix ${HOME}
```
# 4. Cootのインストール
以下のようにコマンドを入力し、Cootをインストールします。
```bash:Ubuntu
$ cd
$ wget https://www2.mrc-lmb.cam.ac.uk/personal/pemsley/coot/binaries/release/coot-0.9.8-binary-Linux-x86_64-ubuntu-20.04.4-python-gtk2.tar.gz
$ tar -xf coot-0.9.8-binary-Linux-x86_64-ubuntu-20.04.4-python-gtk2.tar.gz
```
# 5. 最終セットアップ
Phenixのモデルビューアを動作させるには、一部ファイルを変更する必要があります。
以下のコマンドを実行してください(Phenixのディレクトリ名(phenix-1.21.1-5286)は適宜自身のものに変更してください)。
```bash:Ubuntu
$ cd
$ ln -s -f /usr/lib/x86_64-linux-gnu/libstdc++.so.6 phenix-1.21.1-5286/conda_base/lib/libstdc++.so.6
```

また、phenixを使用する際には、Ubutnu立ち上げ時に以下のコマンドを毎回実行してください。これが面倒であれば、`.bashrc`を変更しましょう。
```bash:Ubuntu
$ cd
$ export LIBGL_ALWAYS_INDIRECT=0
$ source phenix-1.21.1-5286/phenix_env.sh
$ phenix
```

私は、`.bashrc`を変更していませんが、`phenix-1.21.1-5286`にある`phenix_env.sh`を以下のように編集し、`export LIBGL_ALWAYS_INDIRECT=0`は省略しています(`<linux username>`は自身のものに変えましょう)。また、`COOT_PREFIX`の環境変数にCootのpathをいれることで、CootとPhenixを連携させています。GUI上の設定からpathを設定できるそうですが、見つけられなかったのでこのようにしています。

```bash:phenix_env.sh
#!/bin/sh
#
export PHENIX="/home/<linux username>/phenix-1.21.1-5286"
export COOT_PREFIX="/home/<linux username>/coot-Linux-x86_64-ubuntu-20.04.4-gtk2-python"
export PHENIX_VERSION=1.21.1-5286
. $PHENIX/build/setpaths.sh

```
# 参考文献
- https://github.com/phenix-project/phenix_html/blob/master/wsl_instructions.md