Es schien unerwartet unmöglich, das Volumen aus der zweidimensionalen Struktur der Verbindung mit dem eingebauten OpenBabel und dem Rdkit zu berechnen (ich bin traurig, wenn ich das falsch verstanden habe), also habe ich es unter Bezugnahme auf das Papier implementiert [1]. .. Die Einheit ist kubischer Ongstrom.
https://github.com/keisuke-yanagisawa/python-tools/blob/master/calc_mol_volume.py
Es hat eine Implementierung, die von openbabel abhängt.
Wenn Sie dies beispielsweise verwenden, wenn Sie Benzol eingeben,
from calc_mol_volume import *
import pybel
mol = pybel.readfile("sdf", "benzene.sdf").next()
print estimate_volume(mol)
# -> 81.1800000...
Wird sein. Außerdem wird in calc_mol_volume.py `` `annotate_sdf_volume``` vorbereitet.
from calc_mol_volume import *
annotate_sdf_volume("benzene.sdf", "benzene_annotated.sdf")
Sie können auch eine neue SDF-Datei ausgeben, indem Sie dies tun.
[1] Zhao YH, et al., "Fast calculation of van der Waals volume as a sum of atomic and bond contributions and its application to drug compounds", The Journal of Organic Chemistry, 68(19), 7368-7373, 2003.
Recommended Posts