/// <inheritdoc/> public override int[][] Apply(int[][] graph, int length) { InitialCycles ic = InitialCycles.OfBiconnectedComponent(graph, length); RelevantCycles rc = new RelevantCycles(ic); return(new EssentialCycles(rc, ic).GetPaths()); }
/// <inheritdoc/> public override int[][] Apply(int[][] graph, int length) { InitialCycles ic = InitialCycles.OfBiconnectedComponent(graph, length); MinimumCycleBasis mcb = new MinimumCycleBasis(ic, true); // As per the old aromaticity detector if the MCB/SSSR is made // of 2 or 3 rings we check all rings for aromaticity - otherwise // we just check the MCB/SSSR if (mcb.Count > 3) { return(mcb.GetPaths()); } else { return(All.Apply(graph, length)); } }
/// <inheritdoc/> public override int[][] Apply(int[][] graph, int length) { InitialCycles ic = InitialCycles.OfBiconnectedComponent(graph, length); return(new EdgeShortCycles(ic).GetPaths()); }
/// <inheritdoc/> public override int[][] Apply(int[][] graph, int length) { InitialCycles ic = InitialCycles.OfBiconnectedComponent(graph, length); return(new TripletShortCycles(new MinimumCycleBasis(ic, true), false).GetPaths()); }
public virtual void Bioconnected_simpleCycle_limit_6() { InitialCycles ic = InitialCycles.OfBiconnectedComponent(Cyclohexane, 6); Assert.AreEqual(1, ic.GetNumberOfCycles()); }