Previous TOC Next | Graph/CyclesDetection.pm | Code | PDF | PDFGreen | PDFA4 | PDFA4Green

# NAME

CyclesDetection

# SYNOPSIS

use Graph::CyclesDetection;

use Graph::CyclesDetection qw(:all);

# DESCRIPTION

CyclesDetection class provides the following methods:

new, Copy, DetectCycles, DetectCyclesUsingCollapsingPathGraphMethodology, GetAllCyclicPaths, GetIndependentCyclicPaths, StringifyCyclesDetection

Cycles in a Graph are detected using collapsing path graph [Ref 31] methodology.

## METHODS

new
  $NewCyclesDetection = new Graph::CyclesDetection($Graph);

  Using specified Graph, new method creates a new CyclesDetection object and returns newly created CyclesDetection object.

Copy
  $NewCyclesDetection = $CyclesDetection->Copy();

  Copies CyclesDetection and its associated data using Storable::dclone and returns a new CyclesDetection object.

DetectCycles
  $CyclesDetection->DetectCycles();

  Detects all cycles in a graph and returns CyclesDetection.

DetectCyclesUsingCollapsingPathGraphMethodology
  $CyclesDetection->DetectCyclesUsingCollapsingPathGraphMethodology();

  Detects all cycles in a graph using collapsing path graph [Ref 31] methodology and returns CyclesDetection.

GetAllCyclicPaths
  @AllCyclicPaths = $CyclesDetection->GetAllCyclicPaths();
  $NumOfAllCyclicPaths = $CyclesDetection->GetAllCyclicPaths();

  Returns an array containing references to all cyclic paths identified during cycles detection. In scalar text, number of cycles is returned.

GetIndependentCyclicPaths
  @IndependentCyclicPaths = $CyclesDetection->GetAllCyclicPaths();
  $NumOfIndependentCyclicPaths = $CyclesDetection->GetAllCyclicPaths();

  Returns an array containing references to independent cyclic paths identified during cycles detection. In scalar text, number of cycles is returned.

  A set of independent cycles identified during cycles detection doesn't correspond to the basis set of rings or smallest set of smallest rings (SSSR) [ Refs 29-30 ]; instead, set of cycles indentified as independent cycles simply correpond to cycles which contain no other cycle as their subcycles and can't be described as a linear combination of smaller cycles. And it also happens to contain all the rings in basis set of rings and SSSR. In other words, it's a superset of a basis set of cycles and SSSR. For example, six four membered cycles are indentified for cubane, which is one more than the basis set of cycles.

StringifyCyclesDetection
  $String = $CyclesDetection->StringifyCyclesDetection();

  Returns a string containing information about CyclesDetection object.

# AUTHOR

Manish Sud

# SEE ALSO

Graph.pm, Path.pm, PathGraph.pm

# COPYRIGHT

Copyright (C) 2018 Manish Sud. All rights reserved.

This file is part of MayaChemTools.

MayaChemTools is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version.

Previous TOC Next | October 25, 2018 | Graph/CyclesDetection.pm