核受体潜在抑制剂和支架预测的计算服务器
pisnrs的Python项目详细描述
pisnrs
pisnrs是一个用于潜在抑制剂和支架预测的python模块。 在rdkit,scikit learn的基础上构建的核受体 在麻省理工学院的执照下。
安装
目前,PISNRS需要以下依赖项:
- Python(>;=3.6)
- RDKIT(>;=2018.03.2.0)
- 科学套件学习(>;=0.19.1)
- 熊猫(>;=0.23.1)
对于包管理和环境配置,建议使用ancaconda。
一。Python介绍
用户可以在Anaconda Python distribution下载并安装anaconda。 而且,这里也可以吃小酒。conda源代码存储库在 github和项目website。
2.用水蟒安装rdkit
使用以下命令使用rdkit安装创建新的conda环境:
$ conda create -c rdkit rdkit
三。安装scikit learn
用户可以使用pip
:
pip install -U scikit-learn
或conda
:
conda install scikit-learn
四。安装活塞
安装rdkit和scikit learn后,可以使用pip
:
pip install --upgrade pisnrs
示例
一。导入PISNRS并加载模型
import pisnrs
model = pisnrs.pisnrs()
print(model.getNRs()) #print NR proteins in model
print(model.getLigandDescriptors()) # print Ligand descriptors in model
2.预测查询配体的活性和支架
### moltype includes : smiles, mol, block, sdf
### You can find the example .mol and .sdf file in the 'example/' folder
### Example: https://github.com/ddhmed/pisnrs/tree/master/example
# 1. smiles input
smiles = 'CC1OC(C2=CC=CC=C2)=NC=1CN(CC1=CC(=C(C(=C1)C)OC(C(O)=O)(C)C)C)CC1OC=CC=1'
protein = 'NR1C1'
des = model.calPCMDecriptorFromMolText(smiles, protein, moltype='smiles') # create descriptors
print(model.preProba(des)) # predict
# 2. .mol file input
molfile = 'example/2.2_MolFile.mol'
protein = 'NR1C1'
des = model.calPCMDecriptorFromMolText(molfile, protein, moltype='mol')
print(model.preProba(des))
# 3. mol block input
block = '''
RDKit 2D
36 39 0 0 0 0 0 0 0 0999 V2000
4.9515 -5.4554 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
4.4879 -6.8820 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
5.3696 -8.0956 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0
4.4879 -9.3091 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
4.9515 -10.7357 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
6.4187 -11.0475 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
6.8822 -12.4741 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
5.8785 -13.5888 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
4.4113 -13.2770 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
3.9478 -11.8504 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
3.0613 -8.8456 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0
3.0613 -7.3456 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
1.8478 -6.4639 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
0.4775 -7.0740 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0
0.3207 -8.5658 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
-1.0496 -9.1759 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
-2.2631 -8.2942 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
-3.6335 -8.9043 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
-3.7902 -10.3961 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
-2.5767 -11.2778 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
-1.2064 -10.6676 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
-2.7335 -12.7695 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
-5.1606 -11.0062 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0
-5.3174 -12.4980 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
-5.4741 -13.9897 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
-6.8445 -14.5999 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0
-4.2606 -14.8714 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0
-6.8091 -12.3412 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
-3.8256 -12.6548 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
-4.8470 -8.0226 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
-0.7360 -6.1923 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
-0.5792 -4.7005 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
-1.6939 -3.6968 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0
-1.0838 -2.3265 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
0.4079 -2.4833 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
0.7198 -3.9505 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
1 2 1 0
2 3 1 0
3 4 1 0
4 5 1 0
5 6 2 0
6 7 1 0
7 8 2 0
8 9 1 0
9 10 2 0
4 11 2 0
11 12 1 0
12 13 1 0
13 14 1 0
14 15 1 0
15 16 1 0
16 17 2 0
17 18 1 0
18 19 2 0
19 20 1 0
20 21 2 0
20 22 1 0
19 23 1 0
23 24 1 0
24 25 1 0
25 26 1 0
25 27 2 0
24 28 1 0
24 29 1 0
18 30 1 0
14 31 1 0
31 32 1 0
32 33 1 0
33 34 1 0
34 35 2 0
35 36 1 0
12 2 2 0
21 16 1 0
36 32 2 0
10 5 1 0
M END
'''
des = model.calPCMDecriptorFromMolText(block, protein, moltype='block')
print(model.preProba(des))
# 4. .sdf file input
sdffile = 'example/2.4_SDFFile.sdf'
protein = 'NR1C1'
des = model.calPCMDecriptorFromMolText(sdffile, protein, moltype='sdf')
print(model.preProba(des))
三。导出查询配体的分子支架
smiles = 'CC1OC(C2=CC=CC=C2)=NC=1CN(CC1=CC(=C(C(=C1)C)OC(C(O)=O)(C)C)C)CC1OC=CC=1'
scaffold = model.calScaffoldFromSmiles(smiles)
print(scaffold)
四。创建查询配体的molucule图像
smiles = 'CC1OC(C2=CC=CC=C2)=NC=1CN(CC1=CC(=C(C(=C1)C)OC(C(O)=O)(C)C)C)CC1OC=CC=1'
model.image_from_smiles(smiles, name='4_OutputImage.png', dir='example/') # output image of smiles to 'example/' folder
5个。批量模式上传
smiles_list = ['CC1OC(C2=CC=CC=C2)=NC=1CN(CC1=CC(=C(C(=C1)C)OC(C(O)=O)(C)C)C)CC1OC=CC=1', 'C1=CC=CC=C1']
protein_list = ['NR1C1', 'NR1C2']
print(model.preBatch(smiles_list, protein_list)) # predict activity of every ligands and proteins in list
print(model.preBatch(smiles_list)) # predict activity of every ligands in list and all proteins in model
### load smiles list from file
smiles_file = 'example/5_SmilesList.smiles'
smiles_list = [i.strip() for i in open(smiles_file, 'r').readlines()]
print(model.preBatch(smiles_list))
相关链接
- 官方源代码回购:https://github.com/ddhmed/pisnrs
- 下载版本:https://pypi.org/project/pisnrs/
- 网络服务器:http://pisnrs.com/predict
源代码
可以使用以下命令检查最新的源:
git clone https://github.com/ddhmed/pisnrs.git