public class NMRCalculator extends chemaxon.calculator.ProgressableCalculator<Molecule,NMRSpectrum>
// input molecule for 1H NMR prediction
Molecule mol = MolImporter.importMol("c1c(Cl)cccc1C=O");
// instantiate builder
NMRCalculator.Builder builder = new NMRCalculator.Builder();
// settings
builder.setFrequency(400.0);
builder.setUnit(NMRSpectrum.Unit.Hz);
builder.setNucleus(NMRSpectrum.Nucleus.H1);
builder.setCoupled(true);
// instantiate calculator
NMRCalculator nmrCalc = builder.build();
// spectrum calculation
NMRSpectrum spectrum = nmrCalc.calculate(mol);
// explicit hydrogen mode
spectrum.setImplicitHydrogenMode(false);
// multiplets of the NMR spectrum
Multiplet[] multiplets = spectrum.getMultiplets();
for (Multiplet m: multiplets) {
System.out.println(m.getShift()+"\t"+m.getNetIntensity());
for (int i=0; i < m.getNumberOfLines(); i++) {
System.out.println(m.getPosition(i)+"\t"+m.getIntensity(i));
}
}
// exporting the NMR spectrum into JCAMP-DX format
String jcamp = NMRExporter.exportToJcampDX(spectrum);
// exporting the NMR spectrum into Molecule with an NMR property
String propertyName = "1H NMR shifts";
Molecule molWithNMR = NMRExporter.exportToMol(spectrum, propertyName);
API example for 1H NMR:
// input molecule for 13C NMR prediction
Molecule mol = MolImporter.importMol("c1c(Cl)cccc1C=O");
// instantiate NMRCalculator, the default settings are used
NMRCalculator nmrCalc = new NMRCalculator.Builder().build();
// spectrum calculation
NMRSpectrum spectrum = nmrCalc.calculate(mol);
// chemical shifts with atom indexes
Shift[] shifts = spectrum.getShifts();
for (Shift s: shifts) {
System.out.println(s.getAtomIndex()+"\t"+s.getShift());
}
// sampling the NMR spectrum and integrated NMR spectrum functions
double domainMin = spectrum.getDomainMin();
double domainMax = spectrum.getDomainMax();
double resolution = 0.1;
for (double x = domainMin; x <= domainMax; x += resolution) {
System.out.println(x+"\t"+spectrum.getValueAt(x)+"\t"+spectrum.getIntegralValueAt(x));
}
// or exporting the x and y values of the NMR spectrum function directly
double[][] xy = NMRExporter.export(spectrum, domainMin, domainMax, resolution);
| Modifier and Type | Class and Description |
|---|---|
static class |
NMRCalculator.Builder
Builder class for NMRCalculator.
|
| Modifier and Type | Field and Description |
|---|---|
static String |
C_SHIFT_PROP_NAME
Name of the 13C chemical shift atom property.
|
static String |
H_SHIFT_PROP_NAME
Name of the 1H chemical shift atom property.
|
| Modifier and Type | Method and Description |
|---|---|
NMRSpectrum |
calculate(Molecule data)
Calculates NMR spectrum for the given input molecule.
|
List<chemaxon.calculator.CalculatorInputValidator.CalculatorError> |
check(Molecule data) |
chemaxon.calculator.CalculatorFormatter |
getFormatter() |
double |
getFrequency()
Returns NMR measurement frequency.
|
NMRSpectrum.Nucleus |
getNucleus()
Returns the NMR active nucleus.
|
String |
getProductName() |
NMRSpectrum.Unit |
getUnit()
Returns NMR spectrum unit.
|
boolean |
isCoupled()
Coupled/decoupled spectrum.
|
addPropertyChangeListener, addPropertyChangeListener, cancel, cancelCalculation, checkData, checkLicense, finishCalculation, getErrorMessage, isCancelled, isLicensed, isRunning, removePropertyChangeListener, removePropertyChangeListener, sendProgress, setLicenseEnvironment, startCalculationpublic static final String C_SHIFT_PROP_NAME
public static final String H_SHIFT_PROP_NAME
public NMRSpectrum.Nucleus getNucleus()
NMRSpectrum.Nucleus.C13.NMRSpectrum.Nucleus.C13 or NMRSpectrum.Nucleus.H1public NMRSpectrum.Unit getUnit()
NMRSpectrum.Unit.ppmNMRSpectrum.Unit.ppm or NMRSpectrum.Unit.Hzpublic boolean isCoupled()
public double getFrequency()
public NMRSpectrum calculate(Molecule data) throws chemaxon.license.LicenseException
chemaxon.license.LicenseExceptionpublic chemaxon.calculator.CalculatorFormatter getFormatter()
public List<chemaxon.calculator.CalculatorInputValidator.CalculatorError> check(Molecule data)
public String getProductName()
getProductName in class chemaxon.calculator.ProgressableCalculator<Molecule,NMRSpectrum>