Pyvolはpymolを用いてタンパク質のポケットを検出するためのプラグインです。
macでは動作に制約がある場合があるようですので、試しにGoogle Colaboratoryでも実行できるか検証した。
必要なツールのインストール
pyvol自身はpipでインストールできるようである。
!pip install bio-pyvol
また、動作させるためにはmsmsのインストールが必要なようです。
msmsはcondaをインストール必要がありますので、mincondaのインストールと併せて行います。
%%bash
#mincondaのインストール
MINICONDA_INSTALLER_SCRIPT=Miniconda3-latest-Linux-x86_64.sh
MINICONDA_PREFIX=/usr/local
wget https://repo.continuum.io/miniconda/$MINICONDA_INSTALLER_SCRIPT
chmod +x $MINICONDA_INSTALLER_SCRIPT
./$MINICONDA_INSTALLER_SCRIPT -b -f -p $MINICONDA_PREFIX
#msmsのインストール
conda install -y -c bioconda msms
conda install -y -c "bioconda/label/cf201901" msms
confingファイルの準備
以下のコマンドでconfig用のファイルを出力します。
!pyvol -t output_template.cfg
この処理により「output_template.cfg」というファイルが出力されます。
実行するときはconfigファイルに必要情報を記入して実行します。
configファイルの中身は以下のようになっています。
このファイルを編集したのちに実行を行います。
[General]
prot_file
lig_file
min_rad = 1.4
max_rad = 3.4
constrain_radii = True
[Specification]
mode = largest
coordinates
resid
lig_excl_rad
lig_incl_rad
min_volume = 200
[Partitioning]
subdivide = False
max_clusters
min_subpocket_rad = 1.7
max_subpocket_rad = 3.4
min_subpocket_surf_rad = 1.0
radial_sampling = 0.1
inclusion_radius_buffer = 1.0
min_cluster_size = 50
[Output]
project_dir
prefix
logger_stream_level = INFO
logger_file_level = DEBUG
[PyMOL]
protein
ligand
protein_only = False
display_mode = solid
palette
alpha = 0.85
configファイルの設定
解析に用いるpdbファイルをアップロードし、適切にconfigファイルを編集します。
今回はpdb1.pdbというファイルをアップロードし、以下のように「output_template.cfg」の中身を編集しました。
不要なパラメーターは削除すると良いようです。
[General]
prot_file = pdb1.pdb
min_rad = 1.4
max_rad = 3.4
constrain_radii = True
[Specification]
mode = largest
min_volume = 200
[Partitioning]
subdivide = False
min_subpocket_rad = 1.7
max_subpocket_rad = 3.4
min_subpocket_surf_rad = 1.0
radial_sampling = 0.1
inclusion_radius_buffer = 1.0
min_cluster_size = 50
[Output]
logger_stream_level = INFO
logger_file_level = DEBUG
[PyMOL]
protein_only = False
display_mode = solid
alpha = 0.85
その後、以下のコマンドを実行します。
!pyvol output_template.cfg
プログラムが動作し、以下のような結果が出力されます。
pyvol.identify: INFO Largest pocket identified
pyvol.identify: INFO Report written to: /content/132716-592971_pdb1.pyvol/132716-592971_pdb1.rept
pyvol.configuration: INFO Configuration file written to /content/132716-592971_pdb1.pyvol/132716-592971_pdb1.cfg
結果がサブフォルダに出力され、以下のようなデータが出力されます。
132716-592971_pdb1.cfg
132716-592971_pdb1.log
132716-592971_pdb1.rept
132716-592971_pdb1_p0.obj
132716-592971_pdb1_p0.xyzrg
pdb1.pdb
.cfgは入力に使ったファイルのコピーです。
.logは解析のlogが入っています。
.reptには検出されたポケットの名前と大きさが格納されているようです。
objとxyzrgがポケットの情報のようです。
pdb1.pdbと132716-592971_pdb1_p0.objをChimeraXで開くとポケットの範囲を見ることができました。
132716-592971_pdb1_p0.objはそのままではpymolで開くことができませんでした。この問題は今後解決したいと思います。