chython.periodictable package

Contains classes of all elements used in containers for MoleculeContainer, Query-prefixed for QueryContainer. Also available 3 special query atom types: AnyElement, AnyMetal and ListElement.

Below only carbon atom classes shown.

class chython.periodictable.C(isotope: int | None = None)

Bases: Element, PeriodII, GroupXIV

Element object with specified isotope

Parameters:

isotope – Isotope number of element

__eq__(other)

compare attached to molecules elements

__hash__()

Atom hash used in Morgan atom numbering algorithm.

property atomic_mass: float
property atomic_number

Element number

property atomic_radius

Valence radius of atom

property atomic_symbol: str

Element symbol

property charge: int

Charge of atom

copy() T

Detached from graph copy of element

property explicit_hydrogens: int
classmethod from_atom(atom: Element) Element

get Element copy

classmethod from_atomic_number(number: int) Type[Element]

get Element class by its number

classmethod from_symbol(symbol: str) Type[Element]

get Element class by its symbol

property heteroatoms: int
property hybridization

1 - if atom has zero or only single bonded neighbors, 2 - if has only one double bonded neighbor and any amount of single bonded, 3 - if has one triple bonded and any amount of double and single bonded neighbors or two double bonded and any amount of single bonded neighbors, 4 - if atom in aromatic ring.

property implicit_hydrogens: int | None
property in_ring: bool

Atom in any ring.

property is_radical: bool

Radical state of atoms

property isotope: int | None

Isotope number

property isotopes_distribution

Isotopes distribution in earth

property isotopes_masses

Isotopes masses

property neighbors: int

Neighbors count of atom

property ring_sizes: Tuple[int, ...]

Atom rings sizes.

property total_hydrogens: int
valence_rules(charge: int, is_radical: bool, valence: int) List[Tuple[Set[Tuple[int, Element]], Dict[Tuple[int, Element], int], int]]

valence rules for element with specific charge/radical state

property x: float

X coordinate of atom on 2D plane

property xy: Tuple[float, float]

(X, Y) coordinates of atom on 2D plane

property y: float

Y coordinate of atom on 2D plane

class chython.periodictable.QueryC(isotope: int | None = None)

Bases: QueryElement, PeriodII, GroupXIV

__eq__(other)

compare attached to molecules elements and query elements

__hash__()

Atom hash used in Morgan atom numbering algorithm.

property atomic_number

Element number

property atomic_radius

Valence radius of atom

property atomic_symbol: str

Element symbol

property charge: int

Charge of atom

copy() T

Detached from graph copy of element

classmethod from_atom(atom: Element | Query) Query

get QueryElement or AnyElement object from Element object or copy of QueryElement or AnyElement

classmethod from_atomic_number(number: int) Type[QueryElement]

get Element class by its number

classmethod from_symbol(symbol: str) Type[QueryElement | AnyElement | AnyMetal]

get Element class by its symbol

property heteroatoms: Tuple[int, ...]
property hybridization
property implicit_hydrogens: Tuple[int, ...]
property is_radical: bool

Radical state of atoms

property isotope: int | None

Isotope number

property neighbors: Tuple[int, ...]
property ring_sizes: Tuple[int, ...]

Atom rings sizes.

class chython.periodictable.AnyElement(*args, **kwargs)

Bases: Query

__eq__(other)

Compare attached to molecules elements and query elements

__hash__()

Atom hash used in Morgan atom numbering algorithm.

property atomic_number: int

Element number

property atomic_symbol: str

Element symbol

property charge: int

Charge of atom

copy() T

Detached from graph copy of element

property heteroatoms: Tuple[int, ...]
property hybridization
property implicit_hydrogens: Tuple[int, ...]
property is_radical: bool

Radical state of atoms

property isotope: int | None

Isotope number

property neighbors: Tuple[int, ...]
property ring_sizes: Tuple[int, ...]

Atom rings sizes.

class chython.periodictable.ListElement(elements: List[str], *args, **kwargs)

Bases: Query

Elements list

__eq__(other)

Compare attached to molecules elements and query elements

__hash__()

Atom hash used in Morgan atom numbering algorithm.

property atomic_number: int

Element number

property atomic_symbol: str

Element symbol

property charge: int

Charge of atom

copy()

Detached from graph copy of element

property heteroatoms: Tuple[int, ...]
property hybridization
property implicit_hydrogens: Tuple[int, ...]
property is_radical: bool

Radical state of atoms

property isotope: int | None

Isotope number

property neighbors: Tuple[int, ...]
property ring_sizes: Tuple[int, ...]

Atom rings sizes.

class chython.periodictable.AnyMetal(*args, **kwargs)

Bases: Query

Charge and radical ignored any metal. Rings, hydrogens and heteroatoms count also ignored.

Class designed for d-elements matching in standardization.

__eq__(other)

Return self==value.

__hash__()

Atom hash used in Morgan atom numbering algorithm.

property atomic_number: int

Element number

property atomic_symbol: str

Element symbol

property charge: int

Charge of atom

copy() T

Detached from graph copy of element

property heteroatoms: Tuple[int, ...]
property hybridization
property implicit_hydrogens: Tuple[int, ...]
property is_radical: bool

Radical state of atoms

property isotope: int | None

Isotope number

property neighbors: Tuple[int, ...]
property ring_sizes: Tuple[int, ...]

Atom rings sizes.