计算化学公社

标题: 求助如何计算可旋转键的数量 [打印本页]

作者
Author:
wmy    时间: 2022-10-17 16:31
标题: 求助如何计算可旋转键的数量
第四个化学性质是如何计算出来的呢

作者
Author:
冰释之川    时间: 2022-10-17 16:44
用RDKit来快速计算,下面附上例子:

  1. from rdkit import Chem
  2. from rdkit.Chem import Descriptors
  3. from rdkit.Chem.Crippen import MolLogP

  4. logP, Wt, NRB, AP = [],[],[],[]
  5. for s in smiles:
  6.     m = Chem.MolFromSmiles(s)
  7.     logp = MolLogP(m)
  8.     wt = Descriptors.MolWt(m)
  9.     nrb = Descriptors.NumRotatableBonds(m)
  10.    
  11.     m_removeH = Chem.RemoveHs(m)
  12.     num_bonds = m_removeH.GetNumBonds()
  13.     num_aromatic_bonds = 0
  14.     for bond in m_removeH.GetBonds():
  15.         if bond.GetIsAromatic():
  16.             num_aromatic_bonds += 1
  17.     ap = num_aromatic_bonds/num_bonds
  18.    
  19.     logP.append(logp)
  20.     Wt.append(wt)
  21.     NRB.append(nrb)
  22.     AP.append(ap)
  23.    
  24. df_new['MolLogP'] = logP
  25. df_new['MolWt'] = Wt
  26. df_new['NumRotatableBonds'] = NRB
  27. df_new['AromaticProportion'] = AP

  28. df_new.head()
  29. df_new.to_csv("ecoli_new.csv", encoding ='utf_8')
复制代码

作者
Author:
冰释之川    时间: 2022-10-17 16:44
本帖最后由 冰释之川 于 2022-10-17 16:50 编辑

上面提及的四个量估计在RDKit的描述符库里都有
作者
Author:
sobereva    时间: 2022-10-17 17:36
结合化学常识,肉眼一看数一下就能判断。旋转时候不会出现显著位阻或者撕裂其它的键,而且转的那个键又没有pi共轭作用维持平面性,一般都是容易旋转的
拿不准的情况,做个二面角扫描,或者计算旋转过程的过渡态,然后考察势垒,便知

作者
Author:
wmy    时间: 2022-10-18 10:04
冰释之川 发表于 2022-10-17 16:44
用RDKit来快速计算,下面附上例子:

关键是更改for循环的smiles吗?smiles就是我想了解的物质
作者
Author:
冰释之川    时间: 2022-10-18 10:43
wmy 发表于 2022-10-18 10:04
关键是更改for循环的smiles吗?smiles就是我想了解的物质

smiles里是一组你想要计算的分子集合(数组)




欢迎光临 计算化学公社 (http://bbs.keinsci.com/) Powered by Discuz! X3.3