nmr-processing 9.3.0 → 9.3.1

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.
Files changed (65) hide show
  1. package/lib/apodization/shapes/WindowFunctions.d.ts +1 -1
  2. package/lib/assignment/get13CAssignments.d.ts +1 -1
  3. package/lib/assignment/get1HAssignments.d.ts +3 -3
  4. package/lib/assignment/getAssignments.d.ts +2 -2
  5. package/lib/assignment/nmrAssigment.d.ts +3 -3
  6. package/lib/assignment/utils/createMapPossibleAssignments.d.ts +1 -1
  7. package/lib/assignment/utils/getAssignment/buildAssignments.d.ts +4 -4
  8. package/lib/assignment/utils/getAssignment/formatData.d.ts +1 -1
  9. package/lib/peaks/peaksFilterImpurities.d.ts +1 -1
  10. package/lib/peaks/peaksToRanges.d.ts +1 -1
  11. package/lib/peaks/peaksToRanges.js +20 -19
  12. package/lib/peaks/peaksToRanges.js.map +1 -1
  13. package/lib/peaks/util/convertWidth.d.ts +1 -1
  14. package/lib/peaks/util/convertWidthToHz.d.ts +1 -1
  15. package/lib/prediction/Prediction1D.d.ts +1 -1
  16. package/lib/prediction/dataStructure.d.ts +1 -1
  17. package/lib/prediction/predictAll.d.ts +1 -1
  18. package/lib/prediction/predictAllSpectra.d.ts +1 -1
  19. package/lib/prediction/predictCOSY.d.ts +1 -1
  20. package/lib/prediction/predictCarbon.d.ts +2 -2
  21. package/lib/prediction/predictHMBC.d.ts +1 -1
  22. package/lib/prediction/predictHSQC.d.ts +1 -1
  23. package/lib/prediction/predictProton.d.ts +2 -2
  24. package/lib/prediction/utils/fetchPrediction.d.ts +1 -1
  25. package/lib/prediction/utils/getFilteredIDiaIDs.d.ts +2 -2
  26. package/lib/prediction/utils/getPredictions.d.ts +1 -1
  27. package/lib/prediction/utils/predict2D.d.ts +2 -2
  28. package/lib/signals/optimization/getInternalSignals.d.ts +3 -3
  29. package/lib/signals/optimization/getSumOfShapes.d.ts +1 -1
  30. package/lib/signals/optimizeSignals.d.ts +1 -1
  31. package/lib/signals/signalsJoin.d.ts +3 -3
  32. package/lib/signals/signalsToRanges.d.ts +1 -1
  33. package/lib/signals/utils/jAnalyzer.d.ts +2 -2
  34. package/lib/utilities/MakeMandatory.d.ts +1 -1
  35. package/lib/utilities/getFrequency.d.ts +1 -1
  36. package/lib/utilities/hasProperty.d.ts +1 -1
  37. package/lib/xy/xyAutoPeaksPicking.d.ts +1 -1
  38. package/lib/xy/xyAutoPeaksPicking.js +4 -1
  39. package/lib/xy/xyAutoPeaksPicking.js.map +1 -1
  40. package/lib/xyz/xyzAutoZonesPicking.d.ts +2 -2
  41. package/lib-esm/peaks/peaksToRanges.js +20 -19
  42. package/lib-esm/peaks/peaksToRanges.js.map +1 -1
  43. package/lib-esm/xy/xyAutoPeaksPicking.js +4 -1
  44. package/lib-esm/xy/xyAutoPeaksPicking.js.map +1 -1
  45. package/package.json +7 -7
  46. package/src/assignment/get13CAssignments.ts +1 -1
  47. package/src/assignment/get1HAssignments.ts +1 -1
  48. package/src/assignment/getAssignments.ts +1 -1
  49. package/src/assignment/utils/getAssignment/buildAssignments.ts +1 -1
  50. package/src/openchemlib-utils.d.ts +1 -1
  51. package/src/peaks/peaksToRanges.ts +23 -19
  52. package/src/prediction/Prediction1D.ts +1 -1
  53. package/src/prediction/predictAll.ts +1 -1
  54. package/src/prediction/predictAllSpectra.ts +1 -1
  55. package/src/prediction/predictCOSY.ts +1 -1
  56. package/src/prediction/predictCarbon.ts +1 -1
  57. package/src/prediction/predictHMBC.ts +1 -1
  58. package/src/prediction/predictHSQC.ts +1 -1
  59. package/src/prediction/predictProton.ts +1 -1
  60. package/src/prediction/utils/fetchPrediction.ts +1 -1
  61. package/src/prediction/utils/getFilteredIDiaIDs.ts +1 -1
  62. package/src/prediction/utils/getPredictions.ts +1 -1
  63. package/src/prediction/utils/predict2D.ts +1 -1
  64. package/src/utilities/hasProperty.ts +1 -1
  65. package/src/xy/xyAutoPeaksPicking.ts +5 -1
@@ -8,5 +8,5 @@ interface LorentToGauss {
8
8
  kind: 'lorentzToGauss';
9
9
  options: LorentzToGaussOptions;
10
10
  }
11
- export declare type WindowFunctions = Exponential | LorentToGauss;
11
+ export type WindowFunctions = Exponential | LorentToGauss;
12
12
  export {};
@@ -1,4 +1,4 @@
1
- import { Molecule } from 'openchemlib';
1
+ import { Molecule } from 'openchemlib/full';
2
2
  import { NMRRange } from '..';
3
3
  import { PredictCarbonOptions } from '../prediction/predictCarbon';
4
4
  import { RestrictionByCS1D } from './utils/buildAssignments';
@@ -1,11 +1,11 @@
1
- import { Molecule } from 'openchemlib';
1
+ import { Molecule } from 'openchemlib/full';
2
2
  import { NMRRange } from '..';
3
3
  import { PredictProtonOptions } from '../prediction/predictProton';
4
4
  import type { NMRSignal1D } from '../signals/NMRSignal1D';
5
5
  import { MakeMandatory } from '../utilities/MakeMandatory';
6
6
  import { RestrictionByCS1D } from './utils/buildAssignments';
7
- export declare type NMRSignal1DWithAtomsAndDiaIDs = MakeMandatory<NMRSignal1D, 'atoms' | 'diaIDs' | 'nbAtoms'>;
8
- export declare type NMRRangeWithIntegration = MakeMandatory<NMRRange, 'integration'>;
7
+ export type NMRSignal1DWithAtomsAndDiaIDs = MakeMandatory<NMRSignal1D, 'atoms' | 'diaIDs' | 'nbAtoms'>;
8
+ export type NMRRangeWithIntegration = MakeMandatory<NMRRange, 'integration'>;
9
9
  export interface Get1HAssignmentsOptions {
10
10
  restrictionByCS?: Partial<RestrictionByCS1D>;
11
11
  /**
@@ -1,4 +1,4 @@
1
- import { Molecule } from 'openchemlib';
1
+ import { Molecule } from 'openchemlib/full';
2
2
  import { NMRSignal1D } from '..';
3
3
  import type { PredictCarbonOptions } from '../prediction/predictCarbon';
4
4
  import type { PredictProtonOptions } from '../prediction/predictProton';
@@ -19,7 +19,7 @@ export interface SpectraData2D {
19
19
  */
20
20
  info: any;
21
21
  }
