Cycles
Cycle detection and enumeration is handled by the excellent library RingDecomposerLib, which avoids exponential space requirements in heavily fused ring systems using Unique Ring Families.
- class scine_molassembler.Cycles
Information about molecular graph cycles.
>>> # Simple molecule for which relevant cycles and cycle families are the same >>> spiro = io.experimental.from_smiles("C12(CCC1)CCC2") >>> cycles = spiro.graph.cycles >>> cycles.num_cycle_families() 2 >>> cycles.num_cycle_families(0) # The spiroatom belongs to both families 2 >>> cycles.num_cycle_families(1) # Other cycle atoms only belong to one 1 >>> cycles.num_cycle_families() == cycles.num_relevant_cycles() True >>> cycles.num_cycle_families(1) == cycles.num_relevant_cycles(1) True
- __init__(*args, **kwargs)
- num_cycle_families(*args, **kwargs)
Overloaded function.
num_cycle_families(self: scine_molassembler.Cycles) -> int
Returns the number of cycle families present in the graph
num_cycle_families(self: scine_molassembler.Cycles, constituting_index: int) -> int
Returns the number of cycle families an atom belongs to
num_cycle_families(self: scine_molassembler.Cycles, constituting_index: scine_molassembler.BondIndex) -> int
Returns the number of cycle families a bond belongs to
- num_relevant_cycles(*args, **kwargs)
Overloaded function.
num_relevant_cycles(self: scine_molassembler.Cycles) -> int
Returns the number of relevant cycles present in the graph
num_relevant_cycles(self: scine_molassembler.Cycles, constituting_index: int) -> int
Returns the number of relevant cycles an atom belongs to
num_relevant_cycles(self: scine_molassembler.Cycles, constituting_index: scine_molassembler.BondIndex) -> int
Returns the number of relevant cycles a bond belongs to