nmr-processing 8.7.2 → 9.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/peaks/peakToXY.d.ts +3 -3
- package/lib/peaks/peakToXY.js +1 -1
- package/lib/peaks/peakToXY.js.map +1 -1
- package/lib/peaks/peaksToRanges.d.ts +1 -1
- package/lib/peaks/peaksToRanges.js +14 -16
- package/lib/peaks/peaksToRanges.js.map +1 -1
- package/lib/peaks/peaksToXY.d.ts +21 -2
- package/lib/peaks/peaksToXY.js +22 -5
- package/lib/peaks/peaksToXY.js.map +1 -1
- package/lib/peaks/util/convertWidth.d.ts +14 -0
- package/lib/peaks/util/convertWidth.js +34 -0
- package/lib/peaks/util/convertWidth.js.map +1 -0
- package/lib/peaks/util/convertWidthToHz.d.ts +4 -0
- package/lib/peaks/util/convertWidthToHz.js +9 -0
- package/lib/peaks/util/convertWidthToHz.js.map +1 -0
- package/lib/peaks/util/convertWidthToPPM.d.ts +3 -0
- package/lib/peaks/util/convertWidthToPPM.js +9 -0
- package/lib/peaks/util/convertWidthToPPM.js.map +1 -0
- package/lib/{peaks/util → ranges/utils}/joinRanges.d.ts +0 -0
- package/lib/{peaks/util → ranges/utils}/joinRanges.js +0 -0
- package/lib/ranges/utils/joinRanges.js.map +1 -0
- package/lib/{peaks/util → signals/utils}/jAnalyzer.d.ts +1 -1
- package/lib/{peaks/util → signals/utils}/jAnalyzer.js +2 -1
- package/lib/signals/utils/jAnalyzer.js.map +1 -0
- package/lib/xy/xyAutoPeaksPicking.d.ts +9 -1
- package/lib/xy/xyAutoPeaksPicking.js +9 -8
- package/lib/xy/xyAutoPeaksPicking.js.map +1 -1
- package/lib/xy/xyAutoRangesPicking.d.ts +2 -2
- package/lib/xy/xyAutoRangesPicking.js +1 -1
- package/lib/xy/xyAutoRangesPicking.js.map +1 -1
- package/lib/xy/xyPeaksOptimization.d.ts +7 -1
- package/lib/xy/xyPeaksOptimization.js +9 -1
- package/lib/xy/xyPeaksOptimization.js.map +1 -1
- package/lib/xyz/xyzJResAnalyzer.d.ts +1 -1
- package/lib/xyz/xyzJResAnalyzer.js +3 -2
- package/lib/xyz/xyzJResAnalyzer.js.map +1 -1
- package/lib-esm/peaks/peakToXY.js +1 -1
- package/lib-esm/peaks/peakToXY.js.map +1 -1
- package/lib-esm/peaks/peaksToRanges.js +14 -16
- package/lib-esm/peaks/peaksToRanges.js.map +1 -1
- package/lib-esm/peaks/peaksToXY.js +22 -5
- package/lib-esm/peaks/peaksToXY.js.map +1 -1
- package/lib-esm/peaks/util/convertWidth.js +30 -0
- package/lib-esm/peaks/util/convertWidth.js.map +1 -0
- package/lib-esm/peaks/util/convertWidthToHz.js +5 -0
- package/lib-esm/peaks/util/convertWidthToHz.js.map +1 -0
- package/lib-esm/peaks/util/convertWidthToPPM.js +5 -0
- package/lib-esm/peaks/util/convertWidthToPPM.js.map +1 -0
- package/lib-esm/{peaks/util → ranges/utils}/joinRanges.js +0 -0
- package/lib-esm/ranges/utils/joinRanges.js.map +1 -0
- package/lib-esm/{peaks/util → signals/utils}/jAnalyzer.js +2 -1
- package/lib-esm/signals/utils/jAnalyzer.js.map +1 -0
- package/lib-esm/xy/xyAutoPeaksPicking.js +9 -8
- package/lib-esm/xy/xyAutoPeaksPicking.js.map +1 -1
- package/lib-esm/xy/xyAutoRangesPicking.js +1 -1
- package/lib-esm/xy/xyAutoRangesPicking.js.map +1 -1
- package/lib-esm/xy/xyPeaksOptimization.js +9 -1
- package/lib-esm/xy/xyPeaksOptimization.js.map +1 -1
- package/lib-esm/xyz/xyzJResAnalyzer.js +3 -2
- package/lib-esm/xyz/xyzJResAnalyzer.js.map +1 -1
- package/package.json +2 -2
- package/src/peaks/peakToXY.ts +3 -5
- package/src/peaks/peaksToRanges.ts +15 -19
- package/src/peaks/peaksToXY.ts +53 -6
- package/src/peaks/util/convertWidth.ts +47 -0
- package/src/peaks/util/convertWidthToHz.ts +9 -0
- package/src/peaks/util/convertWidthToPPM.ts +8 -0
- package/src/ranges/markSolventSignal.ts +1 -1
- package/src/{peaks/util → ranges/utils}/joinRanges.ts +0 -0
- package/src/{peaks/util → signals/utils}/jAnalyzer.ts +3 -2
- package/src/xy/xyAutoPeaksPicking.ts +23 -10
- package/src/xy/xyAutoRangesPicking.ts +2 -2
- package/src/xy/xyPeaksOptimization.ts +17 -2
- package/src/xyz/xyzJResAnalyzer.ts +4 -3
- package/lib/peaks/util/jAnalyzer.js.map +0 -1
- package/lib/peaks/util/joinRanges.js.map +0 -1
- package/lib-esm/peaks/util/jAnalyzer.js.map +0 -1
- package/lib-esm/peaks/util/joinRanges.js.map +0 -1
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import type { DataXY } from 'cheminfo-types';
|
|
2
2
|
import { xyIntegration } from 'ml-spectra-processing';
|
|
3
3
|
|
|
4
|
+
import { joinRanges } from '../ranges/utils/joinRanges';
|
|
4
5
|
import type { NMRSignal1D } from '../signals/NMRSignal1D';
|
|
6
|
+
import jAnalyzer from '../signals/utils/jAnalyzer';
|
|
7
|
+
import type { SignalIntern, Peak1DIntern } from '../signals/utils/jAnalyzer';
|
|
5
8
|
import type { MakeMandatory } from '../utilities/MakeMandatory';
|
|
6
9
|
import type { NMRRange } from '../xy/NMRRange';
|
|
7
10
|
|
|
8
11
|
import type { NMRPeak1D } from './NMRPeak1D';
|
|
9
|
-
import jAnalyzer from './util/jAnalyzer';
|
|
10
|
-
import type { SignalIntern, Peak1DIntern } from './util/jAnalyzer';
|
|
11
|
-
import { joinRanges } from './util/joinRanges';
|
|
12
12
|
|
|
13
13
|
export interface OptionsPeaksToRanges {
|
|
14
14
|
/**
|
|
@@ -93,13 +93,13 @@ const assignSignal = (
|
|
|
93
93
|
delta: NaN,
|
|
94
94
|
nbPeaks: 1,
|
|
95
95
|
kind: 'signal',
|
|
96
|
-
startX: peak.x - peak.width,
|
|
97
|
-
stopX: peak.x + peak.width,
|
|
96
|
+
startX: peak.x - peak.width / frequency,
|
|
97
|
+
stopX: peak.x + peak.width / frequency,
|
|
98
98
|
observe: frequency,
|
|
99
99
|
nucleus,
|
|
100
100
|
integralData: {
|
|
101
|
-
from: peak.x - peak.width * 3,
|
|
102
|
-
to: peak.x + peak.width * 3,
|
|
101
|
+
from: peak.x - (peak.width * 3) / frequency,
|
|
102
|
+
to: peak.x + (peak.width * 3) / frequency,
|
|
103
103
|
value: 0,
|
|
104
104
|
},
|
|
105
105
|
peaks: [
|
|
@@ -148,7 +148,6 @@ export function peaksToRanges(
|
|
|
148
148
|
}
|
|
149
149
|
|
|
150
150
|
let signals = detectSignals(data, peakList, signalOptions);
|
|
151
|
-
|
|
152
151
|
if (clean) {
|
|
153
152
|
for (let i = 0; i < signals.length; i++) {
|
|
154
153
|
if (Math.abs(signals[i].integralData.value) < clean) {
|
|
@@ -173,7 +172,7 @@ export function peaksToRanges(
|
|
|
173
172
|
sum = 0;
|
|
174
173
|
let peaksO = [];
|
|
175
174
|
for (let j = signal.maskPattern.length - 1; j >= 0; j--) {
|
|
176
|
-
sum += computeArea(signal.peaks[j]);
|
|
175
|
+
sum += computeArea(signal.peaks[j], frequency);
|
|
177
176
|
if (!signal.maskPattern[j]) {
|
|
178
177
|
let peakR = signal.peaks.splice(j, 1)[0];
|
|
179
178
|
peaksO.push({
|
|
@@ -185,7 +184,7 @@ export function peaksToRanges(
|
|
|
185
184
|
signal.mask2.splice(j, 1);
|
|
186
185
|
signal.maskPattern.splice(j, 1);
|
|
187
186
|
signal.nbPeaks--;
|
|
188
|
-
nHi += computeArea(peakR);
|
|
187
|
+
nHi += computeArea(peakR, frequency);
|
|
189
188
|
}
|
|
190
189
|
}
|
|
191
190
|
if (peaksO.length > 0) {
|
|
@@ -229,7 +228,6 @@ export function peaksToRanges(
|
|
|
229
228
|
}
|
|
230
229
|
}
|
|
231
230
|
}
|
|
232
|
-
|
|
233
231
|
let ranges: NMRRange[] = [];
|
|
234
232
|
for (let i = 0; i < signals.length; i++) {
|
|
235
233
|
let signal = signals[i];
|
|
@@ -306,7 +304,7 @@ export function detectSignals(
|
|
|
306
304
|
if (peak.kind) signal1D.kind = peak.kind;
|
|
307
305
|
signals.push(signal1D);
|
|
308
306
|
} else {
|
|
309
|
-
let tmp = peak.x + peak.width;
|
|
307
|
+
let tmp = peak.x + peak.width / frequency;
|
|
310
308
|
signal1D.stopX = Math.max(signal1D.stopX, tmp);
|
|
311
309
|
signal1D.startX = Math.min(signal1D.startX, tmp);
|
|
312
310
|
signal1D.nbPeaks++;
|
|
@@ -317,11 +315,11 @@ export function detectSignals(
|
|
|
317
315
|
});
|
|
318
316
|
signal1D.integralData.from = Math.min(
|
|
319
317
|
signal1D.integralData.from,
|
|
320
|
-
peak.x - peak.width * 3,
|
|
318
|
+
peak.x - (peak.width * 3) / frequency,
|
|
321
319
|
);
|
|
322
320
|
signal1D.integralData.to = Math.max(
|
|
323
321
|
signal1D.integralData.to,
|
|
324
|
-
peak.x + peak.width * 3,
|
|
322
|
+
peak.x + (peak.width * 3) / frequency,
|
|
325
323
|
);
|
|
326
324
|
if (peak.kind) signal1D.kind = peak.kind;
|
|
327
325
|
}
|
|
@@ -334,7 +332,7 @@ export function detectSignals(
|
|
|
334
332
|
let integralPeaks = 0;
|
|
335
333
|
|
|
336
334
|
for (const peak of peaks) {
|
|
337
|
-
let area = computeArea(peak);
|
|
335
|
+
let area = computeArea(peak, frequency);
|
|
338
336
|
chemicalShift += peak.x * area;
|
|
339
337
|
integralPeaks += area;
|
|
340
338
|
}
|
|
@@ -364,10 +362,8 @@ export function detectSignals(
|
|
|
364
362
|
|
|
365
363
|
/**
|
|
366
364
|
* Return the area of a Lorentzian function
|
|
367
|
-
* @param {object} peak - object with peak information
|
|
368
|
-
* @return {Number}
|
|
369
365
|
* @private
|
|
370
366
|
*/
|
|
371
|
-
function computeArea(peak: Peak1DIntern) {
|
|
372
|
-
return Math.abs(peak.intensity * peak.width * 1.57); // todo add an option with this value: 1.772453851
|
|
367
|
+
function computeArea(peak: Peak1DIntern, frequency: number) {
|
|
368
|
+
return Math.abs(((peak.intensity * peak.width) / frequency) * 1.57); // todo add an option with this value: 1.772453851
|
|
373
369
|
}
|
package/src/peaks/peaksToXY.ts
CHANGED
|
@@ -1,14 +1,61 @@
|
|
|
1
|
-
import { PeakXYWidth } from 'cheminfo-types';
|
|
2
1
|
import { generateSpectrum, OptionsSG1D } from 'spectrum-generator';
|
|
3
2
|
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
3
|
+
import { NMRPeak1D } from './NMRPeak1D';
|
|
4
|
+
import { convertWidthToPPM } from './util/convertWidthToPPM';
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Convert an array of peaks assuming that width/fwhm is in Hz
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
export interface PeaksToXYOptions extends OptionsSG1D {
|
|
11
|
+
/**
|
|
12
|
+
* First x value (inclusive).
|
|
13
|
+
* @default `firstPeak.x + firstPeak.width * 3`
|
|
14
|
+
*/
|
|
15
|
+
from?: number;
|
|
16
|
+
/**
|
|
17
|
+
* Last x value (inclusive).
|
|
18
|
+
* @default `lastPeak.x + lastPeak.width * 3`
|
|
19
|
+
*/
|
|
20
|
+
to?: number;
|
|
21
|
+
/**
|
|
22
|
+
* frequency of the spectrum
|
|
23
|
+
*/
|
|
24
|
+
frequency: number;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
export function peaksToXY(peaks: NMRPeak1D[], options: PeaksToXYOptions) {
|
|
28
|
+
const { frequency, nbPoints = 1024, shape } = options;
|
|
29
|
+
const newPeaks = convertWidthToPPM(peaks, { frequency });
|
|
30
|
+
|
|
31
|
+
return generateSpectrum(newPeaks, {
|
|
7
32
|
generator: {
|
|
8
|
-
|
|
9
|
-
to,
|
|
33
|
+
...getFromTo(newPeaks, options),
|
|
10
34
|
nbPoints,
|
|
11
35
|
shape,
|
|
12
36
|
},
|
|
13
37
|
});
|
|
14
38
|
}
|
|
39
|
+
|
|
40
|
+
function getFromTo(newPeaks: NMRPeak1D[], options: PeaksToXYOptions) {
|
|
41
|
+
if ('to' in options && 'from' in options) {
|
|
42
|
+
return {
|
|
43
|
+
from: options.from,
|
|
44
|
+
to: options.to,
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
newPeaks.sort((a, b) => a.x - b.x);
|
|
49
|
+
const firstPeak = newPeaks[0];
|
|
50
|
+
const lastPeak = newPeaks[newPeaks.length - 1];
|
|
51
|
+
|
|
52
|
+
const {
|
|
53
|
+
from = firstPeak.x - firstPeak.width * 2,
|
|
54
|
+
to = lastPeak.x + lastPeak.width * 2,
|
|
55
|
+
} = options;
|
|
56
|
+
|
|
57
|
+
return {
|
|
58
|
+
from,
|
|
59
|
+
to,
|
|
60
|
+
};
|
|
61
|
+
}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { MakeMandatory } from '../../utilities/MakeMandatory';
|
|
2
|
+
import { NMRPeak1D } from '../NMRPeak1D';
|
|
3
|
+
|
|
4
|
+
export type NMRPeak1DWithShape = MakeMandatory<NMRPeak1D, 'shape'>;
|
|
5
|
+
|
|
6
|
+
export interface ConvertWidthOptions {
|
|
7
|
+
convertTo: string & { _kind?: 'hz' | 'ppm' };
|
|
8
|
+
frequency: number;
|
|
9
|
+
output?: NMRPeak1D[];
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* convert width and fwhm to ppm
|
|
13
|
+
*/
|
|
14
|
+
export function convertWidth(peaks: NMRPeak1D[], options: ConvertWidthOptions) {
|
|
15
|
+
const {
|
|
16
|
+
frequency,
|
|
17
|
+
convertTo,
|
|
18
|
+
output = JSON.parse(JSON.stringify(peaks)),
|
|
19
|
+
} = options;
|
|
20
|
+
|
|
21
|
+
const convert = getConverter(convertTo, frequency);
|
|
22
|
+
|
|
23
|
+
for (const peak of output) {
|
|
24
|
+
peak.width = convert(peak.width);
|
|
25
|
+
if (hasShape(peak)) {
|
|
26
|
+
if (peak.shape.fwhm) {
|
|
27
|
+
peak.shape.fwhm = convert(peak.shape.fwhm);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
return output;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
function hasShape(peak: NMRPeak1D): peak is NMRPeak1DWithShape {
|
|
35
|
+
return 'shape' in peak;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
function getConverter(convertTo: string, frequency: number) {
|
|
39
|
+
switch (convertTo) {
|
|
40
|
+
case 'ppm':
|
|
41
|
+
return (x: number) => x / frequency;
|
|
42
|
+
case 'hz':
|
|
43
|
+
return (x: number) => x * frequency;
|
|
44
|
+
default:
|
|
45
|
+
throw new Error(`Does not support convert to ${convertTo}`);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { NMRPeak1D } from '../NMRPeak1D';
|
|
2
|
+
|
|
3
|
+
import { convertWidth, ConvertWidthOptions } from './convertWidth';
|
|
4
|
+
|
|
5
|
+
export type ConvertWidthTo = Omit<ConvertWidthOptions, 'convertTo'>;
|
|
6
|
+
|
|
7
|
+
export function convertWidthToHz(peaks: NMRPeak1D[], options: ConvertWidthTo) {
|
|
8
|
+
return convertWidth(peaks, { ...options, convertTo: 'hz' });
|
|
9
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { NMRPeak1D } from '../NMRPeak1D';
|
|
2
|
+
|
|
3
|
+
import { convertWidth } from './convertWidth';
|
|
4
|
+
import { ConvertWidthTo } from './convertWidthToHz';
|
|
5
|
+
|
|
6
|
+
export function convertWidthToPPM(peaks: NMRPeak1D[], options: ConvertWidthTo) {
|
|
7
|
+
return convertWidth(peaks, { ...options, convertTo: 'ppm' });
|
|
8
|
+
}
|
|
@@ -4,8 +4,8 @@ import { addIDs } from '../assignment/utils/getAssignment/checkIDs';
|
|
|
4
4
|
import { NMRPeak1D } from '../peaks/NMRPeak1D';
|
|
5
5
|
import { detectSignals } from '../peaks/peaksToRanges';
|
|
6
6
|
import { solventSuppression } from '../peaks/solventSuppression';
|
|
7
|
-
import { SignalIntern } from '../peaks/util/jAnalyzer';
|
|
8
7
|
import { NMRSignal1D } from '../signals/NMRSignal1D';
|
|
8
|
+
import { SignalIntern } from '../signals/utils/jAnalyzer';
|
|
9
9
|
import { NMRRange } from '../xy/NMRRange';
|
|
10
10
|
|
|
11
11
|
interface NMRPeak1DWithSignalID extends NMRPeak1D {
|
|
File without changes
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
+
import type { NMRPeak1D } from '../../peaks/NMRPeak1D';
|
|
1
2
|
import type { MakeMandatory } from '../../utilities/MakeMandatory';
|
|
2
|
-
import type { NMRPeak1D } from '../NMRPeak1D';
|
|
3
3
|
|
|
4
4
|
/*
|
|
5
5
|
* This library implements the J analyser described by Cobas et al in the paper:
|
|
@@ -210,6 +210,7 @@ export default {
|
|
|
210
210
|
// Before to return, change the units of peaksComp from Hz to PPM again
|
|
211
211
|
for (let peakComp of signal.peaksComp) {
|
|
212
212
|
peakComp.x /= signal.observe;
|
|
213
|
+
peakComp.width *= signal.observe;
|
|
213
214
|
}
|
|
214
215
|
return signal;
|
|
215
216
|
},
|
|
@@ -471,7 +472,7 @@ function symmetrize(
|
|
|
471
472
|
peaks[i] = {
|
|
472
473
|
x: peak[jAxis] * newSignal.observe,
|
|
473
474
|
intensity: peak[intensity],
|
|
474
|
-
width: peak.width,
|
|
475
|
+
width: peak.width / newSignal.observe,
|
|
475
476
|
};
|
|
476
477
|
}
|
|
477
478
|
// Join the peaks that are closer than 0.25 Hz
|
|
@@ -12,6 +12,7 @@ import {
|
|
|
12
12
|
} from 'ml-spectra-processing';
|
|
13
13
|
|
|
14
14
|
import { NMRPeak1D } from '..';
|
|
15
|
+
import { convertWidthToHz } from '../peaks/util/convertWidthToHz';
|
|
15
16
|
|
|
16
17
|
/**
|
|
17
18
|
* Implementation of the peak picking method described by Cobas in:
|
|
@@ -35,6 +36,10 @@ export interface GetPeakListOptions
|
|
|
35
36
|
* @default false
|
|
36
37
|
*/
|
|
37
38
|
optimize: boolean;
|
|
39
|
+
/**
|
|
40
|
+
* frequency used to convert width and fwhm to Hz
|
|
41
|
+
*/
|
|
42
|
+
frequency: number;
|
|
38
43
|
}
|
|
39
44
|
|
|
40
45
|
export interface OptionsXYAutoPeaksPicking extends Partial<GetPeakListOptions> {
|
|
@@ -61,15 +66,20 @@ export interface OptionsXYAutoPeaksPicking extends Partial<GetPeakListOptions> {
|
|
|
61
66
|
* @default false
|
|
62
67
|
*/
|
|
63
68
|
useSanPlot?: boolean;
|
|
69
|
+
/**
|
|
70
|
+
* frequency used to convert width and fwhm to Hz
|
|
71
|
+
*/
|
|
72
|
+
frequency: number;
|
|
64
73
|
}
|
|
65
74
|
|
|
66
75
|
export function xyAutoPeaksPicking(
|
|
67
76
|
data: DataXY,
|
|
68
|
-
options: OptionsXYAutoPeaksPicking
|
|
77
|
+
options: OptionsXYAutoPeaksPicking,
|
|
69
78
|
): NMRPeak1D[] {
|
|
70
79
|
const {
|
|
71
80
|
from,
|
|
72
81
|
to,
|
|
82
|
+
frequency,
|
|
73
83
|
noiseLevel,
|
|
74
84
|
thresholdFactor = 3,
|
|
75
85
|
minMaxRatio = 0.05,
|
|
@@ -98,6 +108,7 @@ export function xyAutoPeaksPicking(
|
|
|
98
108
|
|
|
99
109
|
let getPeakOptions: GetPeakListOptions = {
|
|
100
110
|
shape,
|
|
111
|
+
frequency,
|
|
101
112
|
broadWidth,
|
|
102
113
|
optimize,
|
|
103
114
|
factorLimits,
|
|
@@ -145,6 +156,7 @@ function getNegativePeaks(
|
|
|
145
156
|
function getPeakList(data: DataXY, options: GetPeakListOptions) {
|
|
146
157
|
const {
|
|
147
158
|
shape,
|
|
159
|
+
frequency,
|
|
148
160
|
broadWidth,
|
|
149
161
|
optimize,
|
|
150
162
|
maxCriteria,
|
|
@@ -177,15 +189,16 @@ function getPeakList(data: DataXY, options: GetPeakListOptions) {
|
|
|
177
189
|
});
|
|
178
190
|
}
|
|
179
191
|
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
192
|
+
return convertWidthToHz(
|
|
193
|
+
optimize
|
|
194
|
+
? optimizePeaks(data, peakList, {
|
|
195
|
+
shape,
|
|
196
|
+
factorLimits,
|
|
197
|
+
optimization,
|
|
198
|
+
})
|
|
199
|
+
: peakList,
|
|
200
|
+
{ frequency },
|
|
201
|
+
);
|
|
189
202
|
}
|
|
190
203
|
|
|
191
204
|
function getCutOff(data: number[] | Float64Array, options: OptionsGetCutOff) {
|
|
@@ -8,7 +8,7 @@ import { xyAutoPeaksPicking } from './xyAutoPeaksPicking';
|
|
|
8
8
|
import type { OptionsXYAutoPeaksPicking } from './xyAutoPeaksPicking';
|
|
9
9
|
|
|
10
10
|
interface OptionsXYAutoRangesPicking {
|
|
11
|
-
peakPicking
|
|
11
|
+
peakPicking: OptionsXYAutoPeaksPicking;
|
|
12
12
|
impurities?: OptionsPeaksFilterImpurities;
|
|
13
13
|
ranges?: OptionsPeaksToRanges;
|
|
14
14
|
}
|
|
@@ -18,7 +18,7 @@ interface OptionsXYAutoRangesPicking {
|
|
|
18
18
|
*/
|
|
19
19
|
export function xyAutoRangesPicking(
|
|
20
20
|
data: DataXY,
|
|
21
|
-
options: OptionsXYAutoRangesPicking
|
|
21
|
+
options: OptionsXYAutoRangesPicking,
|
|
22
22
|
) {
|
|
23
23
|
let peaks = xyAutoPeaksPicking(data, options.peakPicking);
|
|
24
24
|
peaks = peaksFilterImpurities(peaks, options.impurities);
|
|
@@ -1,10 +1,25 @@
|
|
|
1
1
|
import { DataXY, PeakXYWidth } from 'cheminfo-types';
|
|
2
2
|
import { optimizePeaks, OptimizePeaksOptions } from 'ml-gsd';
|
|
3
3
|
|
|
4
|
+
import { convertWidthToHz } from '../peaks/util/convertWidthToHz';
|
|
5
|
+
import { convertWidthToPPM } from '../peaks/util/convertWidthToPPM';
|
|
6
|
+
|
|
7
|
+
export interface XYPeaksOptimizationOptions extends OptimizePeaksOptions {
|
|
8
|
+
/**
|
|
9
|
+
* frequency to convert width and fwhm to ppm.
|
|
10
|
+
*/
|
|
11
|
+
frequency: number;
|
|
12
|
+
}
|
|
4
13
|
export function xyPeaksOptimization(
|
|
5
14
|
data: DataXY,
|
|
6
15
|
peaks: PeakXYWidth[],
|
|
7
|
-
options:
|
|
16
|
+
options: XYPeaksOptimizationOptions,
|
|
8
17
|
) {
|
|
9
|
-
|
|
18
|
+
const { frequency } = options;
|
|
19
|
+
const newPeaks = convertWidthToPPM(peaks, { frequency });
|
|
20
|
+
const optimizedPeaks = optimizePeaks(data, newPeaks, options);
|
|
21
|
+
return convertWidthToHz(optimizedPeaks, {
|
|
22
|
+
frequency,
|
|
23
|
+
output: optimizedPeaks,
|
|
24
|
+
});
|
|
10
25
|
}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import type { Peak2D } from 'ml-matrix-peaks-finder';
|
|
2
2
|
import simpleClustering from 'ml-simple-clustering';
|
|
3
3
|
|
|
4
|
-
import type { JAxisKeys } from '../
|
|
5
|
-
import jAnalyzer from '../
|
|
4
|
+
import type { JAxisKeys } from '../signals/utils/jAnalyzer';
|
|
5
|
+
import jAnalyzer from '../signals/utils/jAnalyzer';
|
|
6
6
|
import type { MakeMandatory } from '../utilities/MakeMandatory';
|
|
7
7
|
|
|
8
8
|
import type { NMRSignal2D } from './NMRSignal2D';
|
|
@@ -88,6 +88,7 @@ function compilePattern(
|
|
|
88
88
|
dy: signals[0].y.resolution,
|
|
89
89
|
};
|
|
90
90
|
|
|
91
|
+
const defaultWidth = 0.02 * observedFrequencies[0];
|
|
91
92
|
const newSignals = JSON.parse(JSON.stringify(signals));
|
|
92
93
|
//adapt to 1D jAnalyzer
|
|
93
94
|
for (const signal of newSignals) {
|
|
@@ -102,7 +103,7 @@ function compilePattern(
|
|
|
102
103
|
to: Number.MIN_SAFE_INTEGER,
|
|
103
104
|
};
|
|
104
105
|
for (const peak of peaks) {
|
|
105
|
-
if (!peak.width) peak.width =
|
|
106
|
+
if (!peak.width) peak.width = defaultWidth;
|
|
106
107
|
}
|
|
107
108
|
peaks.sort((a: Peak2D, b: Peak2D) => a.y - b.y);
|
|
108
109
|
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"jAnalyzer.js","sourceRoot":"","sources":["../../../src/peaks/util/jAnalyzer.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"joinRanges.js","sourceRoot":"","sources":["../../../src/peaks/util/joinRanges.ts"],"names":[],"mappings":";;;AAEA,SAAgB,UAAU,CAAC,MAAkB;IAC3C,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC;IAEvC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;QAC1C,MAAM,YAAY,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QAC/B,MAAM,SAAS,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAEhC,IAAI,YAAY,CAAC,EAAE,GAAG,SAAS,CAAC,IAAI,EAAE;YACpC,YAAY,CAAC,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,EAAE,YAAY,CAAC,EAAE,CAAC,CAAC;YAC1D,IAAI,YAAY,CAAC,OAAO,IAAI,SAAS,CAAC,OAAO,EAAE;gBAC7C,YAAY,CAAC,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;aACvE;YACD,IAAI,YAAY,CAAC,WAAW,KAAK,SAAS,EAAE;gBAC1C,YAAY,CAAC,WAAW,IAAI,SAAS,CAAC,WAAW,IAAI,CAAC,CAAC;aACxD;YACD,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;YACxB,CAAC,EAAE,CAAC;SACL;KACF;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AArBD,gCAqBC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"jAnalyzer.js","sourceRoot":"","sources":["../../../src/peaks/util/jAnalyzer.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"joinRanges.js","sourceRoot":"","sources":["../../../src/peaks/util/joinRanges.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,UAAU,CAAC,MAAkB;IAC3C,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC;IAEvC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;QAC1C,MAAM,YAAY,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QAC/B,MAAM,SAAS,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAEhC,IAAI,YAAY,CAAC,EAAE,GAAG,SAAS,CAAC,IAAI,EAAE;YACpC,YAAY,CAAC,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,EAAE,YAAY,CAAC,EAAE,CAAC,CAAC;YAC1D,IAAI,YAAY,CAAC,OAAO,IAAI,SAAS,CAAC,OAAO,EAAE;gBAC7C,YAAY,CAAC,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;aACvE;YACD,IAAI,YAAY,CAAC,WAAW,KAAK,SAAS,EAAE;gBAC1C,YAAY,CAAC,WAAW,IAAI,SAAS,CAAC,WAAW,IAAI,CAAC,CAAC;aACxD;YACD,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;YACxB,CAAC,EAAE,CAAC;SACL;KACF;IAED,OAAO,MAAM,CAAC;AAChB,CAAC"}
|