NAMS 是一个模块,用于根据分子内每个原子与所有其他原子的结构/拓扑关系计算分子之间的相似性。
项目描述
NAMS:非连续原子匹配结构相似性
NAMS是一种基于原子排列的相似性方法,用于分析分子间的结构相似性。该方法基于比较可比分子上原子的键合分布,包括在其他结构或图形匹配方法中很少发现的特征,如手性或双键立体异构。然后基于迭代有向图相似性过程和使用成对匹配算法的原子之间的最佳原子对齐,在带注释的分子图上定义相似性度量。使用所提出的方法,可以更直观地理解检测到的相似性,因为明确显示了分子中的相似原子。该模块实现了 NAMS,还支持对给定原子或分子键中存在的异构类型进行分类。
对于基于此材料的任何作品或产品的背景和引用作者:
Ana L. Teixeira 和 Andre O. Falcao 2013:非连续原子匹配结构相似性函数。化学信息与建模杂志,53(10),第 2511-2524 页。(DOI: 10.1021/ci400324u)
Ana L. Teixeira、Joao P. Leal 和 Andre O. Falcao,立体化学的自动识别和分类:手性和双键立体异构。技术报告 。LaSIGE,信息学系,里斯本大学理学院,2013 年 2 月。(DOI: arXiv:1303.1724)
访问我们的网络工具http://nams.lasige.di.fc.ul.pt/
免责声明
本软件按“原样”提供,不提供任何形式的明示或暗示保证,包括但不限于对适销性、特定用途适用性和非侵权性的保证。在任何情况下,作者或版权持有人均不对任何索赔、损害或其他责任承担任何责任,无论是在合同、侵权或其他方面,由本软件或本软件的使用或其他交易引起或与之相关。软件。
典型用法
使用示例:
from nams import nams
from nams import chirality
from nams import doubleb_e_z
ms=nams.Nams()
#Define 2 molecules: (molecular_representation_type, molecular_representation)
mol_t1 = ("smi", "CCC(=O)C(c1ccccc1)c2ccccc2")
mol_t2= ("smi", "O=C(CC)N(c1ccncc1)c3ccccc3")
#Extract the set of characteristics of the atoms/bonds
mol1, mol_info1 = ms.get_mol_info(mol_t1[0],mol_t1[1])
mol2, mol_info2 = ms.get_mol_info(mol_t2[0],mol_t2[1])
#Calculate the similarity between the pair of molecules
sim11, d_atoms = ms.get_similarity(mol_info1, mol_info1)
sim22, d_atoms = ms.get_similarity(mol_info2, mol_info2)
sim12, d_atoms = ms.get_similarity(mol_info1, mol_info2)
#Chirality detection and classification classification
chir=chirality.Chirality("C([C@@H](C(=O)O)N)S", "smi")
chir.get_chirality(atom_id)
#Double bond stereoisomerism detection and classification
stereo=doubleb_e_z.Stereodoubleb("I/C=C/Cl", "smi")
stereo.get_e_z_at(at1, at2)
更多示例: http: //nams.lasige.di.fc.ul.pt/downloads.php
依赖项和要求
Python
蟒蛇 2.7
模块
openbabel,一个旨在处理化学数据的化学工具箱< http://openbabel.org/ >。
pybel,它提供了方便的函数和类,使从 Python 中使用 Open Babel 库变得更简单,特别是对于文件输入/输出以及访问原子和分子的属性。< http://openbabel.org/docs/current/UseTheLibrary/PythonInstall.html >。
munkres,它提供了 Munkres 算法(也称为匈牙利算法或 Kuhn-Munkres 算法)的实现,可用于解决分配问题。< https://pypi.python.org/pypi/munkres/ >。
安装说明
Windows 安装程序
安装所需的 Python 依赖项;
下载 Windows Installer(32 位或 64 位)文件;
执行该文件并按照安装向导中的说明进行操作。
资源
安装所需的 Python 依赖项;
下载原始源文件(以 .zip 或 .tar.gz 格式提供)文件;
解压下载的文件夹。
在命令行中设置解压文件夹的正确路径并运行:
python setup.py 构建
python setup.py 安装
轻松安装(适用于 Python 2.4 或 2.7)
安装所需的 Python 依赖项;
下载 EasyInstall 文件;
安装 Easy_install,一个 python 模块,用于自动下载、构建、安装和管理 Python 包 < http://pythonhosted.org/distribute/easy_install.html >
在命令行中设置下载文件的正确路径并运行:
easy_install NAMS-0.9.2-py2.X.egg
或者按名称安装 NAMS 包,在 PyPI 中搜索最新版本,然后自动下载、构建和安装它:
easy_install NAMS
经常问的问题
(1) 为什么在 *CC(=O)CC(C1=CC=CC=C1)C1=C(O)C2=C(OC1=O)C=CC=C2* 这样的分子中,立体中心被忽略了?
为了避免歧义,我们决定如果立体信息明确写在分子标识符中,我们将只对立体中心的手性或双键立体异构进行分类。在手性的情况下,我们验证是否存在连接了四个不同基团的碳原子,以及这些基团的旋转方向是否在 SMILES 中明确描述为顺时针或逆时针,带有“@”或“@@”(有关SMILES 中围绕四面体中心的配置符号:http ://www.daylight.com/dayhtml/doc/theory/theory.smiles.html )
SMILES CC(=O)CC(C1=CC=CC=C1)C1=C(O)C2=C(OC1=O)C=CC=C2,在原子 5 中有一个立体中心,因为它有 4 个不同的附加到它的组,但未指示这些组的旋转感。
为了表示 R 立体中心,正确的 SMILES 应该是:CC(=O)C[C@H](C1=CC=CC=C1)C1=C(O)C2=C(OC1=O)C=CC= C2
为了表示 S 立体中心,正确的 SMILES 应该是:CC(=O)C[C@@H](C1=CC=CC=C1)C1=C(O)C2=C(OC1=O)C=CC =C2
(2) 反式-1,4-二甲基环己烷(*C[C@H]1CC[C@@H](C)CC1*)和顺式-1,4-二甲基环己烷(*C[ C@H]1CC[C@H](C)CC1*) 相似度得分为 1?
这是一种可能的罕见情况,其中原子中的两个取代基仅在绝对构型(R 或 S)上有所不同。然而,这个(Cahn-Ingold-Prelog 优先级)规则可能导致在评估配体对时产生歧义 [1-2],因此在当前版本中尚未考虑。双键配置也验证了相同的情况。
1. Mata P, Lobo AM (2005):Cahn、Ingold 和 Prelog 系统:消除非对映体和对映体配体比较中的歧义。四面体:不对称,16:2215-2223。
2. Hirschmann H, Hanson KR (1974):前手性和伪不对称中心:最近定义的含义。四面体,30:3649-3656
(3) 是否有适用于 NAMS 的帮助文档?
是的。对 NAMS 进行了详尽的描述: - Ana L. Teixeira 和 Andre O. Falcao 2013:非连续原子匹配结构相似性函数。化学信息与建模杂志,53(10),第 2511-2524 页。(DOI: 10.1021/ci400324u) < http://pubs.acs.org/doi/abs/10.1021/ci400324u > [注:如果您无法免费获取手稿,请联系作者]
对立体化学检测和分类的模块进行了详尽的描述: - Ana L. Teixeira、Joao P. Leal 和 Andre O. Falcao,立体化学的自动识别和分类:手性和双键立体异构。技术报告 。LaSIGE,里斯本大学理学院信息学系,2013 年 2 月。(DOI:arXiv:1303.1724)<http://docs.di.fc.ul.pt/jspui/bitstream/10455/6894/1/TR_stereo .pdf>
以下网页中有几个使用示例:http: //nams.lasige.di.fc.ul.pt/downloads.php
API 文档将尽快提供。
(4) NAMS平台是否独立?
是的,NAMS 独立于平台。它需要 python 2.X 和以下 python 包:openbabel、pybel 和 munkres。
更多问题、意见或建议可以通过电子邮件发送至 ateixeira 'at' lasige.di.fc.ul.pt 或使用以下表格:< http://nams.lasige.di.fc.ul.pt/联系方式.php >
更改日志
v0.9.2 发布:2013 年 11 月 13 日
– 是一个次要版本,修复了 v0.9.1 发布后发现的问题
少于 3 个原子的分子不被处理,并打印出一条错误消息:“错误 3:NAMS 不能应用于少于 3 个原子的分子(包括氢原子)。”
不连贯的结构被自动删除,但最大的连续片段。在这种情况下,会打印出一条警告消息:“警告:断开的结构已被移除。”
包括所有可能原子的原子替换矩阵。
解决了识别带电荷的碳原子的 E/Z 立体异构的问题。
不处理无效的输入格式并打印出错误消息:“错误 1:输入格式无效。请在此处查看http://openbabel.org/docs/2.3.1/FileFormats/Overview.html支持的格式和各自的名称/代码”
不处理无效分子并打印错误消息:“错误 2:无效分子或分子与输入格式之间的对应关系。”
v0.9.1 发布:09-23-2013
- 初始发行。
执照
NAMS python 包根据每个原子与分子内所有其他原子的结构/拓扑关系计算分子之间的相似性。
该程序是免费软件:您可以根据开源倡议官方网站上发布的 MIT 许可证条款重新分发和/或修改它,并附在下面。
版权所有 (C) 2013,Andre Falcao 和 Ana Teixeira,里斯本大学 - LaSIGE
特此免费授予任何人获得本软件和相关文档文件(“软件”)的副本,以不受限制地处理本软件,包括但不限于使用、复制、修改、合并的权利、发布、分发、再许可和/或出售本软件的副本,并允许向其提供本软件的人这样做,但须符合以下条件:
上述版权声明和本许可声明应包含在本软件的所有副本或大部分内容中。
请在基于此材料的任何作品或产品中引用作者:
AL Teixeira, AO 法尔考。2013.非连续原子匹配结构相似函数。J.化学。信息。模型,53(10),第 2511-2524 页。DOI:10.1021/ci400324u。
项目详情
下载文件
下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。
源分布
内置发行版
NAMS-0.9.2.zip的哈希值
| 算法 | 哈希摘要 | |
|---|---|---|
| SHA256 | 31b6979eeb9354b82fe0b38e02c1ab8ea8468f31b89711afad43403ae48b11ce |
|
| MD5 | 7c86a62e7f379ded8f7994fc9026a908 |
|
| 布莱克2-256 | 26b95ac86f3ce74e49b4040df35a082e0b5570e453f19a143576fe0605453cdb |