rmgpy.molecule.GroupAtom¶
- class rmgpy.molecule.GroupAtom¶
An atom group. This class is based on the
Atom
class, except that it uses atom types instead of elements, and all attributes are lists rather than individual values. The attributes are:Attribute
Type
Description
atomtype
list
The allowed atom types (as
AtomType
objects)radical_electrons
list
The allowed numbers of radical electrons (as short integers)
charge
list
The allowed formal charges (as short integers)
label
str
A string label that can be used to tag individual atoms
lone_pairs
list
The number of lone electron pairs
charge
list
The partial charge of the atom
site
list
The allowed adsorption sites
morphology
list
The allowed morphologies
props
dict
Dictionary for storing additional atom properties
reg_dim_atm
list
List of atom types that are free dimensions in tree optimization
reg_dim_u
list
List of unpaired electron numbers that are free dimensions in tree optimization
reg_dim_r
list
List of inRing values that are free dimensions in tree optimization
reg_dim_site
list
List of sites that are free dimensions in tree optimization
reg_dim_morphology
list
List of morphologies that are free dimensions in tree optimization
Each list represents a logical OR construct, i.e. an atom will match the group if it matches any item in the list. However, the radical_electrons, and charge attributes are linked such that an atom must match values from the same index in each of these in order to match.
- apply_action(action)¶
Update the atom group as a result of applying action, a tuple containing the name of the reaction recipe action along with any required parameters. The available actions can be found here.
- copy()¶
Return a deep copy of the
GroupAtom
object. Modifying the attributes of the copy will not affect the original.
- count_bonds(wildcards)¶
Returns: list of the number of bonds currently on the :class:GroupAtom
If the argument wildcards is turned off then any bonds with multiple options for bond orders will not be counted
- equivalent(other, strict)¶
Returns
True
if other is equivalent to self orFalse
if not, where other can be either anAtom
or anGroupAtom
object. When comparing twoGroupAtom
objects, this function respects wildcards, e.g.R!H
is equivalent toC
.
- has_wildcards()¶
Return
True
if the atom has wildcards in any of the attributes: atomtype, radical electrons, lone pairs, charge, and bond order. Returns ‘’False’’ if no attribute has wildcards.
- is_bonded_to_surface()¶
Return
True
if the atom is bonded to a surface GroupAtom XFalse
if it is not
- is_bromine()¶
Return
True
if the atom represents a bromine atom orFalse
if not.
- is_carbon()¶
Return
True
if the atom represents a carbon atom orFalse
if not.
- is_chlorine()¶
Return
True
if the atom represents a chlorine atom orFalse
if not.
- is_electron()¶
Return
True
if the atom represents a surface site orFalse
if not.
- is_fluorine()¶
Return
True
if the atom represents a fluorine atom orFalse
if not.
- is_lithium()¶
Return
True
if the atom represents a bromine atom orFalse
if not.
- is_nitrogen()¶
Return
True
if the atom represents a nitrogen atom orFalse
if not.
- is_oxygen()¶
Return
True
if the atom represents an oxygen atom orFalse
if not.
- is_proton()¶
Return
True
if the atom represents a surface site orFalse
if not.
- is_specific_case_of(other)¶
Returns
True
if self is the same as other or is a more specific case of other. ReturnsFalse
if some of self is not included in other or they are mutually exclusive.
- is_sulfur()¶
Return
True
if the atom represents an sulfur atom orFalse
if not.
- is_surface_site()¶
Return
True
if the atom represents a surface site orFalse
if not.
- make_sample_atom()¶
Returns: a class :Atom: object analagous to the GroupAtom
This makes a sample, so it takes the first element when there are multiple options inside of self.atomtype, self.radical_electrons, self.lone_pairs, and self.charge
- reset_connectivity_values()¶
Reset the cached structure information for this vertex.