Package chemaxon.struc.sgroup
Class SuperatomSgroup
java.lang.Object
chemaxon.struc.Sgroup
chemaxon.struc.sgroup.SuperatomSgroup
- All Implemented Interfaces:
chemaxon.core.structure.AbbreviationForBuilder,chemaxon.core.structure.MoleculeForBuilder,Expandable,Serializable
@PublicApi
public class SuperatomSgroup
extends Sgroup
implements Expandable, chemaxon.core.structure.AbbreviationForBuilder
Superatom S-group.
- Since:
- Marvin 3.0, 11/05/2002
- See Also:
-
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_XCFields inherited from interface chemaxon.struc.sgroup.Expandable
COORDS_UPDATE, DEFAULT_OPTIONS, FAST_COORDS, LEAVE_COORDS_UNCHANGED, MDL_EXPAND, NONRECURSIVE_EXPAND, REVERSIBLE_EXPAND -
Constructor Summary
ConstructorsModifierConstructorDescriptionSuperatomSgroup(Molecule parent) Constructs a superatom S-group in expanded state.SuperatomSgroup(Molecule parent, boolean expanded) Constructs a superatom S-group.protectedSuperatomSgroup(SuperatomSgroup sg, Molecule m, Sgroup psg, int[] atomIndexMap) Copy constructor. -
Method Summary
Modifier and TypeMethodDescriptionvoidAdds a new atom to the S-group.intaddAttachmentPoint(MolAtom atom) Adds a new free attachment point for an atom.intaddAttachmentPoint(MolAtom atom, int order) Adds a new free attachment point of the given attachment atom and order.intaddAttachmentPoint(MolAtom atom, int order, MolBond bond) Adds a new free attachment point.booleanChecks whether the child S-groups are visible.voidCalculates the attachment points for the crossing atoms and crossing bonds and sets the calculated values.protected voidcalculateCoordinates(Molecule parentMol, MolBond[] xbonds, MoleculeGraph g, int opts, boolean isContract, SelectionMolecule otherSgroup, List<Double> xBondLength) Calculates the coordinates during expand and contract.protected voidcheckBonds(MolAtom atom) Add the bonds of the given atom to the S-group if the given atom and the other atom of the selected bond are both in the S-group.protected booleancheckSgroupGraphConsistency(Sgroup parent) Checks whether the parameter S-group contain the proper atoms of thisSuperatomSgroup.voidclone()Clones the SuperatomSgroup (and not the Molecule).protected SgroupcloneSgroup(Molecule m, Sgroup psg, int[] atomIndexMap) Gets a new Sgroup instance.final booleancontract(int opts) Contracts this S-group.protected SuperatomSgroupCreates a molecule object that contains only oneSuperatomSgroupidentical to this one.final booleanexpand(int opts) Expands this S-group.final booleanexpandOther(int opts, Molecule moltoexpand) Deprecated.as of Marvin 6.2.Gets the attachment atom of attachment point with the smallest order.MolBond[]Finds the crossing bonds.final MolAtom[]Gets the attachment atoms (atoms having attachment point).final MolAtom[]Deprecated, for removal: This API element is subject to removal in a future version.As of Marvin 6.0, replaced bygetBoundAttachAtoms().getAttachmentPoint(int order) Gets the attachment point that's order is given as parameterintGets the number of the attachment points.Gets the orders with which attachment point existsGets the attachment orders of the given attachment atom.Gets the sorted copy of the attachment point list.final MolAtom[]Gets atoms with attachment point having crossing bond.MolAtom[]getCrossingAtoms(MolBond[] xbonds) Gets the atoms from the S-group that have crossing bonds.intGets the number of bonds of a specified atom where the neighbor atom doesn't belong to the S-group.final MolAtom[]Gets the atoms with free attachment points.intGets the number of free attachment points.Gets the increasingly sorted orders of the free attachment points.Gets the sorted free attachment orders of the given attachment atom.final MolAtom[]Deprecated, for removal: This API element is subject to removal in a future version.As of Marvin 6.0, replaced bygetFreeAttachAtoms().final MolAtom[]Deprecated, for removal: This API element is subject to removal in a future version.As of Marvin 6.0, replaced bygetAllAttachAtoms().Deprecated.as of Marvin 6.2, intended for internal use, similar functionality can be reached bygetSgroupGraph()Gets the molecule graph as a selection.final SgroupAtomGets the superatom.booleanIs the specified atom an element of this group?booleanChecks if brackets should be painted or not.booleanhasOrder(int order) final booleanChecks whether the given atom is an attachment atom or not.booleanTests whether the bracket is visible.final booleanDecides whether this S-group is contracted or not.final booleanIs this S-group expanded?final booleanChecks whether the specified atom has free attachment point.final booleanDeprecated, for removal: This API element is subject to removal in a future version.As of Marvin 6.0, replaced byisFreeAttachAtom(MolAtom a).final booleanisLegalAttachment(MolAtom atom) Deprecated, for removal: This API element is subject to removal in a future version.As of Marvin 6.0, replaced byisAttachmentAtom(MolAtom).booleanDecides if the whole superatom sgroup is selected or not.voidRemoves all attachment points of the Superatom S-group.protected final voidremoveAtom(MolAtom atom, int opts) Removes an atom from the S-group.voidremoveAttachmentPoint(int order) Removes the attachment point with the given order.voidRemoves all attachment points of the given attachment atom.final voidremoveBond(MolBond bond) Removes a the given bond from the S-group.final voidreplaceAtom(MolAtom oldAtom, MolAtom newAtom, int opts) Replace an existing atom by a new one.final voidSets the specified atom in the S-group graph.voidsetAttachmentPointOrder(MolAtom atom, int oldOrder, int newOrder) Sets a new order for the given attachment point.voidsetCrossingBond(int order, MolBond bond) Change the crossing bond of an attachment point.final booleansetGUIStateRecursively(boolean v) Deprecated.voidSets the molecule graph.voidDeprecated, for removal: This API element is subject to removal in a future version.As of Marvin 5.12, no replacement.
Crossing bonds of aSuperatomSgroupdo not need to be sorted any more.toString(int opts) Returns a string representation of the group.protected voidtransformByParent(CTransform3D t, boolean incg) Applies a transformation matrix to the Sgroup coordinates.voidDeprecated.as of Marvin 6.2, usecalculateAttachmentPoints()insteadMethods inherited from class chemaxon.struc.Sgroup
addBracket, addChildSgroup, checkConsistency, checkConsistencyInEmbeddings, clearObjects, cloneSgroup, cloneStructure, contains, containsAllAtomsOf, countAllAtoms, createMolecule, findSmallestSgroupContaining, findSmallestSgroupOf, getAtom, getAtomArray, getAtomCount, getAtomSymbolListAsString, getAttach, getBondArray, getBracketCount, getBrackets, getChargeLocation, getChildSgroup, getChildSgroupCount, getChildSgroups, getConnectivity, getId, getParentMolecule, getParentSgroup, getSgroupType, getSubscript, getSubType, getSuperscript, getTotalCharge, getType, getXState, indexOf, indexOf, initBrackets, isBracketCrossingBond, isDescendantOf, isEmpty, isOrderedComponentSgroup, isPartSelected, isRemovable, isSelected, isVisible, removeAtom, removeAtom, removeBonds, removeChildSgroup, removeGroupedAtom, removeObject, replaceAtom, selectAllObjects, setChargeLocation, setConnectivity, setGUIStateRecursively, setId, setParentMolecule, setSubscript, setSubType, setXState, setXState, setXState0, sort, toString
-
Constructor Details
-
SuperatomSgroup
Constructs a superatom S-group in expanded state. Its superatom is automatically created.- Parameters:
parent- the parent molecule- Since:
- Marvin 3.5.3, 01/18/2005
- See Also:
-
SuperatomSgroup
Constructs a superatom S-group. Its superatom is automatically created. Please note the S-group is not added automatically to the parent molecule.- Parameters:
parent- the parent moleculeexpanded- whether the S-group is created in expanded state or not- See Also:
-
SuperatomSgroup
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.2, 03/07/2008
-
-
Method Details
-
getSuperAtom
Gets the superatom.- Returns:
- the superatom
-
getAttachAtoms
@Deprecated(forRemoval=true) @SubjectToRemoval(date=JUL_01_2025) public final MolAtom[] getAttachAtoms()Deprecated, for removal: This API element is subject to removal in a future version.As of Marvin 6.0, replaced bygetBoundAttachAtoms().Gets atoms with attachment point having crossing bond. This method should only be called when the residue is in contracted state.- Returns:
- the attachment atoms
- Since:
- Marvin 4.0.4, 01/09/2006
-
getBoundAttachAtoms
Gets atoms with attachment point having crossing bond. This method should only be called when the residue is in contracted state.- Returns:
- the attachment atoms having crossing bond
- Since:
- Marvin 6.0, Dec 11, 2012
-
getFreeLegalAttachAtoms
@Deprecated(forRemoval=true) @SubjectToRemoval(date=JUL_01_2025) public final MolAtom[] getFreeLegalAttachAtoms()Deprecated, for removal: This API element is subject to removal in a future version.As of Marvin 6.0, replaced bygetFreeAttachAtoms().Gets the atoms with free attachment points. Free if the corresponding attachment point is free.- Returns:
- array of MolAtoms having free attachment point.
- See Also:
-
getFreeAttachAtoms
Gets the atoms with free attachment points. Free if the corresponding attachment point is free.- Returns:
- array of MolAtoms having free attachment point.
- Since:
- Marvin 6.0, Dec 11, 2012
- See Also:
-
isFreeLegalAttachAtom
@Deprecated(forRemoval=true) @SubjectToRemoval(date=JUL_01_2025) public final boolean isFreeLegalAttachAtom(MolAtom a) Deprecated, for removal: This API element is subject to removal in a future version.As of Marvin 6.0, replaced byisFreeAttachAtom(MolAtom a).Tests whether the specified atom has a free attachment point.- Parameters:
a- the atom- Returns:
trueif it has free attachment point,falseotherwise- Since:
- 5.0, 09/23/2007
-
isFreeAttachAtom
Checks whether the specified atom has free attachment point.- Parameters:
a- the atom- Returns:
trueif it has free attachment point,falseotherwise- Since:
- Marvin 6.0, Dec 11, 2012
- See Also:
-
getLegalAttachAtoms
@Deprecated(forRemoval=true) @SubjectToRemoval(date=JUL_01_2025) public final MolAtom[] getLegalAttachAtoms()Deprecated, for removal: This API element is subject to removal in a future version.As of Marvin 6.0, replaced bygetAllAttachAtoms().Gets all attachment atoms (from free and bound attachment points).- Returns:
- array of attachment atoms
-
getAllAttachAtoms
Gets the attachment atoms (atoms having attachment point).- Returns:
- array of attach atoms
- Since:
- Marvin 6.0, Dec 11, 2012
-
isLegalAttachment
@Deprecated(forRemoval=true) @SubjectToRemoval(date=JUL_01_2025) public final boolean isLegalAttachment(MolAtom atom) Deprecated, for removal: This API element is subject to removal in a future version.As of Marvin 6.0, replaced byisAttachmentAtom(MolAtom).Checks whether the given atom is an attachment atom or not.- Parameters:
atom- the atom- Returns:
trueif the given atom is an attachment atomfalseotherwise- Since:
- 3.5, 11/04/2004
-
isAttachmentAtom
Checks whether the given atom is an attachment atom or not.- Parameters:
a- the atom- Returns:
trueif the given atom is an attachment atomfalseotherwise- Since:
- Marvin 6.0, Dec 11, 2012
- See Also:
-
updateAttachmentPoints
Deprecated.as of Marvin 6.2, usecalculateAttachmentPoints()insteadAdjusts attachment point information to current bonding.- Throws:
chemaxon.struc.sgroup.NoFreeAttachmentPointException- if there are not enough free attachment point
-
getSgroupGraph
Gets the molecule graph as a selection. The nodes are ordered, the first n are the attachment atoms.- Overrides:
getSgroupGraphin classSgroup- Returns:
- the molecule graph
- Since:
- Marvin 3.3, 11/04/2003
-
getParentSgroupGraph
Deprecated.as of Marvin 6.2, intended for internal use, similar functionality can be reached bygetSgroupGraph()Gets the parent exact sgroupgraph. Internal use only.- Returns:
- the sgroupGraph
-
setSgroupGraph
Sets the molecule graph. If the S-group is in contracted state then:- In case of single attachment points the first n nodes are supposed to be the attachment points.
- In case of double attachment point the graph is searched for the attachment point.
- Overrides:
setSgroupGraphin classSgroup- Parameters:
smol- the molecule graph- Since:
- Marvin 3.3, 11/04/2003
-
cloneSgroup
Gets a new Sgroup instance.- Overrides:
cloneSgroupin 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:
- 5.0.2, 03/07/2008
-
setAtom
Sets the specified atom in the S-group graph. -
removeAtom
Removes an atom from the S-group.- Overrides:
removeAtomin classSgroup- Parameters:
atom- the atomopts- unused argument
-
removeBond
Removes a the given bond from the S-group.- Overrides:
removeBondin classSgroup- Parameters:
bond- the bond
-
findCrossingBonds
Finds the crossing bonds. Use only when the S-group is expanded.- Overrides:
findCrossingBondsin classSgroup- Returns:
- the attachment bonds
- Since:
- Marvin 3.3
-
getCrossingAtoms
Gets the atoms from the S-group that have crossing bonds.- Overrides:
getCrossingAtomsin classSgroup- Parameters:
xbonds- the crossing bonds- Returns:
- the attachment atoms
- Since:
- Marvin 3.3
- See Also:
-
findAttachAtom
Gets the attachment atom of attachment point with the smallest order.- Returns:
- the attachment point with the smallest order or
nullif there is not any attachment point - Since:
- Marvin 4.1, 03/08/2006
-
transformByParent
Applies a transformation matrix to the Sgroup coordinates. (Only absolute placement.) This method is called by the parent molecule'sMolecule.transform(CTransform3D, boolean)method, thus only those atom coordinates are transformed here that are not handled inMoleculeGraph.transform(CTransform3D, boolean).- Overrides:
transformByParentin classSgroup- Parameters:
t- the transformation matrixincg- graph invariants are changed (true) or not (false)- Since:
- Marvin 5.0, 08/18/2007
-
hasBrackets
public boolean hasBrackets()Checks if brackets should be painted or not.- Overrides:
hasBracketsin classSgroup- Returns:
- true if the group is in expanded state
- Since:
- Marvin 3.3
-
hasAtom
Is the specified atom an element of this group? -
expand
Expands this S-group. Atom indexes are preserved during expansion. During the expand, the atoms of the superatom S-group get into MoleculeGraph.- Specified by:
expandin interfaceExpandable- Overrides:
expandin classSgroup- Parameters:
opts- expansion options- Returns:
- true if the operation was successful, false if already expanded
- Throws:
IllegalArgumentException- if the group is invisible (it has a non-expanded parent)- See Also:
-
expandOther
@Deprecated public final boolean expandOther(int opts, Molecule moltoexpand) throws IllegalArgumentException Deprecated.as of Marvin 6.2. useexpand(int)instead on the S-groups desired to be expandedExpands other S-group the same way as it would be this. The other Sgroup is the first S-group of the other molecule (moltoexpand). Atom indices are preserved during expansion.- Parameters:
opts- expansion optionsmoltoexpand- molecule containing an Sgroup that has to be expanded- Returns:
- true if the operation was successful, false if already expanded
- Throws:
IllegalArgumentException- if the group is invisible (it has a non-expanded parent)
-
isExpanded
public final boolean isExpanded()Is this S-group expanded?- Specified by:
isExpandedin interfaceExpandable- Returns:
- true if expanded, false if contracted
-
contract
Contracts this S-group. During the contraction, atoms of this superatom S-group vanish from the molecule graph and substituted with one superatom.- Specified by:
contractin interfaceExpandable- Overrides:
contractin classSgroup- Parameters:
opts- contraction options- Returns:
- true if the operation was successful, false if already contracted
- Throws:
IllegalArgumentException- if the group is invisible (it has a non-expanded parent)- See Also:
-
calculateCoordinates
protected void calculateCoordinates(Molecule parentMol, MolBond[] xbonds, MoleculeGraph g, int opts, boolean isContract, SelectionMolecule otherSgroup, List<Double> xBondLength) Calculates the coordinates during expand and contract.- Parameters:
parentMol- the parent molecule of the superatomSgroupxbonds- array of the crossing bondsg- graph of the sgroupopts- expand optionisContract- true if it is called from contract, false if do so from expandotherSgroup- graph of the other sgroup in expandOther- Since:
- Marvin 6.2, Aug 8, 2013
-
isContracted
public final boolean isContracted()Decides whether this S-group is contracted or not.- Returns:
- true if contracted false otherwise
-
isBracketVisible
public boolean isBracketVisible()Tests whether the bracket is visible.- Overrides:
isBracketVisiblein classSgroup- Returns:
false, superatom S-group brackets are not visible- Since:
- Marvin 3.5.1, 11/12/2004
-
isTotalSelected
Decides if the whole superatom sgroup is selected or not. Overrides method in parent class.- Overrides:
isTotalSelectedin classSgroup- Parameters:
sel- molecule graph that contains the selection- Returns:
- true if the whole superatom group is selected
-
areChildSgroupsVisible
public boolean areChildSgroupsVisible()Checks whether the child S-groups are visible.- Overrides:
areChildSgroupsVisiblein classSgroup- Returns:
- true if children are visible, false otherwise
- Since:
- Marvin 3.4
-
sortXBonds
Deprecated, for removal: This API element is subject to removal in a future version.As of Marvin 5.12, no replacement.
Crossing bonds of aSuperatomSgroupdo not need to be sorted any more. It is not advised to sort them anyway because then the indexes of bonds change in the parent molecule.Sorts the crossing bonds in the parent molecule in attachment point number order.- Since:
- Marvin 5.0, 12/07/2007
-
getExternalConnections
Gets the number of bonds of a specified atom where the neighbor atom doesn't belong to the S-group.- Parameters:
a- the atom whose connections to be checked- Returns:
- the number of external connection or 0 if the specified atom doesn't belong to the S-group.
-
createMolecule
Creates a molecule object that contains only oneSuperatomSgroupidentical to this one.- Overrides:
createMoleculein classSgroup- Returns:
- the molecule containing one
SuperatomSgroup - Since:
- Marvin 3.4
-
createGroup
-
replaceAtom
Replace an existing atom by a new one.- Overrides:
replaceAtomin classSgroup- Parameters:
oldAtom- the original atomnewAtom- the new atomopts- options- Since:
- 4.1, 07/25/2006
- See Also:
-
toString
Returns a string representation of the group. -
setGUIStateRecursively
Deprecated.Sets the expanded/contracted state recursively.- Overrides:
setGUIStateRecursivelyin classSgroup- Parameters:
v- true setsSgroup.XSTATE_Cif previous state wasSgroup.XSTATE_XC, false setsSgroup.XSTATE_XCif previous state wasSgroup.XSTATE_C, no operation in other cases- Returns:
- true if at least one S-group's state was changed, false otherwise
- Throws:
IllegalArgumentException- if the group is invisible (it has a non-expanded parent)- Since:
- Marvin 5.1
- See Also:
-
calculateAttachmentPoints
public void calculateAttachmentPoints()Calculates the attachment points for the crossing atoms and crossing bonds and sets the calculated values.- The properly set crossing bond are kept
- Those attachment points that's bond is not-crossing bond will be removed
- For those crossing bonds that have no attachment point connected will be calculated one from the free ones or will be given a new one
-
hasOrder
public boolean hasOrder(int order) -
removeAttachmentPoints
Removes all attachment points of the given attachment atom.- Parameters:
atom- the attachment atom- Throws:
IllegalArgumentException- if the given atom is not part of the superatom S-group
-
setAttachmentPointOrder
Sets a new order for the given attachment point. The order must be a positive number.- Parameters:
atom- the attachment atom of the attachment pointoldOrder- the old attachment order of the attachment pointnewOrder- the new attachment order of the attachment point- Throws:
IllegalArgumentException- if the given atom is not part of the superatom S-group or the given new order is negativ or zero- Since:
- Marvin 6.0, Dec 5, 2012
-
getAttachmentPointOrders
Gets the attachment orders of the given attachment atom.- Parameters:
atom- the attachment atom- Returns:
- the list of the attachment orders
- Since:
- Marvin 6.0, Dec 5, 2012
-
getFreeAttachmentPointOrders
Gets the sorted free attachment orders of the given attachment atom.- Parameters:
atom- the attachment atom- Returns:
- the sorted list of the free attachment orders
- Since:
- Marvin 6.0, Dec 5, 2012
- See Also:
-
add
Adds a new atom to the S-group. -
getAttachmentPointCount
public int getAttachmentPointCount()Gets the number of the attachment points.- Specified by:
getAttachmentPointCountin interfacechemaxon.core.structure.AbbreviationForBuilder- Returns:
- the number of the attachment points
- Since:
- Marvin 6.0, Dec 4, 2012
-
checkBonds
Add the bonds of the given atom to the S-group if the given atom and the other atom of the selected bond are both in the S-group.If the newly added bond was crossing bond, then the attachment point connected to this bond will be removed.
- Overrides:
checkBondsin classSgroup- Parameters:
atom- the atom
-
getAttachmentPoints
Gets the sorted copy of the attachment point list.- Returns:
- the list of the attachment points
- Since:
- Marvin 6.0, Dec 5, 2012
-
setCrossingBond
Change the crossing bond of an attachment point.- Parameters:
order- the order of the attachment pointbond- the crossing bond to be set- Throws:
IllegalArgumentException-- if no attachment point exists with the given order
- if the attachment atom for the given order is not the same as the original attachment atom in expanded state
- if the given bond is not a crossing bond for this superatom S-group
IllegalStateExceptionchemaxon.struc.sgroup.NoFreeAttachmentPointException- if the attachment point for the given order is not free -
addAttachmentPoint
Adds a new free attachment point for an atom. The order will be the smallest non used order.- Parameters:
atom- the attachment atom of the new attachment point- Returns:
- the attachment order of the new attachment point
- Throws:
IllegalArgumentException- if the given atom is not part of the superatom S-group- Since:
- Marvin 6.0, Dec 5, 2012
-
addAttachmentPoint
Adds a new free attachment point of the given attachment atom and order. The order must be a positive number.- Parameters:
atom- the attachment atom of the new attachment pointorder- the attachment order of the new attachment point- Returns:
- the attachment order of the new attachment point
- Throws:
IllegalArgumentException- if the order is a non positive number- Since:
- Marvin 6.0, Dec 5, 2012
-
addAttachmentPoint
Adds a new free attachment point.- Parameters:
atom- the attachment atom of the new attachment pointorder- the attachment order of the new attachment pointbond- the crossing bond of the new attachment point- Returns:
- the attachment order of the new attachment point
- Throws:
IllegalArgumentException- if the given atom is not part of the superatom S-group- Since:
- Marvin 6.0, Dec 5, 2012
-
removeAllAttachmentPoints
public void removeAllAttachmentPoints()Removes all attachment points of the Superatom S-group.- Since:
- Marvin 6.0, Dec 17, 2012
-
removeAttachmentPoint
public void removeAttachmentPoint(int order) Removes the attachment point with the given order.- Parameters:
order- the order which's attachment point will be removed
-
getFreeAttachmentPointOrders
Gets the increasingly sorted orders of the free attachment points.- Returns:
- the list of the increasingly sorted orders of the free attachment points
-
getAttachmentPoint
Gets the attachment point that's order is given as parameter- Parameters:
order- the required attachment point's order- Returns:
- the attachment point that's order equals to the parameter
-
getFreeAttachmentPointCount
public int getFreeAttachmentPointCount()Gets the number of free attachment points.- Returns:
- the number of free attachment points.
-
clone
Clones the SuperatomSgroup (and not the Molecule). -
getAttachmentPointOrders
Gets the orders with which attachment point exists- Returns:
- the list of the orders of the attachment points
-
checkSgroupGraphConsistency
Checks whether the parameter S-group contain the proper atoms of thisSuperatomSgroup. That means theSgroupAtomof this S-group if it is contracted state or all of it's atoms if it is in expanded state.- Overrides:
checkSgroupGraphConsistencyin classSgroup- Parameters:
parent- parent of Sgroup- Returns:
- true if the S-group is consistent
-
clearSavedAtomIndices
public void clearSavedAtomIndices()
-