22
- export declare type SpectraData = SpectraData1D | SpectraData2D;
22
+ export type SpectraData = SpectraData1D | SpectraData2D;
23
23
  export interface GetAutoAssignmentInput {
24
24
  spectra: SpectraData[];
25
25
  /**
@@ -1,8 +1,8 @@
1
1
  import type { NMRRange, NMRSignal1D, NMRSignal2D, NMRZone } from '..';
2
2
  import { MakeMandatory } from '../utilities/MakeMandatory';
3
3
  import type { SpectraData1D, SpectraData2D } from './getAssignments';
4
- export declare type NMRSignal1DWithId = MakeMandatory<NMRSignal1D, 'id'>;
5
- export declare type NMRSignal2DWithId = MakeMandatory<NMRSignal2D, 'id'>;
4
+ export type NMRSignal1DWithId = MakeMandatory<NMRSignal1D, 'id'>;
5
+ export type NMRSignal2DWithId = MakeMandatory<NMRSignal2D, 'id'>;
6
6
  export interface NMRZoneWithIds extends Omit<NMRZone, 'signals' | 'id'> {
7
7
  id: string;
8
8
  signals: Array<NMRSignal2DWithId>;
@@ -17,4 +17,4 @@ export interface SpectraData1DWithIds extends Omit<SpectraData1D, 'ranges'> {
17
17
  export interface SpectraData2DWithIds extends Omit<SpectraData2D, 'zones'> {
18
18
  zones: NMRZoneWithIds[];
19
19
  }
20
- export declare type SpectraDataWithIds = SpectraData1DWithIds | SpectraData2DWithIds;
20
+ export type SpectraDataWithIds = SpectraData1DWithIds | SpectraData2DWithIds;
@@ -1,7 +1,7 @@
1
1
  import { MakeMandatory } from '../../utilities/MakeMandatory';
2
2
  import type { Targets } from '../get1HAssignments';
3
3
  import type { RestrictionByCS1D, Predictions1Dassignments } from './buildAssignments';
4
- declare type RestrictionByCSMandatory = MakeMandatory<RestrictionByCS1D, 'chemicalShiftRestriction' | 'tolerance' | 'useChemicalShiftScore'>;
4
+ type RestrictionByCSMandatory = MakeMandatory<RestrictionByCS1D, 'chemicalShiftRestriction' | 'tolerance' | 'useChemicalShiftScore'>;
5
5
  interface CreateMapPossibleAssignments {
6
6
  predictions: Predictions1Dassignments;
7
7
  restrictionByCS: RestrictionByCSMandatory;
@@ -1,11 +1,11 @@
1
1
  import { Values } from 'nmr-correlation';
2
- import { Molecule } from 'openchemlib';
2
+ import { Molecule } from 'openchemlib/full';
3
3
  import { NMRSignal1D, PredictCarbonOptions, PredictProtonOptions } from '../../..';
4
4
  import { MakeMandatory } from '../../../utilities/MakeMandatory';
5
5
  import { SpectraDataWithIds } from '../../nmrAssigment';
6
6
  import { TargetsByAtomType } from './getTargetsAndCorrelations';
7
- export declare type AtomTypes = 'H' | 'C';
8
- export declare type CurrentAtoms = Array<AtomTypes>;
7
+ export type AtomTypes = 'H' | 'C';
8
+ export type CurrentAtoms = Array<AtomTypes>;
9
9
  export interface Partial {
10
10
  [key: string]: Array<string | null>;
11
11
  }
@@ -41,7 +41,7 @@ export interface BuildAssignmentInput {
41
41
  };
42
42
  targets: TargetsByAtomType;
43
43
  }
44
- declare type NMRSignal1DFromPrediction = MakeMandatory<NMRSignal1D, 'nbAtoms' | 'diaIDs' | 'atoms'>;
44
+ type NMRSignal1DFromPrediction = MakeMandatory<NMRSignal1D, 'nbAtoms' | 'diaIDs' | 'atoms'>;
45
45
  export interface Prediction extends NMRSignal1DFromPrediction {
46
46
  diaIDIndex: number;
47
47
  allHydrogens: number;
@@ -9,6 +9,6 @@ interface SpectraData2DFormatted extends Omit<SpectraData2DWithIds, 'zones'> {
9
9
  values: NMRZoneWithIds[];
10
10
  };
11
11
  }
12
- export declare type SpectraDataFormatted = SpectraData1DFormatted | SpectraData2DFormatted;
12
+ export type SpectraDataFormatted = SpectraData1DFormatted | SpectraData2DFormatted;
13
13
  export declare function formatData(input?: SpectraDataWithIds[]): SpectraDataFormatted[];
14
14
  export {};
@@ -1,6 +1,6 @@
1
1
  import { impurities } from '../constants/impurities';
2
2
  import type { NMRPeak1D } from './NMRPeak1D';
3
- declare type Solvent = keyof typeof impurities;
3
+ type Solvent = keyof typeof impurities;
4
4
  export interface OptionsPeaksFilterImpurities {
5
5
  /**
6
6
  * Solvent name.
@@ -55,7 +55,7 @@ export interface OptionsDetectSignals {
55
55
  frequency?: number;
56
56
  nucleus?: string;
57
57
  }
58
- declare type NMRPeak1DIntern = Omit<NMRPeak1D, 'fwhm' | 'shape'>;
58
+ type NMRPeak1DIntern = Omit<NMRPeak1D, 'fwhm' | 'shape'>;
59
59
  /**
60
60
  * This function clustering peaks and calculate the integration value for each range from the peak list returned from extractPeaks function.
61
61
  */
@@ -114,17 +114,7 @@ function peaksToRanges(data, peakList, options = {}) {
114
114
  }
115
115
  }
116
116
  // it was a updateIntegrals function.
117
- let sumIntegral = 0;
118
- let sumObserved = 0;
119
- for (const signal of signals) {
120
- sumObserved += Math.abs(Math.round(signal.integralData.value));
121
- }
122
- if (sumObserved !== integrationSum) {
123
- sumIntegral = integrationSum / sumObserved;
124
- for (const signal of signals) {
125
- signal.integralData.value *= sumIntegral;
126
- }
127
- }
117
+ updateIntegration(signals, integrationSum);
128
118
  }
