|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectchemaxon.marvin.alignment.Alignment
public class Alignment
3D Alignment aligns two or more 3D molecules onto each other.
The conformation of all molecules can be kept flexible so as to maximize the molecular overlap
or also the input conformation of some of the molecules can be frozen.
Alignment tries to maximize the overlap of atoms of the same type of different molecules.
Example source
Molecule[] mols = new Molecule[2]; mols[0] = MolImporter.importMol("CCCCC"); mols[1] = MolImporter.importMol("CCCCCCC"); mols[0].aromatize(); mols[1].aromatize(); mols[0].clean(3, null); mols[1].clean(3, null); Alignment aa = new Alignment(); aa.addMolecule(mols[0], false, false); // adds a molecule no roatation / no conformational flexibility aa.addMolecule(mols[1], true, true); // adds a molecule with roatation/ with conformational flexibility aa.addUserConstraint(0, 3, 1, 4); // optional: add user constraint between atoms of two different molecules. Any constraint can be added aa.align(); Molecule result = aa.getMoleculeWithAlignedCoordinates(); double tanimoto = aa.tanimoto();
Constructor Summary | |
---|---|
Alignment()
|
|
Alignment(AlignmentProperties props)
|
Method Summary | |
---|---|
void |
addConstraintsFromUserMappedAtoms()
An atomMap can be added to some of the atoms in MarvinSketch using the single reaction arrow. |
void |
addMolecule(Molecule m,
boolean flexible,
boolean enableTranslateAndRotate)
Add molecule to align |
void |
addNodeColorWeight(int t1,
int t2,
double w)
User may define extra weights between colors defined at setColoringScheme. |
void |
addUserConstraint(int molSeq0,
int atomSeq0,
int molSeq1,
int atomSeq1)
Adds user constraint between two atoms of two different molecules The addMol method calls must precede this method. |
void |
align()
3D alignment on two or more molecules. |
Molecule |
getAlignedMoleculesAsFragments()
|
java.util.Collection<AlignmentMolecule> |
getMolecules()
|
Molecule |
getMoleculeWithAlignedCoordinates(int molID)
After the alignment result molecule can be obtained. |
chemaxon.marvin.alignment.NodeColor |
getNodeColor()
|
AlignmentProperties.NodeType |
getNodeType()
|
AlignmentProperties.OrientationType |
getOrientationType()
|
double |
getRmsd()
|
chemaxon.marvin.alignment.Status |
getStatus()
|
int |
getStepLimit()
|
int |
getTimeLimit()
|
double |
getVolumeScore()
|
boolean |
isLicensed()
Returns information about the licensing of the product. |
static Molecule |
randomizeRotatableDihedrals(Molecule m)
|
void |
removeAllConstraints()
|
void |
removeAllMolecules()
before every new alignment the molecules have to be removed. |
void |
setAromatize(boolean aromatize)
|
void |
setColoringScheme(AlignmentProperties.ColoringScheme c)
|
void |
setConformerCount(int conformerCount)
The the dihedral angles of every flexible molecule should be randomized before alignment. |
void |
setDefaultNodeWeightBehavior(AlignmentProperties.ColorNotSpecifiedCase n)
|
void |
setDehidrogenize(boolean hy)
|
void |
setFlexibleRingRotatableBondCount(int b)
|
void |
setFlexibleRingSize(int s)
|
void |
setLicenseEnvironment(java.lang.String env)
Every license can have a modifier environment that's typically an integration environment. |
void |
setMinimumCommonSize(int minimumCommonSize)
Before the real volume like alignment a several prealign step is optionally called. |
void |
setMode(AlignmentAccuracyMode mode)
|
void |
setNodeType(AlignmentProperties.NodeType t)
|
void |
setOrientationType(AlignmentProperties.OrientationType orientationType)
|
void |
setProgressMonitor(chemaxon.common.util.MProgressMonitor progressMonitor)
|
void |
setProperty(AlignmentProperties props)
|
void |
setProximity(chemaxon.marvin.alignment.AlignmentProperties.ProximityPotentialType pot)
|
void |
setStepLimit(int stepLimit)
|
void |
setTimeLimit(int timeLimit)
Sets the maximum time used for the alignment. |
double |
tanimoto()
Calculates the atomic colored volume Tanimoto similarity of two 3D molecules. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public Alignment()
public Alignment(AlignmentProperties props)
Method Detail |
---|
public Molecule getMoleculeWithAlignedCoordinates(int molID)
molID
- input sequence / Which molecule to return.
public void setMode(AlignmentAccuracyMode mode)
public Molecule getAlignedMoleculesAsFragments()
public AlignmentProperties.OrientationType getOrientationType()
public final void setProperty(AlignmentProperties props)
public void setConformerCount(int conformerCount)
conformerCount
- number of randomized conformations to try to alignpublic static Molecule randomizeRotatableDihedrals(Molecule m)
public void setColoringScheme(AlignmentProperties.ColoringScheme c)
public void addNodeColorWeight(int t1, int t2, double w)
t1
- color 1 (Atomtype)t2
- color 2 (Atomtype)w
- weightpublic void setDefaultNodeWeightBehavior(AlignmentProperties.ColorNotSpecifiedCase n)
public void setOrientationType(AlignmentProperties.OrientationType orientationType)
public void removeAllConstraints()
public void removeAllMolecules()
public void addMolecule(Molecule m, boolean flexible, boolean enableTranslateAndRotate) throws chemaxon.marvin.alignment.AlignmentException
m
- Molecule to alignflexible
- if "false" the molecule kept rigid. If "true" the
rotatable bonds are rotated to achieve the best alignment.enableTranslateAndRotate
- Turn translation and rotation on if true. If false molecule is frozen.
chemaxon.marvin.alignment.AlignmentException
public void addUserConstraint(int molSeq0, int atomSeq0, int molSeq1, int atomSeq1) throws chemaxon.marvin.alignment.AlignmentException
molSeq0
- atomSeq0
- molSeq1
- atomSeq1
-
chemaxon.marvin.alignment.AlignmentException
- if there is no such atom or molecule.public double tanimoto() throws chemaxon.marvin.alignment.AlignmentException
chemaxon.marvin.alignment.AlignmentException
public chemaxon.marvin.alignment.Status getStatus()
public void align() throws chemaxon.marvin.alignment.AlignmentException
chemaxon.marvin.alignment.AlignmentException
- if there is an error with the molecule: not 3d or multi-fragment.public double getVolumeScore()
public double getRmsd()
public void addConstraintsFromUserMappedAtoms() throws chemaxon.marvin.alignment.AlignmentException
chemaxon.marvin.alignment.AlignmentException
public void setMinimumCommonSize(int minimumCommonSize)
minimumCommonSize
- if > 0 consider atom/atom pairings from mcs algorithm also.
Number of common atoms in mcs to try to align on.public AlignmentProperties.NodeType getNodeType()
public chemaxon.marvin.alignment.NodeColor getNodeColor()
public void setAromatize(boolean aromatize)
public void setDehidrogenize(boolean hy)
public void setFlexibleRingSize(int s)
public void setFlexibleRingRotatableBondCount(int b)
public java.util.Collection<AlignmentMolecule> getMolecules()
public boolean isLicensed()
chemaxon.license.Licensable
return LicenseHandler.isLicensed( LicenseHandler.MY_IDENTIFIER, licenseEnvironment );
isLicensed
in interface chemaxon.license.Licensable
public void setLicenseEnvironment(java.lang.String env)
chemaxon.license.Licensable
private String licenseEnvironment = ""; public void setLicenseEnvironment(String env) { licenseEnvironment = env; }
setLicenseEnvironment
in interface chemaxon.license.Licensable
env
- environment String to be stored and passed to the LicenseHandler in the isLicensed methodpublic int getStepLimit()
public void setStepLimit(int stepLimit)
public int getTimeLimit()
public void setNodeType(AlignmentProperties.NodeType t)
public void setTimeLimit(int timeLimit)
timeLimit
- time limit in millisecond. if -1 then disabled.public void setProgressMonitor(chemaxon.common.util.MProgressMonitor progressMonitor)
public void setProximity(chemaxon.marvin.alignment.AlignmentProperties.ProximityPotentialType pot)
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |