public PartialTChargeMMFF94Descriptor(IAtomContainer container) { foreach (var atom in container.Atoms) { if (atom.ImplicitHydrogenCount == null || atom.ImplicitHydrogenCount != 0) { throw new CDKException("Hydrogens must be explicit for MMFF charge calculation"); } } clonedContainer = (IAtomContainer)container.Clone(); var mmff = new Mmff(); if (!mmff.AssignAtomTypes(clonedContainer)) { Trace.TraceWarning("One or more atoms could not be assigned an MMFF atom type"); } mmff.PartialCharges(clonedContainer); mmff.ClearProps(clonedContainer); this.container = container; }