周报_2022_1.17-2022_1.22_杨延青

2022.1.17-2022.1.22工作汇报
共价晶体结构数据库构建及共价模型构建
总体思路:同时建立基于序列以及基于晶体结构两个共价模型。具体如下:
(1)收集现已发表的共价化合物及其靶标活性等的活性信息建立共价模型的数据库。经调研目前已发表的共价化合物数据库均是给出了小分子的SMILES以及靶标的Uniprot Id,并没有共价晶体结构的数据库。所以首先将目前收集到的共价数据库信息以序列的形式建立共价预测的模型。
(2)另外目前已经从PDB晶体结构库中找出了共价的晶体结构。但是这些共价晶体结构并没有活性的信息,所以首先以PDBbind中的共价晶体结构信息建立模型。
一、根据已发表的共价信息的序列建立模型。
(1)获取已发表的以CovalentInDB数据库为主的共价序列信息。
从CovalentInDB数据库中下载所有的共价数据。(10327条数据)
(2)根据活性进行分类
活性类型主要有:
活性率
抑制率
CC50
EC50
EC90
ED50
GI50
IC50
Kd
Ki
因为有IC50值的条目数量是最多的。首先将IC50有活性值的挑出来并且将单位都换算为微摩尔。一共有5682条数据。
(3)因为有的同一靶标和同一分子的活性数据测了多次,所以进行去重。对于同一靶标、同一分子的多次活性实验取平均值。处理之后一共还有4465条数据。
  • import sys
  • from collections import defaultdict
  •  
  • def process(file):
  •     with open(file) as f:
  •         f1 = f.readlines()
  •     d = defaultdict(list)
  •     for i in f1:
  •         i = i.strip().split(",")
  •         d[(i[0],i[1])].append((i[2],i[3],i[4],i[5]))
  •  
  •     rt = open("result", "w")
  •     for key in d:
  •         act = 0
  •         for a in d[key]:
  •             if a[2] == "nM": 
  •                 act += float(a[1])/1000
  •             elif a[2] == "uM":
  •                 act += float(a[1])
  •         act = str(round(act/len(d[key]),3))
  •         rt.write(",".join([key[0],key[1],d[key][0][0],act,"uM",d[key][0][3]]) + "\n")
  •         rt.flush()
  •  
  • def main():
  •     file = sys.argv[1]
  •     process(file)
  •  
  • if __name__ == '__main__':
  •     main()
(4)对获得的4465条数据的配体SMILES进行标准化处理。
(5)从uniprot网站上获取靶标的fasta序列。
(6)将上述SMILES和fasta生成MPNN-CNN-R的输入序列格式。
(7)使用MPNN-CNN-R建立十折交叉验证回归模型进行训练模型。
二、根据PDBbind的晶体结构信息建立模型。
(1)下载PDBbindv2020数据库
(2)从INDEX_general_PL.2020中获取共价的id。
grep 'covalent complex' INDEX_general_PL.2020|awk '{print $1","$4}' > covalent_id_activity
grep 'covalent complex' INDEX_general_PL.2020|awk '{print $1}' > covalent_id
(3)统计所有的活性类型。
  • grep Ki covalent_id_activity|wc -l
  • grep Kd covalent_id_activity|wc -l
  • grep IC50 covalent_id_activity|wc -l
Ki活性:174条数据
Kd活性:27条数据
IC50活性:111条数据
(4)由于Ki活性的数据量最大,所以首先使用Ki活性的所有结构进行初步建模。从RCSB中下载对应的pdb晶体结构(174个结构)。一一查看是否是准确的共价结构。
不是共价结构或者特殊结构的id如下所示:
9lpr # 分子+多肽
8lpr # 分子+多肽
7lpr # 分子+多肽
6m9f # 分子+多肽
6m9d # 分子+多肽
6m9c # 分子+多肽
6m8y # 分子+多肽
6m8w # 分子+多肽
6lpr # 分子+多肽
5lpr # 分子+多肽
4imz # 分子+多肽
4imq # 分子+多肽
4exh # 分子+多肽
4est # 分子+多肽
3lpr # 分子+多肽
2lpr # 分子+多肽
2h65 # 分子+多肽
2h5j # 分子+多肽
2h5i # 分子+多肽
1qx1 # 不是共价
1pau # 分子+多肽
1oxg # 多肽 1jrs # 分子+多肽
1ibc # 分子+多肽
1iau # 分子+多肽
1h9l # 多肽
1gvk # 多肽
1f1j # 多肽
1ekb # 多肽
1bjr # 多肽
4vgc # 一个原子连两个共价键
4j5p # 一个分子连两个共价键
3zvw # 一个原子连3个共价键
3zvt # 一个原子连3个共价键
2y55 # 一个原子连3个共价键
2vgc # 一个分子连两个共价键
(5)将共价结构挑出(139个结构及活性信息),尝试提取基于晶体结构的特征。