public void TestExampleFile_SupportColumns() { var filename = "NCDK.Data.MoSS.TKO.mossoutput"; var ins = ResourceLoader.GetAsStream(filename); MoSSOutputReader reader = new MoSSOutputReader(ins); var moleculeSet = new ChemObjectSet <IAtomContainer>(); moleculeSet = reader.Read(moleculeSet); Assert.AreEqual(5.06, double.Parse(moleculeSet[0].GetProperty <string>("focusSupport").ToString()), 0.01); Assert.AreEqual(1.74, double.Parse(moleculeSet[0].GetProperty <string>("complementSupport").ToString()), 0.01); }
public void TestCallingTwice() { var molSet = new ChemObjectSet <IAtomContainer>(); var mol = new AtomContainer(); Atom atom0 = new Atom("C") { Id = "a1" }; Atom atom2 = new Atom("C"); mol.Atoms.Add(atom2); mol.Atoms.Add(atom0); molSet.Add(mol); IDCreator.CreateIDs(molSet); var ids = MoleculeSetManipulator.GetAllIDs(molSet); Assert.AreEqual(4, ids.Count()); mol = new AtomContainer(); Atom atom1 = new Atom("C") { Id = "a2" }; atom2 = new Atom("C"); mol.Atoms.Add(atom2); mol.Atoms.Add(atom1); molSet.Add(mol); IDCreator.CreateIDs(molSet); ids = MoleculeSetManipulator.GetAllIDs(molSet); Assert.AreEqual(7, ids.Count()); mol = new AtomContainer(); atom1 = new Atom("C"); atom2 = new Atom("C"); mol.Atoms.Add(atom2); mol.Atoms.Add(atom1); molSet.Add(mol); atom0.Id = "atomX"; ids = MoleculeSetManipulator.GetAllIDs(molSet); Assert.IsFalse(ids.Contains("a1")); IDCreator.CreateIDs(molSet); var idsAfter = MoleculeSetManipulator.GetAllIDs(molSet); Assert.IsTrue(idsAfter.Contains("a1")); Assert.AreEqual(10, idsAfter.Count()); }
public void TestWrite_IAtomContainerSet_SingleMolecule() { StringWriter writer = new StringWriter(); IChemObjectSet <IAtomContainer> molSet = new ChemObjectSet <IAtomContainer>(); var molecule = builder.NewAtomContainer(); molecule.Atoms.Add(new Atom("C")); molSet.Add(molecule); SDFWriter sdfWriter = new SDFWriter(writer); sdfWriter.Write(molSet); sdfWriter.Close(); Assert.IsTrue(writer.ToString().IndexOf("$$$$") != -1); }
public void TestExampleFile_MolReading() { var filename = "NCDK.Data.MoSS.TKO.mossoutput"; var ins = ResourceLoader.GetAsStream(filename); MoSSOutputReader reader = new MoSSOutputReader(ins); var moleculeSet = new ChemObjectSet <IAtomContainer>(); moleculeSet = reader.Read(moleculeSet); Assert.AreEqual(19, moleculeSet.Count); foreach (var mol in moleculeSet) { Assert.AreEqual(int.Parse(mol.GetProperty <string>("atomCount").ToString()), mol.Atoms.Count); Assert.AreEqual(int.Parse(mol.GetProperty <string>("bondCount").ToString()), mol.Bonds.Count); } }
public void TestWrite_IAtomContainerSet_CDKProperties() { StringWriter writer = new StringWriter(); IChemObjectSet <IAtomContainer> molSet = new ChemObjectSet <IAtomContainer>(); var molecule = builder.NewAtomContainer(); molecule.Atoms.Add(new Atom("C")); molecule.SetProperty(InvPair.CanonicalLabelPropertyKey, "bar"); molSet.Add(molecule); SDFWriter sdfWriter = new SDFWriter(writer); sdfWriter.Write(molSet); sdfWriter.Close(); Assert.IsTrue(writer.ToString().IndexOf(InvPair.CanonicalLabelPropertyKey) == -1); }
public void TestRemoveElectronContainer_IAtomContainerSet_IElectronContainer() { IChemObjectSet <IAtomContainer> ms = new ChemObjectSet <IAtomContainer>(); var mol = new AtomContainer(); mol.Atoms.Add(new Atom("O")); mol.Atoms.Add(new Atom("O")); mol.AddBond(mol.Atoms[0], mol.Atoms[1], BondOrder.Double); IBond bond = mol.Bonds[0]; ms.Add(mol); IBond otherBond = new Bond(new Atom(), new Atom()); MoleculeSetManipulator.RemoveElectronContainer(ms, otherBond); Assert.AreEqual(1, MoleculeSetManipulator.GetBondCount(ms)); MoleculeSetManipulator.RemoveElectronContainer(ms, bond); Assert.AreEqual(0, MoleculeSetManipulator.GetBondCount(ms)); }
public void TestMoleculeSet() { var list = new ChemObjectSet <IAtomContainer> { new AtomContainer(), new AtomContainer() }; var model = new ChemModel { MoleculeSet = list }; IChemModel roundTripped = CMLRoundTripTool.RoundTripChemModel(convertor, model); var newList = roundTripped.MoleculeSet; Assert.IsNotNull(newList); Assert.AreEqual(2, newList.Count()); Assert.IsNotNull(newList[0]); Assert.IsNotNull(newList[1]); }
public void TestRemoveAtomAndConnectedElectronContainers_IAtomContainerSet_IAtom() { IChemObjectSet <IAtomContainer> ms = new ChemObjectSet <IAtomContainer>(); var mol = new AtomContainer(); mol.Atoms.Add(new Atom("O")); mol.Atoms.Add(new Atom("O")); mol.AddBond(mol.Atoms[0], mol.Atoms[1], BondOrder.Double); IAtom atom = mol.Atoms[0]; ms.Add(mol); IAtom otherAtom = new Atom("O"); MoleculeSetManipulator.RemoveAtomAndConnectedElectronContainers(ms, otherAtom); Assert.AreEqual(1, MoleculeSetManipulator.GetBondCount(ms)); Assert.AreEqual(2, MoleculeSetManipulator.GetAtomCount(ms)); MoleculeSetManipulator.RemoveAtomAndConnectedElectronContainers(ms, atom); Assert.AreEqual(0, MoleculeSetManipulator.GetBondCount(ms)); Assert.AreEqual(1, MoleculeSetManipulator.GetAtomCount(ms)); }
public void TestChemModel() { ChemModel model = new ChemModel(); var moleculeSet = new ChemObjectSet <IAtomContainer>(); var mol = new AtomContainer(); PseudoAtom atom = new PseudoAtom("N"); mol.Atoms.Add(atom); moleculeSet.Add(mol); model.MoleculeSet = moleculeSet; IChemModel roundTrippedModel = CMLRoundTripTool.RoundTripChemModel(convertor, model); var roundTrippedMolSet = roundTrippedModel.MoleculeSet; Assert.IsNotNull(roundTrippedMolSet); Assert.AreEqual(1, roundTrippedMolSet.Count); IAtomContainer roundTrippedMolecule = roundTrippedMolSet[0]; Assert.IsNotNull(roundTrippedMolecule); Assert.AreEqual(1, roundTrippedMolecule.Atoms.Count); }
public void TestWrite_IAtomContainerSet_Properties_Off() { StringWriter writer = new StringWriter(); IChemObjectSet <IAtomContainer> molSet = new ChemObjectSet <IAtomContainer>(); var molecule = builder.NewAtomContainer(); molecule.Atoms.Add(new Atom("C")); molecule.SetProperty("foo", "bar"); molSet.Add(molecule); SDFWriter sdfWriter = new SDFWriter(writer); var sdfWriterProps = new NameValueCollection(); sdfWriterProps["writeProperties"] = "false"; sdfWriter.Listeners.Add(new PropertiesListener(sdfWriterProps)); sdfWriter.CustomizeJob(); sdfWriter.Write(molSet); sdfWriter.Close(); string result = writer.ToString(); Assert.IsFalse(result.Contains("<foo>")); }