129
119
  signals.sort((a, b) => {
130
120
  return b.delta - a.delta;
@@ -149,7 +139,6 @@ function peaksToRanges(data, peakList, options = {}) {
149
139
  delta: signal.delta,
150
140
  kind: signal.kind || 'signal',
151
141
  multiplicity: signal.multiplicity,
152
- integration: signal.integralData.value,
153
142
  };
154
143
  if (keepPeaks) {
155
144
  signalResult.peaks = signal.peaks.map((peak) => {
@@ -192,7 +181,6 @@ function detectSignals(data, peakList, options = {}) {
192
181
  let peaks;
193
182
  let signals = [];
194
183
  let prevPeak = { x: Number.MIN_SAFE_INTEGER };
195
- let spectrumIntegral = 0;
196
184
  frequencyCluster /= frequency;
197
185
  for (const peak of peakList) {
198
186
  if (Math.abs(peak.x - prevPeak.x) > frequencyCluster) {
@@ -238,14 +226,9 @@ function detectSignals(data, peakList, options = {}) {
238
226
  else {
239
227
  integration.value = integralPeaks;
240
228
  }
241
- spectrumIntegral += integration.value;
242
229
  }
243
230
  if (integrationSum > 0) {
244
- let integralFactor = integrationSum / spectrumIntegral;
245
- for (let signal of signals) {
246
- let integration = signal.integralData;
247
- integration.value *= integralFactor;
248
- }
231
+ updateIntegration(signals, integrationSum);
249
232
  }
250
233
  return signals;
251
234
  }
@@ -257,4 +240,22 @@ exports.detectSignals = detectSignals;
257
240
  function computeArea(peak, frequency) {
258
241
  return Math.abs(((peak.intensity * peak.width) / frequency) * 1.57); // todo add an option with this value: 1.772453851
259
242
  }
243
+ /**
244
+ * update the integration Values
245
+ * @param signals
246
+ * @param integrationSum
247
+ */
248
+ function updateIntegration(signals, integrationSum) {
249
+ let sumIntegral = 0;
250
+ let sumObserved = 0;
251
+ for (const signal of signals) {
252
+ sumObserved += Math.abs(Math.round(signal.integralData.value));
253
+ }
254
+ if (sumObserved !== integrationSum) {
255
+ sumIntegral = integrationSum / sumObserved;
256
+ for (const signal of signals) {
257
+ signal.integralData.value *= sumIntegral;
258
+ }
259
+ }
260
+ }
260
261
  //# sourceMappingURL=peaksToRanges.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"peaksToRanges.js","sourceRoot":"","sources":["../../src/peaks/peaksToRanges.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"peaksToRanges.js","sourceRoot":"","sources":["../../src/peaks/peaksToRanges.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { MakeMandatory } from '../../utilities/MakeMandatory';
2
2
  import { NMRPeak1D } from '../NMRPeak1D';
3
- export declare type NMRPeak1DWithShape = MakeMandatory<NMRPeak1D, 'shape'>;
3
+ export type NMRPeak1DWithShape = MakeMandatory<NMRPeak1D, 'shape'>;
4
4
  export interface ConvertWidthOptions<T> {
5
5
  convertTo: string & {
6
6
  _kind?: 'hz' | 'ppm';
@@ -1,4 +1,4 @@
1
1
  import { NMRPeak1D } from '../NMRPeak1D';
2
2
  import { ConvertWidthOptions } from './convertWidth';
3
- export declare type ConvertWidthTo<T> = Omit<ConvertWidthOptions<T>, 'convertTo'>;
3
+ export type ConvertWidthTo<T> = Omit<ConvertWidthOptions<T>, 'convertTo'>;
4
4
  export declare function convertWidthToHz<T extends NMRPeak1D>(peaks: T[], options: ConvertWidthTo<T>): T[];
@@ -1,4 +1,4 @@
1
- import type { Molecule } from 'openchemlib';
1
+ import type { Molecule } from 'openchemlib/full';
2
2
  import type { NMRSignal1D } from '../signals/NMRSignal1D';
3
3
  import type { NMRRange } from '../xy/NMRRange';
4
4
  export interface Prediction1D {
@@ -1,4 +1,4 @@
1
1
  export interface DataBaseLevelStructure {
2
2
  [key: string]: number[] | undefined;
3
3
  }
4
- export declare type DataBaseStructure = DataBaseLevelStructure[];
4
+ export type DataBaseStructure = DataBaseLevelStructure[];
@@ -1,4 +1,4 @@
1
- import type { Molecule } from 'openchemlib';
1
+ import type { Molecule } from 'openchemlib/full';
2
2
  import type { Prediction1D } from './Prediction1D';
3
3
  import { PredictCarbonOptions } from './predictCarbon';
4
4
  import { PredictProtonOptions } from './predictProton';
@@ -1,5 +1,5 @@
1
1
  import { FromTo, PointXY } from 'cheminfo-types';
2
- import type { Molecule } from 'openchemlib';
2
+ import type { Molecule } from 'openchemlib/full';
3
3
  import { PredictAllOptions } from './predictAll';
4
4
  /**
5
5
  * This function will generate an object compatible with NMR-ium
@@ -1,5 +1,5 @@
1
1
  /// <reference path="../../src/ml-matrix-peaks-finder.d.ts" />
2
- import { Molecule } from 'openchemlib';
2
+ import { Molecule } from 'openchemlib/full';
3
3
  import type { Prediction1D } from './Prediction1D';
4
4
  import { PredictProtonOptions } from './predictProton';
5
5
  import { Predictor } from './utils/predict2D';
@@ -1,4 +1,4 @@
1
- import type { Molecule } from 'openchemlib';
1
+ import type { Molecule } from 'openchemlib/full';
2
2
  import type { Prediction1D } from './Prediction1D';
3
3
  import type { DataBaseStructure } from './dataStructure';
4
4
  export interface PredictCarbonOptions {
@@ -22,7 +22,7 @@ export interface PredictCarbonOptions {
22
22
  */
23
23
  maxSphereSize?: number;
24
24
  }
25
- export declare type PredictCarbon = typeof predictCarbon;
25
+ export type PredictCarbon = typeof predictCarbon;
26
26
  /**
27
27
  * Make a query to a hose code based database to predict carbon chemical shift
28
28
  * @returns {Promise<object>} - object with molfile, diaIDs, signals, joined signals by diaIDs and ranges.
@@ -1,5 +1,5 @@
1
1
  /// <reference path="../../src/ml-matrix-peaks-finder.d.ts" />
2
- import { Molecule } from 'openchemlib';
2
+ import { Molecule } from 'openchemlib/full';
3
3
  import type { Prediction1D } from './Prediction1D';
4
4
  import type { PredictCarbonOptions } from './predictCarbon';
5
5
  import type { PredictProtonOptions } from './predictProton';
@@ -1,5 +1,5 @@
1
1
  /// <reference path="../../src/ml-matrix-peaks-finder.d.ts" />
2
- import { Molecule } from 'openchemlib';
2
+ import { Molecule } from 'openchemlib/full';
3
3
  import type { Prediction1D } from './Prediction1D';
4
4
  import { PredictCarbonOptions } from './predictCarbon';
5
5
  import { PredictProtonOptions } from './predictProton';
@@ -1,4 +1,4 @@
1
- import type { Molecule } from 'openchemlib';
1
+ import type { Molecule } from 'openchemlib/full';
2
2
  import type { Prediction1D } from './Prediction1D';
3
3
  /**
4
4
  * Makes a prediction using proton.
@@ -10,5 +10,5 @@ export interface PredictProtonOptions {
10
10
  */
11
11
  cache?: (molfile: string, result?: string) => void | string | undefined;
12
12
  }
13
- export declare type PredictProton = typeof predictProton;
13
+ export type PredictProton = typeof predictProton;
14
14
  export declare function predictProton(molecule: Molecule, options?: PredictProtonOptions): Promise<Prediction1D>;
@@ -1,4 +1,4 @@
1
- import { Molecule } from 'openchemlib';
1
+ import { Molecule } from 'openchemlib/full';
2
2
  import type { Prediction1D } from '../Prediction1D';
3
3
  interface FetchPredictionOptions {
4
4
  webserviceURL: string;
@@ -1,10 +1,10 @@
1
1
  /// <reference path="../../../src/openchemlib-utils.d.ts" />
2
- import type { Molecule } from 'openchemlib';
2
+ import type { Molecule } from 'openchemlib/full';
3
3
  import type { GroupDiastereotopicAtomIDs } from 'openchemlib-utils';
4
4
  export interface GroupDiaIDsWithHose extends GroupDiastereotopicAtomIDs {
5
5
  hose: string[];
6
6
  }
7
- export declare type GroupedDiaIDsWithHose = GroupDiaIDsWithHose[];
7
+ export type GroupedDiaIDsWithHose = GroupDiaIDsWithHose[];
8
8
  export declare function getFilteredIDiaIDs(molecule: Molecule, options: {
9
9
  maxSphereSize: number;
10
10
  }): {
@@ -1,4 +1,4 @@
1
- import type { Molecule } from 'openchemlib';
1
+ import type { Molecule } from 'openchemlib/full';
2
2
  import type { Prediction1D } from '../Prediction1D';
3
3
  import type { Predictions, PredictOptions, Predictors } from './predict2D';
4
4
  export declare function getPredictions(key: string, molecule: Molecule, predictOptions: PredictOptions, predictor?: Predictors, predictions?: Predictions): Promise<Prediction1D | undefined>;
@@ -1,5 +1,5 @@
1
1
  /// <reference path="../../../src/ml-matrix-peaks-finder.d.ts" />
2
- import { Molecule } from 'openchemlib';
2
+ import { Molecule } from 'openchemlib/full';
3
3
  import type { NMRSignal2D } from '../../xyz/NMRSignal2D';
4
4
  import type { Prediction1D } from '../Prediction1D';
5
5
  import type { PredictCarbon, PredictCarbonOptions } from '../predictCarbon';
@@ -8,7 +8,7 @@ import type { PredictProton, PredictProtonOptions } from '../predictProton';
8
8
  * Generate the correlation bidimensional nmr peaks based on the number of bonds between a pair of atoms
9
9
  * @returns {object} - object with molfile, diaIDs, 2D signals and zones.
10
10
  */
11
- export declare type Predictor = PredictCarbon | PredictProton;
11
+ export type Predictor = PredictCarbon | PredictProton;
12
12
  export interface Predictors {
13
13
  [key: string]: Predictor | undefined;
14
14
  H?: Predictor;
@@ -14,8 +14,8 @@ export interface InternalSignal {
14
14
  fromIndexCoupling: number;
15
15
  toIndexCoupling: number;
16
16
  }
17
- export declare type Parameter = 'delta' | 'intensity' | 'fwhm' | 'mu' | 'coupling';
18
- export declare type ParametersFromOptions = Record<Parameter, Record<string, number | ((options?: {
17
+ export type Parameter = 'delta' | 'intensity' | 'fwhm' | 'mu' | 'coupling';
18
+ export type ParametersFromOptions = Record<Parameter, Record<string, number | ((options?: {
19
19
  signal?: Signal;
20
20
  shape?: Shape1D;
21
21
  index?: number;
@@ -35,7 +35,7 @@ export interface GetInternalSignalsOptions {
35
35
  shape?: Shape1D;
36
36
  parameters?: ParametersFromOptions;
37
37
  }
38
- export declare type Shape1DWithFWHM = Omit<Shape1D, 'fwhm'> & {
38
+ export type Shape1DWithFWHM = Omit<Shape1D, 'fwhm'> & {
39
39
  fwhm: number;
40
40
  };
41
41
  export declare function getInternalSignals(data: DataXY, signals: Signal[], minMaxY: Record<string, number>, options: GetInternalSignalsOptions): {
@@ -1,4 +1,4 @@
1
1
  import { InternalSignal } from './getInternalSignals';
2
2
  import { SignalsToPointXYOptions } from './signalsToPointXY';
3
- export declare type SumOfShapes = (parameters: number[]) => (x: number) => number;
3
+ export type SumOfShapes = (parameters: number[]) => (x: number) => number;
4
4
  export declare function getSumOfShapes(internalSignals: InternalSignal[], options: SignalsToPointXYOptions): (parameters: number[]) => (currentX: number) => number;
@@ -4,7 +4,7 @@ import { NMRPeak1D } from '../peaks/NMRPeak1D';
4
4
  import { NMRSignal1D } from './NMRSignal1D';
5
5
  import { ParametersFromOptions, Shape1DWithFWHM } from './optimization/getInternalSignals';
6
6
  import { SignalsToPointXYOptions } from './optimization/signalsToPointXY';
7
- declare type ParametersFromSignal = Record<string, Record<string, number>>;
7
+ type ParametersFromSignal = Record<string, Record<string, number>>;
8
8
  export interface Signal extends NMRSignal1D {
9
9
  intensity?: number;
10
10
  shape?: Shape1D;
@@ -9,9 +9,9 @@ export interface SignalsJoinOptions {
9
9
  */
10
10
  joinCouplings?: SignalJoinCouplingsOptions;
11
11
  }
12
- declare type JcouplingFromPrediction = MakeMandatory<Jcoupling, 'multiplicity' | 'diaIDs' | 'pathLength'>;
13
- declare type Signal1DWidthDiaID = MakeMandatory<NMRSignal1D, 'diaIDs'>;
14
- declare type Signal1DWidthJsAndDiaID = Omit<Signal1DWidthDiaID, 'js'> & {
12
+ type JcouplingFromPrediction = MakeMandatory<Jcoupling, 'multiplicity' | 'diaIDs' | 'pathLength'>;
13
+ type Signal1DWidthDiaID = MakeMandatory<NMRSignal1D, 'diaIDs'>;
14
+ type Signal1DWidthJsAndDiaID = Omit<Signal1DWidthDiaID, 'js'> & {
15
15
  js: JcouplingFromPrediction[];
16
16
  };
17
17
  /**
@@ -13,6 +13,6 @@ interface SignalsToRangesOptions {
13
13
  */
14
14
  frequency?: number;
15
15
  }
16
- declare type RangeFullfiled = MakeMandatory<NMRRange, 'integration' | 'signals' | 'id'>;
16
+ type RangeFullfiled = MakeMandatory<NMRRange, 'integration' | 'signals' | 'id'>;
17
17
  export declare function signalsToRanges(signals: NMRSignal1D[], options?: SignalsToRangesOptions): RangeFullfiled[];
18
18
  export {};
@@ -10,7 +10,7 @@ interface IntergralData {
10
10
  from: number;
11
11
  to: number;
12
12
  }
13
- export declare type Peak1DIntern = Omit<NMRPeak1D, 'y' | 'shape'> & {
13
+ export type Peak1DIntern = Omit<NMRPeak1D, 'y' | 'shape'> & {
14
14
  intensity: number;
15
15
  };
16
16
  export interface SignalIntern {
@@ -37,7 +37,7 @@ export interface SignalIntern {
37
37
  peaks: Peak1DIntern[];
38
38
  peaksComp?: Peak1DIntern[];
39
39
  }
40
- declare type SignalInternMandatory = MakeMandatory<SignalIntern, 'symRank' | 'mask' | 'peaksComp'>;
40
+ type SignalInternMandatory = MakeMandatory<SignalIntern, 'symRank' | 'mask' | 'peaksComp'>;
41
41
  export interface OpitonsCompilePatter {
42
42
  jAxisKey?: JAxisKeys;
43
43
  }
@@ -1,3 +1,3 @@
1
- export declare type MakeMandatory<T, K extends keyof T> = T & {
1
+ export type MakeMandatory<T, K extends keyof T> = T & {
2
2
  [P in K]-?: T[P];
3
3
  };
@@ -9,7 +9,7 @@ export interface ObjervedNucleusData {
9
9
  */
10
10
  frequency: number;
11
11
  }
12
- declare type Nucleus = Nuclei | (string & Record<never, never>);
12
+ type Nucleus = Nuclei | (string & Record<never, never>);
13
13
  /**
14
14
  * calculate the frequency of a nucleus with respect to a reference nucleus
15
15
  */
@@ -1,3 +1,3 @@
1
- export declare function hasProperty<T, K extends keyof T>(data: T, key: K): data is T & {
1
+ export declare function hasProperty<T extends object, K extends keyof T>(data: T, key: K): data is T & {
2
2
  [P in K]-?: T[P];
3
3
  };
@@ -42,5 +42,5 @@ export interface OptionsXYAutoPeaksPicking extends Partial<GetPeakListOptions> {
42
42
  */
43
43
  frequency: number;
44
44
  }
45
- export declare type NMRPeak1DWithShapeID = MakeMandatory<NMRPeak1D, 'id' | 'shape'>;
45
+ export type NMRPeak1DWithShapeID = MakeMandatory<NMRPeak1D, 'id' | 'shape'>;
46
46
  export declare function xyAutoPeaksPicking(data: DataXY, options: OptionsXYAutoPeaksPicking): NMRPeak1DWithShapeID[];
@@ -6,7 +6,10 @@ const ml_spectra_processing_1 = require("ml-spectra-processing");
6
6
  const convertWidthToHz_1 = require("../peaks/util/convertWidthToHz");
7
7
  function xyAutoPeaksPicking(data, options) {
8
8
  const { from, to, frequency, noiseLevel, thresholdFactor = 3, minMaxRatio = 0.05, broadRatio = 0.00025, useSanPlot = false, smoothY = true, optimize = false, factorLimits = 4, realTopDetection = true, shape = { kind: 'gaussian' }, optimization = { kind: 'lm' }, broadWidth = 0.25, sgOptions = {}, direction = 'positive', } = options;
9
- const { windowSize = 9, polynomial = 3 } = sgOptions;
9
+ let pointsPerHz = 1 / frequency / (data.x[1] - data.x[0]);
10
+ // we can consider a peak with of 0.5 Hz for the windowSize
11
+ let ws = Math.max(Math.round(pointsPerHz / 2), 5);
12
+ const { windowSize = ws - (ws % 2) + 1, polynomial = 3 } = sgOptions;
10
13
  if (data.x.length < windowSize)
11
14
  return [];
12
15
  if (from !== undefined && to !== undefined) {
@@ -1 +1 @@
1
- {"version":3,"file":"xyAutoPeaksPicking.js","sourceRoot":"","sources":["../../src/xy/xyAutoPeaksPicking.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"xyAutoPeaksPicking.js","sourceRoot":"","sources":["../../src/xy/xyAutoPeaksPicking.ts"],"names":[],"mappings":"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"}
@@ -65,8 +65,8 @@ export interface XYZAutoZonesPickingOptions {
65
65
  */
66
66
  kernel?: GetKernelOptions;
67
67
  }
68
- export declare type NMRSignal2DWithID<T extends Peak2D = Peak2D> = MakeMandatory<NMRSignal2D<T>, 'id'>;
69
- export declare type NMRZoneWithID = MakeMandatory<NMRZone, 'id'>;
68
+ export type NMRSignal2DWithID<T extends Peak2D = Peak2D> = MakeMandatory<NMRSignal2D<T>, 'id'>;
69
+ export type NMRZoneWithID = MakeMandatory<NMRZone, 'id'>;
70
70
  export declare function xyzAutoZonesPicking(spectraData: Data2D, options: XYZAutoZonesPickingOptions): NMRZoneWithID[];
71
71
  /**
72
72
  * This function converts a set of 2D-peaks in 2D-signals. Each signal could be composed
@@ -108,17 +108,7 @@ export function peaksToRanges(data, peakList, options = {}) {
108
108
  }
109
109
  }
110
110
  // it was a updateIntegrals function.
111
- let sumIntegral = 0;
112
- let sumObserved = 0;
113
- for (const signal of signals) {
114
- sumObserved += Math.abs(Math.round(signal.integralData.value));
115
- }
116
- if (sumObserved !== integrationSum) {
117
- sumIntegral = integrationSum / sumObserved;
118
- for (const signal of signals) {
119
- signal.integralData.value *= sumIntegral;
120
- }
121
- }
111
+ updateIntegration(signals, integrationSum);
122
112
  }
123
113
  signals.sort((a, b) => {
124
114
  return b.delta - a.delta;
@@ -143,7 +133,6 @@ export function peaksToRanges(data, peakList, options = {}) {
143
133
  delta: signal.delta,
144
134
  kind: signal.kind || 'signal',
145
135
  multiplicity: signal.multiplicity,
146
- integration: signal.integralData.value,
147
136
  };
148
137
  if (keepPeaks) {
149
138
  signalResult.peaks = signal.peaks.map((peak) => {
@@ -185,7 +174,6 @@ export function detectSignals(data, peakList, options = {}) {
185
174
  let peaks;
186
175
  let signals = [];
187
176
  let prevPeak = { x: Number.MIN_SAFE_INTEGER };
188
- let spectrumIntegral = 0;
189
177
  frequencyCluster /= frequency;
190
178
  for (const peak of peakList) {
191
179
  if (Math.abs(peak.x - prevPeak.x) > frequencyCluster) {
@@ -231,14 +219,9 @@ export function detectSignals(data, peakList, options = {}) {
231
219
  else {
232
220
  integration.value = integralPeaks;
233
221
  }
234
- spectrumIntegral += integration.value;
235
222
  }
236
223
  if (integrationSum > 0) {
237
- let integralFactor = integrationSum / spectrumIntegral;
238
- for (let signal of signals) {
239
- let integration = signal.integralData;
240
- integration.value *= integralFactor;
241
- }
224
+ updateIntegration(signals, integrationSum);
242
225
  }
243
226
  return signals;
244
227
  }
@@ -249,4 +232,22 @@ export function detectSignals(data, peakList, options = {}) {
249
232
  function computeArea(peak, frequency) {
250
233
  return Math.abs(((peak.intensity * peak.width) / frequency) * 1.57); // todo add an option with this value: 1.772453851
251
234
  }
235
+ /**
236
+ * update the integration Values
237
+ * @param signals
238
+ * @param integrationSum
239
+ */
240
+ function updateIntegration(signals, integrationSum) {
241
+ let sumIntegral = 0;
242
+ let sumObserved = 0;
243
+ for (const signal of signals) {
244
+ sumObserved += Math.abs(Math.round(signal.integralData.value));
245
+ }
246
+ if (sumObserved !== integrationSum) {
247
+ sumIntegral = integrationSum / sumObserved;
248
+ for (const signal of signals) {
249
+ signal.integralData.value *= sumIntegral;
250
+ }
251
+ }
252
+ }
252
253
  //# sourceMappingURL=peaksToRanges.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"peaksToRanges.js","sourceRoot":"","sources":["../../src/peaks/peaksToRanges.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"peaksToRanges.js","sourceRoot":"","sources":["../../src/peaks/peaksToRanges.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,10 @@ import { xyExtract, xNoiseSanPlot, xAbsoluteMedian, } from 'ml-spectra-processin
3
3
  import { convertWidthToHz } from '../peaks/util/convertWidthToHz';
4
4
  export function xyAutoPeaksPicking(data, options) {
5
5
  const { from, to, frequency, noiseLevel, thresholdFactor = 3, minMaxRatio = 0.05, broadRatio = 0.00025, useSanPlot = false, smoothY = true, optimize = false, factorLimits = 4, realTopDetection = true, shape = { kind: 'gaussian' }, optimization = { kind: 'lm' }, broadWidth = 0.25, sgOptions = {}, direction = 'positive', } = options;
6
- const { windowSize = 9, polynomial = 3 } = sgOptions;
6
+ let pointsPerHz = 1 / frequency / (data.x[1] - data.x[0]);
7
+ // we can consider a peak with of 0.5 Hz for the windowSize
8
+ let ws = Math.max(Math.round(pointsPerHz / 2), 5);
9
+ const { windowSize = ws - (ws % 2) + 1, polynomial = 3 } = sgOptions;
7
10
  if (data.x.length < windowSize)
8
11
  return [];
9
12
  if (from !== undefined && to !== undefined) {
@@ -1 +1 @@
1
- {"version":3,"file":"xyAutoPeaksPicking.js","sourceRoot":"","sources":["../../src/xy/xyAutoPeaksPicking.ts"],"names":[],"mappings":"AACA,OAAO,EACL,GAAG,EACH,aAAa,EACb,cAAc,EAMd,QAAQ,GACT,MAAM,QAAQ,CAAC;AAEhB,OAAO,EACL,SAAS,EACT,aAAa,EACb,eAAe,GAChB,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAgElE,MAAM,UAAU,kBAAkB,CAChC,IAAY,EACZ,OAAkC;IAElC,MAAM,EACJ,IAAI,EACJ,EAAE,EACF,SAAS,EACT,UAAU,EACV,eAAe,GAAG,CAAC,EACnB,WAAW,GAAG,IAAI,EAClB,UAAU,GAAG,OAAO,EACpB,UAAU,GAAG,KAAK,EAClB,OAAO,GAAG,IAAI,EACd,QAAQ,GAAG,KAAK,EAChB,YAAY,GAAG,CAAC,EAChB,gBAAgB,GAAG,IAAI,EACvB,KAAK,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,EAC5B,YAAY,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,EAC7B,UAAU,GAAG,IAAI,EACjB,SAAS,GAAG,EAAE,EACd,SAAS,GAAG,UAAU,GACvB,GAAG,OAAO,CAAC;IAEZ,MAAM,EAAE,UAAU,GAAG,CAAC,EAAE,UAAU,GAAG,CAAC,EAAE,GAAG,SAAS,CAAC;IAErD,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,GAAG,UAAU;QAAE,OAAO,EAAE,CAAC;IAE1C,IAAI,IAAI,KAAK,SAAS,IAAI,EAAE,KAAK,SAAS,EAAE;QAC1C,IAAI,GAAG,SAAS,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;KACnD;IAED,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,UAAU,EAAE,UAAU,EAAE,eAAe,EAAE,CAAC,CAAC;IAE9E,IAAI,cAAc,GAAuB;QACvC,KAAK;QACL,SAAS;QACT,UAAU;QACV,QAAQ;QACR,YAAY;QACZ,WAAW,EAAE,IAAI;QACjB,SAAS,EAAE,EAAE,UAAU,EAAE,UAAU,EAAE;QACrC,WAAW;QACX,UAAU;QACV,UAAU,EAAE,MAAM,CAAC,QAAQ;QAC3B,OAAO;QACP,YAAY;QACZ,gBAAgB;KACjB,CAAC;IAEF,QAAQ,SAAS,EAAE;QACjB,KAAK,UAAU,CAAC,CAAC;YACf,OAAO,WAAW,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;SAC1C;QACD,KAAK,UAAU,CAAC,CAAC;YACf,OAAO,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,cAAc,CAAC,CAAC;SACvD;QACD,KAAK,MAAM,CAAC,CAAC;YACX,OAAO;gBACL,GAAG,WAAW,CAAC,IAAI,EAAE,cAAc,CAAC;gBACpC,GAAG,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,cAAc,CAAC;aAClD,CAAC;SACH;QACD,OAAO,CAAC,CAAC;YACP,MAAM,SAAS,GAAU,SAAS,CAAC;YACnC,4EAA4E;YAC5E,MAAM,KAAK,CAAC,wBAAwB,SAAS,EAAE,CAAC,CAAC;SAClD;KACF;AACH,CAAC;AAED,SAAS,gBAAgB,CACvB,IAAY,EACZ,MAA4B,EAC5B,cAAkC;IAElC,cAAc,CAAC,UAAU,GAAG,MAAM,CAAC,QAAQ,CAAC;IAC5C,cAAc,CAAC,WAAW,GAAG,KAAK,CAAC;IACnC,OAAO,WAAW,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;AAC3C,CAAC;AAED,SAAS,WAAW,CAAC,IAAY,EAAE,OAA2B;IAC5D,MAAM,EACJ,KAAK,EACL,SAAS,EACT,UAAU,EACV,QAAQ,EACR,WAAW,EACX,YAAY,EACZ,SAAS,EACT,WAAW,EACX,UAAU,EACV,UAAU,EACV,OAAO,EACP,YAAY,EACZ,gBAAgB,GACjB,GAAG,OAAO,CAAC;IAEZ,MAAM,KAAK,GAAG,GAAG,CAAC,IAAI,EAAE;QACtB,SAAS;QACT,WAAW;QACX,WAAW;QACX,UAAU;QACV,OAAO;QACP,gBAAgB;KACjB,CAAC,CAAC;IAEH,MAAM,QAAQ,GAAG,QAAQ,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;IAE3D,MAAM,QAAQ,GAAG,UAAU;QACzB,CAAC,CAAC,cAAc,CAAC,QAAQ,EAAE;YACvB,UAAU;YACV,UAAU;YACV,KAAK;YACL,YAAY;SACb,CAAC,CAAC,GAAG,CAAC,oBAAoB,CAAC;QAC9B,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;IAEvC,OAAO,gBAAgB,CACrB,QAAQ;QACN,CAAC,CAAC,aAAa,CAAC,IAAI,EAAE,QAAQ,EAAE;YAC5B,KAAK;YACL,YAAY;YACZ,YAAY;SACb,CAAC,CAAC,GAAG,CAAC,oBAAoB,CAAC;QAC9B,CAAC,CAAC,QAAQ,EACZ,EAAE,SAAS,EAAE,CACd,CAAC;AACJ,CAAC;AAED,SAAS,SAAS,CAAC,IAA6B,EAAE,OAAyB;IACzE,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,eAAe,EAAE,GAAG,OAAO,CAAC;IAE5D,MAAM,YAAY,GAAG,CAAC,UAAkB,EAAE,EAAE,CAC1C,OAAO,UAAU,KAAK,QAAQ;QAC5B,CAAC,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC,UAAU,EAAE;QACjD,CAAC,CAAC,UAAU,CAAC;IAEjB,IAAI,UAAU,EAAE;QACd,OAAO,YAAY,CAAC,UAAU,CAAC,CAAC;KACjC;SAAM;QACL,OAAO,UAAU;YACf,CAAC,CAAC,aAAa,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,eAAe,EAAE,CAAC;YACrD,CAAC,CAAC,YAAY,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,eAAe,CAAC,CAAC;KAC3D;AACH,CAAC;AAED,SAAS,oBAAoB,CAC3B,IAAyC;IAEzC,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC;IACxC,OAAO;QACL,EAAE;QACF,CAAC;QACD,CAAC;QACD,KAAK;QACL,KAAK;KACN,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"xyAutoPeaksPicking.js","sourceRoot":"","sources":["../../src/xy/xyAutoPeaksPicking.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "nmr-processing",
3
- "version": "9.3.0",
3
+ "version": "9.3.1",
4
4
  "description": "Pure functions allowing to process NMR spectra.",
5
5
  "main": "./lib/index.js",
6
6
  "module": "./lib-esm/index.js",
@@ -38,20 +38,20 @@
38
38
  },
39
39
  "homepage": "https://github.com/cheminfo/nmr-processing#readme",
40
40
  "devDependencies": {
41
- "@types/jest": "^29.2.2",
41
+ "@types/jest": "^29.2.3",
42
42
  "cheminfo-build": "^1.1.11",
43
43
  "cheminfo-types": "^1.4.0",
44
- "eslint": "^8.27.0",
44
+ "eslint": "^8.28.0",
45
45
  "eslint-config-cheminfo-typescript": "^11.2.2",
46
46
  "jest": "^29.3.1",
47
47
  "jest-matcher-deep-close-to": "^3.0.2",
48
48
  "md5": "^2.3.0",
49
49
  "nmr-xy-testdata": "^0.5.1",
50
50
  "openchemlib": "^8.0.1",
51
- "prettier": "^2.7.1",
51
+ "prettier": "^2.8.0",
52
52
  "rimraf": "^3.0.2",
53
53
  "ts-jest": "^29.0.3",
54
- "typescript": "^4.8.4"
54
+ "typescript": "^4.9.3"
55
55
  },
56
56
  "dependencies": {
57
57
  "@lukeed/uuid": "^2.0.0",
@@ -77,7 +77,7 @@
77
77
  "ml-spectra-processing": "^11.14.0",
78
78
  "ml-tree-set": "^0.1.1",
79
79
  "nmr-correlation": "^2.3.3",
80
- "openchemlib-utils": "^2.0.0",
81
- "spectrum-generator": "^8.0.4"
80
+ "openchemlib-utils": "^2.1.1",
81
+ "spectrum-generator": "^8.0.6"
82
82
  }
83
83
  }
@@ -1,5 +1,5 @@
1
1
  import { v4 as generateID } from '@lukeed/uuid';
2
- import { Molecule } from 'openchemlib';
2
+ import { Molecule } from 'openchemlib/full';
3
3
  import { addDiastereotopicMissingChirality } from 'openchemlib-utils';
4
4
 
5
5
  import { NMRRange, NMRRangeWithIntegration } from '..';
@@ -1,5 +1,5 @@
1
1
  import { v4 as generateID } from '@lukeed/uuid';
2
- import { Molecule } from 'openchemlib';
2
+ import { Molecule } from 'openchemlib/full';
3
3
  import { addDiastereotopicMissingChirality } from 'openchemlib-utils';
4
4
 
5
5
  import { NMRRange } from '..';
@@ -1,4 +1,4 @@
1
- import { Molecule } from 'openchemlib';
1
+ import { Molecule } from 'openchemlib/full';
2
2
  import { addDiastereotopicMissingChirality } from 'openchemlib-utils';
3
3
 
4
4
  import { NMRSignal1D } from '..';
@@ -1,6 +1,6 @@
1
1
  import TreeSet from 'ml-tree-set';
2
2
  import { Values } from 'nmr-correlation';
3
- import { Molecule } from 'openchemlib';
3
+ import { Molecule } from 'openchemlib/full';
4
4
  import { getConnectivityMatrix } from 'openchemlib-utils';
5
5
 
6
6
  import {
@@ -1,5 +1,5 @@
1
1
  declare module 'openchemlib-utils' {
2
- import { Molecule } from 'openchemlib';
2
+ import { Molecule } from 'openchemlib/full';
3
3
 
4
4
  export interface GroupDiastereotopicAtomIDs {
5
5
  counter: number;
@@ -206,17 +206,7 @@ export function peaksToRanges(
206
206
  }
207
207
  }
208
208
  // it was a updateIntegrals function.
209
- let sumIntegral = 0;
210
- let sumObserved = 0;
211
- for (const signal of signals) {
212
- sumObserved += Math.abs(Math.round(signal.integralData.value));
213
- }
214
- if (sumObserved !== integrationSum) {
215
- sumIntegral = integrationSum / sumObserved;
216
- for (const signal of signals) {
217
- signal.integralData.value *= sumIntegral;
218
- }
219
- }
209
+ updateIntegration(signals, integrationSum);
220
210
  }
221
211
 
222
212
  signals.sort((a, b) => {
@@ -230,6 +220,7 @@ export function peaksToRanges(
230
220
  }
231
221
  }
232
222
  }
223
+
233
224
  let ranges: NMRRange[] = [];
234
225
  for (let i = 0; i < signals.length; i++) {
235
226
  let signal = signals[i];
@@ -243,7 +234,6 @@ export function peaksToRanges(
243
234
  delta: signal.delta,
244
235
  kind: signal.kind || 'signal',
245
236
  multiplicity: signal.multiplicity,
246
- integration: signal.integralData.value,
247
237
  };
248
238
  if (keepPeaks) {
249
239
  signalResult.peaks = signal.peaks.map((peak) => {
@@ -299,7 +289,7 @@ export function detectSignals(
299
289
  let peaks;
300
290
  let signals = [];
301
291
  let prevPeak = { x: Number.MIN_SAFE_INTEGER };
302
- let spectrumIntegral = 0;
292
+
303
293
  frequencyCluster /= frequency;
304
294
  for (const peak of peakList) {
305
295
  if (Math.abs(peak.x - prevPeak.x) > frequencyCluster) {
@@ -349,15 +339,10 @@ export function detectSignals(
349
339
  } else {
350
340
  integration.value = integralPeaks;
351
341
  }
352
- spectrumIntegral += integration.value;
353
342
  }
354
343
 
355
344
  if (integrationSum > 0) {
356
- let integralFactor = integrationSum / spectrumIntegral;
357
- for (let signal of signals) {
358
- let integration = signal.integralData;
359
- integration.value *= integralFactor;
360
- }
345
+ updateIntegration(signals, integrationSum);
361
346
  }
362
347
 
363
348
  return signals;
@@ -370,3 +355,22 @@ export function detectSignals(
370
355
  function computeArea(peak: Peak1DIntern, frequency: number) {
371
356
  return Math.abs(((peak.intensity * peak.width) / frequency) * 1.57); // todo add an option with this value: 1.772453851
372
357
  }
358
+
359
+ /**
360
+ * update the integration Values
361
+ * @param signals
362
+ * @param integrationSum
363
+ */
364
+ function updateIntegration(signals: SignalIntern[], integrationSum: number) {
365
+ let sumIntegral = 0;
366
+ let sumObserved = 0;
367
+ for (const signal of signals) {
368
+ sumObserved += Math.abs(Math.round(signal.integralData.value));
369
+ }
370
+ if (sumObserved !== integrationSum) {
371
+ sumIntegral = integrationSum / sumObserved;
372
+ for (const signal of signals) {
373
+ signal.integralData.value *= sumIntegral;
374
+ }
375
+ }
376
+ }
@@ -1,4 +1,4 @@
1
- import type { Molecule } from 'openchemlib';
1
+ import type { Molecule } from 'openchemlib/full';
2
2
 
3
3
  import type { NMRSignal1D } from '../signals/NMRSignal1D';
4
4
  import type { NMRRange } from '../xy/NMRRange';
@@ -1,4 +1,4 @@
1
- import type { Molecule } from 'openchemlib';
1
+ import type { Molecule } from 'openchemlib/full';
2
2
 
3
3
  import type { Prediction1D } from './Prediction1D';
4
4
  import { predictCOSY } from './predictCOSY';
@@ -1,5 +1,5 @@
1
1
  import { FromTo, PointXY } from 'cheminfo-types';
2
- import type { Molecule } from 'openchemlib';
2
+ import type { Molecule } from 'openchemlib/full';
3
3
 
4
4
  import { signals2DToZ } from '../signals/signals2DToZ';
5
5
  import { OptionsSignalsToXY, signalsToXY } from '../signals/signalsToXY';
@@ -1,4 +1,4 @@
1
- import { Molecule } from 'openchemlib';
1
+ import { Molecule } from 'openchemlib/full';
2
2
 
3
3
  import type { Prediction1D } from './Prediction1D';
4
4
  import { predictProton, PredictProtonOptions } from './predictProton';
@@ -1,6 +1,6 @@
1
1
  import { v4 as generateID } from '@lukeed/uuid';
2
2
  import fetch from 'cross-fetch';
3
- import type { Molecule } from 'openchemlib';
3
+ import type { Molecule } from 'openchemlib/full';
4
4
 
5
5
  import { setIDs } from '../peaks/util/setIDs';
6
6
  import type { NMRSignal1D } from '../signals/NMRSignal1D';
@@ -1,4 +1,4 @@
1
- import { Molecule } from 'openchemlib';
1
+ import { Molecule } from 'openchemlib/full';
2
2
 
3
3
  import type { Prediction1D } from './Prediction1D';
4
4
  import { predictCarbon } from './predictCarbon';
@@ -1,4 +1,4 @@
1
- import { Molecule } from 'openchemlib';
1
+ import { Molecule } from 'openchemlib/full';
2
2
 
3
3
  import type { Prediction1D } from './Prediction1D';
4
4
  import { predictCarbon, PredictCarbonOptions } from './predictCarbon';
@@ -1,7 +1,7 @@
1
1
  import { v4 as generateID } from '@lukeed/uuid';
2
2
  import fetch from 'cross-fetch';
3
3
  import FormData from 'form-data';
4
- import type { Molecule } from 'openchemlib';
4
+ import type { Molecule } from 'openchemlib/full';
5
5
  import {
6
6
  addDiastereotopicMissingChirality,
7
7
  getConnectivityMatrix,
@@ -1,5 +1,5 @@
1
1
  import { fetch } from 'cross-fetch';
2
- import { Molecule } from 'openchemlib';
2
+ import { Molecule } from 'openchemlib/full';
3
3
 
4
4
  import type { Prediction1D } from '../Prediction1D';
5
5
 
@@ -1,4 +1,4 @@
1
- import type { Molecule } from 'openchemlib';
1
+ import type { Molecule } from 'openchemlib/full';
2
2
  import {
3
3
  getGroupedDiastereotopicAtomIDs,
4
4
  getHoseCodesFromDiastereotopicID,
@@ -1,4 +1,4 @@
1
- import type { Molecule } from 'openchemlib';
1
+ import type { Molecule } from 'openchemlib/full';
2
2
 
3
3
  import type { Prediction1D } from '../Prediction1D';
4
4
 
@@ -1,7 +1,7 @@
1
1
  import { v4 as generateID } from '@lukeed/uuid';
2
2
  import { agnes, Cluster } from 'ml-hclust';
3
3
  import { Matrix } from 'ml-matrix';
4
- import { Molecule } from 'openchemlib';
4
+ import { Molecule } from 'openchemlib/full';
5
5
  import {
6
6
  getGroupedDiastereotopicAtomIDs,
7
7
  getPathsInfo,
@@ -1,4 +1,4 @@
1
- export function hasProperty<T, K extends keyof T>(
1
+ export function hasProperty<T extends object, K extends keyof T>(
2
2
  data: T,
3
3
  key: K,
4
4
  ): data is T & { [P in K]-?: T[P] } {
@@ -106,7 +106,11 @@ export function xyAutoPeaksPicking(
106
106
  direction = 'positive',
107
107
  } = options;
108
108
 
109
- const { windowSize = 9, polynomial = 3 } = sgOptions;
109
+ let pointsPerHz = 1 / frequency / (data.x[1] - data.x[0]);
110
+ // we can consider a peak with of 0.5 Hz for the windowSize
111
+ let ws = Math.max(Math.round(pointsPerHz / 2), 5);
112
+
113
+ const { windowSize = ws - (ws % 2) + 1, polynomial = 3 } = sgOptions;
110
114
 
111
115
  if (data.x.length < windowSize) return [];
112
116