MayaChemTools

Previous  TOC  NextGraph/CyclesDetection.pmCode | PDF | PDFA4

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) 2019 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  NextJuly 13, 2019Graph/CyclesDetection.pm