Class NMRCalculator

java.lang.Object
chemaxon.calculator.ProgressableCalculator<Molecule,NMRSpectrum>
chemaxon.calculations.nmr.NMRCalculator
All Implemented Interfaces:
chemaxon.calculator.Calculator<Molecule,NMRSpectrum>, chemaxon.license.Licensable

@PublicAPI public class NMRCalculator extends chemaxon.calculator.ProgressableCalculator<Molecule,NMRSpectrum>
Class for NMR spectrum calculation. API example for 1H NMR:
        // 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);
 
Since:
5.8
  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Class
    Description
    static class 
    Builder class for NMRCalculator.

    Nested classes/interfaces inherited from class chemaxon.calculator.ProgressableCalculator

    chemaxon.calculator.ProgressableCalculator.CalculatorMProgressMonitor
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final String
    Name of the 13C chemical shift atom property.
    static final String
    Name of the 1H chemical shift atom property.

    Fields inherited from class chemaxon.calculator.ProgressableCalculator

    cancelled, licenseEnvironment, PROGRESS, running, RUNNING
  • Method Summary

    Modifier and Type
    Method
    Description
    Calculates NMR spectrum for the given input molecule.
     
    chemaxon.calculator.CalculatorFormatter
     
    double
    Returns NMR measurement frequency.
    Returns the NMR active nucleus.
     
    Returns NMR spectrum unit.
    boolean
    Coupled/decoupled spectrum.

    Methods inherited from class chemaxon.calculator.ProgressableCalculator

    addPropertyChangeListener, addPropertyChangeListener, cancel, cancelCalculation, checkData, checkLicense, finishCalculation, getErrorMessage, isCancelled, isLicensed, isRunning, removePropertyChangeListener, removePropertyChangeListener, sendProgress, setLicenseEnvironment, startCalculation

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait