@PublicAPI public class AtropIsomerDetector extends java.lang.Object implements chemaxon.license.Licensable
Molecule m = MolImporter .importMol("CC(C)[[email protected]@](C)(N(C(=O)C=C)C1=C(I)C=CC=C1)C(O)=O"); AtropIsomerDetector atp = new AtropIsomerDetector(); atp.calculate(m); int[] found = atp.getAtropBonds();
Modifier and Type | Class and Description |
---|---|
static class |
AtropIsomerDetector.Accuracy |
Modifier and Type | Field and Description |
---|---|
static int |
DEFAULT_SAMPLING_ACCURACY
Default for parameter
setSamplingAccuracy(int) . |
Constructor and Description |
---|
AtropIsomerDetector() |
Modifier and Type | Method and Description |
---|---|
void |
calculate(Molecule input)
Run the atropisomer calculation.
|
void |
calculate(Molecule input,
SubProgressObserver progressObserver)
Run the atropisomer calculation.
|
void |
calculate(Molecule input,
SubProgressObserver progressObserver,
DihedralScanListener dihedralScanListener)
Run the atropisomer calculation.
|
int[] |
getAtropBonds()
After the calculate method finished.
|
java.util.List<DihedralScanResult> |
getDihedralScanResults()
Get results of executed dihedral scans.
|
int |
getPossibleRotatableBondCount()
Rotatable bond count before the atrop isomer calculation.
|
int |
getRealRotatableBondCount()
Rotatable bond count (atrop bonds excluded)
|
Molecule |
getResultMolecule()
The result molecule will be 3D and aromatized version of the input molecules.
|
boolean |
isLicensed() |
void |
setBarrierLimit(double barrierLimit)
Set the energy barrier limit.
|
void |
setFlexibleRingRotatableBondCount(int i) |
void |
setFlexibleRingSize(int size) |
void |
setLicenseEnvironment(java.lang.String env) |
void |
setMethylsRotatable(boolean methylsRotatable)
This is a speedup heuristics.
|
void |
setNumberOfAtomsAcceptToRotate(int numberOfAtomsAcceptToRotate)
If only a given number of atoms (or less) can be found at one of the side of the dihedral skip this.
|
void |
setSamplingAccuracy(AtropIsomerDetector.Accuracy accuracy)
Set sampling accuracy.
|
void |
setSamplingAccuracy(int accuracy)
Set sampling accuracy.
|
void |
setTimeoutInSeconds(int timeoutInSeconds)
Set time out.
|
public static final int DEFAULT_SAMPLING_ACCURACY
setSamplingAccuracy(int)
.public AtropIsomerDetector() throws chemaxon.marvin.alignment.AlignmentException
chemaxon.marvin.alignment.AlignmentException
public boolean isLicensed()
isLicensed
in interface chemaxon.license.Licensable
public void setLicenseEnvironment(java.lang.String env)
setLicenseEnvironment
in interface chemaxon.license.Licensable
public void setMethylsRotatable(boolean methylsRotatable)
methylsRotatable
- if true rotate methyl groups too. Default is false.public void setNumberOfAtomsAcceptToRotate(int numberOfAtomsAcceptToRotate)
numberOfAtomsAcceptToRotate
- default is 1.public void setBarrierLimit(double barrierLimit)
barrierLimit
- New energy barrier limit in kcal/mol. default is 200public void setSamplingAccuracy(int accuracy)
accuracy
- Sample count for a full rotation to usepublic void setTimeoutInSeconds(int timeoutInSeconds)
timeoutInSeconds
- Timeout to use or 0
for no timeout.public void setSamplingAccuracy(AtropIsomerDetector.Accuracy accuracy)
accuracy
- Preset value representing sample count for a full rotation to usepublic void setFlexibleRingRotatableBondCount(int i)
public void setFlexibleRingSize(int size)
public void calculate(Molecule input) throws chemaxon.marvin.alignment.AlignmentException
input
- the input moleculeAlignmentException
- Propagatedpublic void calculate(Molecule input, SubProgressObserver progressObserver) throws chemaxon.marvin.alignment.AlignmentException
input
- the input moleculeprogressObserver
- Observer to track progress of dihedral scans. Total work unit count is set to the visited
rotatable bond counts. Note that dihedral scan for a rotatable bond can be skipped depending on the settings.
Note that ProgressObserver.done()
is invoked when execution finished.AlignmentException
- Propagated@Beta public void calculate(Molecule input, SubProgressObserver progressObserver, DihedralScanListener dihedralScanListener) throws chemaxon.marvin.alignment.AlignmentException
input
- the input moleculeprogressObserver
- Observer to track progress of dihedral scans. Total work unit count is set to the visited
rotatable bond counts. Note that dihedral scan for a rotatable bond can be skipped depending on the settings.
Note that ProgressObserver.done()
is invoked when execution finished.dihedralScanListener
- Listener to use or null
Please note that this method is marked with Beta
annotation, so it can be subject of incompatible
changes or removal in any of the later releases.AlignmentException
- Propagatedjava.util.concurrent.CancellationException
- When a specified progressObserver
is cancelled by returning
true
from CancelObserver.isCancelled()
or when timeout occurredpublic int[] getAtropBonds()
@Beta public java.util.List<DihedralScanResult> getDihedralScanResults()
Beta
annotation, so it can be subject of incompatible
changes or removal in any of the later releases.public int getRealRotatableBondCount()
public int getPossibleRotatableBondCount()
public Molecule getResultMolecule()