【问题标题】:Is there any way to convert smiles .csv file in in one hot encoding?有没有办法在一种热编码中转换微笑 .csv 文件?
【发布时间】:2020-07-12 21:30:37
【问题描述】:

我已使用 RDKIT 库将一个微笑转换为一种热编码,同时转换包含微笑的整个 .csv 文件时出现错误。

实验成功:

 new = 'O=C(O)C1=C(N2N=CC=N2)C=CC(N)=N1'

   output :
   array([[0., 0., 0., ..., 0., 0., 0.],
   [0., 0., 0., ..., 0., 0., 0.],
   [0., 0., 0., ..., 0., 0., 0.],
   ...,
   [0., 0., 0., ..., 0., 0., 0.],
   [0., 0., 0., ..., 0., 0., 0.],
   [0., 0., 0., ..., 0., 0., 0.]])

但是在尝试多个微笑时,我收到了这个错误

   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 DataFrame

我正在分享我的代码文件,而你可以看到那个演示

Experimental code

Demo dataset

如果有人可以帮助我,请告诉我。

【问题讨论】:

  • Chem.MolToSmiles(Chem.MolFromSmiles( smiles )) 只能一个接一个地转换 SMILES,但您尝试了整个数据帧。您必须遍历数据框中的 SMILES。
  • 你能帮我写代码吗?那将不胜感激。

标签: python-3.x machine-learning deep-learning


【解决方案1】:

这里确实没有足够的信息来做一个完整的答案。输出看起来像一个 Numpy 数组,并且 Numpy 需要预先分配浮点数的长度。如果您的第一行是 10 个浮点数,那么在附加第二行时,它必须在 10 以内并且不能超过。它无法为其分配内存。

【讨论】:

【解决方案2】:

Chem.MolToSmiles(Chem.MolFromSmiles( smiles )) 只能一个接一个地转换 SMILES,但您尝试了整个数据帧。 您必须遍历数据框中的 SMILES。

这应该可行。

df = pd.read_csv('RouteSynthesisPrediction_o2h.csv')

for smi in df['Target']:
    smiles = Chem.CanonSmiles(smi)
    mat = smiles_encoder(smiles)
    dec = smiles_decoder(mat)
    print(mat)
    print(smi)
    print(smiles)
    print(dec)
    print()

输出:

[[0. 0. 0. ... 0. 0. 0.]
 [0. 0. 0. ... 0. 0. 0.]
 [0. 0. 0. ... 0. 0. 0.]
 ...
 [0. 0. 0. ... 0. 0. 0.]
 [0. 0. 0. ... 0. 0. 0.]
 [0. 0. 0. ... 0. 0. 0.]]
O=C(O)C1=C(N2N=CC=N2)C=CC(N)=N1
Nc1ccc(-n2nccn2)c(C(=O)O)n1
Nc1ccc(-n2nccn2)c(C(=O)O)n1

[[0. 0. 0. ... 0. 0. 0.]
 [0. 0. 0. ... 0. 0. 0.]
 [0. 0. 0. ... 0. 0. 0.]
 ...
 [0. 0. 0. ... 0. 0. 0.]
 [0. 0. 0. ... 0. 0. 0.]
 [0. 0. 0. ... 0. 0. 0.]]
O=C(OC)C1=C(N2N=CC=N2)C=CC(N)=N1
COC(=O)c1nc(N)ccc1-n1nccn1
COC(=O)c1nc(N)ccc1-n1nccn1

.
.
.

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-02-24
    • 2021-09-23
    • 2019-03-31
    • 1970-01-01
    • 1970-01-01
    • 2010-09-17
    • 2014-07-05
    • 1970-01-01
    相关资源
    最近更新 更多