private void WriteChemFile(IChemFile file) { foreach (var container in ChemFileManipulator.GetAllAtomContainers(file)) { WriteMolecule(container); } }
public void Test2Dvs3D() { var sp = CDK.SmilesParser; var mol = sp.ParseSmiles("O1C2C34C(C(C1O)CCCc1cc(cc(c1)C(F)(F)F)C(F)(F)F)CCC(C3CCC(O2)(OO4)C)C"); AddExplicitHydrogens(mol); AtomContainerManipulator.PercieveAtomTypesAndConfigureAtoms(mol); Aromaticity.CDKLegacy.Apply(mol); double value2D = CreateDescriptor().Calculate(mol).Value; var filename = "NCDK.Data.MDL.cpsa-uncharged.sdf"; IChemFile content; using (var reader = new MDLV2000Reader(ResourceLoader.GetAsStream(filename))) { content = reader.Read(CDK.Builder.NewChemFile()); } var cList = ChemFileManipulator.GetAllAtomContainers(content).ToReadOnlyList(); mol = cList[0]; AtomContainerManipulator.PercieveAtomTypesAndConfigureAtoms(mol); Aromaticity.CDKLegacy.Apply(mol); var value3D = CreateDescriptor().Calculate(mol).Value; Assert.AreEqual(value2D, value3D, 0.001); }
public void TestSulfurCompound_ImplicitHydrogens() { var filename = "NCDK.Data.MDL.sulfurCompound.mol"; var ins = ResourceLoader.GetAsStream(filename); var reader = new MDLV2000Reader(ins); var chemFile = reader.Read(builder.NewChemFile()); var containersList = ChemFileManipulator.GetAllAtomContainers(chemFile).ToReadOnlyList(); Assert.AreEqual(1, containersList.Count); var atomContainer_0 = (IAtomContainer)containersList[0]; Assert.AreEqual(10, atomContainer_0.Atoms.Count); var sulfur = atomContainer_0.Atoms[1]; FindAndConfigureAtomTypesForAllAtoms(atomContainer_0); adder.AddImplicitHydrogens(atomContainer_0); Assert.AreEqual("S", sulfur.Symbol); Assert.IsNotNull(sulfur.ImplicitHydrogenCount); Assert.AreEqual(0, sulfur.ImplicitHydrogenCount.Value); Assert.AreEqual(3, atomContainer_0.GetConnectedBonds(sulfur).Count()); Assert.AreEqual(10, atomContainer_0.Atoms.Count); Assert.IsNotNull(sulfur.ImplicitHydrogenCount); Assert.AreEqual(0, sulfur.ImplicitHydrogenCount.Value); Assert.AreEqual(3, atomContainer_0.GetConnectedBonds(sulfur).Count()); }
public void TestBug1274() { var ins = ResourceLoader.GetAsStream("NCDK.Data.CML.(1R)-1-aminoethan-1-ol-multipleBondStereo.cml"); var reader = new CMLReader(ins); try { IChemFile cfile = reader.Read(ChemObjectBuilder.Instance.NewChemFile()); Assert.IsNotNull(cfile, "ChemFile was Null"); var containers = ChemFileManipulator.GetAllAtomContainers(cfile); Assert.AreEqual(1, containers.Count(), "Expected a single atom container"); IAtomContainer container = containers.First(); Assert.IsNotNull(container, "Null atom container read"); // we check here that the charContent is not used and also that more then // one stereo isn't set Assert.AreEqual(BondStereo.None, container.Bonds[0].Stereo, "expected non-stereo bond"); Assert.AreEqual(BondStereo.Down, container.Bonds[1].Stereo, "expected Hatch (Down) Bond"); Assert.AreEqual(BondStereo.None, container.Bonds[2].Stereo, "expected non-stereo bond"); } finally { reader.Close(); } }
public void TestBug1245() { var ins = ResourceLoader.GetAsStream("NCDK.Data.CML.(1R)-1-aminoethan-1-ol.cml"); var reader = new CMLReader(ins); try { IChemFile cfile = reader.Read(ChemObjectBuilder.Instance.NewChemFile()); Assert.IsNotNull(cfile, "ChemFile was Null"); var containers = ChemFileManipulator.GetAllAtomContainers(cfile); Assert.AreEqual(1, containers.Count(), "Expected a single atom container"); IAtomContainer container = containers.First(); Assert.IsNotNull(container, "Null atom container read"); foreach (var atom in container.Atoms) { Assert.AreEqual( PeriodicTable.GetAtomicNumber(atom.Symbol), atom.AtomicNumber, "Incorrect atomic number"); } } finally { reader.Close(); } }
public void TestBug1275() { var ins = ResourceLoader.GetAsStream("NCDK.Data.CML.(1R)-1-aminoethan-1-ol-malformedDictRef.cml"); var reader = new CMLReader(ins); try { IChemFile cfile = reader.Read(ChemObjectBuilder.Instance.NewChemFile()); Assert.IsNotNull(cfile, "ChemFile was Null"); var containers = ChemFileManipulator.GetAllAtomContainers(cfile); Assert.AreEqual(1, containers.Count(), "Expected a single atom container"); IAtomContainer container = containers.First(); Assert.IsNotNull(container, "Null atom container read"); // we check here that the malformed dictRef doesn't throw an exception Assert.AreEqual(BondStereo.None, container.Bonds[0].Stereo, "expected non-stereo bond"); Assert.AreEqual(BondStereo.Up, container.Bonds[1].Stereo, "expected Wedge (Up) Bond"); Assert.AreEqual(BondStereo.None, container.Bonds[2].Stereo, "expected non-stereo bond"); } finally { reader.Close(); } }
public void TestExtraEigenvalues() { var filename = "NCDK.Data.HIN.gravindex.hin"; IChemFile content; using (var reader = new HINReader(ResourceLoader.GetAsStream(filename))) { content = reader.Read(CDK.Builder.NewChemFile()); } var cList = ChemFileManipulator.GetAllAtomContainers(content).ToReadOnlyList(); var ac = cList[0]; var descriptor = CreateDescriptor(true); var descriptorValue = descriptor.Calculate(ac, 0, 25); var retval = descriptorValue.Values; int nheavy = 20; Assert.AreEqual(75, retval.Count); foreach (var v in retval) { Assert.IsTrue(v != double.NaN); } for (int i = nheavy; i < nheavy + 5; i++) { Assert.IsTrue(double.IsNaN(retval[i]), "Extra eigenvalue should have been NaN"); } }
public void TestBug1248() { var ins = ResourceLoader.GetAsStream("NCDK.Data.CML.(1R)-1-aminoethan-1-ol.cml"); var reader = new CMLReader(ins); try { IChemFile cfile = reader.Read(ChemObjectBuilder.Instance.NewChemFile()); Assert.IsNotNull(cfile, "ChemFile was Null"); var containers = ChemFileManipulator.GetAllAtomContainers(cfile); Assert.AreEqual(1, containers.Count(), "Expected a single atom container"); IAtomContainer container = containers.First(); Assert.IsNotNull(container, "Null atom container read"); IBond bond = container.Bonds[2]; Assert.IsNotNull(bond, "Null bond"); Assert.AreEqual(BondStereo.Up, bond.Stereo, "Expected Wedge (Up) Bond"); } finally { reader.Close(); } }
public void TestSmilesFiles() { var atomTypeMatcher = CDK.AtomTypeMatcher; // Read the first file var filename = "NCDK.Data.CML.smiles1.cml"; var ins = ResourceLoader.GetAsStream(filename); var reader = new CMLReader(ins); var chemFile = reader.Read(builder.NewChemFile()); Assert.IsNotNull(chemFile); IAtomContainer mol1 = ChemFileManipulator.GetAllAtomContainers(chemFile).First(); // Read the second file filename = "NCDK.Data.CML.smiles2.cml"; ins = ResourceLoader.GetAsStream(filename); reader = new CMLReader(ins); chemFile = reader.Read(builder.NewChemFile()); Assert.IsNotNull(chemFile); IAtomContainer mol2 = ChemFileManipulator.GetAllAtomContainers(chemFile).First(); var types1 = atomTypeMatcher.FindMatchingAtomTypes(mol1).ToReadOnlyList(); var types2 = atomTypeMatcher.FindMatchingAtomTypes(mol2).ToReadOnlyList(); for (int i = 0; i < mol1.Atoms.Count; i++) { Assert.IsNotNull(types1[i], "Atom typing in mol1 failed for atom " + (i + 1)); Assert.IsNotNull(types2[i], "Atom typing in mol2 failed for atom " + (i + 1)); Assert.AreEqual(types1[i].AtomTypeName, types2[i].AtomTypeName, "Atom type mismatch for the " + (i + 1) + " atom"); } }
public void TestFindHeavyAtomsInChain_IAtomContainer_IAtomContainer() { var filename = "NCDK.Data.MDL.allmol232.mol"; var ins = ResourceLoader.GetAsStream(filename); // TODO: shk3-cleanuptests: best to use the STRICT IO mode here var reader = new MDLV2000Reader(ins); var chemFile = reader.Read(builder.NewChemFile()); reader.Close(); var containersList = ChemFileManipulator.GetAllAtomContainers(chemFile); var ac = new Silent.AtomContainer(containersList.First()); AddExplicitHydrogens(ac); var chain = ac.Builder.NewAtomContainer(); for (int i = 16; i < 25; i++) { chain.Atoms.Add(ac.Atoms[i]); } chain.Atoms.Add(ac.Atoms[29]); chain.Atoms.Add(ac.Atoms[30]); int[] result = new AtomPlacer3D().FindHeavyAtomsInChain(ac, chain); Assert.AreEqual(16, result[0]); Assert.AreEqual(11, result[1]); }
public void TestSFBug1085912_1() { string cmlContent = "<?xml version=\"1.0\" encoding=\"ISO-8859-1\"?>" + "<molecule convention=\"PDB\" dictRef=\"pdb:model\" xmlns=\"http://www.xml-cml.org/schema\">" + " <molecule dictRef=\"pdb:sequence\" id=\"ALAA116\">" + " <atomArray>" + " <atom id=\"a9794931\" elementType=\"N\" x3=\"-10.311\" y3=\"2.77\" z3=\"-9.837\" formalCharge=\"0\">" + " <scalar dictRef=\"cdk:partialCharge\" dataType=\"xsd:double\">0.0</scalar>" + " </atom>" + " <atom id=\"a5369354\" elementType=\"C\" x3=\"-9.75\" y3=\"4.026\" z3=\"-9.35\" formalCharge=\"0\">" + " <scalar dictRef=\"cdk:partialCharge\" dataType=\"xsd:double\">0.0</scalar>" + " </atom>" + " <atom id=\"a14877152\" elementType=\"C\" x3=\"-10.818\" y3=\"5.095\" z3=\"-9.151\" formalCharge=\"0\">" + " <scalar dictRef=\"cdk:partialCharge\" dataType=\"xsd:double\">0.0</scalar>" + " </atom>" + " <atom id=\"a26221736\" elementType=\"O\" x3=\"-11.558\" y3=\"5.433\" z3=\"-10.074\" formalCharge=\"0\">" + " <scalar dictRef=\"cdk:partialCharge\" dataType=\"xsd:double\">0.0</scalar>" + " </atom>" + " <atom id=\"a4811470\" elementType=\"C\" x3=\"-8.678\" y3=\"4.536\" z3=\"-10.304\" formalCharge=\"0\">" + " <scalar dictRef=\"cdk:partialCharge\" dataType=\"xsd:double\">0.0</scalar>" + " </atom>" + " <atom id=\"a211489\" elementType=\"H\" x3=\"-10.574\" y3=\"2.695\" z3=\"-10.778\" formalCharge=\"0\">" + " <scalar dictRef=\"cdk:partialCharge\" dataType=\"xsd:double\">0.0</scalar>" + " </atom>" + " <atom id=\"a31287617\" elementType=\"H\" x3=\"-9.279\" y3=\"3.829\" z3=\"-8.398\" formalCharge=\"0\">" + " <scalar dictRef=\"cdk:partialCharge\" dataType=\"xsd:double\">0.0</scalar>" + " </atom>" + " <atom id=\"a19487109\" elementType=\"H\" x3=\"-8.523\" y3=\"3.813\" z3=\"-11.09\" formalCharge=\"0\">" + " <scalar dictRef=\"cdk:partialCharge\" dataType=\"xsd:double\">0.0</scalar>" + " </atom>" + " <atom id=\"a28589522\" elementType=\"H\" x3=\"-8.994\" y3=\"5.477\" z3=\"-10.737\" formalCharge=\"0\">" + " <scalar dictRef=\"cdk:partialCharge\" dataType=\"xsd:double\">0.0</scalar>" + " </atom>" + " <atom id=\"a4638116\" elementType=\"H\" x3=\"-7.754\" y3=\"4.682\" z3=\"-9.763\" formalCharge=\"0\">" + " <scalar dictRef=\"cdk:partialCharge\" dataType=\"xsd:double\">0.0</scalar>" + " </atom>" + " </atomArray>" + " </molecule>" + "</molecule>"; CMLReader reader = new CMLReader(new MemoryStream(Encoding.UTF8.GetBytes(cmlContent))); try { IChemFile cfile = reader.Read(ChemObjectBuilder.Instance.NewChemFile()); Assert.IsNotNull(cfile, "ChemFile was Null"); var containers = ChemFileManipulator.GetAllAtomContainers(cfile); Assert.AreEqual(1, containers.Count(), "Expected a single atom container"); IAtomContainer container = containers.First(); Assert.IsNotNull(container, "Null atom container read"); // OK, now test that the residue identifier is properly read Assert.AreEqual("ALAA116", container.Id); } finally { reader.Close(); } }
public void TestAlign() { { IAtomContainer ac; var filename = "NCDK.Data.HIN.gravindex.hin"; var ins = ResourceLoader.GetAsStream(filename); ISimpleChemObjectReader reader = new HINReader(ins); ChemFile content = (ChemFile)reader.Read((ChemObject) new ChemFile()); var cList = ChemFileManipulator.GetAllAtomContainers(content); ac = cList.First(); KabschAlignment ka = new KabschAlignment(ac, ac); Assert.IsNotNull(ka); ka.Align(); double rmsd = ka.RMSD; Assert.IsTrue(1e-8 > rmsd); Assert.IsNotNull(ka.RotationMatrix); } { double[][] p1 = new[] { new[] { 16.754, 20.462, 45.049 }, new[] { 19.609, 18.145, 46.011 }, new[] { 17.101, 17.256, 48.707 }, new[] { 13.963, 18.314, 46.820 }, new[] { 14.151, 15.343, 44.482 }, new[] { 14.959, 12.459, 46.880 }, new[] { 11.987, 13.842, 48.862 }, new[] { 9.586, 12.770, 46.123 }, new[] { 11.006, 9.245, 46.116 }, new[] { 10.755, 9.090, 49.885 } }; double[][] p2 = new[] { new[] { 70.246, 317.510, 188.263 }, new[] { 73.457, 317.369, 190.340 }, new[] { 71.257, 318.976, 193.018 }, new[] { 68.053, 317.543, 191.651 }, new[] { 68.786, 313.954, 192.637 }, new[] { 70.248, 314.486, 196.151 }, new[] { 67.115, 316.584, 196.561 }, new[] { 64.806, 313.610, 196.423 }, new[] { 66.804, 311.735, 199.035 }, new[] { 66.863, 314.832, 201.113 } }; Atom[] a1 = new Atom[10]; Atom[] a2 = new Atom[10]; for (int i = 0; i < 10; i++) { a1[i] = new Atom("C"); Vector3 newCoord = new Vector3 { X = p1[i][0], Y = p1[i][1], Z = p1[i][2] }; a1[i].Point3D = newCoord; a2[i] = new Atom("C"); newCoord = new Vector3 { X = p2[i][0], Y = p2[i][1], Z = p2[i][2] }; a2[i].Point3D = newCoord; } var ka = new KabschAlignment(a1, a2); ka.Align(); var rmsd = ka.RMSD; Assert.AreEqual(0.13479726, rmsd, 0.00000001); } }
public void TestBug2846213() { var filename = "NCDK.Data.MDL.bug2846213.mol"; var ins = ResourceLoader.GetAsStream(filename); var reader = new MDLV2000Reader(ins, ChemObjectReaderMode.Strict); ChemFile chemFile = (ChemFile)reader.Read((ChemObject) new ChemFile()); IAtomContainer ac = ChemFileManipulator.GetAllAtomContainers(chemFile).First(); long[] morganNumbers = MorganNumbersTools.GetMorganNumbers(ac); Assert.IsFalse(morganNumbers[7] == morganNumbers[8]); }
public void TestIsConnectedFromSDFile() { var filename = "NCDK.Data.MDL.mdeotest.sdf"; var ins = ResourceLoader.GetAsStream(filename); ISimpleChemObjectReader reader = new MDLV2000Reader(ins); ChemFile content = (ChemFile)reader.Read((ChemObject) new ChemFile()); var cList = ChemFileManipulator.GetAllAtomContainers(content); IAtomContainer ac = cList.First(); Assert.IsTrue(ConnectivityChecker.IsConnected(ac), "Molecule appears not to be connected"); }
private IAtomContainer LoadMolecule(string path) { var ins = ResourceLoader.GetAsStream(path); var reader = new MDLV2000Reader(ins, ChemObjectReaderMode.Strict); var chemFile = reader.Read(builder.NewChemFile()); reader.Close(); var containersList = ChemFileManipulator.GetAllAtomContainers(chemFile).ToReadOnlyList(); return((IAtomContainer)containersList[0]); }
public void TestIsConnectedFromHINFile() { var filename = "NCDK.Data.HIN.connectivity1.hin"; var ins = ResourceLoader.GetAsStream(filename); var reader = new HINReader(ins); var content = reader.Read(builder.NewChemFile()); var cList = ChemFileManipulator.GetAllAtomContainers(content); IAtomContainer ac = cList.First(); Assert.IsTrue(ConnectivityChecker.IsConnected(ac), "Molecule appears not to be connected"); }
public void TestAromaticRingsLine() { var filename = "NCDK.Data.HIN.bug2984581.hin"; var ins = ResourceLoader.GetAsStream(filename); var reader = new HINReader(ins); var content = reader.Read(builder.NewChemFile()); reader.Close(); var cList = ChemFileManipulator.GetAllAtomContainers(content).ToReadOnlyList(); Assert.AreEqual(1, cList.Count); }
public void TestWeightedPathDescriptor() { var sp = CDK.SmilesParser; { var mol = sp.ParseSmiles("CCCC"); var result = CreateDescriptor().Calculate(mol); var values = result.Values; Assert.AreEqual(6.871320, values[0], 0.000001); Assert.AreEqual(1.717830, values[1], 0.000001); Assert.AreEqual(0.0, values[2], 0.000001); Assert.AreEqual(0.0, values[3], 0.000001); Assert.AreEqual(0.0, values[4], 0.000001); } { var filename = "NCDK.Data.MDL.wpo.sdf"; IChemFile content; using (var reader = new MDLV2000Reader(ResourceLoader.GetAsStream(filename))) { content = reader.Read(CDK.Builder.NewChemFile()); } var cList = ChemFileManipulator.GetAllAtomContainers(content).ToReadOnlyList(); var mol = cList[0]; mol = AtomContainerManipulator.RemoveHydrogens(mol); var result = CreateDescriptor().Calculate(mol); var values = result.Values; Assert.AreEqual(18.42026, values[0], 0.00001); Assert.AreEqual(1.842026, values[1], 0.00001); Assert.AreEqual(13.45733, values[2], 0.00001); Assert.AreEqual(13.45733, values[3], 0.00001); Assert.AreEqual(0, values[4], 0.00001); } { var filename = "NCDK.Data.MDL.wpn.sdf"; IChemFile content; using (var reader = new MDLV2000Reader(ResourceLoader.GetAsStream(filename))) { content = reader.Read(CDK.Builder.NewChemFile()); } var cList = ChemFileManipulator.GetAllAtomContainers(content).ToReadOnlyList(); var mol = cList[0]; mol = AtomContainerManipulator.RemoveHydrogens(mol); var result = CreateDescriptor().Calculate(mol); var values = result.Values; Assert.AreEqual(26.14844, values[0], 0.00001); Assert.AreEqual(1.867746, values[1], 0.00001); Assert.AreEqual(19.02049, values[2], 0.00001); Assert.AreEqual(0, values[3], 0.000001); Assert.AreEqual(19.02049, values[4], 0.00001); } }
public void Properties() { var ins = ResourceLoader.GetAsStream("NCDK.Data.MDL.bug1356.sdf"); var reader = new MDLReader(ins); var chemfile = builder.NewChemFile(); chemfile = reader.Read(chemfile); var container = ChemFileManipulator.GetAllAtomContainers(chemfile).First(); Assert.IsNotNull(container.GetProperty <object>("first")); Assert.IsNotNull(container.GetProperty <object>("second")); reader.Close(); }
public void TestIsConnectedFromHINFile() { var filename = "NCDK.Data.HIN.connectivity1.hin"; var ins = ResourceLoader.GetAsStream(filename); var reader = new HINReader(ins); var content = reader.Read(builder.NewChemFile()); reader.Close(); var cList = ChemFileManipulator.GetAllAtomContainers(content).ToReadOnlyList(); var ac = cList[0]; Assert.AreEqual(57, ac.Atoms.Count); Assert.AreEqual(59, ac.Bonds.Count); }
public void TestBCUT() { var filename = "NCDK.Data.HIN.gravindex.hin"; IChemFile content; using (var reader = new HINReader(ResourceLoader.GetAsStream(filename))) { content = reader.Read(CDK.Builder.NewChemFile()); } var cList = ChemFileManipulator.GetAllAtomContainers(content).ToReadOnlyList(); var ac = cList[0]; var descriptor = CreateDescriptor(true); var descriptorValue = descriptor.Calculate(ac, 2, 2); var retval = descriptorValue.Values; Assert.IsNotNull(retval); foreach (var v in retval) { Assert.IsTrue(Math.Abs(0.0 - v) > 0.0000001, "The returned value must be non-zero"); } var names = descriptorValue.Keys; foreach (var name in names) { Assert.IsNotNull(name); } // Assert.AreEqual(1756.5060703860984, // ((Double)retval[0]).Value, 0.00000001); // Assert.AreEqual(41.91069159994975, // ((Double)retval[1]).Value, 0.00000001); // Assert.AreEqual(12.06562671430088, // ((Double)retval[2]).Value, 0.00000001); // Assert.AreEqual(1976.6432599699767, // ((Double)retval[3]).Value, 0.00000001); // Assert.AreEqual(44.45945636161082, // ((Double)retval[4]).Value, 0.00000001); // Assert.AreEqual(12.549972243701887, // ((Double)retval[5]).Value, 0.00000001); // Assert.AreEqual(4333.097373073368, // ((Double)retval[6]).Value, 0.00000001); // Assert.AreEqual(65.82626658920714, // ((Double)retval[7]).Value, 0.00000001); // Assert.AreEqual(16.302948232909483, // ((Double)retval[8]).Value, 0.00000001); }
public void TestFile3() { var filename = "NCDK.Data.CML.3.cml"; var ins = ResourceLoader.GetAsStream(filename); var reader = new CMLReader(ins); var chemFile = reader.Read(builder.NewChemFile()); // test the resulting ChemFile content Assert.IsNotNull(chemFile); IAtomContainer mol = ChemFileManipulator.GetAllAtomContainers(chemFile).First(); string[] expectedTypes = { "C.sp2", "N.sp2", "C.sp2", "N.sp3", "C.sp2", "N.sp2", "O.sp3", "C.sp2", "C.sp2", "C.sp2" }; AssertAtomTypes(testedAtomTypes, expectedTypes, mol); }
public void TestBug3141611() { var filename = "NCDK.Data.MDL.error.sdf"; var ins = ResourceLoader.GetAsStream(filename); var reader = new MDLV2000Reader(ins); var chemFile = reader.Read(builder.NewChemFile()); // test the resulting ChemFile content Assert.IsNotNull(chemFile); IAtomContainer mol = ChemFileManipulator.GetAllAtomContainers(chemFile).First(); string[] expectedTypes = { "C.sp3", "C.sp2", "O.sp2", "C.sp3", "C.sp3", "C.sp3", "C.sp3", "P.ate", "O.sp2", "O.minus" }; AssertAtomTypes(testedAtomTypes, expectedTypes, mol); }
public void TestModelBuilder3D_bug_1241421() { var mb3d = ModelBuilder3D.GetInstance(); var filename = "NCDK.Data.MDL.bug1241421.mol"; var ins = ResourceLoader.GetAsStream(filename); var reader = new MDLV2000Reader(ins); var chemFile = reader.Read(builder.NewChemFile()); reader.Close(); var containersList = ChemFileManipulator.GetAllAtomContainers(chemFile).ToReadOnlyList(); IAtomContainer ac = new Silent.AtomContainer(containersList[0]); ac = mb3d.Generate3DCoordinates(ac, false); CheckAverageBondLength(ac); }
public void TestMultiMolButSingle() { var filename = "NCDK.Data.Mol2.fromWebsite.mol2"; Trace.TraceInformation("Testing: ", filename); IChemFile chemFile; using (var reader = new Mol2Reader(ResourceLoader.GetAsStream(filename))) { chemFile = reader.Read(builder.NewChemFile()); } var mols = ChemFileManipulator.GetAllAtomContainers(chemFile).ToReadOnlyList(); Assert.AreEqual(1, mols.Count); Assert.AreEqual(12, mols[0].Atoms.Count); }
public void TestCMLTestCase() { var filename = "NCDK.Data.CML.olaCmlAtomType.cml"; var ins = ResourceLoader.GetAsStream(filename); var reader = new CMLReader(ins); var chemFile = builder.NewChemFile(); chemFile = (IChemFile)reader.Read(chemFile); reader.Close(); var container = ChemFileManipulator.GetAllAtomContainers(chemFile).First(); foreach (var atom in container.Atoms) { Assert.AreEqual(null, atom.ImplicitHydrogenCount); } }
public void TestCranbinSurface() { var bldr = CDK.Builder; IChemFile chemFile; var path = "NCDK.Data.PDB.1CRN.pdb"; using (var pdbr = new PDBReader(ResourceLoader.GetAsStream(path))) { chemFile = pdbr.Read(bldr.NewChemFile()); var mol = ChemFileManipulator.GetAllAtomContainers(chemFile).ElementAt(0); var surface = new NumericalSurface(mol); var map = surface.GetAtomSurfaceMap(); Assert.AreEqual(222, map.Count); Assert.AreEqual(327, mol.Atoms.Count); } }
public void TestMixedNamespaces() { var ins = ResourceLoader.GetAsStream(this.GetType(), "US06358966-20020319-C00001-enr.cml"); var reader = new CMLReader(ins); try { IChemFile cfile = reader.Read(ChemObjectBuilder.Instance.NewChemFile()); Assert.AreEqual(34, ChemFileManipulator.GetAtomCount(cfile)); Assert.AreEqual(39, ChemFileManipulator.GetBondCount(cfile)); } finally { reader.Close(); } }
public void TestAtomProperties() { var filename = "NCDK.Data.CML.custompropertiestest.cml"; var ins = ResourceLoader.GetAsStream(filename); var reader = new CMLReader(ins); ChemFile chemFile = (ChemFile)reader.Read((ChemFile) new ChemFile()); reader.Close(); Assert.IsNotNull(chemFile); IAtomContainer container = ChemFileManipulator.GetAllAtomContainers(chemFile).First(); for (int i = 0; i < container.Atoms.Count; i++) { Assert.AreEqual(2, container.Atoms[i].GetProperties().Count); } }
public void Testbug2917084() { string filename1 = "NCDK.Data.MDL.boronBuckyBall.mol"; Trace.TraceInformation("Testing: " + filename1); var ins1 = ResourceLoader.GetAsStream(filename1); var reader = new MDLV2000Reader(ins1, ChemObjectReaderMode.Strict); var chemFile = reader.Read(builder.NewChemFile()); Assert.IsNotNull(chemFile); var mol = ChemFileManipulator.GetAllAtomContainers(chemFile).First(); Fingerprinter fingerprinter = new Fingerprinter(1024, 8); Assert.IsNotNull(fingerprinter.GetBitFingerprint(mol)); }