Exemple #1
0
                /// <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());
                }
Exemple #2
0
                /// <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));
                    }
                }
Exemple #3
0
                /// <inheritdoc/>
                public override int[][] Apply(int[][] graph, int length)
                {
                    InitialCycles ic = InitialCycles.OfBiconnectedComponent(graph, length);

                    return(new EdgeShortCycles(ic).GetPaths());
                }
Exemple #4
0
                /// <inheritdoc/>
                public override int[][] Apply(int[][] graph, int length)
                {
                    InitialCycles ic = InitialCycles.OfBiconnectedComponent(graph, length);

                    return(new TripletShortCycles(new MinimumCycleBasis(ic, true), false).GetPaths());
                }
Exemple #5
0
        public virtual void Bioconnected_simpleCycle_limit_6()
        {
            InitialCycles ic = InitialCycles.OfBiconnectedComponent(Cyclohexane, 6);

            Assert.AreEqual(1, ic.GetNumberOfCycles());
        }