polymerist.polymers.smidgelib.smidgeread

Automata for reading SMIDGE strings into their graph representations

Attributes

LOGGER

Classes

SMIDGEReaderRegister

Information accessed by machine states during the SMIDGE writing process

SMIDGEReadState

Abstract based for reading MID graphs from SMIDGE strings

Accumulate

Collect characters into a buffer

ChainNew

Reset actions when beginning a new chain

MonomerStart

Begin reading in a new monomer

MonomerEnd

Finish reading a monomer and add it to the graph

BondStart

Initialize reading of a bond token

BondEnd

Abstract based for reading MID graphs from SMIDGE strings

BranchStart

Mark position of branch point in stack for backtrack

BranchEnd

Return to previous branch point

SMIDGEReader

Pushdown automaton for translating SMIDGE strings to and from monomer graphs

Module Contents

polymerist.polymers.smidgelib.smidgeread.LOGGER
class polymerist.polymers.smidgelib.smidgeread.SMIDGEReaderRegister[source]

Information accessed by machine states during the SMIDGE writing process

monograph: polymerist.polymers.monographs.MonomerGraph | None
bond_info: polymerist.polymers.smidgelib.MonomerGraphBondInfo
curr_token: str = ''
node_idx: int = 0
str_buffer: str = ''
node_stack: list[int] = []
class polymerist.polymers.smidgelib.smidgeread.SMIDGEReadState[source]

Bases: abc.ABC

Abstract based for reading MID graphs from SMIDGE strings

abstractmethod state_action(register: SMIDGEReaderRegister) None[source]
transition(register: SMIDGEReaderRegister) SMIDGEReadState[source]

Define which states should follow the current one based on input

class polymerist.polymers.smidgelib.smidgeread.Accumulate[source]

Bases: SMIDGEReadState

Collect characters into a buffer

state_action(register: SMIDGEReaderRegister) None[source]
class polymerist.polymers.smidgelib.smidgeread.ChainNew[source]

Bases: SMIDGEReadState

Reset actions when beginning a new chain

state_action(register: SMIDGEReaderRegister) None[source]
class polymerist.polymers.smidgelib.smidgeread.MonomerStart[source]

Bases: SMIDGEReadState

Begin reading in a new monomer

state_action(register: SMIDGEReaderRegister) None[source]
class polymerist.polymers.smidgelib.smidgeread.MonomerEnd[source]

Bases: SMIDGEReadState

Finish reading a monomer and add it to the graph

state_action(register: SMIDGEReaderRegister) None[source]
class polymerist.polymers.smidgelib.smidgeread.BondStart[source]

Bases: SMIDGEReadState

Initialize reading of a bond token

state_action(register: SMIDGEReaderRegister) None[source]
class polymerist.polymers.smidgelib.smidgeread.BondEnd[source]

Bases: SMIDGEReadState

Abstract based for reading MID graphs from SMIDGE strings

state_action(register: SMIDGEReaderRegister) None[source]
class polymerist.polymers.smidgelib.smidgeread.BranchStart[source]

Bases: SMIDGEReadState

Mark position of branch point in stack for backtrack

state_action(register: SMIDGEReaderRegister) None[source]
class polymerist.polymers.smidgelib.smidgeread.BranchEnd[source]

Bases: SMIDGEReadState

Return to previous branch point

state_action(register: SMIDGEReaderRegister) None[source]
class polymerist.polymers.smidgelib.smidgeread.SMIDGEReader[source]

Pushdown automaton for translating SMIDGE strings to and from monomer graphs

state: SMIDGEReadState
read_smidge(smidge_string: str, start_node_idx: int = 0) polymerist.polymers.monographs.MonomerGraph[source]

Parse a SMIDGE (“SMILES-like Monomer Interconnectivity & Degree Graph Encoding”) string and read it into a networkX Graph