Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

thinking ... #15

Open
lpatiny opened this issue Oct 7, 2016 · 0 comments
Open

thinking ... #15

lpatiny opened this issue Oct 7, 2016 · 0 comments
Assignees

Comments

@lpatiny
Copy link
Member

lpatiny commented Oct 7, 2016

SD.NMR.fromXY([[xxxxxx],[yyyyyyy]] | {x:[], y:[]} | [yyyyyyyyy],
    {
        frequency: 400,
        nucleus: '1H',
        from: 0,
        to: 10
    }).then(function() {
});


nmrSpectrum.setTotalIntegral(20);
nmrSpectrum.totalIntegral;
// if it has been set return the totalIntegral otherwise check molfile otherwise
// throw errors


// self learning




SD.fromJcamp(url).then( function(spectrum) {
    spectrum.autoPeakPicking(options); // store the ranges in the spectrum
    // by default we don't replace ranges. options.force

    spectrum.setRanges();   
    spectrum.toACS(options); // throw error if no ranges

    spectrum.toAnnotations(options);

    spectrum.setMolfile(molfile);

    spectrum.autoAssignment(options); // throw error is no molfile or no ranges
});

SD.fromJcamp(url).then( function(spectrum2d) {
    spectrum2d.autoPeakPicking(options); // store the ranges in the spectrum
    // by default we don't replace ranges. options.force

    spectrum.setZones();    
    spectrum.linkRangesF1();
    spectrum.linkRangesF2();

    spectrum.toAnnotations(options);
    spectrum.toACS(); -> toACS or rangesF1 + toACS of rangesF2 if different

    spectrum.setMolfile(molfile);

    spectrum.autoAssignment(options); // throw error is no molfile or no ranges
});


var spectrum=new SD.NMR({
    nucleus: '1h',
    frequency: 400,
    from: 0,
    to: 10,
    nbPoints: 32768
});
spectrum.setMolfile();
spectrum.predict();
spectrum.fromACS('1H NMR (CDCl3): ? = 0.84 (3 H, t, J = 7.4 Hz, CH3), 0.94 (3 H, t, J = 7.4 Hz, CH3), 1.23 [6 H, q, J = 6.9 Hz, P(O)OCH2CH3], 1.51 (4 H, m, CH2), 2.20 (1 H, sextet, J = 6.6 Hz, CH), 3.80 (3 H, s, OCH3), 4.01 [4 H, m, P(O)OCH2CH3], 4.63 (1 H, d, JH,P = 17.1 Hz, NCHP), 6.88 (2 H, d, J = 8.6 Hz, CH), 7.46 (2 H, dd, J = 8.6 Hz, JH,P = 2.3 Hz, CH), 7.56 (1 H, dd, J = 6.6 Hz, JH,P = 4.6 Hz, HC=N)');
spectrum.toJcamp();
spectrum.toXY(); // returns {x:[], y:[]};



// options: autopeakpicking + get rid of the spectra
SD.Stack.fromJcamps(urls, options).then( function(spectra) {

    spectra.autoPeakPicking();
    spectra.forEach( function(spectrum) {
        spectrum.autoPeakPicking();
    });

    spectra.getRanges();
    return spectra.map( spectrum => spectrum.getRanges() );

    spectra.validatePeakPicking();

    spectra.autoAssign();

    get molfile = function() {
        if (spectra.molfile) return spectra.molfile;
        for (var spectrum in spectra) {
            if (spectrum.molfile) return spectrum.molfile;
        }
        // should create the molecule (openchemlib extended)
    }
});


toACS should yield something like:
<sup>1</sup>H NMR (400 MHz, CDCl<sub>3</sub>) δ 
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants