PythonとRDKitでアミノ酸配列から環状ペプチドを生成してみる
はじめに
掲題の件を実現するにあたって、CycloPsというライブラリを見つけたので今回試してみた。
環境
- Python3.x
- RDKit 2020.X
- CycloPs
CycloPsとは
アミノ酸配列から環状ペプチドのバーチャルライブラリを生成してくれるツールである。
1次元のアミノ酸配列から、残基同士を結合することで、環状のペプチドを生成してくれる。
GUIとコマンドラインの両方で使える。
詳しくは参考文献の論文を参照のこと。
残基同士を結合するパターンは次の5種類である。それぞれ細かい条件があるようなので詳しくは論文を見てほしい。
- head-to-tail bond アミノ酸配列のC端とN端を結合する。
- disulfide bond システイン残基同士を結合する。
- side-chain to side-chain bond 側鎖同士を結合する。
- side-chain to N-terminal bond 側鎖とN端を結合する
- side-chain to C-terminal bond 側鎖とC端を結合する
CycloPsのインストール
元々はPython2系で開発されているが、自分の環境だとRDkitがうまく動作しなかったため、3系でイントールする。
$ conda create -n cyclops python==3.6
$ conda activate cyclops
$ conda install -c rdkit rdkit
$ git clone https://github.com/fergaljd/cyclops.git
インストール後の作業
Python3系ではCycloPsが動作しないためソースを修正する必要がある。今回は、コマンドラインのみ使えればよい。
そこで PepLibGen/StructGen/StructGen.py
を以下の通り修正することで、Python3でも動作するようにする。
修正内容
- print a, b のような記載を print(a,b) のように修正する。
- Except a, b のような記載を Except a as b のように修正する。
- 940行目あたりでエラーが出るため、以下のように修正する
# print(out,mollstr)
# print(out, '$$$$')
out.write(molstr)
out.write('$$$$')
out.write('\n')
- その他実行時エラーとなるところを、Python3で動作するよう修正する(手抜き)。
実行例
CPPsite 2.0 に登録されている環状ペプチドのアミノ酸配列と出力SDFを指定して実行する。
するとSDFに、5種類のパターンにより生成された環状ペプチドのリストが出力される。
以下実行例である。
python PepLibGen/StructGen/StructGen.py CSKSSDYQC hoge.sdf
実行結果例
アミノ酸配列 "CSKSSDYQC" を指定して得られた6つの構造を以下に列挙する。
1番目
これは線形タイプである。環状ではないものも出力される仕様のようである。
2番目
3番目
4番目
5番目
6番目
参考
Author And Source
この問題について(PythonとRDKitでアミノ酸配列から環状ペプチドを生成してみる), 我々は、より多くの情報をここで見つけました https://qiita.com/kimisyo/items/57370fc5001ddb556d84著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .