- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
ref_Molecule = Chem.MolFromSmiles('CC1=C(C(O)=O)C2=CC(=CC=C2N=C1C3=CC=C(C=C3)C4=CC=CC=C4F)F')
merged_data['Molecule_Tan'] = DataStructs.TanimotoSimilarity(Chem.RDKFingerprint(ref_Brequinar), Chem.RDKFingerprint(Chem.MolFromSmiles(merged_data.SMILES)))
我的 df 中存储了大约 1500 个 SMILES 结构,merged_data['SMILES']。
ref_Molecule
中的引用序列进行填充。 .
merged_data.SMILES
将 SMILE 值直接从数据帧传递到嵌套的 RDKit 函数中来提高效率。或
merged_data['SMILES']
,但是当我尝试运行它时,我收到此错误..
Traceback (most recent call last):
File "filepath", line 69, in <module>
strasd = Chem.MolFromSmiles(merged_data['SMILES'].astype('object'))
TypeError: No registered converter was able to produce a C++ rvalue of type class std::basic_string<wchar_t,struct std::char_traits<wchar_t>,class std::allocator<wchar_t> > from this Python object of type Series
如果我尝试仅提供 Chem.MolFromSmiles() 数据框,也会发生此错误。
Title ... SMILES
0 236254 ... Cc1c(-c2ccccc2)n(O)[n+]([O-])c1-c1ccccc1
1 79582 ... [O-][n+]1nc2ccccc2c2ccccc21
2 26744 ... O=c1cc(-c2ccccc2)oc2ccc(O)cc12
3 38007 ... Oc1cc(-c2ccc(Cl)cc2)nc2ccccc12
4 109747 ... Cc1cc(O)c2cc(C(=O)c3ccccc3)ccc2n1
.. ... ... ...
最佳答案
你是对的,pandas 给出整个系列而不是单个对象,所以你必须迭代。
但是指纹可以立即与BulkTanimotoSimilarity()
进行比较。 .
你可以试试这个代码:
from rdkit import Chem
from rdkit import DataStructs
import pandas as pd
target = Chem.RDKFingerprint(Chem.MolFromSmiles('CC1=C(C(O)=O)C2=CC(=CC=C2N=C1C3=CC=C(C=C3)C4=CC=CC=C4F)F'))
d = {'SMILES': ['Cc1c(-c2ccccc2)n(O)[n+]([O-])c1-c1ccccc1',
'[O-][n+]1nc2ccccc2c2ccccc21',
'O=c1cc(-c2ccccc2)oc2ccc(O)cc12',
'Oc1cc(-c2ccc(Cl)cc2)nc2ccccc12',
'Cc1cc(O)c2cc(C(=O)c3ccccc3)ccc2n1']}
df = pd.DataFrame(data=d)
df['Tanimoto'] = DataStructs.BulkTanimotoSimilarity(target, [Chem.RDKFingerprint(Chem.MolFromSmiles(s)) for s in df['SMILES']])
print(df)
输出:
SMILES Tanimoto
0 Cc1c(-c2ccccc2)n(O)[n+]([O-])c1-c1ccccc1 0.287625
1 [O-][n+]1nc2ccccc2c2ccccc21 0.178967
2 O=c1cc(-c2ccccc2)oc2ccc(O)cc12 0.273179
3 Oc1cc(-c2ccc(Cl)cc2)nc2ccccc12 0.387127
4 Cc1cc(O)c2cc(C(=O)c3ccccc3)ccc2n1 0.319298
关于python - 是否可以将存储在 Pandas 数据帧中的 SMILE 结构直接输入 RDKit 以计算分子指纹和相似性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66308319/
我只是想知道,有什么方法可以将 IUPAC 或常见的分子名称转换为 SMILES?我想这样做而不必使用在线系统手动转换每一个。任何输入将不胜感激! 作为背景,我目前正在使用 python 和 RDki
我的问题是:是否有任何算法可以将SMILES结构转换为拓扑指纹?例如,如果甘油是输入,答案将是 3 x -OH、2x -CH2 和 1x -CH。 我正在尝试构建一个可以使用人工神经网络预测混合物密度
我有一个用 SMILES 字符串表示的分子数据集。我试图将其表示为图表。有没有办法这样做?例如,假设我有字符串 CC(C)(C)c1ccc2occ(CC(=O)Nc3ccccc3F)c2c1 ,是否有
为一张微笑并坐在花园里的 child 的照片写 ALT 文本哪个好? 这 alt="Photo of smiling kid sitting in the garden" 或这个 alt="Photo
我了解到 Smile 和 JSON 之间的转换可以在一些来源中高效完成: 这意味着 JSON 和 Smile 之间的转换可以高效完成且不会丢失信息。 ( github, jackson-docs );
我想用 JavaScript 编写一个正则表达式,用于查找以 : 开头和结尾的字符串。 例如 "hello :smile: :sleeping:" 我需要从这个字符串中找到以 : 字符开头和结尾的字符
我想知道是否可以使用 Python 将 SYBYL Line Notation (SNL) 转换为 Smiles? N-甲基-吡咯烷酮的例子: SNL = 'N[1](CH2CH2CH2C@1=O)C
我想将 4-氨基苯甲酸的分子结构添加到我在 R 中的图中。该图显示了上述分子的红外光谱。有没有办法使用 SMILES 添加它代码,这将是 O=C(O)c1ccc(N)cc1或者我可以把它添加为图片,可
我正在浏览一些在线资源,发现 jackson可分别用于java对象和json字符串的序列化和反序列化。但同时我发现了一个叫做 smile 的东西.下面是我的疑惑: jackson json 库是否序列
为什么 SELECT UNHEX(1) 返回一个微笑? 我期待 1。 这里可能发生了什么? 最佳答案 UNHEX 尝试将十六进制数转换为字符串。由于您使用的是 ASCII 编码,因此 UNHEX(1)
ref_Molecule = Chem.MolFromSmiles('CC1=C(C(O)=O)C2=CC(=CC=C2N=C1C3=CC=C(C=C3)C4=CC=CC=C4F)F') merged
我正在尝试使用以下 Java 代码行将“白色笑脸”打印到控制台窗口: System.out.println( '\u263A' ); 我没有得到笑脸,但得到了其他一些看起来有点像问号的角色。 我正在使
有没有办法使用 RDKit 或其他 python 模块将 SMILES 转换为化学名称或 IUPAC 名称? 我在其他帖子中找不到非常有用的东西。 非常感谢你! 最佳答案 据我所知,使用 rdkit
我正在使用 RDKIt 和 Python 3.7 来计算 sdf(每个结构的微笑)中的数据库与分子的相似度,其中我有微笑。我找到了一种使用以下代码仅计算两个 SMILES 之间的 Tanimoto 指
我是一名优秀的程序员,十分优秀!