我有100个聚合物,我想通过指纹图谱来比较它们的溶解度。通过使用rdkit,我为每种聚合物(如as 39、80、152、233、234、265、310、314、321、356、360、406、547、650、662、726、730、801、819、849、935‘)列出了一个位列表,但我遇到了这样的错误:“它不能将字符串转换为浮动:"
。
我的第一个问题是,对于每一种聚合物,我如何才能达到一点呢?如何将每个位定义为rdkit中的单个特性?
发布于 2022-03-05 12:58:04
基于您的问题,我相信您使用摩根指纹与radius=2和fpSize=1024。但是,计数指纹会产生哈希值列表。如果您想处理比较,我建议您在这里使用rdkit.Chem.rdMolDescriptors.GetMorganFingerprintAsBitVect #1。
如果要使用计数指纹,请参见此处#2并搜索以下查询:The types of atom pairs and torsions are normal (default), hashed and bit vector (bv). The types of the Morgan fingerprint are bit vector (bv, default) and count vector (count).
如果您想以np.array的形式获得结果,可以运行bv = GetMorganFingerprintAsBitVect(mol, radius=your_radius, nBits=1024, *args, **kwargs).ToBitString(),然后运行np.frombuffer(bv.encode(), dtype=np.uint8) - 48
但是,如果没有代码,我无法提供明确的描述和解决方案,因此请提供它作为进一步的支持。谢谢。
https://stackoverflow.com/questions/70589445
复制相似问题