public void TestGetAllAtomContainers_IRingSet() { IRingSet rs = builder.NewRingSet(); rs.Add(builder.NewRing()); rs.Add(builder.NewRing()); var list = RingSetManipulator.GetAllAtomContainers(rs); Assert.AreEqual(2, list.Count()); }
/// <summary> /// Puts all rings of a ringSet in a single atomContainer /// </summary> /// <param name="ringSet">The ringSet to use</param> /// <returns>The produced atomContainer</returns> public static IAtomContainer GetAllInOneContainer(IRingSet ringSet) { IAtomContainer resultContainer = ringSet.Builder.NewAtomContainer(); IEnumerator <IAtomContainer> containers = RingSetManipulator.GetAllAtomContainers(ringSet).GetEnumerator(); while (containers.MoveNext()) { resultContainer.Add(containers.Current); } return(resultContainer); }
public void TestSort_IRingSet() { RingSetManipulator.Sort(ringset); Assert.AreEqual(4, ringset.Count); int currentSize = ringset[0].Atoms.Count; for (int i = 1; i < ringset.Count; ++i) { Assert.IsTrue(ringset[i].Atoms.Count >= currentSize); currentSize = ringset[i].Atoms.Count; } }
public void TestGetLargestRingSetListIRingSet() { var list = new List <IRingSet> { ringset }; var mol = TestMoleculeFactory.MakeBiphenyl(); var arf = new AllRingsFinder(); var ringSet = arf.FindAllRings(mol); list.Add(ringSet); Assert.AreEqual(2, RingSetManipulator.GetLargestRingSet(list).Count); }
public void TestGetBondCount() { IAtomContainer mol = TestMoleculeFactory.MakeAdenine(); AllRingsFinder arf = new AllRingsFinder(); IRingSet ringSet = arf.FindAllRings(mol); Assert.AreEqual(3, ringSet.Count); Assert.AreEqual(20, RingSetManipulator.GetBondCount(ringSet)); mol = TestMoleculeFactory.MakeBiphenyl(); ringSet = arf.FindAllRings(mol); Assert.AreEqual(2, ringSet.Count); Assert.AreEqual(12, RingSetManipulator.GetBondCount(ringSet)); }
public void TestGetAtomCount_IRingSet() { IRingSet rs = builder.NewRingSet(); IRing ac1 = builder.NewRing(); ac1.Atoms.Add(builder.NewAtom("O")); rs.Add(ac1); IRing ac2 = builder.NewRing(); ac2.Atoms.Add(builder.NewAtom("C")); ac2.Atoms.Add(builder.NewAtom("C")); ac2.AddBond(ac2.Atoms[0], ac2.Atoms[1], BondOrder.Double); rs.Add(ac2); Assert.AreEqual(3, RingSetManipulator.GetAtomCount(rs)); Assert.AreEqual(1, RingSetManipulator.GetBondCount(rs)); }
/// <summary> /// Returns the largest (number of atoms) ring set in a molecule /// </summary> /// <param name="ringSystems">RingSystems of a molecule</param> /// <returns>The largestRingSet</returns> public static IRingSet GetLargestRingSet(IEnumerable <IRingSet> ringSystems) { IRingSet largestRingSet = null; int atomNumber = 0; IAtomContainer container = null; foreach (var ringSystem in ringSystems) { container = RingSetManipulator.GetAllInOneContainer(ringSystem); if (atomNumber < container.Atoms.Count) { atomNumber = container.Atoms.Count; largestRingSet = ringSystem; } } return(largestRingSet); }
public void TestRingAlreadyInSet_IRing_IRingSet() { IRing r1 = builder.NewRing(5, "C"); IRing r2 = builder.NewRing(3, "C"); IRingSet rs = builder.NewRingSet(); Assert.IsFalse(RingSetManipulator.RingAlreadyInSet(r1, rs)); Assert.IsFalse(RingSetManipulator.RingAlreadyInSet(r2, rs)); rs.Add(r1); Assert.IsTrue(RingSetManipulator.RingAlreadyInSet(r1, rs)); Assert.IsFalse(RingSetManipulator.RingAlreadyInSet(r2, rs)); rs.Add(r2); Assert.IsTrue(RingSetManipulator.RingAlreadyInSet(r1, rs)); Assert.IsTrue(RingSetManipulator.RingAlreadyInSet(r2, rs)); }
public void MarkAromatic() { IAtomContainer mol = TestMoleculeFactory.MakeBiphenyl(); AtomContainerManipulator.PercieveAtomTypesAndConfigureAtoms(mol); Aromaticity.CDKLegacy.Apply(mol); AllRingsFinder arf = new AllRingsFinder(); IRingSet ringSet = arf.FindAllRings(mol); Assert.AreEqual(2, ringSet.Count); RingSetManipulator.MarkAromaticRings(ringSet); for (int i = 0; i < ringSet.Count; i++) { IRing ring = (IRing)ringSet[i]; Assert.IsTrue(ring.IsAromatic); } }
public void TestGetAllInOneContainer_IRingSet() { IAtomContainer ac = RingSetManipulator.GetAllInOneContainer(ringset); Assert.AreEqual(10, ac.Atoms.Count); }
public void TestGetMostComplexRing_IRingSet() { IRing ring = RingSetManipulator.GetMostComplexRing(ringset); Assert.AreEqual(ring3, ring); }
public void TestGetHeaviestRing_IRingSet_IBond() { IRing ring = RingSetManipulator.GetHeaviestRing(ringset, bondRing2Ring3); Assert.AreEqual(ring2, ring); }
public void TestIsSameRing_IRingSet_IAtom_IAtom() { Assert.IsTrue(RingSetManipulator.IsSameRing(ringset, ring1Atom1, ring1Atom3)); Assert.IsFalse(RingSetManipulator.IsSameRing(ringset, ring1Atom1, ring2Atom3)); }