Skip to content

Commit d294085

Browse files
refactor: use relative frequency helpers from nmr-processing
- Use `getRelativeFrequency` for 1D spectra. - Use `calculateRelativeFrequency` for 2D spectra. close #3628
1 parent 5ddd5af commit d294085

3 files changed

Lines changed: 10 additions & 25 deletions

File tree

package-lock.json

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,7 @@
8989
"ml-spectra-processing": "^14.17.0",
9090
"ml-tree-similarity": "^2.2.0",
9191
"nmr-correlation": "2.3.3",
92-
"nmr-processing": "^19.0.3",
92+
"nmr-processing": "^19.1.0",
9393
"numeral": "^2.0.6",
9494
"openchemlib": "^9.7.0",
9595
"openchemlib-utils": "^8.2.1",

src/data/PredictionManager.ts

Lines changed: 8 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,8 @@ import type {
1010
PredictionBase2D,
1111
} from 'nmr-processing';
1212
import {
13-
getFrequency,
13+
calculateRelativeFrequency,
14+
getRelativeFrequency,
1415
predict,
1516
signals2DToZ,
1617
signalsToRanges,
@@ -254,7 +255,10 @@ function generated1DSpectrum(params: {
254255
frequency: freq,
255256
} = options;
256257
const SpectrumName = generateName(name, { frequency: freq, experiment });
257-
const frequency = calculateFrequency(nucleus, freq);
258+
const frequency = getRelativeFrequency(nucleus, {
259+
frequency: freq,
260+
nucleus,
261+
});
258262
const { x, y } = signalsToXY(signals, {
259263
...options['1d'][nucleus],
260264
frequency,
@@ -294,7 +298,7 @@ function generated1DSpectrum(params: {
294298
{},
295299
);
296300
datum.ranges.values = mapRanges(
297-
signalsToRanges(joinedSignals, { frequency: frequency as number }),
301+
signalsToRanges(joinedSignals, { frequency }),
298302
datum,
299303
);
300304
updateIntegralsRelativeValues(datum);
@@ -335,7 +339,7 @@ function generated2DSpectrum(params: {
335339
const yOption = options['1d'][nuclei[1]];
336340

337341
const width = get2DWidth(nuclei);
338-
const frequency = calculateFrequency(nuclei, options.frequency);
342+
const frequency = calculateRelativeFrequency(nuclei, options.frequency);
339343

340344
const minMaxContent = signals2DToZ(signals, {
341345
from: { x: xOption.from, y: yOption.from },
@@ -399,22 +403,3 @@ function getSpectralWidth(experiment: string, options: PredictionOptions) {
399403
return [];
400404
}
401405
}
402-
403-
function calculateFrequency(
404-
nucleus: string | string[],
405-
frequency: number,
406-
): number | number[] {
407-
if (typeof nucleus === 'string') {
408-
return getFrequency(nucleus, { nucleus: '1H', frequency });
409-
} else if (nucleus[0] === nucleus[1]) {
410-
return [frequency, frequency];
411-
} else {
412-
return [
413-
frequency,
414-
getFrequency(nucleus[1], {
415-
nucleus: nucleus[0],
416-
frequency,
417-
}),
418-
];
419-
}
420-
}

0 commit comments

Comments
 (0)