Package chemaxon.struc
Class RxnMolecule
java.lang.Object
chemaxon.struc.MoleculeGraph
chemaxon.struc.Molecule
chemaxon.struc.RxnMolecule
- All Implemented Interfaces:
MoleculeWithValence<MolAtom>
,chemaxon.core.structure.MoleculeForBuilder
,chemaxon.core.structure.ReactionForBuilder
,chemaxon.struc.MObjectContainer
,MTransformable
,StereoConstants
,Serializable
@PublicApi
public class RxnMolecule
extends Molecule
implements chemaxon.struc.MObjectContainer, chemaxon.core.structure.ReactionForBuilder
Reaction.
- Since:
- Marvin 2.9
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class chemaxon.struc.MoleculeGraph
MoleculeGraph.ValenceCheckState
-
Field Summary
Modifier and TypeFieldDescriptionstatic final int
"Agent" structure type.static final int
Resonance arrow, the same as the two-headed double reaction arrow.static final int
"Product" structure type.static final int
"Reactant" structure type.static final int
Regular double reaction arrow type.static final int
Regular single reaction arrow type.static final int
Resonance arrow, the same as the two-headed single reaction arrow.static final int
Retrosynthetic arrow, the same as the regular double reaction arrow.static final int
Add R-groups to component structure.static final int
Two headed double reaction arrow type.static final int
Two headed single reaction arrow type.static final int
Number of structure types.static final int
Component type mask.Fields inherited from class chemaxon.struc.Molecule
DEFAULT_UNGROUP, RECURSIVE_UNGROUP, RMCLEANUP_FROMSGROUPS, RMCLEANUP_SGROUPATOMS, RMSG_DEFAULT, RMSG_KEEP_CHILDREN, RMSG_KEEP_MULTICENTER, RMSG_KEEP_PARENT
Fields inherited from class chemaxon.struc.MoleculeGraph
AROM_AMBIGUOUS, AROM_BASIC, AROM_CHUCKEL, AROM_GENERAL, AROM_LOOSE, AROM_SUBSTRUCTURE, atomCount, AUTO_UNGROUP, bondCount, btab, CACHE_REMOVE_ALL, CACHE_REMOVE_AROMATAMODULE, CACHE_REMOVE_CACHEMEMORY, CACHE_REMOVE_GRINVMODULE, CACHE_REMOVE_PARITYMODULE, CACHE_REMOVE_SSSRMODULE, CACHE_REMOVE_TABS, cacheMemory, ctab, DEAROM_GENERAL, DEAROM_HUCKELCHECK, DEAROM_HUCKELCHECK_EX, DIM_MASK, FRAG_BASIC, FRAG_KEEPING_MULTICENTERS, FRAG_KEEPING_SGROUPS, FRAG_TYPE_COUNT, gearch, GRINV_DONT_STORE, GRINV_NOHYDROGEN, GRINV_OLDSTEREO, GRINV_STEREO, GRINV_USEMAPS, GRINV_VALUE_OPTIONS, grinvCC, INITIAL_CAPACITY, INVALID_LINKNODE_MESSAGE, MIN_RING_SIZE_FOR_TRANS_DB, OMIT_POSTCLEAN, orix, oriy, oriz, parentGraph, propertyContainer, RMCLEANUP_ALL, RMCLEANUP_EDGES, RMCLEANUP_FIXCOMPONENT, RMCLEANUP_MOBJECT, RMCLEANUP_NONE, RMCLEANUP_PARENTDOC, RMCLEANUP_STEREO, superGraph, theAtoms, theBonds, useOnlyFirstAtomInStereoCalculation, VALENCE_CHECK, VALENCE_CHECK_AMBIGUOUS
Fields inherited from interface chemaxon.struc.StereoConstants
ANTI, ATOMSTEREO_EITHER, ATOMSTEREO_MASK, ATOMSTEREO_NONE, ATOMSTEREO_SPECIFIC, CHIRALITY_M, CHIRALITY_MASK, CHIRALITY_P, CHIRALITY_r, CHIRALITY_R, CHIRALITY_s, CHIRALITY_S, CHIRALITYSUPPORT_ALL, CHIRALITYSUPPORT_ALL_POSSIBLE, CHIRALITYSUPPORT_NONE, CHIRALITYSUPPORT_SELECTED, CIS, CIS_TRANS, CTUMASK, CTUNKNOWN, CTUNSPEC, DBS_ALL, DBS_MARKED, DBS_NONE, ENDO, EXO, PARITY_ALLENE, PARITY_EITHER, PARITY_EVEN, PARITY_MASK, PARITY_NONE, PARITY_ODD, PARITY_TETRAHEDRAL, PARITY_UNSPEC, STGRP_ABS, STGRP_AND, STGRP_NONE, STGRP_OR, SYN, TRANS
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
Adds an atom to a reactant, product or agent structure.void
Adds a bond to a reactant, product, agent.protected void
Adds an atom to a fragment.void
addComponent
(Molecule m, int type) Adds a reactant, product or agent.void
addComponent
(Molecule m, int type, boolean beNew) Adds a reactant, product or agent.void
Adds an S-group to this object.boolean
Tests whether an object of this class can be a reaction component.protected void
Checks the consistency of S-groups.void
clearForImport
(String fmt) Clear the edges vector and the properties.void
Deletes the graphical objects from this.clone()
Make an identical copy of the reaction structure.void
clonecopy
(int[] iatoms, MoleculeGraph g) Copies the specified nodes and edges of this graph to another one.void
Make another molecule identical to this one.void
Deprecated.Makes an identical copy of the molecule and its document.boolean
Checks if a reactant, agent or product structure contains the specified node.boolean
Checks if a reactant, agent or product structure contains the specified edge.protected chemaxon.struc.gearch.MoleculeGraphGearch
static RxnMolecule
createReaction
(MoleculeGraph mol, DPoint3[] arw) Creates a reaction.static RxnMolecule
createReaction
(Molecule mol, DPoint3[] arw, int art) Creates a reaction.static double
determineArrowDistance
(double x, double y, double z, DPoint3[] ar) Project the point (x,y,z) to the line of the reaction arrow 'ar'.int
determineType
(double x, double y, double z) Determines whether a point should be in a reactant, in a product or in an agent.static int
determineType
(double x, double y, double z, DPoint3[] ar) Determines whether a point should be in a reactant, in a product or in an agent.protected void
Adds all atoms and bonds of the root structure and the R-groups to the specified molecule.void
Delegates to tracker's fixProperties().void
fuse
(MoleculeGraph graph, boolean check) Add the atoms and bonds of another molecule.void
fuse
(RxnMolecule rxnMol) Fuse and RxnMolecule to this RxnMolecule.protected void
fuse0
(MoleculeGraph graph, boolean check) Add those nodes and edges of a graph that are not already elements.getAgent
(int i) Gets an agent.int
Gets the number of agents.Molecule[]
Gets all agents in an array.Gets the list of reaction fragments (product, reactant, agent components) that build up this reaction.Gets the properties (type, endpoint coordinates) of the reaction arrow in this reaction.getAtom
(int i) Gets a node.int
Returns the number of nodes in the graph union.int
getAtomCount
(int atomicNumber) Gets the number of atoms with the given atomic number in the unified molecule graph of the reaction.Returns an iterator over the atoms in this molecule in proper sequence.getBond
(int i) Gets an edge.int
Gets the number of edges in the graph union.Returns an iterator over the bonds in this molecule in proper sequence.Gets the bond table for the graph union.getCenter
(int type, int i) Gets the geometrical center of a reaction component.getComponent
(int typeFlag, int i) Gets a reactant, product or agent.getComponent
(long id) Gets a reactant, product or agent.int
getComponentCount
(int type) Gets the number of reactants, products or agents.int
getComponentFlags
(long id) Gets the reaction component type flags from the ID.long
getComponentID
(MolAtom atom) Gets the reaction component ID of an atom.long
getComponentID
(MolBond bond) Gets the reaction component ID of a bond.long
getComponentID
(Molecule molecule) Gets the ID of a reaction component.int
getComponentIndex
(long id) Gets the reactant, product or agent index from the ID.int
getComponentType
(long id) Gets the reaction component type from the ID.int[][]
getCtab()
Gets the connection table for the graph union.Gets the molecular formula in Hill order.Gets a graph containing all the atoms and bonds.Gets the reaction arrow of this reaction.int
getLocalParity
(int i) Computes the local parity of an atom of the RxnMolecule instance based on both the coordinates of the neighboring atoms and the stereo information of the bonds to those.double
getMass()
Calculates the molecular weight of the molecule.Deprecated, for removal: This API element is subject to removal in a future version.Multi-step reactions not supported.int
int
getParity
(int i) Computes the parity of an atom of the RxnMolecule instance based on both the coordinates of the neighboring atoms and the stereo information of the bonds to those.getProduct
(int i) Gets a product.int
Gets the number of products.Molecule[]
Gets all products in an array.getReactant
(int i) Gets a reactant.int
Gets the number of reactants.Molecule[]
Gets all reactants in an array.static RxnMolecule
Returns the reaction represented by the given molecule if exists, otherwise null.DPoint3[]
Gets a two-element array containing the endpoints of the reaction arrow.getReactionArrow
(boolean generate) Gets the reaction arrow of this reaction with the possibility to generate an arrow if the arrow is not yet set.Gets the list of the reaction arrows of this reaction.int
Gets the reaction arrow type.Gets the reaction arrow type name.protected final int
Gets the number of all "submolecules".protected final void
getSubGraphs
(MoleculeGraph[] arr, int off) Gets all "submolecules".int
getType
(MoleculeGraph selection) Checks whether the atoms in the selection are all in reactants, products or agents.boolean
Tests whether the molecule graph has atom sets.boolean
Tests whether the molecule graph has atom sets.int
Gets the index of the specified node in the graph union.int
Gets the index of the specified edge in the graph union.boolean
isAtom()
Deprecated.As of Marvin 14.7.7, no replacement.
Not supported feature.boolean
isBond()
Deprecated.As of Marvin 14.7.7, no replacement.
Not supported feature.boolean
isEmpty()
Ask if the reaction is empty or not.boolean
Check whether the reaction is incomplete or not.boolean
Check whether given molecule is reaction component with a set of intentionally merged fragments or not.boolean
isQuery()
Indicates if the molecule has query features: query atoms or query bonds.boolean
Checks if the structure represents a reaction or not.protected boolean
Reaction molecules cannot be real node parents.boolean
Deprecated, for removal: This API element is subject to removal in a future version.protected void
Copies some properties of this molecule to the other one specified as argument.void
mergeAtoms
(MolAtom that, MolAtom node) Deprecated, for removal: This API element is subject to removal in a future version.As of Marvin 6.2, useMergeUtil.mergeAtoms(MolAtom, MolAtom, boolean)
instead.void
mergeComponentParts
(MoleculeGraph m, int type, boolean isMergeStored) Finds those component parts that are contained in the molecule graph m and creates a new component containing all atoms of m, splitting them from the previous merges.Creates a new RxnMolecule object.void
For each structure (reactant or product) determines whether it should be a reactant or a product depending on its the relative position to the reaction arrow.void
rebuildStructures
(DPoint3[] arw, int art) Sets the reaction arrow.void
Recalculates the coordinates of the reaction arrow from the reactants and products, forced recalculation.void
Regenerate the edge vectors: remove their elements, then put the edge objects from the nodes into it.void
Remove all the atoms and bonds from the root structure, and from all the R-groups.void
Removes all bonds from the reactants, products and agents.void
removeAtom
(int iu, int cleanupFlags) Removes an atom from the reactants, products or agents.void
removeAtom
(MolAtom node, int cleanupFlags) Removes an atom from the reactants, products or agents.protected void
removeBond
(int iu, int cleanupFlags) Removes an edge from a reactant, agent or product.protected void
removeBond
(MolBond edge, int cleanupFlags) Removes a bond from the reactants, products or agents.removeComponent
(int flags, int i) Removes a reactant, product or agent.void
Checks all the componentes and removes those that are empty (node count is zero).void
Removes a graphical object from this.void
Removes the reaction arrow of this reacion.void
replaceBond
(MolBond olde, MolBond newe) Deprecated, for removal: This API element is subject to removal in a future version.as of Marvin 6.2, may constructs inconsistentMoleculeGraph
.void
Revalidate coordinate dependent properties.void
selectAllObjects
(boolean s) void
setAbsStereo
(boolean c) Sets the absolute stereoconfiguration flag for all the structures.void
Deprecated.As of Marvin 6.2, may constructs inconsistentMoleculeGraph
.void
Deprecated.as of Marvin 6.2, may constructs inconsistentMoleculeGraph
.void
setDim
(int d) Sets the dimension for all the structures.void
Set the origin of the molecule.void
setMSLogic
(Map<MRArrow, RxnMolecule> ms) Deprecated, for removal: This API element is subject to removal in a future version.Multi-step reactions not supported.void
setReactionArrow
(DPoint3... points) Sets the endpoint coordinates of the reaction arrow.void
setReactionArrow
(MRArrow arrow) Sets the reaction arrow.void
setReactionArrow0
(DPoint3... points) Sets the reaction arrow.void
setReactionArrowEndPoints
(DPoint3[] points) Sets the endpoints of the reaction arrow in this reaction.void
setReactionArrowType
(int type) Sets the reaction arrow type.void
setReactionArrowType
(String name) Sets the reaction arrow type from type name.void
setSgroupParent
(MolAtom a, Sgroup sg, boolean set) Sets or unsets an S-group as a parent of an atom in reactants, products or agents.protected void
setSupergraph
(MoleculeGraph molecule) Sets the given molecule as the supergraph of this graph and its components.Simplify a reaction to a molecule if possible.Simplifies this RxnMolecule by moving the atoms and bonds from the reactants, products, and agents to a Molecule.void
sortBondsAccordingTo
(MolBond[] order) Sort edges in the same order as they appear in the specified array.void
Replaces all disconnected reaction components by its connected fragments in the structure array.void
splitComponentParts
(MoleculeGraph m, int type) Finds those component parts that are contained in the molecule graph m and creates separate components from the fragments contained in m, splitting them from the previous merges.void
splitDisconnectedComponent
(int type, int index) Replaces a disconnected reaction component by its connected fragments in the structure array.void
splitDisconnectedComponent
(long id) Replaces a disconnected reaction component by its connected fragments in the structure array.boolean
Reset the wedges of the molecule, based on the actual parity information in 2D remove wedges in 3D.toString()
Overrides Object.toString() to ease debugging.void
transform
(CTransform3D t, boolean incg) Apply a transformation matrix to the atomic coordinates and the reaction arrow.protected void
Apply a transformation matrix to the reaction arrow.void
Updates fragment roles in the molecule.Methods inherited from class chemaxon.struc.Molecule
addAtom0, addBond0, addSgroupClones, addSgroupsOf, aromatize, aromatize, bondlength, checkConsistency, clear, clearExtraLabels, clearProperties, cloneAtoms, clonecopyWithoutSgroups, cloneMolecule, connectOriginalBondsToNewAtom, contractSgroups, contractSgroups, convertToFrags, countExpandableContractableSgroups, countOrderedComponentSgroups, dearomatize, endReuse, expandSgroups, expandSgroups, exportToBinFormat, exportToFormat, exportToObject, findAllSgroupContaining, findContainingMulticenterSgroup, findContractableSgroup, findExpandableSgroup, findFrags, findFrags, findSgroupContaining, findSgroupOf, findSmallestSgroupContaining, fixSelfReferringProperty, getBonds, getComment, getEndPosition, getGraphUnionAsSelection, getId, getInputFormat, getMostSimplifiedMolecule, getName, getProperty, getPropertyCount, getPropertyKey, getPropertyKeys, getPropertyObject, getRootSgroups, getSgroup, getSgroupArray, getSgroupCount, getSgroupIterator, getSgroupLigands, getSimplifiedMolecule, getSortedSgroups, getStartPosition, getVisibleCoords, hasContractedSgroup, hasId, implicitizeHydrogens0, indexOf, isExpandable, isGUIContracted, isSgroup, newSelectionMolecule, rearrangeSgroups, removeAllSgroups, removeAtomFromChildren, removeSgroupFromList, removeSgroupsOf, removeSgroupsOf, reparentSgroups, replaceAtom, replaceSgroup, residueSymbolOf, residueTypeOf, reuseAtom, setAtom0, setComment, setEndPosition, setGUIContracted, setGUIContracted, setId, setInputFormat, setName, setProperty, setPropertyObject, setStartPosition, sortSgroupXBonds, toBinFormat, toFormat, toObject, ungroupSgroup, ungroupSgroup, ungroupSgroup, ungroupSgroup, ungroupSgroups, ungroupSgroups, ungroupSgroups
Methods inherited from class chemaxon.struc.MoleculeGraph
add, addAtomsAndBondsTo, addAtomWithoutChangingIt, addBondWithoutChangingIt, addExplicitHydrogens, addExplicitHydrogens, addExplicitLonePairs, addSimpleAtomWithoutChangingIt, adjustMultiChiralFlag, aromatize, aromatize, arrangeComponents, atoms, bonds, calcCenter, calcCenter, calcDehydrogenizedGrinv, calcHeight, calcHybridization, calcOutRect, calcOutRect, calcOutRectCenter, calcOutRectCenter, calcWidth, canBeCT, canBeCT, canBeCT, checkBondConsistency, clean, clean, clearCachedInfo, clonecopyMoleculeGraphWithoutSgroups, contains, createDehydrogenizedReadOnlyGraph, createSmolecule, dearomatize, findAtom, findAtomClone, findBasicFrags, findBond, findComponentIds, findComponentIds, findFrag, findFrag, findFragById, findFrags, findInArray, fuse, getAromaticAndAliphaticRings, getAtomArray, getAtomicNumber, getAtomReferenceList, getBondArray, getCharge, getChirality, getCSSR, getCSSRIdxesForAtoms, getDesiredLength, getDesiredLength, getDim, getDocument, getDocumentForChild, getEnclosingCube, getExactMass, getExplicitHcount, getExplicitLonePairCount, getEZStereo, getFlags, getForefather, getFormalCharge, getFragCount, getFragCount, getFragIds, getFreeAttachmentPoints, getGrinv, getGrinv, getGrinv, getGrinv, getGrinvCC, getGrinvOptions, getImplicitHcount, getImplicitHCount, getLigand, getLigandAtno, getLigandBondType, getLigandCount, getLocation, getLock, getLonePairCount, getMaxRgroupAttachmentPointOrder, getParent, getParentDocument, getParityType, getPoints, getPossibleAttachmentPoints, getRadicalCount, getSmallestRingSizeForIdx, getSSSR, getSSSRBonds, getSSSRBondsAsBitSet, getSSSRBondSet, getSSSRBondSetInLong, getSSSRIdxesForAtoms, getStereo2, getStereo2, getStereo2, getStereo2, getStereo2, getStereo2, getStereo2, getSubGraphs, getTotalCharge, getValenceCheckOptions, getValenceCheckState, getValenceProperty, hasExplicitLonePairs, hasExtraLabelSet, hasImplicitH, hasSelfReferringProperty, hasValenceError, hydrogenize, implicitizeHydrogens, implicitizeHydrogens, implicitizeHydrogens, incGrinvCC, incGrinvCC, incGrinvCCOnly, insertAtom, insertBond, insertBondInOrder, insertNullAtoms, insertNullBonds, isAbsStereo, isAcceptedSpecialLigand, isAtomInRing, isBondParallelWith, isGrinvCCValid, isLargeMolecule, isMolecule, isMultiChiral, isolate, isolate, isOnlyFirstAtomInStereoCalculation, isRing, isRingBond, isSelfReference, isSimilarTo, isSymmetric, isValenceCheckEnabled, isValidLinkNode, mergeFrags, moveTo, pack, partialClean, partialClean, partialClean, properties, qpropCheck, regenBtab, regenCtab, regenGearch, removeAtom, removeAtom, removeBond, removeBond, removeExplicitLonePairs, removeIsolatedAtoms, removeIsolatedBonds, resetCtab, resetGrinvInParents, restoreCache, saveCache, setAtomSetSeqs, setBondSetSeqs, setChirality, setChirality, setFlags, setFlags, setGrinvCC, setGrinvOptions, setLinkNodeDefaultOuters, setLocalParity, setLocalParity, setParity, setParity, setParity, setValenceCheckEnabled, setValenceCheckOptions, setValenceCheckState, smol, sumConservedQuantities, transform, updateDim, useOnlyFirstAtomInStereoCalculation, valenceCheck, valenceCheck
-
Field Details
-
TYPE_COUNT
public static final int TYPE_COUNT- See Also:
-
REACTANTS
public static final int REACTANTS"Reactant" structure type.- See Also:
-
PRODUCTS
public static final int PRODUCTS"Product" structure type.- See Also:
-
AGENTS
public static final int AGENTS"Agent" structure type.- See Also:
-
RGROUPED
public static final int RGROUPEDAdd R-groups to component structure.- Since:
- Marvin 3.1
- See Also:
-
TYPE_MASK
public static final int TYPE_MASKComponent type mask.- Since:
- Marvin 3.1
- See Also:
-
REGULAR_SINGLE
public static final int REGULAR_SINGLERegular single reaction arrow type.- Since:
- Marvin 5.1, 02/28/2008
- See Also:
-
TWO_HEADED_SINGLE
public static final int TWO_HEADED_SINGLETwo headed single reaction arrow type.- Since:
- Marvin 5.1, 02/28/2008
- See Also:
-
REGULAR_DOUBLE
public static final int REGULAR_DOUBLERegular double reaction arrow type.- Since:
- Marvin 5.1, 02/28/2008
- See Also:
-
TWO_HEADED_DOUBLE
public static final int TWO_HEADED_DOUBLETwo headed double reaction arrow type.- Since:
- Marvin 5.1, 02/28/2008
- See Also:
-
RESONANCE
public static final int RESONANCEResonance arrow, the same as the two-headed single reaction arrow.- Since:
- Marvin 5.2 27/01/2009
- See Also:
-
RETROSYNTHETIC
public static final int RETROSYNTHETICRetrosynthetic arrow, the same as the regular double reaction arrow.- Since:
- Marvin 5.2 27/01/2009
- See Also:
-
EQUILIBRIUM
public static final int EQUILIBRIUMResonance arrow, the same as the two-headed double reaction arrow.- Since:
- Marvin 5.2 27/01/2009
- See Also:
-
-
Constructor Details
-
RxnMolecule
public RxnMolecule()Create a reaction.
-
-
Method Details
-
createReaction
Creates a reaction.- Parameters:
mol
- contains the atoms of reactants and productsarw
- two-element array containing the endpoints of the reaction arrowart
- the arrow type- Returns:
- the reaction
-
createReaction
Creates a reaction.- Parameters:
mol
- contains the atoms of reactants and productsarw
- two-element array containing the endpoints of the reaction arrow- Returns:
- the reaction
-
determineArrowDistance
Project the point (x,y,z) to the line of the reaction arrow 'ar'. Return the signed distance of the projected point from the start-point of the arrow divided by the arrow length.- Parameters:
x
- is the x coordinate of the pointy
- is the y coordinate of the pointz
- is the z coordinate of the pointar
- is the reaction arrow- Returns:
- the signed distance of the projected point from the start-point of the arrow divided by the arrow length
-
determineType
Determines whether a point should be in a reactant, in a product or in an agent. -
getReaction
Returns the reaction represented by the given molecule if exists, otherwise null. The corresponding reaction molecule is either the molecule itself or its root structure.- Parameters:
g
- the molecule graph- Returns:
- the corresponding reaction molecule
-
add
Adds an atom to a reactant, product or agent structure. If a neighbour of the atom is in a reactant, product or agent, then adds the atom to that structure. Otherwise creates a new reactant or product.- Overrides:
add
in classMoleculeGraph
- Parameters:
a
- the new atom
-
add
Adds a bond to a reactant, product, agent. If an endpoint of the edge is in a reactant, product or agent, then adds the edge to that structure. -
addComponent
Adds a reactant, product or agent. If atoms in the specified structure are already part of some other reactants, products or agents then removes them from those structures.- Parameters:
m
- the reactant, product or agenttype
-REACTANTS
,PRODUCTS
orAGENTS
- Throws:
IllegalArgumentException
- if m is of a subclass ofMolecule
for which the embedding in an RxnMolecule is not supported
-
addComponent
Adds a reactant, product or agent. If atoms in the specified structure are already part of some other reactants, products or agents then removes them from those structures.- Parameters:
m
- the reactant, product or agenttype
-REACTANTS
,PRODUCTS
orAGENTS
beNew
- m should be a new structure if true- Throws:
IllegalArgumentException
- if m is of a subclass ofMolecule
for which the embedding in an RxnMolecule is not supported
-
addSgroup
Adds an S-group to this object. -
canBeReactionComponent
public boolean canBeReactionComponent()Tests whether an object of this class can be a reaction component. This implementation returnsfalse
, RxnMolecules cannot be embedded in each other.- Overrides:
canBeReactionComponent
in classMolecule
- Returns:
true
if it can be a reactant, product or agent,false
if adding it to anRxnMolecule
is not supported- Since:
- Marvin 4.1.13, 09/19/2007
-
clearForImport
Clear the edges vector and the properties.- Overrides:
clearForImport
in classMolecule
- Parameters:
fmt
- input file format. See the text formats on the File Formats in Marvin page.- See Also:
-
clearObjects
public void clearObjects()Deletes the graphical objects from this.- Specified by:
clearObjects
in interfacechemaxon.struc.MObjectContainer
- Overrides:
clearObjects
in classMolecule
-
clone
Make an identical copy of the reaction structure. Document is not cloned! -
clonecopy
Copies the specified nodes and edges of this graph to another one. The RxnMolecule implementation of this method is incomplete. -
clonecopy
Make another molecule identical to this one. -
clonelesscopy
Deprecated.as of Marvin 6.3.
Not supported feature.Copy to selection. Make another molecule identical to this one, but do not clone atoms, bonds, and the props.- Overrides:
clonelesscopy
in classMolecule
- Parameters:
g
- the target structure
-
cloneMoleculeWithDocument
Description copied from class:Molecule
Makes an identical copy of the molecule and its document. If the molecule does not have a parent, then copies non-molecular data: graphics objects, electron flows, text boxes, atom and bond sets (color, font and thickness). Otherwise (root, rgroup, component molecule) creates a new document.- Overrides:
cloneMoleculeWithDocument
in classMolecule
- Returns:
- the copy
-
contains
Checks if a reactant, agent or product structure contains the specified node. -
contains
Checks if a reactant, agent or product structure contains the specified edge.- Overrides:
contains
in classMoleculeGraph
- Parameters:
edge
- the edge object- Returns:
- true if the graph contains the object, false otherwise
- See Also:
-
determineType
public int determineType(double x, double y, double z) Determines whether a point should be in a reactant, in a product or in an agent. -
fixProperties
public void fixProperties()Description copied from class:MoleculeGraph
Delegates to tracker's fixProperties().- Overrides:
fixProperties
in classMoleculeGraph
-
fuse
Add the atoms and bonds of another molecule.- Overrides:
fuse
in classMoleculeGraph
- Parameters:
graph
- the other moleculecheck
-true
if a containment check should be performed to ensure that only those nodes and edges are added that are not already elements -false
if the graph is known to be disjoint from this graph and this check can be safely skipped- Since:
- Marvin 5.0
-
fuse
Fuse and RxnMolecule to this RxnMolecule. Adds the reactants of the parameter to the reactants, the agents of the parameter to the agents and the products of the parameter to the products.- Since:
- Marvin 6.2, 09/23/2013
-
getAgent
Gets an agent.- Parameters:
i
- agent index- Returns:
- an agent
-
getAgentCount
public int getAgentCount()Gets the number of agents.- Returns:
- the number of agents
-
getAgents
Gets all agents in an array.- Returns:
- the agents
- Since:
- Marvin 5.3
-
getAllFragments
Gets the list of reaction fragments (product, reactant, agent components) that build up this reaction.- Returns:
- the list of fragments (Molecule)
- Since:
- Marvin 5.0, 12/06/2007
- See Also:
-
getAllObjects
- Specified by:
getAllObjects
in interfacechemaxon.struc.MObjectContainer
- Overrides:
getAllObjects
in classMolecule
-
getArrowAsProperty
Gets the properties (type, endpoint coordinates) of the reaction arrow in this reaction.- Returns:
- the properties
-
getAtom
Gets a node.- Overrides:
getAtom
in classMoleculeGraph
- Parameters:
i
- node index- Returns:
- the node object
-
getAtomCount
public int getAtomCount()Returns the number of nodes in the graph union.- Overrides:
getAtomCount
in classMoleculeGraph
- Returns:
- the number of nodes
-
getAtomCount
public int getAtomCount(int atomicNumber) Gets the number of atoms with the given atomic number in the unified molecule graph of the reaction. When atomicNumber is 1, sum includes only explicit Hydrogen atoms (but also D and T isotopes).- Overrides:
getAtomCount
in classMoleculeGraph
- Parameters:
atomicNumber
- atomic number of atoms looked for- Returns:
- number of atoms with the given atomic number
- Since:
- Marvin 5.5, 27/01/2011
-
getAtomIterator
Returns an iterator over the atoms in this molecule in proper sequence.- Overrides:
getAtomIterator
in classMoleculeGraph
- Returns:
- an iterator over the atoms in this molecule in proper sequencer
- Since:
- Marvin 6.2, 2013.09.09.
-
getBond
Gets an edge.- Overrides:
getBond
in classMoleculeGraph
- Parameters:
i
- edge index in the graph union- Returns:
- the edge object
-
getBondCount
public int getBondCount()Gets the number of edges in the graph union.- Overrides:
getBondCount
in classMoleculeGraph
- Returns:
- the number of edges
-
getBondIterator
Returns an iterator over the bonds in this molecule in proper sequence.- Overrides:
getBondIterator
in classMoleculeGraph
- Returns:
- an iterator over the bonds in this molecule in proper sequence
- Since:
- Marvin 6.2, 2013.09.09.
-
getBondTable
Gets the bond table for the graph union. If there is no bond table for the molecule, then create it. btab.elementAt(i, j) will be the index of the bond between atoms i and j, or -1 if there is no bond.- Overrides:
getBondTable
in classMoleculeGraph
- Returns:
- the btab array
- Since:
- Marvin 5.4
-
getCenter
Gets the geometrical center of a reaction component. -
getComponent
Gets a reactant, product or agent.Warning! The
RGROUPED
flag returns anRgMolecule
object having the same atom objects as the original reactant/product/agent. The parent of the atom objects is unchanged (it is the original reactant/product/agent). -
getComponent
Gets a reactant, product or agent.Warning! The
RGROUPED
flag returns anRgMolecule
object having the same atom objects as the original reactant/product/agent. The parent of the atom objects is unchanged (it is the original reactant/product/agent).- Parameters:
id
- the reaction component ID- Returns:
- a reactant, product or agent
- Since:
- Marvin 4.1, 11/19/2005
- See Also:
-
getComponentCount
public int getComponentCount(int type) Gets the number of reactants, products or agents. -
getComponentFlags
public int getComponentFlags(long id) Gets the reaction component type flags from the ID.- Parameters:
id
- the reaction component ID or -1- Returns:
- the reaction component type or -1
- Since:
- Marvin 4.1, 11/19/2005
-
getComponentID
Gets the reaction component ID of an atom.- Parameters:
atom
- the atom- Returns:
- the reaction component ID or -1 if not found
- Since:
- Marvin 4.1, 11/19/2005
-
getComponentID
Gets the reaction component ID of a bond.- Parameters:
bond
- the bond- Returns:
- the reaction component ID or -1 if not found
- Since:
- Marvin 4.1, 11/19/2005
-
getComponentID
Gets the ID of a reaction component.- Parameters:
molecule
- the reaction component- Returns:
- the reaction component ID or -1 if not found
- Since:
- Marvin 4.1, 11/19/2005
-
getComponentIndex
public int getComponentIndex(long id) Gets the reactant, product or agent index from the ID.- Parameters:
id
- the reaction component ID or -1- Returns:
- the reaction component index or -1
- Since:
- Marvin 4.1, 11/19/2005
-
getComponentType
public int getComponentType(long id) Gets the reaction component type from the ID.- Parameters:
id
- the reaction component ID or -1- Returns:
- the reaction component type or -1
- Since:
- Marvin 4.1, 11/19/2005
-
getCtab
public int[][] getCtab()Gets the connection table for the graph union. If there is no connection table for the molecule, then create it. ctab[i][j] will be the index of the jth neighbor of the ith atom.- Overrides:
getCtab
in classMoleculeGraph
- Returns:
- the ctab array
-
getFormula
Gets the molecular formula in Hill order.- Overrides:
getFormula
in classMoleculeGraph
- Returns:
- the formula
-
getGraphUnion
Gets a graph containing all the atoms and bonds.- Overrides:
getGraphUnion
in classMoleculeGraph
- Returns:
- the unified structure
- Since:
- Marvin 3.0, 11/11/2002
- See Also:
-
getItsArrow
Gets the reaction arrow of this reaction. If the arrow is not yet set creates one.- Returns:
- the reaction arrow of this reaction
- Since:
- Marvin 5.0, 12/06/2007
-
getLocalParity
public int getLocalParity(int i) Computes the local parity of an atom of the RxnMolecule instance based on both the coordinates of the neighboring atoms and the stereo information of the bonds to those. The molecule symmetry is not checked, so even an atom with same ligands can have parity. Leaves the imported parity unchanged. Contracted sgroups must be expanded to achieve consistent result.- Overrides:
getLocalParity
in classMoleculeGraph
- Parameters:
i
- the index of the atom whose parity is to be determined- Returns:
- PARITY_ODD or PARITY_EVEN for atoms of odd or even parity, PARITY_EITHER for atoms with wiggly bond 0 for atoms whose parity is unspecified or not known.
- Throws:
SecurityException
- the Parity module cannot be loaded because of security reasons (firewall)- See Also:
-
getMass
public double getMass()Calculates the molecular weight of the molecule. Always returns 0 for reactions- Overrides:
getMass
in classMoleculeGraph
- Returns:
- the molecular weight
-
getMSLogic
@Deprecated(forRemoval=true) @SubjectToRemoval(date=JUL_01_2025) public Map<MRArrow,RxnMolecule> getMSLogic()Deprecated, for removal: This API element is subject to removal in a future version.Multi-step reactions not supported. Method performs no operations.Multi-step reactions not supported. Method always returns null.- Returns:
- returns the hash that stores the mapping.
-
getObjectCount
public int getObjectCount()- Specified by:
getObjectCount
in interfacechemaxon.struc.MObjectContainer
- Overrides:
getObjectCount
in classMolecule
-
getParity
public int getParity(int i) Computes the parity of an atom of the RxnMolecule instance based on both the coordinates of the neighboring atoms and the stereo information of the bonds to those. Leaves the imported parity unchanged.- Overrides:
getParity
in classMoleculeGraph
- Parameters:
i
- the index of the atom whose parity is to be determined- Returns:
- 0 for nonchiral, PARITY_ODD or PARITY_EVEN for atoms of odd or even parity, PARITY_ODD|PARITY_EVEN for atoms whose parity is unspecified or cannot be assigned -as they are defined in MolAtom
- Throws:
SecurityException
- the Parity module cannot be loaded because of security reasons (firewall)- See Also:
-
getProduct
Gets a product.- Parameters:
i
- product index- Returns:
- a product
-
getProductCount
public int getProductCount()Gets the number of products.- Returns:
- the number of products
-
getProducts
Gets all products in an array.- Returns:
- the products
- Since:
- Marvin 5.3
-
getReactant
Gets a reactant.- Parameters:
i
- reactant index- Returns:
- a reactant
-
getReactantCount
public int getReactantCount()Gets the number of reactants.- Returns:
- the number of reactants
-
getReactants
Gets all reactants in an array.- Returns:
- the reactants
- Since:
- Marvin 5.3
-
getReactionArrow
Gets a two-element array containing the endpoints of the reaction arrow.- Returns:
- the arrow
-
getReactionArrow
Gets the reaction arrow of this reaction with the possibility to generate an arrow if the arrow is not yet set.- Parameters:
generate
- if true then arrow is generated in case when the arrow is not yet set.- Returns:
- the arrow of this reaction, null if the arrow is not set and the
generate
parameter was false.
-
getReactionArrowList
Gets the list of the reaction arrows of this reaction.- Returns:
- the list of MRArrow-s
- Since:
- Marvin 5.0
- See Also:
-
getReactionArrowType
public int getReactionArrowType()Gets the reaction arrow type.- Returns:
- the reaction arrow type, REGULAR_SINGLE if no reaction arrow is set.
- Since:
- Marvin 3.5
- See Also:
-
getReactionArrowTypeName
Gets the reaction arrow type name. Used in molecule export.- Returns:
- the reaction arrow type name:
- "DEFAULT" for arrow type RxnMolecule.REGULAR_SINGLE or in case if no reaction arrow is set.
- "RESONANCE" for arrow type RxnMolecule.RESONANCE or RxnMolecule.TWO_HEADED_SINGLE
- "RETROSYNTHETIC" for arrow type RxnMolecule.RETROSYNTHETIC or RxnMolecule.REGULAR_DOUBLE
- "EQUILIBRIUM" for arrow type RxnMolecule.EQUILIBRIUM or RxnMolecule.TWO_HEADED_DOUBLE
- Since:
- Marvin 3.5
-
getType
Checks whether the atoms in the selection are all in reactants, products or agents. -
hasAtomSet
public boolean hasAtomSet()Tests whether the molecule graph has atom sets.- Overrides:
hasAtomSet
in classMolecule
- Returns:
true
if there are atom sets,false
otherwise- Since:
- Marvin 4.0, 03/02/2005
-
hasBondSet
public boolean hasBondSet()Tests whether the molecule graph has atom sets.- Overrides:
hasBondSet
in classMoleculeGraph
- Returns:
true
if there are atom sets,false
otherwise- Since:
- Marvin 4.0, 03/02/2005
-
indexOf
Gets the index of the specified node in the graph union.- Overrides:
indexOf
in classMoleculeGraph
- Parameters:
node
- the node- Returns:
- the index, or -1 if not found
- Since:
- Marvin 2.7
-
indexOf
Gets the index of the specified edge in the graph union.- Overrides:
indexOf
in classMoleculeGraph
- Parameters:
edge
- the edge- Returns:
- the index, or -1 if not found
- Since:
- Marvin 2.7
- See Also:
-
isAtom
Deprecated.As of Marvin 14.7.7, no replacement.
Not supported feature.A reaction molecule cannot represent an atom.- Overrides:
isAtom
in classMoleculeGraph
- Returns:
- false
-
isBond
Deprecated.As of Marvin 14.7.7, no replacement.
Not supported feature.A reaction molecule cannot represent a bond.- Overrides:
isBond
in classMoleculeGraph
- Returns:
- false
-
isEmpty
public boolean isEmpty()Ask if the reaction is empty or not. -
isIncompleteReaction
public boolean isIncompleteReaction()Check whether the reaction is incomplete or not.- Returns:
- true if something is missing, false if it seems to be okay
- Since:
- Marvin 3.5
-
isMergedComponent
Check whether given molecule is reaction component with a set of intentionally merged fragments or not.- Parameters:
m
- the molecule to check- Returns:
- true if merged
-
isQuery
public boolean isQuery()Indicates if the molecule has query features: query atoms or query bonds.- Overrides:
isQuery
in classMoleculeGraph
- Returns:
true
if any of the components has query features- Since:
- Marvin 6.0 26/01/2013
- See Also:
-
isReaction
public boolean isReaction()Checks if the structure represents a reaction or not.- Overrides:
isReaction
in classMolecule
- Returns:
- true
- Since:
- Marvin 3.0
-
isSingleStepReaction
@Deprecated(forRemoval=true) @SubjectToRemoval(date=JUL_01_2025) public boolean isSingleStepReaction()Deprecated, for removal: This API element is subject to removal in a future version.Multi-step reactions not supported. Method always returns true.- Returns:
- true
-
mergeAtoms
@Deprecated(forRemoval=true) @SubjectToRemoval(date=JUL_01_2025) public void mergeAtoms(MolAtom that, MolAtom node) Deprecated, for removal: This API element is subject to removal in a future version.As of Marvin 6.2, useMergeUtil.mergeAtoms(MolAtom, MolAtom, boolean)
instead.Merges bonds of an atom with another atom, then add the atom to the molecule.- Overrides:
mergeAtoms
in classMolecule
- Parameters:
that
- the atomnode
- the other atom
-
mergeComponentParts
public void mergeComponentParts(MoleculeGraph m, int type, boolean isMergeStored) throws IllegalArgumentException Finds those component parts that are contained in the molecule graph m and creates a new component containing all atoms of m, splitting them from the previous merges.- Parameters:
m
- molecule graph that contains atoms of the fragments to mergetype
- type of component parts to merge (only parts of components of the same type can be merged)isMergeStored
- if true then merged component remains merged until not splitted intentionnaly- Throws:
IllegalArgumentException
- See Also:
-
newInstance
Creates a new RxnMolecule object. The dimension and the origin coordinates will be the same as in the original molecule.- Overrides:
newInstance
in classMolecule
- Returns:
- the new reaction
-
rebuildStructures
public void rebuildStructures()For each structure (reactant or product) determines whether it should be a reactant or a product depending on its the relative position to the reaction arrow. Rebuilds the reactant and product vectors accordingly. -
rebuildStructures
Sets the reaction arrow. For each reaction component (reactant or product) determines whether it should be a reactant or a product depending on its the relative position to the reaction arrow. Rebuilds the reactant and product vectors accordingly.- Parameters:
arw
- is the new reaction arrowart
- is the new reaction arrow type
-
recalcReactionArrow
public void recalcReactionArrow()Recalculates the coordinates of the reaction arrow from the reactants and products, forced recalculation. -
regenBonds
public void regenBonds()Regenerate the edge vectors: remove their elements, then put the edge objects from the nodes into it.- Overrides:
regenBonds
in classMoleculeGraph
-
removeAll
public void removeAll()Remove all the atoms and bonds from the root structure, and from all the R-groups. -
removeAllBonds
public void removeAllBonds()Removes all bonds from the reactants, products and agents.- Overrides:
removeAllBonds
in classMolecule
-
removeAtom
public void removeAtom(int iu, int cleanupFlags) Removes an atom from the reactants, products or agents. This method is for internal use only. UseMoleculeGraph.removeAtom(MolAtom)
instead unless you are sure what you are doing.- Overrides:
removeAtom
in classMolecule
- Parameters:
iu
- atom index in the graph unioncleanupFlags
- extra clean-up methods- Since:
- Marvin 3.1
- See Also:
-
removeAtom
Removes an atom from the reactants, products or agents. This method is for internal use only. UseMoleculeGraph.removeAtom(MolAtom)
instead unless you are sure what you are doing.- Overrides:
removeAtom
in classMolecule
- Parameters:
node
- the atomcleanupFlags
- extra clean-up methods- Since:
- Marvin 3.1
- See Also:
-
removeComponent
Removes a reactant, product or agent.Warning! The
RGROUPED
flag returns anRgMolecule
object having the same atom objects as the original reactant/product/agent. The parent of the atom objects is unchanged (it is the original reactant/product/agent). -
removeEmptyComponents
public void removeEmptyComponents()Checks all the componentes and removes those that are empty (node count is zero). -
removeObject
Removes a graphical object from this.- Specified by:
removeObject
in interfacechemaxon.struc.MObjectContainer
- Overrides:
removeObject
in classMolecule
- Parameters:
o
- the graphical object
-
removeReactionArrow
public void removeReactionArrow()Removes the reaction arrow of this reacion. -
replaceBond
@Deprecated(forRemoval=true) @SubjectToRemoval(date=JUL_01_2025) public void replaceBond(MolBond olde, MolBond newe) Deprecated, for removal: This API element is subject to removal in a future version.as of Marvin 6.2, may constructs inconsistentMoleculeGraph
. UseMoleculeGraph.removeBond(MolBond)
for bond removal andadd(MolBond)
for adding a new bond to the molecule.Replaces an edge by another one.- Overrides:
replaceBond
in classMoleculeGraph
- Parameters:
olde
- the old edgenewe
- the new edge- Since:
- Marvin 4.1, 11/24/2005
-
revalidateCoordDependentProps
public void revalidateCoordDependentProps()Revalidate coordinate dependent properties. This method should be called at molecule import, after all atomic coordinates and bonds are parsed.- Overrides:
revalidateCoordDependentProps
in classMoleculeGraph
- Since:
- Marvin 4.1, 08/03/2006
-
selectAllObjects
public void selectAllObjects(boolean s) - Specified by:
selectAllObjects
in interfacechemaxon.struc.MObjectContainer
- Overrides:
selectAllObjects
in classMolecule
-
setAbsStereo
public void setAbsStereo(boolean c) Sets the absolute stereoconfiguration flag for all the structures.- Overrides:
setAbsStereo
in classMoleculeGraph
- Parameters:
c
- the absolute stereoconfiguration flag- See Also:
-
setAtom
Deprecated.As of Marvin 6.2, may constructs inconsistentMoleculeGraph
. UseMoleculeGraph.removeAtom(MolAtom)
andadd(MolAtom)
to modify the structure.Sets the node at the specified index.- Overrides:
setAtom
in classMoleculeGraph
- Parameters:
iu
- node index in the graph unionnode
- new node reference
-
setBond
Deprecated.as of Marvin 6.2, may constructs inconsistentMoleculeGraph
. UseMoleculeGraph.removeBond(MolBond)
for bond removal andadd(MolBond)
for adding a new bond to the molecule.Sets the edge at the specified index.- Overrides:
setBond
in classMoleculeGraph
- Parameters:
iu
- edge index in the graph unionedge
- new node reference
-
setDim
public void setDim(int d) Sets the dimension for all the structures. -
setLocation
Set the origin of the molecule. The MolAtom coordinates are relative to this origin.- Overrides:
setLocation
in classMoleculeGraph
- Parameters:
p
- the origin- See Also:
-
setMSLogic
@Deprecated(forRemoval=true) @SubjectToRemoval(date=JUL_01_2025) public void setMSLogic(Map<MRArrow, RxnMolecule> ms) Deprecated, for removal: This API element is subject to removal in a future version.Multi-step reactions not supported. Method performs no operations.Multi-step reactions not supported. Method performs no operations. Method declaration kept for compatibility reasons.- Parameters:
ms
- mapping store.
-
setReactionArrow
Sets the endpoint coordinates of the reaction arrow. Sets the stored reaction arrow to its calculated value if no argument passed.- Parameters:
points
- endpoint coordinates of the reaction arrow- Throws:
IllegalArgumentException
- if argument contains one point only.
-
setReactionArrow
Sets the reaction arrow. -
setReactionArrow0
Sets the reaction arrow. Sets the stored reaction arrow 'arrowPoints' to its calculated value if no argument passed.- Parameters:
points
- is the new reaction arrow.- Throws:
IllegalArgumentException
- if argument contains one point only.
-
setReactionArrowEndPoints
Sets the endpoints of the reaction arrow in this reaction. If the arrow is not yet set creates one with the given endpoint coordinates.- Parameters:
points
- the endpoint coordinates of the arrow- Since:
- Marvin 5.0, 12/06/2007
-
setReactionArrowType
public void setReactionArrowType(int type) Sets the reaction arrow type.- Parameters:
type
- the reaction arrow type- Since:
- Marvin 3.5
-
setReactionArrowType
Sets the reaction arrow type from type name. Used in molecule import.- Parameters:
name
- the reaction arrow type name- Throws:
IllegalArgumentException
- for invalid type name- Since:
- Marvin 3.5
-
setSgroupParent
Sets or unsets an S-group as a parent of an atom in reactants, products or agents.- Overrides:
setSgroupParent
in classMolecule
- Parameters:
a
- the atomsg
- the S-groupset
- set (true) or unset (false)- Throws:
IllegalArgumentException
- neither reactants, nor products or agents contain the atom- Since:
- Marvin 3.0
-
simplifyIncompleteReactionToMolecule
Simplify a reaction to a molecule if possible. If the reaction is incomplete and it only contains one reactant, one product or one agent, then that object is returned. Otherwise, simplification is impossible andthis
is returned.- Returns:
- a reactant, product, agent or
this
- Since:
- Marvin 4.0
- See Also:
-
simplifyToMolecule
Simplifies this RxnMolecule by moving the atoms and bonds from the reactants, products, and agents to a Molecule. Clears reactans, products, agents.- Returns:
- the simplified molecule
- Since:
- Marvin 5.0
-
sortBondsAccordingTo
Sort edges in the same order as they appear in the specified array.- Overrides:
sortBondsAccordingTo
in classMoleculeGraph
- Parameters:
order
- the array- Since:
- Marvin 3.5, 09/02/2004
-
splitAllDisconnectedComponents
public void splitAllDisconnectedComponents()Replaces all disconnected reaction components by its connected fragments in the structure array.- Since:
- Marvin 5.4, 07/07/2010
- See Also:
-
splitComponentParts
Finds those component parts that are contained in the molecule graph m and creates separate components from the fragments contained in m, splitting them from the previous merges.- Parameters:
m
- molecule graph that contains atoms of the fragments to splittype
- type of component parts to merge (only parts of components of the same type can be merged)- Throws:
IllegalArgumentException
-
splitDisconnectedComponent
public void splitDisconnectedComponent(int type, int index) Replaces a disconnected reaction component by its connected fragments in the structure array. -
splitDisconnectedComponent
public void splitDisconnectedComponent(long id) Replaces a disconnected reaction component by its connected fragments in the structure array.- Parameters:
id
- the reaction component ID- Since:
- Marvin 4.1, 11/19/2005
- See Also:
-
stereoClean
public boolean stereoClean()Reset the wedges of the molecule, based on the actual parity information in 2D remove wedges in 3D. Take care of expanding the molecule if neccessary.- Overrides:
stereoClean
in classMoleculeGraph
- Returns:
- true if succesful
- See Also:
-
toString
Overrides Object.toString() to ease debugging.- Overrides:
toString
in classMoleculeGraph
- Returns:
- a string representation of the object
-
transform
Apply a transformation matrix to the atomic coordinates and the reaction arrow. -
updateComponentRoles
public void updateComponentRoles()Updates fragment roles in the molecule. roles are like: - nodes that are sources only: are REACTANTS - nodes that are sinks only: are PRODUCTS - all other nodes: are AGENTS For single step reactions: if the reaction is stored as single step, does nothing. If the single reaction is stored in the hash, transforms it into a single step one. -
addAtomToFragment
Description copied from class:Molecule
Adds an atom to a fragment. S-groups are added only if all atoms are already in the molecule.- Overrides:
addAtomToFragment
in classMolecule
- Parameters:
a
- the atom reference
-
checkSgroupConsistency
protected void checkSgroupConsistency()Checks the consistency of S-groups.- Overrides:
checkSgroupConsistency
in classMolecule
- Throws:
RuntimeException
- if inconsistency found- Since:
- Marvin 5.0, 11/06/2007
-
createGearch
protected chemaxon.struc.gearch.MoleculeGraphGearch createGearch()- Overrides:
createGearch
in classMolecule
-
fillSelectionMolecule
Adds all atoms and bonds of the root structure and the R-groups to the specified molecule.- Overrides:
fillSelectionMolecule
in classMolecule
- Parameters:
s
- the selection molecule- Since:
- Marvin 3.0, 11/05/2002
-
fuse0
Add those nodes and edges of a graph that are not already elements. If the graph has an atom connected to a reactant or product, then also adds the graph to that structure. Handles one connected component.- Overrides:
fuse0
in classMolecule
- Parameters:
graph
- the structure to fuse into this onecheck
-true
if a containment check should be performed to ensure that only those nodes and edges are added that are not already elements -false
if the graph is known to be disjoint from this graph and this check can be safely skipped- Since:
- Marvin 5.0
-
getSubGraphCount
protected final int getSubGraphCount()Gets the number of all "submolecules".- Overrides:
getSubGraphCount
in classMoleculeGraph
- Returns:
- the number of submolecules
- Since:
- Marvin 4.1.2
- See Also:
-
getSubGraphs
Gets all "submolecules".- Overrides:
getSubGraphs
in classMoleculeGraph
- Parameters:
arr
- the output arrayoff
- offset- Since:
- Marvin 4.1.2
- See Also:
-
isRealAtomParent
protected boolean isRealAtomParent()Reaction molecules cannot be real node parents.- Overrides:
isRealAtomParent
in classMoleculeGraph
- Returns:
- false
- Since:
- Marvin 3.0
-
makeItSimilar
Copies some properties of this molecule to the other one specified as argument. Copies the reaction arrow.- Overrides:
makeItSimilar
in classMolecule
- Parameters:
g
- the molecule to change
-
removeBond
protected void removeBond(int iu, int cleanupFlags) Removes an edge from a reactant, agent or product.- Overrides:
removeBond
in classMolecule
- Parameters:
iu
- edge index in the graph unioncleanupFlags
- extra clean-up methods- Since:
- Marvin 3.1
- See Also:
-
removeBond
Removes a bond from the reactants, products or agents.- Overrides:
removeBond
in classMolecule
- Parameters:
edge
- the edgecleanupFlags
- extra clean-up methods- Since:
- Marvin 3.1
- See Also:
-
setSupergraph
Sets the given molecule as the supergraph of this graph and its components.- Overrides:
setSupergraph
in classMoleculeGraph
- Parameters:
molecule
- the molecule- Since:
- Marvin 14.7.7, Jul 2, 2014
-
transformReactionArrow
Apply a transformation matrix to the reaction arrow.- Parameters:
t
- the transformation matrix
-
Not supported feature.