Package chemaxon.marvin.alignment
Class AlignOnPairedAtoms
- java.lang.Object
-
- chemaxon.marvin.alignment.AlignOnPairedAtoms
-
- All Implemented Interfaces:
chemaxon.license.Licensable
@PublicAPI public final class AlignOnPairedAtoms extends Object
Overlays two molecules using the user defined atom pairs
Example:Molecule mRef = null; Molecule m = null; AlignOnPairedAtoms ap = new AlignOnPairedAtoms(); ap.setReferenceMolecule(mRef, false); // reference will be kept rigid ap.setMoleculeToAlign(m, true); // this will be kept flexible // add pairs where you want for (int i = 0; i < m.getAtomCount(); i++) { p.addAtomPair(i, i); } ap.findFirst(); // aligns in the input conformation ap.findNext(); // randomizes the flexible molecules if flexible alignment // selected and aligns. System.out.println("rmsd: " + p.getRmsd()); Molecule result = p.getAlignedWithNewCoordinates();
- Since:
- marvin 5.2.3
-
-
Constructor Summary
Constructors Constructor Description AlignOnPairedAtoms()
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description void
addAtomPair(int atom0, int atom1)
Adds an alignment constraint between the reference and aligned molecule.void
addAtomPair(int atom0, int atom1, double weight)
Adds an alignment constraint between the reference and aligned molecule.double
align()
void
findFirst()
Overlays the molecule to align on the reference using the predefined atom pairs.void
findNext()
Randomizes dihedral angles of the input conformation for flexible molecules and aligns.Molecule
getAlignedWithNewCoordinates()
double[][]
getCoordinatesOfAligned()
double[][]
getCoordinatesOfReference()
double
getMaxGradLimit()
Collection<AlignmentMolecule>
getMolecules()
chemaxon.marvin.alignment.NodeColor
getNodeColor()
AlignmentProperties.NodeType
getNodeType()
Molecule
getReferenceWithNewCoordinates()
double
getRmsd()
int
getStepLimit()
int
getTimeLimit()
boolean
isLicensed()
void
removeAllPairs()
Removes all user defined atom pairs.void
removeMolecules()
void
setAromatize(boolean arg0)
Deprecated.void
setConformerCount(int count)
void
setConvergenceLimit(double converg)
void
setDehidrogenize(boolean arg0)
Deprecated.void
setFlexibleRingRotatableBondCount(int arg0)
void
setFlexibleRingSize(int arg0)
void
setLicenseEnvironment(String arg0)
void
setMolecules(AlignmentMolecule reference, AlignmentMolecule toAlign)
void
setMoleculeToAlign(Molecule m, boolean flexible)
Sets the molecule to align to the reference.void
setNodeType(AlignmentProperties.NodeType arg0)
void
setProgressMonitor(MProgressMonitor arg0)
void
setProperty(AlignmentProperties arg0)
void
setProximity(chemaxon.marvin.alignment.AlignmentProperties.ProximityPotentialType arg0)
void
setReferenceMolecule(Molecule m, boolean flexible)
Sets the reference molecule to align to.void
setStepLimit(int arg0)
void
setTimeLimit(int arg0)
-
-
-
Method Detail
-
removeMolecules
public void removeMolecules()
-
setReferenceMolecule
public void setReferenceMolecule(Molecule m, boolean flexible) throws chemaxon.marvin.alignment.AlignmentException
Sets the reference molecule to align to. All previously added molecules are removed.- Parameters:
m
- reference moleculeflexible
- if true treat this molecule flexible. If false its conformation is frozen.- Throws:
chemaxon.marvin.alignment.AlignmentException
-
setMolecules
public void setMolecules(AlignmentMolecule reference, AlignmentMolecule toAlign)
-
setConformerCount
public void setConformerCount(int count)
-
setMoleculeToAlign
public void setMoleculeToAlign(Molecule m, boolean flexible) throws chemaxon.marvin.alignment.AlignmentException
Sets the molecule to align to the reference.- Parameters:
m
- this molecule will be translated and rotatedflexible
- if true treat this molecule flexible. If false its conformation is frozen.- Throws:
chemaxon.marvin.alignment.AlignmentException
-
getCoordinatesOfReference
public double[][] getCoordinatesOfReference()
-
getCoordinatesOfAligned
public double[][] getCoordinatesOfAligned()
-
getReferenceWithNewCoordinates
public Molecule getReferenceWithNewCoordinates()
-
getAlignedWithNewCoordinates
public Molecule getAlignedWithNewCoordinates()
-
addAtomPair
public void addAtomPair(int atom0, int atom1, double weight) throws chemaxon.marvin.alignment.AlignmentException
Adds an alignment constraint between the reference and aligned molecule. Both molecules must be added beforehand.- Parameters:
atom0
- atom seq starting from 0 from the reference moleculeatom1
- atom seq starting from 0 from the other moleculeweight
- weight of the constraint of this pair- Throws:
chemaxon.marvin.alignment.AlignmentException
- if there is no such atom
-
addAtomPair
public void addAtomPair(int atom0, int atom1) throws chemaxon.marvin.alignment.AlignmentException
Adds an alignment constraint between the reference and aligned molecule. Both molecules must be added beforehand.- Parameters:
atom0
- atom seq starting from 0 from the reference moleculeatom1
- atom seq starting from 0 from the other molecule- Throws:
chemaxon.marvin.alignment.AlignmentException
- if there is no such atom
-
findFirst
public void findFirst() throws chemaxon.marvin.alignment.AlignmentException
Overlays the molecule to align on the reference using the predefined atom pairs.- Throws:
chemaxon.marvin.alignment.AlignmentException
-
findNext
public void findNext() throws chemaxon.marvin.alignment.AlignmentException
Randomizes dihedral angles of the input conformation for flexible molecules and aligns. If only rigid molecules selected does nothing.- Throws:
chemaxon.marvin.alignment.AlignmentException
-
align
public double align()
-
getRmsd
public double getRmsd()
- Returns:
- the root mean square deviation of the current orientation of the two molecules.
-
removeAllPairs
public void removeAllPairs()
Removes all user defined atom pairs.
-
setConvergenceLimit
public void setConvergenceLimit(double converg)
-
setProperty
public void setProperty(AlignmentProperties arg0)
-
getMaxGradLimit
public double getMaxGradLimit()
-
getNodeType
public AlignmentProperties.NodeType getNodeType()
-
getNodeColor
public chemaxon.marvin.alignment.NodeColor getNodeColor()
-
setAromatize
@Deprecated public void setAromatize(boolean arg0)
Deprecated.
-
setDehidrogenize
@Deprecated public void setDehidrogenize(boolean arg0)
Deprecated.
-
setFlexibleRingSize
public void setFlexibleRingSize(int arg0)
-
setFlexibleRingRotatableBondCount
public void setFlexibleRingRotatableBondCount(int arg0)
-
getMolecules
public Collection<AlignmentMolecule> getMolecules()
-
isLicensed
public boolean isLicensed()
- Specified by:
isLicensed
in interfacechemaxon.license.Licensable
-
setLicenseEnvironment
public void setLicenseEnvironment(String arg0)
- Specified by:
setLicenseEnvironment
in interfacechemaxon.license.Licensable
-
getStepLimit
public int getStepLimit()
-
setStepLimit
public void setStepLimit(int arg0)
-
getTimeLimit
public int getTimeLimit()
-
setNodeType
public void setNodeType(AlignmentProperties.NodeType arg0)
-
setTimeLimit
public void setTimeLimit(int arg0)
-
setProgressMonitor
public void setProgressMonitor(MProgressMonitor arg0)
-
setProximity
public void setProximity(chemaxon.marvin.alignment.AlignmentProperties.ProximityPotentialType arg0)
-
-