public void TestRDFModel() { var filename = "NCDK.Data.MDL.qsar-reaction-test.rdf"; Trace.TraceInformation("Testing: " + filename); var ins = ResourceLoader.GetAsStream(filename); MDLRXNReader reader = new MDLRXNReader(ins); IChemModel chemModel = (IChemModel)reader.Read(builder.NewChemModel()); reader.Close(); Assert.IsNotNull(chemModel); Assert.AreEqual(2, chemModel.ReactionSet.Count); Assert.AreEqual(2, chemModel.ReactionSet[0].Reactants.Count); Assert.AreEqual(3, chemModel.ReactionSet[0].Reactants[0] .Atoms.Count); Assert.AreEqual(2, chemModel.ReactionSet[0].Reactants[1] .Atoms.Count); Assert.AreEqual(2, chemModel.ReactionSet[0].Products.Count); Assert.AreEqual(2, chemModel.ReactionSet[0].Products[0] .Atoms.Count); Assert.AreEqual(2, chemModel.ReactionSet[0].Products[1] .Atoms.Count); Assert.AreEqual(1, chemModel.ReactionSet[1].Reactants.Count); Assert.AreEqual(3, chemModel.ReactionSet[1].Reactants[0] .Atoms.Count); Assert.AreEqual(1, chemModel.ReactionSet[1].Products.Count); Assert.AreEqual(2, chemModel.ReactionSet[1].Products[0] .Atoms.Count); }
public override void StartDocument() { ChemFile = builder.NewChemFile(); chemSequence = builder.NewChemSequence(); chemModel = builder.NewChemModel(); setOfMolecules = builder.NewChemObjectSet <IAtomContainer>(); }
public void TestNewChemModel() { IChemObjectBuilder builder = RootObject.Builder; var model = builder.NewChemModel(); Assert.IsNotNull(model); }
public void SetUp() { molecule1 = builder.NewAtomContainer(); atomInMol1 = builder.NewAtom("Cl"); molecule1.Atoms.Add(atomInMol1); molecule1.Atoms.Add(builder.NewAtom("Cl")); bondInMol1 = builder.NewBond(atomInMol1, molecule1.Atoms[1]); molecule1.Bonds.Add(bondInMol1); molecule2 = builder.NewAtomContainer(); atomInMol2 = builder.NewAtom("O"); atomInMol2.ImplicitHydrogenCount = 2; molecule2.Atoms.Add(atomInMol2); moleculeSet = builder.NewChemObjectSet <IAtomContainer>(); moleculeSet.Add(molecule1); moleculeSet.Add(molecule2); reaction = builder.NewReaction(); reaction.Reactants.Add(molecule1); reaction.Products.Add(molecule2); reactionSet = builder.NewReactionSet(); reactionSet.Add(reaction); chemModel = builder.NewChemModel(); chemModel.MoleculeSet = moleculeSet; chemModel.ReactionSet = reactionSet; chemSequence1 = builder.NewChemSequence(); chemSequence1.Add(chemModel); chemSequence2 = builder.NewChemSequence(); chemFile = builder.NewChemFile(); chemFile.Add(chemSequence1); chemFile.Add(chemSequence2); }
public void TestExample() { var testfile = "!Header mm1gp 100\n" + "!Info 1\n" + "!Atoms 6\n" + "0 6 \n" + "1 6 \n" + "2 1 \n" + "3 1 \n" + "4 1 \n" + "5 1 \n" + "!Bonds 5\n" + "1 0 D \n" + "2 0 S \n" + "3 0 S \n" + "4 1 S \n" + "5 1 S \n" + "!Coord\n" + "0 0.06677 -0.00197151 4.968e-07 \n" + "1 -0.0667699 0.00197154 -5.19252e-07 \n" + "2 0.118917 -0.097636 2.03406e-06 \n" + "3 0.124471 0.0904495 -4.84021e-07 \n" + "4 -0.118917 0.0976359 -2.04017e-06 \n" + "5 -0.124471 -0.0904493 5.12591e-07 \n" + "!Charges\n" + "0 -0.2\n" + "1 -0.2\n" + "2 0.1\n" + "3 0.1\n" + "4 0.1\n" + "5 0.1\n" + "!End"; var stringReader = new StringReader(testfile); var reader = new GhemicalMMReader(stringReader); var model = reader.Read(builder.NewChemModel()); reader.Close(); Assert.IsNotNull(model); Assert.IsNotNull(model.MoleculeSet); var som = model.MoleculeSet; Assert.IsNotNull(som); Assert.AreEqual(1, som.Count); var m = som[0]; Assert.IsNotNull(m); Assert.AreEqual(6, m.Atoms.Count); Assert.AreEqual(5, m.Bonds.Count); // test reading of formal charges var a = m.Atoms[0]; Assert.IsNotNull(a); Assert.AreEqual(6, a.AtomicNumber); Assert.AreEqual(-0.2, a.Charge.Value, 0.01); Assert.AreEqual(0.06677, a.Point3D.Value.X, 0.01); }
public void TestChemModeID() { var writer = new StringWriter(); var chemModel = builder.NewChemModel(); chemModel.Id = "cm0"; var cmlWriter = new CMLWriter(writer); cmlWriter.Write(chemModel); cmlWriter.Close(); string cmlContent = writer.ToString(); Debug.WriteLine("****************************** TestReactionCustomization()"); Debug.WriteLine(cmlContent); Debug.WriteLine("******************************"); Assert.IsTrue(cmlContent.IndexOf("<list convention=\"cdk:model\" id=\"cm0") != -1); }
public IChemModel ParseSubstance(XElement parser) { IChemModel model = builder.NewChemModel(); // assume the current element is PC-Compound if (!parser.Name.Equals(Name_EL_PCSUBSTANCE)) { return(null); } foreach (var elm in parser.Descendants(Name_EL_PCCOMPOUNDS)) { var set = ParseCompoundsBlock(elm); model.MoleculeSet = set; } foreach (var elm in parser.Descendants(Name_EL_PCSUBSTANCE_SID)) { string sid = GetSID(elm); model.SetProperty(CDKPropertyName.Title, sid); } return(model); }
protected static IChemObject[] AcceptableChemObjects() { return(new IChemObject[] { builder.NewChemFile(), builder.NewChemModel(), builder.NewAtomContainer(), builder.NewReaction(), new RGroupQuery() }); }