Package chemaxon.struc.sgroup
Class MulticenterSgroup
- java.lang.Object
-
- chemaxon.struc.Sgroup
-
- chemaxon.struc.sgroup.MulticenterSgroup
-
- All Implemented Interfaces:
Serializable
@PublicAPI public class MulticenterSgroup extends Sgroup
Multicenter S-group to represent complexes like markush ring structures, ferrocenes, metallocenes...
This sgroup represents a group of atoms with an atom called central atom. The atomic number of this central atom isMolAtom.MULTICENTER
. The represented atoms are in the sgroup graph. Only the parent molecule of the sgroup contains the central atom, the sgroup graph doesn't.- Since:
- Marvin 5.0, 01/09/2007
- See Also:
getCentralAtom()
,setCentralAtom(MolAtom)
,MolAtom.MULTICENTER
,MolAtom.getAtno()
,Sgroup.getParentMolecule()
,Sgroup.getSgroupGraph()
, Serialized Form
-
-
Field Summary
-
Fields inherited from class chemaxon.struc.Sgroup
atomSet, brackets, CHARGE_ON_ATOMS, CHARGE_ON_GROUP, parentSgroup, PR_ATSYMS, RA_IN_EXPAND, RA_REMOVE_EXCEPT_RU, SCN_EITHER_UNKNOWN, SCN_HEAD_TO_HEAD, SCN_HEAD_TO_TAIL, SGROUP_TYPE_COUNT, sgroupGraph, sgroupType, SORT_CHILD_PARENT, SORT_PARENT_CHILD, SST_ALTERNATING, SST_BLOCK, SST_RANDOM, ST_AMINOACID, ST_ANY, ST_COMPONENT, ST_COPOLYMER, ST_CROSSLINK, ST_DATA, ST_FORMULATION, ST_GENERIC, ST_GRAFT, ST_MER, ST_MIXTURE, ST_MODIFICATION, ST_MONOMER, ST_MULTICENTER, ST_MULTIPLE, ST_SRU, ST_SUPERATOM, XSTATE_C, XSTATE_NONE, XSTATE_X, XSTATE_XC
-
-
Constructor Summary
Constructors Modifier Constructor Description MulticenterSgroup(Molecule parent)
Constructs a Multicenter S-group.protected
MulticenterSgroup(MulticenterSgroup sg, Molecule m, Sgroup psg)
Copy constructor.protected
MulticenterSgroup(MulticenterSgroup sg, Molecule m, Sgroup psg, int[] atomIndexMap)
Copy constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description void
addCentralAtom()
Adds a central atom to this sgroup.protected Sgroup
cloneSgroup(Molecule m, Sgroup psg, int[] atomIndexMap)
Gets a new Sgroup instance.MolAtom
getCentralAtom()
Gets the central atom of this sgroup.boolean
hasBrackets()
Does a bracket belong to this sgroup?boolean
hasNonCoordinateBond()
Decides whether the central atom of the sgroup has a non-coordinate bond.DPoint3
recalcCentralAtom()
Recalculates and sets the coordinates of the central atom of this sgroup.void
replaceMulticenterAtom(MolAtom atom, MolAtom atom2)
Deprecated.as of Marvin 2014.08.25.0, usesetCentralAtom(chemaxon.struc.MolAtom)
insteadvoid
setCentralAtom(MolAtom atom)
Sets the central atom of this sgroup.-
Methods inherited from class chemaxon.struc.Sgroup
add, addBracket, addChildSgroup, areChildSgroupsVisible, checkBondConsistency, checkBonds, checkConsistencyInEmbeddings, checkSgroupGraphConsistency, clearObjects, cloneSgroup, cloneStructure, contains, containsAllAtomsOf, contract, countAllAtoms, createMolecule, createMolecule, expand, findCrossingBonds, findSmallestSgroupContaining, findSmallestSgroupOf, getAtom, getAtomArray, getAtomCount, getAtomSymbolListAsString, getAttach, getBondArray, getBracketCount, getBrackets, getChargeLocation, getChildSgroup, getChildSgroupCount, getChildSgroups, getConnectivity, getCrossingAtoms, getId, getParentMolecule, getParentSgroup, getSgroupGraph, getSgroupType, getSubscript, getSubType, getSuperscript, getTotalCharge, getType, getXState, hasAtom, indexOf, indexOf, initBrackets, isBracketCrossingBond, isBracketVisible, isDescendantOf, isEmpty, isOrderedComponentSgroup, isPartSelected, isRemovable, isSelected, isTotalSelected, isVisible, removeAtom, removeAtom, removeAtom, removeBond, removeBonds, removeChildSgroup, removeGroupedAtom, removeObject, replaceAtom, replaceAtom, selectAllObjects, setAtom, setChargeLocation, setConnectivity, setGUIStateRecursively, setGUIStateRecursively, setId, setParentMolecule, setSgroupGraph, setSubscript, setSubType, setXState, setXState, setXState0, sort, toString, toString, transformByParent
-
-
-
-
Constructor Detail
-
MulticenterSgroup
public MulticenterSgroup(Molecule parent)
Constructs a Multicenter S-group. Please note the S-group is not added automatically to the parent molecule.- Parameters:
parent
- the parent molecule- Since:
- Marvin 5.0
- See Also:
Molecule.addSgroup(Sgroup, boolean)
-
MulticenterSgroup
protected MulticenterSgroup(MulticenterSgroup sg, Molecule m, Sgroup psg)
Copy constructor.- Parameters:
sg
- the S-group to copym
- the new parent moleculepsg
- the new parent S-group or null- Since:
- Marvin 5.0
-
MulticenterSgroup
protected MulticenterSgroup(MulticenterSgroup sg, Molecule m, Sgroup psg, int[] atomIndexMap)
Copy constructor.- Parameters:
sg
- the S-group to copym
- the new parent moleculepsg
- the new parent S-group or nullatomIndexMap
- indices of cloned atoms in the original molecule ornull
- Since:
- Marvin 5.0
-
-
Method Detail
-
cloneSgroup
protected Sgroup cloneSgroup(Molecule m, Sgroup psg, int[] atomIndexMap)
Gets a new Sgroup instance.- Overrides:
cloneSgroup
in classSgroup
- Parameters:
m
- the new parent moleculepsg
- the new parent S-groupatomIndexMap
- indices of cloned atoms in the original molecule ornull
- Returns:
- the new object
- Since:
- Marvin 5.0.2
-
addCentralAtom
public void addCentralAtom()
Adds a central atom to this sgroup.
-
recalcCentralAtom
public DPoint3 recalcCentralAtom()
Recalculates and sets the coordinates of the central atom of this sgroup.- Returns:
- the recalculated coordinates of the central atom
-
hasBrackets
public boolean hasBrackets()
Does a bracket belong to this sgroup?- Overrides:
hasBrackets
in classSgroup
- Returns:
- returns false
-
hasNonCoordinateBond
public boolean hasNonCoordinateBond()
Decides whether the central atom of the sgroup has a non-coordinate bond.- Returns:
- returns true if the central atom of the sgroup has at least one non-coordinate bond, false otherwise.
-
getCentralAtom
public MolAtom getCentralAtom()
Gets the central atom of this sgroup.- Returns:
- the central atom
-
setCentralAtom
public void setCentralAtom(MolAtom atom)
Sets the central atom of this sgroup.- Parameters:
atom
- the central atom
-
replaceMulticenterAtom
@Deprecated public void replaceMulticenterAtom(MolAtom atom, MolAtom atom2)
Deprecated.as of Marvin 2014.08.25.0, usesetCentralAtom(chemaxon.struc.MolAtom)
insteadReplace an existing central atom by a new one in this S-group and its parent (recursively).- Parameters:
atom
- the original atomatom2
- the new atom
-
-