nmr-processing 9.7.7 → 9.7.8

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.
@@ -11,7 +11,7 @@ function joinPatterns(patterns, options) {
11
11
  return sum + couplingValues_1.couplingValues[pattern];
12
12
  }, 0);
13
13
  if (!couplingPatterns_1.couplingPatterns[sum]) {
14
- throw new Error("The joined pattern doesn't exist");
14
+ throw new Error(`The joined pattern from ${patterns.join(',')} doesn't exist`);
15
15
  }
16
16
  return options?.acsFormat ? couplingPatterns_1.couplingACSPatterns[sum] : couplingPatterns_1.couplingPatterns[sum];
17
17
  }
@@ -1 +1 @@
1
- {"version":3,"file":"joinPatterns.js","sourceRoot":"","sources":["../../src/multiplicity/joinPatterns.ts"],"names":[],"mappings":";;;AAAA,oEAGuC;AACvC,gEAA6D;AAgB7D,SAAgB,YAAY,CAC1B,QAAkB,EAClB,OAA6B;IAE7B,MAAM,GAAG,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE;QAC3C,IAAI,KAAK,CAAC,+BAAc,CAAC,OAAO,CAAC,CAAC,EAAE;YAClC,MAAM,IAAI,KAAK,CACb,WAAW,OAAO,cAAc,MAAM,CAAC,IAAI,CAAC,+BAAc,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CACxE,CAAC;SACH;QACD,OAAO,GAAG,GAAG,+BAAc,CAAC,OAAO,CAAC,CAAC;IACvC,CAAC,EAAE,CAAC,CAAC,CAAC;IAEN,IAAI,CAAC,mCAAgB,CAAC,GAAG,CAAC,EAAE;QAC1B,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;KACrD;IAED,OAAO,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,sCAAmB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,mCAAgB,CAAC,GAAG,CAAC,CAAC;AAC/E,CAAC;AAlBD,oCAkBC"}
1
+ {"version":3,"file":"joinPatterns.js","sourceRoot":"","sources":["../../src/multiplicity/joinPatterns.ts"],"names":[],"mappings":";;;AAAA,oEAGuC;AACvC,gEAA6D;AAgB7D,SAAgB,YAAY,CAC1B,QAAkB,EAClB,OAA6B;IAE7B,MAAM,GAAG,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE;QAC3C,IAAI,KAAK,CAAC,+BAAc,CAAC,OAAO,CAAC,CAAC,EAAE;YAClC,MAAM,IAAI,KAAK,CACb,WAAW,OAAO,cAAc,MAAM,CAAC,IAAI,CAAC,+BAAc,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CACxE,CAAC;SACH;QACD,OAAO,GAAG,GAAG,+BAAc,CAAC,OAAO,CAAC,CAAC;IACvC,CAAC,EAAE,CAAC,CAAC,CAAC;IAEN,IAAI,CAAC,mCAAgB,CAAC,GAAG,CAAC,EAAE;QAC1B,MAAM,IAAI,KAAK,CACb,2BAA2B,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAC9D,CAAC;KACH;IAED,OAAO,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,sCAAmB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,mCAAgB,CAAC,GAAG,CAAC,CAAC;AAC/E,CAAC;AApBD,oCAoBC"}
@@ -1,3 +1,3 @@
1
1
  import { NMRPeak1D } from './NMRPeak1D';
2
2
  import { PeaksToXYOptions } from './peaksToXY';
3
- export declare function peakToXY(peak: NMRPeak1D, options: PeaksToXYOptions): import("cheminfo-types").DataXY<import("cheminfo-types").DoubleArray>;
3
+ export declare function peakToXY(peak: NMRPeak1D, options: PeaksToXYOptions): import("cheminfo-types").DataXY<Float64Array>;
@@ -19,4 +19,4 @@ export interface PeaksToXYOptions extends OptionsSG1D {
19
19
  */
20
20
  frequency: number;
21
21
  }
22
- export declare function peaksToXY(peaks: NMRPeak1D[], options: PeaksToXYOptions): import("cheminfo-types").DataXY<import("cheminfo-types").DoubleArray>;
22
+ export declare function peaksToXY(peaks: NMRPeak1D[], options: PeaksToXYOptions): import("cheminfo-types").DataXY<Float64Array>;
@@ -47,6 +47,16 @@ function groupJCouplings(signal, comparator, options) {
47
47
  }
48
48
  signal.js = [];
49
49
  for (let group of groups) {
50
+ let multiplicity = '';
51
+ try {
52
+ multiplicity = (0, joinPatterns_1.joinPatterns)(group
53
+ .filter((group) => group.multiplicity)
54
+ .map((group) => group.multiplicity), { acsFormat });
55
+ }
56
+ catch {
57
+ signal.js.push(...group);
58
+ continue;
59
+ }
50
60
  let coupling = (0, ml_spectra_processing_1.xSum)(group.map((group) => group.coupling)) / group.length;
51
61
  let atoms = distinctValues(group
52
62
  .filter((group) => group.atoms)
@@ -61,9 +71,6 @@ function groupJCouplings(signal, comparator, options) {
61
71
  .map((group) => group.diaIDs)
62
72
  .flat());
63
73
  let distances = distinctValues(group.map((group) => group.pathLength));
64
- let multiplicity = (0, joinPatterns_1.joinPatterns)(group
65
- .filter((group) => group.multiplicity)
66
- .map((group) => group.multiplicity), { acsFormat });
67
74
  let newJ = {
68
75
  coupling,
69
76
  multiplicity,
@@ -1 +1 @@
1
- {"version":3,"file":"signalJoinCouplings.js","sourceRoot":"","sources":["../../src/signal/signalJoinCouplings.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"signalJoinCouplings.js","sourceRoot":"","sources":["../../src/signal/signalJoinCouplings.ts"],"names":[],"mappings":"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"}
@@ -8,7 +8,7 @@ export function joinPatterns(patterns, options) {
8
8
  return sum + couplingValues[pattern];
9
9
  }, 0);
10
10
  if (!couplingPatterns[sum]) {
11
- throw new Error("The joined pattern doesn't exist");
11
+ throw new Error(`The joined pattern from ${patterns.join(',')} doesn't exist`);
12
12
  }
13
13
  return options?.acsFormat ? couplingACSPatterns[sum] : couplingPatterns[sum];
14
14
  }
@@ -1 +1 @@
1
- {"version":3,"file":"joinPatterns.js","sourceRoot":"","sources":["../../src/multiplicity/joinPatterns.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,mBAAmB,EACnB,gBAAgB,GACjB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAgB7D,MAAM,UAAU,YAAY,CAC1B,QAAkB,EAClB,OAA6B;IAE7B,MAAM,GAAG,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE;QAC3C,IAAI,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,EAAE;YAClC,MAAM,IAAI,KAAK,CACb,WAAW,OAAO,cAAc,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CACxE,CAAC;SACH;QACD,OAAO,GAAG,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;IACvC,CAAC,EAAE,CAAC,CAAC,CAAC;IAEN,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,EAAE;QAC1B,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;KACrD;IAED,OAAO,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;AAC/E,CAAC"}
1
+ {"version":3,"file":"joinPatterns.js","sourceRoot":"","sources":["../../src/multiplicity/joinPatterns.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,mBAAmB,EACnB,gBAAgB,GACjB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAgB7D,MAAM,UAAU,YAAY,CAC1B,QAAkB,EAClB,OAA6B;IAE7B,MAAM,GAAG,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE;QAC3C,IAAI,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,EAAE;YAClC,MAAM,IAAI,KAAK,CACb,WAAW,OAAO,cAAc,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CACxE,CAAC;SACH;QACD,OAAO,GAAG,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;IACvC,CAAC,EAAE,CAAC,CAAC,CAAC;IAEN,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,EAAE;QAC1B,MAAM,IAAI,KAAK,CACb,2BAA2B,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAC9D,CAAC;KACH;IAED,OAAO,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;AAC/E,CAAC"}
@@ -43,6 +43,16 @@ function groupJCouplings(signal, comparator, options) {
43
43
  }
44
44
  signal.js = [];
45
45
  for (let group of groups) {
46
+ let multiplicity = '';
47
+ try {
48
+ multiplicity = joinPatterns(group
49
+ .filter((group) => group.multiplicity)
50
+ .map((group) => group.multiplicity), { acsFormat });
51
+ }
52
+ catch {
53
+ signal.js.push(...group);
54
+ continue;
55
+ }
46
56
  let coupling = xSum(group.map((group) => group.coupling)) / group.length;
47
57
  let atoms = distinctValues(group
48
58
  .filter((group) => group.atoms)
@@ -57,9 +67,6 @@ function groupJCouplings(signal, comparator, options) {
57
67
  .map((group) => group.diaIDs)
58
68
  .flat());
59
69
  let distances = distinctValues(group.map((group) => group.pathLength));
60
- let multiplicity = joinPatterns(group
61
- .filter((group) => group.multiplicity)
62
- .map((group) => group.multiplicity), { acsFormat });
63
70
  let newJ = {
64
71
  coupling,
65
72
  multiplicity,
@@ -1 +1 @@
1
- {"version":3,"file":"signalJoinCouplings.js","sourceRoot":"","sources":["../../src/signal/signalJoinCouplings.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"signalJoinCouplings.js","sourceRoot":"","sources":["../../src/signal/signalJoinCouplings.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.7.7",
3
+ "version": "9.7.8",
4
4
  "description": "Pure functions allowing to process NMR spectra.",
5
5
  "main": "./lib/index.js",
6
6
  "module": "./lib-esm/index.js",
@@ -83,6 +83,6 @@
83
83
  "nmr-correlation": "^2.3.3",
84
84
  "nmredata": "^0.9.2",
85
85
  "openchemlib-utils": "^2.4.0",
86
- "spectrum-generator": "^8.0.7"
86
+ "spectrum-generator": "^8.0.8"
87
87
  }
88
88
  }
@@ -32,7 +32,9 @@ export function joinPatterns(
32
32
  }, 0);
33
33
 
34
34
  if (!couplingPatterns[sum]) {
35
- throw new Error("The joined pattern doesn't exist");
35
+ throw new Error(
36
+ `The joined pattern from ${patterns.join(',')} doesn't exist`,
37
+ );
36
38
  }
37
39
 
38
40
  return options?.acsFormat ? couplingACSPatterns[sum] : couplingPatterns[sum];
@@ -94,6 +94,19 @@ function groupJCouplings(
94
94
 
95
95
  signal.js = [];
96
96
  for (let group of groups) {
97
+ let multiplicity = '';
98
+ try {
99
+ multiplicity = joinPatterns(
100
+ group
101
+ .filter((group) => group.multiplicity)
102
+ .map((group) => group.multiplicity) as string[],
103
+ { acsFormat },
104
+ );
105
+ } catch {
106
+ signal.js.push(...group);
107
+ continue;
108
+ }
109
+
97
110
  let coupling = xSum(group.map((group) => group.coupling)) / group.length;
98
111
  let atoms = distinctValues(
99
112
  group
@@ -120,13 +133,6 @@ function groupJCouplings(
120
133
  group.map((group) => group.pathLength) as number[],
121
134
  ) as number[];
122
135
 
123
- let multiplicity = joinPatterns(
124
- group
125
- .filter((group) => group.multiplicity)
126
- .map((group) => group.multiplicity) as string[],
127
- { acsFormat },
128
- );
129
-
130
136
  let newJ: Jcoupling = {
131
137
  coupling,
132
138
  multiplicity,