public void TestCalculateCharges_IAtomContainer() { double[] testResult = { 0.07915, -0.25264, 0.05783, 0.05783, 0.05783 }; var peoe = new GasteigerMarsiliPartialCharges(); var molecule = builder.NewAtomContainer(); molecule.Atoms.Add(builder.NewAtom("C")); molecule.Atoms.Add(builder.NewAtom("F")); molecule.AddBond(molecule.Atoms[0], molecule.Atoms[1], BondOrder.Single); AddExplicitHydrogens(molecule); AtomContainerManipulator.PercieveAtomTypesAndConfigureAtoms(molecule); CDK.LonePairElectronChecker.Saturate(molecule); peoe.CalculateCharges(molecule); for (int i = 0; i < molecule.Atoms.Count; i++) { Assert.AreEqual(testResult[i], molecule.Atoms[i].Charge.Value, 0.01); } }
public void TestUndefinedPartialCharge() { var filename = "NCDK.Data.MDL.burden_undefined.sdf"; var ins = ResourceLoader.GetAsStream(filename); var reader = new MDLV2000Reader(ins); var content = reader.Read(builder.NewChemFile()); reader.Close(); var cList = ChemFileManipulator.GetAllAtomContainers(content); var ac = cList.First(); Assert.IsNotNull(ac); AddExplicitHydrogens(ac); AtomContainerManipulator.PercieveAtomTypesAndConfigureAtoms(ac); Aromaticity.CDKLegacy.Apply(ac); AddExplicitHydrogens(ac); AtomContainerManipulator.PercieveAtomTypesAndConfigureAtoms(ac); CDK.LonePairElectronChecker.Saturate(ac); var peoe = new GasteigerMarsiliPartialCharges(); peoe.CalculateCharges(ac); }