コード例 #1
0
        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;
        }