- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个用 SMILES 字符串表示的分子数据集。我试图将其表示为图表。有没有办法这样做?例如,假设我有字符串 CC(C)(C)c1ccc2occ(CC(=O)Nc3ccccc3F)c2c1
,是否有一种通用的方法可以将其转换为图形表示,即邻接矩阵和原子向量?我看到关于 SMILES from graphs 的问题我知道 rdkit
有 MolFromSmiles
,但我找不到可以从 SMILES 字符串中获取图形的内容。
最佳答案
你可以试试 pysmiles .
从 SMILES 描述开始,您应该能够创建一个 NetworkX 图并使用代码生成所需的对象
from pysmiles import read_smiles
import networkx as nx
smiles = 'C12=C3C4=C5C6=C1C7=C8C9=C1C%10=C%11C(=C29)C3=C2C3=C4C4=C5C5=C9C6=C7C6=C7C8=C1C1=C8C%10=C%10C%11=C2C2=C3C3=C4C4=C5C5=C%11C%12=C(C6=C95)C7=C1C1=C%12C5=C%11C4=C3C3=C5C(=C81)C%10=C23'
mol = read_smiles(smiles)
# atom vector (C only)
print(mol.nodes(data='element'))
# adjacency matrix
print(nx.to_numpy_matrix(mol))
如果你能接受一个马马虎虎的可视化,你也可以用
import matplotlib.pyplot as plt
elements = nx.get_node_attributes(mol, name = "element")
nx.draw(mol, with_labels=True, labels = elements, pos=nx.spring_layout(mol))
plt.gca().set_aspect('equal')
富勒烯很有趣:)
关于python - 如何从 SMILES 分子表示生成图形?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57062757/
使用 threejs,我尝试使用以下示例: http://threejs.org/examples/#css3d_molecules 问题是在那个例子中,从灰色球到红色球的键应该是双键。我发现了一些建
我有一个分子测试,可以启动 2 个 Docker 容器,用于一次测试 2 个应用程序版本。 dependency: name: galaxy driver: name: docker lint
假设我们依次应用了 3 个过滤器: b, a = iirfilter(...) # or bilinear(...) or anything else producing b, a y = lfil
在显式传递命令后,服务模块似乎没有启动我的 docker 守护进程。 Ansible 未在目标主机中启动 docker 守护进程。任务: - name: Install Docker apt:
我见过有人使用 pip install docker-py 或 pip install 'molecule[docker]'。 我相信它们是相似的(等价的?) 我读了https://molecule.
我是一名优秀的程序员,十分优秀!