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, startCalculation
public 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.H1
public NMRSpectrum.Unit getUnit()
NMRSpectrum.Unit.ppm
NMRSpectrum.Unit.ppm
or NMRSpectrum.Unit.Hz
public boolean isCoupled()
public double getFrequency()
public NMRSpectrum calculate(Molecule data) throws chemaxon.license.LicenseException
chemaxon.license.LicenseException
public chemaxon.calculator.CalculatorFormatter getFormatter()
public List<chemaxon.calculator.CalculatorInputValidator.CalculatorError> check(Molecule data)
public String getProductName()
getProductName
in class chemaxon.calculator.ProgressableCalculator<Molecule,NMRSpectrum>