# 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)
radicalElectrons 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
lonePairs list The number of lone electron pairs

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 radicalElectrons, and charge attributes are linked such that an atom must match values from the same index in each of these in order to match.

applyAction()

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.

equivalent()

Returns True if other is equivalent to self or False if not, where other can be either an Atom or an GroupAtom object. When comparing two GroupAtom objects, this function respects wildcards, e.g. R!H is equivalent to C.

hasWildcards()

Return True if the atom has wildcards in any of the attributes: atomtype, electronpairs, lone pairs, charge, and bond order. Returns ‘’False’’ if no attribute has wildcards.

isOxygen()

Return True if the atom represents an oxygen atom or False if not.

isSpecificCaseOf()

Returns True if other is the same as self or is a more specific case of self. Returns False if some of self is not included in other or they are mutually exclusive.

isSulfur()

Return True if the atom represents an sulfur atom or False if not.

makeSampleAtom()

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.radicalElectrons, self.lonePairs, and self.charge

resetConnectivityValues()

Reset the cached structure information for this vertex.