Package chemaxon.alignment
Class AlignOnPairedAtoms
java.lang.Object
chemaxon.alignment.AlignmentBase
chemaxon.alignment.AlignOnPairedAtoms
- All Implemented Interfaces:
Licensable
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 -
Method Summary
Modifier and TypeMethodDescriptionvoidaddAtomPair(int atom0, int atom1) Adds an alignment constraint between the reference and aligned molecule.voidaddAtomPair(int atom0, int atom1, double weight) Adds an alignment constraint between the reference and aligned molecule.doublealign()voidOverlays the molecule to align on the reference using the predefined atom pairs.voidfindNext()Randomizes dihedral angles of the input conformation for flexible molecules and aligns.double[][]double[][]doublegetRmsd()voidRemoves all user defined atom pairs.voidvoidsetConformerCount(int count) voidsetConvergenceLimit(double converg) voidsetMolecules(AlignmentMolecule reference, AlignmentMolecule toAlign) voidsetMoleculeToAlign(Molecule m, boolean flexible) Sets the molecule to align to the reference.voidsetReferenceMolecule(Molecule m, boolean flexible) Sets the reference molecule to align to.Methods inherited from class chemaxon.alignment.AlignmentBase
getMaxGradLimit, getMolecules, getNodeColor, getNodeType, getStepLimit, getTimeLimit, isLicensed, setFlexibleRingRotatableBondCount, setFlexibleRingSize, setLicenseEnvironment, setNodeType, setProgressMonitor, setProperty, setProximity, setStepLimit, setTimeLimit
-
Constructor Details
-
AlignOnPairedAtoms
public AlignOnPairedAtoms()
-
-
Method Details
-
removeMolecules
public void removeMolecules() -
setReferenceMolecule
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:
AlignmentException
-
setMolecules
-
setConformerCount
public void setConformerCount(int count) -
setMoleculeToAlign
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:
AlignmentException
-
getCoordinatesOfReference
public double[][] getCoordinatesOfReference() -
getCoordinatesOfAligned
public double[][] getCoordinatesOfAligned() -
getReferenceWithNewCoordinates
-
getAlignedWithNewCoordinates
-
addAtomPair
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:
AlignmentException- if there is no such atom
-
addAtomPair
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:
AlignmentException- if there is no such atom
-
findFirst
Overlays the molecule to align on the reference using the predefined atom pairs.- Throws:
AlignmentException
-
findNext
Randomizes dihedral angles of the input conformation for flexible molecules and aligns. If only rigid molecules selected does nothing.- Throws:
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)
-