nmr-processing 9.4.0 → 9.4.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.
@@ -0,0 +1,7 @@
1
+ export interface MultipletDefinition {
2
+ label: string;
3
+ value: string;
4
+ names: string[];
5
+ multiplicity: number | null;
6
+ }
7
+ export declare const MultiplicityPatterns: MultipletDefinition[];
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MultiplicityPatterns = void 0;
4
+ exports.MultiplicityPatterns = [
5
+ { label: 'singlet', value: 's', multiplicity: 1, names: ['br s'] },
6
+ { label: 'doublet', value: 'd', multiplicity: 2, names: [] },
7
+ { label: 'triplet', value: 't', multiplicity: 3, names: [] },
8
+ { label: 'quartet', value: 'q', multiplicity: 4, names: [] },
9
+ {
10
+ label: 'quintet',
11
+ value: 'i',
12
+ multiplicity: 5,
13
+ names: ['quint', 'qui', 'qnt', 'pentet', 'pnt', 'pent'],
14
+ },
15
+ {
16
+ label: 'sextet',
17
+ value: 'h',
18
+ multiplicity: 6,
19
+ names: ['x', 'sxt', 'sext', 'hexuplet'],
20
+ },
21
+ {
22
+ label: 'septet',
23
+ value: 'p',
24
+ multiplicity: 7,
25
+ names: ['sept', 'spt', 'heptet', 'hpt', 'hept'],
26
+ },
27
+ { label: 'octet', value: 'o', multiplicity: 8, names: ['oct'] },
28
+ { label: 'nonet', value: 'n', multiplicity: 9, names: ['non'] },
29
+ { label: 'massive', value: 'm', multiplicity: null, names: [] },
30
+ ];
31
+ //# sourceMappingURL=MultiplicityPatterns.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MultiplicityPatterns.js","sourceRoot":"","sources":["../../src/constants/MultiplicityPatterns.ts"],"names":[],"mappings":";;;AAOa,QAAA,oBAAoB,GAA0B;IACzD,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,EAAE,YAAY,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,MAAM,CAAC,EAAE;IAClE,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,EAAE,YAAY,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE;IAC5D,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,EAAE,YAAY,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE;IAC5D,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,EAAE,YAAY,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE;IAC5D;QACE,KAAK,EAAE,SAAS;QAChB,KAAK,EAAE,GAAG;QACV,YAAY,EAAE,CAAC;QACf,KAAK,EAAE,CAAC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,CAAC;KACxD;IACD;QACE,KAAK,EAAE,QAAQ;QACf,KAAK,EAAE,GAAG;QACV,YAAY,EAAE,CAAC;QACf,KAAK,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,CAAC;KACxC;IACD;QACE,KAAK,EAAE,QAAQ;QACf,KAAK,EAAE,GAAG;QACV,YAAY,EAAE,CAAC;QACf,KAAK,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,CAAC;KAChD;IACD,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,YAAY,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,KAAK,CAAC,EAAE;IAC/D,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,YAAY,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,KAAK,CAAC,EAAE;IAC/D,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,EAAE,YAAY,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE;CAChE,CAAC"}
@@ -1,15 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.couplingPatterns = void 0;
4
- exports.couplingPatterns = [
5
- 's',
6
- 'd',
7
- 't',
8
- 'q',
9
- 'quint',
10
- 'h',
11
- 'sept',
12
- 'o',
13
- 'n',
14
- ];
4
+ const MultiplicityPatterns_1 = require("./MultiplicityPatterns");
5
+ exports.couplingPatterns = MultiplicityPatterns_1.MultiplicityPatterns.map((m) => m.value);
15
6
  //# sourceMappingURL=couplingPatterns.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"couplingPatterns.js","sourceRoot":"","sources":["../../src/constants/couplingPatterns.ts"],"names":[],"mappings":";;;AAAa,QAAA,gBAAgB,GAAG;IAC9B,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,OAAO;IACP,GAAG;IACH,MAAM;IACN,GAAG;IACH,GAAG;CACJ,CAAC"}
1
+ {"version":3,"file":"couplingPatterns.js","sourceRoot":"","sources":["../../src/constants/couplingPatterns.ts"],"names":[],"mappings":";;;AAAA,iEAA8D;AAEjD,QAAA,gBAAgB,GAAG,2CAAoB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC"}
@@ -1,19 +1,15 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.couplingValues = void 0;
4
- exports.couplingValues = {
5
- s: 0,
6
- d: 1,
7
- t: 2,
8
- q: 3,
9
- quint: 4,
10
- h: 5,
11
- hex: 5,
12
- hept: 6,
13
- sept: 6,
14
- oct: 7,
15
- o: 7,
16
- non: 8,
17
- n: 8,
18
- };
4
+ const MultiplicityPatterns_1 = require("./MultiplicityPatterns");
5
+ const result = {};
6
+ for (const { value, multiplicity, names } of MultiplicityPatterns_1.MultiplicityPatterns) {
7
+ if (multiplicity)
8
+ result[value] = multiplicity - 1;
9
+ for (const name of names) {
10
+ if (multiplicity)
11
+ result[name] = multiplicity - 1;
12
+ }
13
+ }
14
+ exports.couplingValues = result;
19
15
  //# sourceMappingURL=couplingValues.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"couplingValues.js","sourceRoot":"","sources":["../../src/constants/couplingValues.ts"],"names":[],"mappings":";;;AAAa,QAAA,cAAc,GAA8B;IACvD,CAAC,EAAE,CAAC;IACJ,CAAC,EAAE,CAAC;IACJ,CAAC,EAAE,CAAC;IACJ,CAAC,EAAE,CAAC;IACJ,KAAK,EAAE,CAAC;IACR,CAAC,EAAE,CAAC;IACJ,GAAG,EAAE,CAAC;IACN,IAAI,EAAE,CAAC;IACP,IAAI,EAAE,CAAC;IACP,GAAG,EAAE,CAAC;IACN,CAAC,EAAE,CAAC;IACJ,GAAG,EAAE,CAAC;IACN,CAAC,EAAE,CAAC;CACL,CAAC"}
1
+ {"version":3,"file":"couplingValues.js","sourceRoot":"","sources":["../../src/constants/couplingValues.ts"],"names":[],"mappings":";;;AAAA,iEAA8D;AAE9D,MAAM,MAAM,GAA8B,EAAE,CAAC;AAC7C,KAAK,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,IAAI,2CAAoB,EAAE;IACjE,IAAI,YAAY;QAAE,MAAM,CAAC,KAAK,CAAC,GAAG,YAAY,GAAG,CAAC,CAAC;IACnD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;QACxB,IAAI,YAAY;YAAE,MAAM,CAAC,IAAI,CAAC,GAAG,YAAY,GAAG,CAAC,CAAC;KACnD;CACF;AACY,QAAA,cAAc,GAAG,MAAM,CAAC"}
package/lib/index.d.ts CHANGED
@@ -23,6 +23,7 @@ export * from './signals/optimizeSignals';
23
23
  export * from './signals/signalsToFID';
24
24
  export * from './signal/signalJoinCouplings';
25
25
  export * from './utilities/resurrect';
26
+ export * from './utilities/splitPatterns';
26
27
  export * from './utilities/rangeFromSignal';
27
28
  export * from './utilities/getFrequency';
28
29
  export * from './xy/xyAutoPeaksPicking';
@@ -36,6 +37,7 @@ export * from './databases/protonImpurities';
36
37
  export * from './peaks/solventSuppression';
37
38
  export * from './ranges/markSolventSignal';
38
39
  export * from './apodization/apodization';
40
+ export * from './constants/MultiplicityPatterns';
39
41
  export type { NMRSignal1D } from './signals/NMRSignal1D';
40
42
  export type { NMRSignal2D, Signal2DProjection } from './xyz/NMRSignal2D';
41
43
  export type { NMRRange } from './xy/NMRRange';
package/lib/index.js CHANGED
@@ -39,6 +39,7 @@ __exportStar(require("./signals/optimizeSignals"), exports);
39
39
  __exportStar(require("./signals/signalsToFID"), exports);
40
40
  __exportStar(require("./signal/signalJoinCouplings"), exports);
41
41
  __exportStar(require("./utilities/resurrect"), exports);
42
+ __exportStar(require("./utilities/splitPatterns"), exports);
42
43
  __exportStar(require("./utilities/rangeFromSignal"), exports);
43
44
  __exportStar(require("./utilities/getFrequency"), exports);
44
45
  __exportStar(require("./xy/xyAutoPeaksPicking"), exports);
@@ -52,4 +53,5 @@ __exportStar(require("./databases/protonImpurities"), exports);
52
53
  __exportStar(require("./peaks/solventSuppression"), exports);
53
54
  __exportStar(require("./ranges/markSolventSignal"), exports);
54
55
  __exportStar(require("./apodization/apodization"), exports);
56
+ __exportStar(require("./constants/MultiplicityPatterns"), exports);
55
57
  //# sourceMappingURL=index.js.map
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,qDAAmC;AACnC,yDAAuC;AACvC,+DAA6C;AAE7C,gEAA8C;AAC9C,oDAAkC;AAClC,mDAAiC;AAEjC,6DAA2C;AAC3C,6DAA2C;AAC3C,2DAAyC;AACzC,2DAAyC;AACzC,2DAAyC;AACzC,0DAAwC;AACxC,iEAA+C;AAE/C,gEAA8C;AAC9C,iEAA+C;AAC/C,8DAA4C;AAE5C,uDAAqC;AACrC,sDAAoC;AAEpC,4DAA0C;AAC1C,wDAAsC;AACtC,yDAAuC;AACvC,4DAA0C;AAC1C,yDAAuC;AACvC,+DAA6C;AAE7C,wDAAsC;AACtC,8DAA4C;AAC5C,2DAAyC;AAEzC,0DAAwC;AACxC,2DAAyC;AACzC,2DAAyC;AAEzC,4DAA0C;AAC1C,wDAAsC;AAEtC,0DAAwC;AACxC,+DAA6C;AAC7C,+DAA6C;AAE7C,6DAA2C;AAC3C,6DAA2C;AAE3C,4DAA0C"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,qDAAmC;AACnC,yDAAuC;AACvC,+DAA6C;AAE7C,gEAA8C;AAC9C,oDAAkC;AAClC,mDAAiC;AAEjC,6DAA2C;AAC3C,6DAA2C;AAC3C,2DAAyC;AACzC,2DAAyC;AACzC,2DAAyC;AACzC,0DAAwC;AACxC,iEAA+C;AAE/C,gEAA8C;AAC9C,iEAA+C;AAC/C,8DAA4C;AAE5C,uDAAqC;AACrC,sDAAoC;AAEpC,4DAA0C;AAC1C,wDAAsC;AACtC,yDAAuC;AACvC,4DAA0C;AAC1C,yDAAuC;AACvC,+DAA6C;AAE7C,wDAAsC;AACtC,4DAA0C;AAC1C,8DAA4C;AAC5C,2DAAyC;AAEzC,0DAAwC;AACxC,2DAAyC;AACzC,2DAAyC;AAEzC,4DAA0C;AAC1C,wDAAsC;AAEtC,0DAAwC;AACxC,+DAA6C;AAC7C,+DAA6C;AAE7C,6DAA2C;AAC3C,6DAA2C;AAE3C,4DAA0C;AAE1C,mEAAiD"}
@@ -1,10 +1,17 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.splitPatterns = void 0;
4
+ const MultiplicityPatterns_1 = require("../constants/MultiplicityPatterns");
5
+ let possiblePatterns = [];
6
+ for (const { label, value, names } of MultiplicityPatterns_1.MultiplicityPatterns) {
7
+ possiblePatterns.push(label, value, ...names);
8
+ }
9
+ possiblePatterns = possiblePatterns.sort((a, b) => b.length - a.length);
4
10
  function splitPatterns(multiplet) {
5
11
  if (/^\s*$/.exec(multiplet))
6
12
  return [];
7
- let result = multiplet.match(/ *(quint|hex|sept|hept|oct|nona|non|s|d|t|q|h|o|n) */g);
13
+ const regexp = new RegExp(possiblePatterns.join('|'), 'g');
14
+ let result = multiplet.match(regexp);
8
15
  if (result)
9
16
  return result.map((entry) => entry.trim());
10
17
  return [multiplet];
@@ -1 +1 @@
1
- {"version":3,"file":"splitPatterns.js","sourceRoot":"","sources":["../../src/utilities/splitPatterns.ts"],"names":[],"mappings":";;;AAAA,SAAgB,aAAa,CAAC,SAAiB;IAC7C,IAAI,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC;QAAE,OAAO,EAAE,CAAC;IACvC,IAAI,MAAM,GAAG,SAAS,CAAC,KAAK,CAC1B,uDAAuD,CACxD,CAAC;IACF,IAAI,MAAM;QAAE,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;IACvD,OAAO,CAAC,SAAS,CAAC,CAAC;AACrB,CAAC;AAPD,sCAOC"}
1
+ {"version":3,"file":"splitPatterns.js","sourceRoot":"","sources":["../../src/utilities/splitPatterns.ts"],"names":[],"mappings":";;;AAAA,4EAAyE;AAEzE,IAAI,gBAAgB,GAAa,EAAE,CAAC;AACpC,KAAK,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,2CAAoB,EAAE;IAC1D,gBAAgB,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC,CAAC;CAC/C;AACD,gBAAgB,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC;AAExE,SAAgB,aAAa,CAAC,SAAiB;IAC7C,IAAI,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC;QAAE,OAAO,EAAE,CAAC;IACvC,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC;IAC3D,IAAI,MAAM,GAAG,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACrC,IAAI,MAAM;QAAE,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;IACvD,OAAO,CAAC,SAAS,CAAC,CAAC;AACrB,CAAC;AAND,sCAMC"}
@@ -0,0 +1,28 @@
1
+ export const MultiplicityPatterns = [
2
+ { label: 'singlet', value: 's', multiplicity: 1, names: ['br s'] },
3
+ { label: 'doublet', value: 'd', multiplicity: 2, names: [] },
4
+ { label: 'triplet', value: 't', multiplicity: 3, names: [] },
5
+ { label: 'quartet', value: 'q', multiplicity: 4, names: [] },
6
+ {
7
+ label: 'quintet',
8
+ value: 'i',
9
+ multiplicity: 5,
10
+ names: ['quint', 'qui', 'qnt', 'pentet', 'pnt', 'pent'],
11
+ },
12
+ {
13
+ label: 'sextet',
14
+ value: 'h',
15
+ multiplicity: 6,
16
+ names: ['x', 'sxt', 'sext', 'hexuplet'],
17
+ },
18
+ {
19
+ label: 'septet',
20
+ value: 'p',
21
+ multiplicity: 7,
22
+ names: ['sept', 'spt', 'heptet', 'hpt', 'hept'],
23
+ },
24
+ { label: 'octet', value: 'o', multiplicity: 8, names: ['oct'] },
25
+ { label: 'nonet', value: 'n', multiplicity: 9, names: ['non'] },
26
+ { label: 'massive', value: 'm', multiplicity: null, names: [] },
27
+ ];
28
+ //# sourceMappingURL=MultiplicityPatterns.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MultiplicityPatterns.js","sourceRoot":"","sources":["../../src/constants/MultiplicityPatterns.ts"],"names":[],"mappings":"AAOA,MAAM,CAAC,MAAM,oBAAoB,GAA0B;IACzD,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,EAAE,YAAY,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,MAAM,CAAC,EAAE;IAClE,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,EAAE,YAAY,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE;IAC5D,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,EAAE,YAAY,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE;IAC5D,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,EAAE,YAAY,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE;IAC5D;QACE,KAAK,EAAE,SAAS;QAChB,KAAK,EAAE,GAAG;QACV,YAAY,EAAE,CAAC;QACf,KAAK,EAAE,CAAC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,CAAC;KACxD;IACD;QACE,KAAK,EAAE,QAAQ;QACf,KAAK,EAAE,GAAG;QACV,YAAY,EAAE,CAAC;QACf,KAAK,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,CAAC;KACxC;IACD;QACE,KAAK,EAAE,QAAQ;QACf,KAAK,EAAE,GAAG;QACV,YAAY,EAAE,CAAC;QACf,KAAK,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,CAAC;KAChD;IACD,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,YAAY,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,KAAK,CAAC,EAAE;IAC/D,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,YAAY,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,KAAK,CAAC,EAAE;IAC/D,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,EAAE,YAAY,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE;CAChE,CAAC"}
@@ -1,12 +1,3 @@
1
- export const couplingPatterns = [
2
- 's',
3
- 'd',
4
- 't',
5
- 'q',
6
- 'quint',
7
- 'h',
8
- 'sept',
9
- 'o',
10
- 'n',
11
- ];
1
+ import { MultiplicityPatterns } from './MultiplicityPatterns';
2
+ export const couplingPatterns = MultiplicityPatterns.map((m) => m.value);
12
3
  //# sourceMappingURL=couplingPatterns.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"couplingPatterns.js","sourceRoot":"","sources":["../../src/constants/couplingPatterns.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,OAAO;IACP,GAAG;IACH,MAAM;IACN,GAAG;IACH,GAAG;CACJ,CAAC"}
1
+ {"version":3,"file":"couplingPatterns.js","sourceRoot":"","sources":["../../src/constants/couplingPatterns.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAE9D,MAAM,CAAC,MAAM,gBAAgB,GAAG,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC"}
@@ -1,16 +1,12 @@
1
- export const couplingValues = {
2
- s: 0,
3
- d: 1,
4
- t: 2,
5
- q: 3,
6
- quint: 4,
7
- h: 5,
8
- hex: 5,
9
- hept: 6,
10
- sept: 6,
11
- oct: 7,
12
- o: 7,
13
- non: 8,
14
- n: 8,
15
- };
1
+ import { MultiplicityPatterns } from './MultiplicityPatterns';
2
+ const result = {};
3
+ for (const { value, multiplicity, names } of MultiplicityPatterns) {
4
+ if (multiplicity)
5
+ result[value] = multiplicity - 1;
6
+ for (const name of names) {
7
+ if (multiplicity)
8
+ result[name] = multiplicity - 1;
9
+ }
10
+ }
11
+ export const couplingValues = result;
16
12
  //# sourceMappingURL=couplingValues.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"couplingValues.js","sourceRoot":"","sources":["../../src/constants/couplingValues.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,cAAc,GAA8B;IACvD,CAAC,EAAE,CAAC;IACJ,CAAC,EAAE,CAAC;IACJ,CAAC,EAAE,CAAC;IACJ,CAAC,EAAE,CAAC;IACJ,KAAK,EAAE,CAAC;IACR,CAAC,EAAE,CAAC;IACJ,GAAG,EAAE,CAAC;IACN,IAAI,EAAE,CAAC;IACP,IAAI,EAAE,CAAC;IACP,GAAG,EAAE,CAAC;IACN,CAAC,EAAE,CAAC;IACJ,GAAG,EAAE,CAAC;IACN,CAAC,EAAE,CAAC;CACL,CAAC"}
1
+ {"version":3,"file":"couplingValues.js","sourceRoot":"","sources":["../../src/constants/couplingValues.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAE9D,MAAM,MAAM,GAA8B,EAAE,CAAC;AAC7C,KAAK,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,IAAI,oBAAoB,EAAE;IACjE,IAAI,YAAY;QAAE,MAAM,CAAC,KAAK,CAAC,GAAG,YAAY,GAAG,CAAC,CAAC;IACnD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;QACxB,IAAI,YAAY;YAAE,MAAM,CAAC,IAAI,CAAC,GAAG,YAAY,GAAG,CAAC,CAAC;KACnD;CACF;AACD,MAAM,CAAC,MAAM,cAAc,GAAG,MAAM,CAAC"}
package/lib-esm/index.js CHANGED
@@ -23,6 +23,7 @@ export * from './signals/optimizeSignals';
23
23
  export * from './signals/signalsToFID';
24
24
  export * from './signal/signalJoinCouplings';
25
25
  export * from './utilities/resurrect';
26
+ export * from './utilities/splitPatterns';
26
27
  export * from './utilities/rangeFromSignal';
27
28
  export * from './utilities/getFrequency';
28
29
  export * from './xy/xyAutoPeaksPicking';
@@ -36,4 +37,5 @@ export * from './databases/protonImpurities';
36
37
  export * from './peaks/solventSuppression';
37
38
  export * from './ranges/markSolventSignal';
38
39
  export * from './apodization/apodization';
40
+ export * from './constants/MultiplicityPatterns';
39
41
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC;AACvC,cAAc,8BAA8B,CAAC;AAE7C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AAEjC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,yBAAyB,CAAC;AACxC,cAAc,gCAAgC,CAAC;AAE/C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,6BAA6B,CAAC;AAE5C,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AAEpC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC;AACvC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,wBAAwB,CAAC;AACvC,cAAc,8BAA8B,CAAC;AAE7C,cAAc,uBAAuB,CAAC;AACtC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,0BAA0B,CAAC;AAEzC,cAAc,yBAAyB,CAAC;AACxC,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AAEzC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,uBAAuB,CAAC;AAEtC,cAAc,yBAAyB,CAAC;AACxC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,8BAA8B,CAAC;AAE7C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,4BAA4B,CAAC;AAE3C,cAAc,2BAA2B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC;AACvC,cAAc,8BAA8B,CAAC;AAE7C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AAEjC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,yBAAyB,CAAC;AACxC,cAAc,gCAAgC,CAAC;AAE/C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,6BAA6B,CAAC;AAE5C,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AAEpC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC;AACvC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,wBAAwB,CAAC;AACvC,cAAc,8BAA8B,CAAC;AAE7C,cAAc,uBAAuB,CAAC;AACtC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,0BAA0B,CAAC;AAEzC,cAAc,yBAAyB,CAAC;AACxC,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AAEzC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,uBAAuB,CAAC;AAEtC,cAAc,yBAAyB,CAAC;AACxC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,8BAA8B,CAAC;AAE7C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,4BAA4B,CAAC;AAE3C,cAAc,2BAA2B,CAAC;AAE1C,cAAc,kCAAkC,CAAC"}
@@ -1,7 +1,14 @@
1
+ import { MultiplicityPatterns } from '../constants/MultiplicityPatterns';
2
+ let possiblePatterns = [];
3
+ for (const { label, value, names } of MultiplicityPatterns) {
4
+ possiblePatterns.push(label, value, ...names);
5
+ }
6
+ possiblePatterns = possiblePatterns.sort((a, b) => b.length - a.length);
1
7
  export function splitPatterns(multiplet) {
2
8
  if (/^\s*$/.exec(multiplet))
3
9
  return [];
4
- let result = multiplet.match(/ *(quint|hex|sept|hept|oct|nona|non|s|d|t|q|h|o|n) */g);
10
+ const regexp = new RegExp(possiblePatterns.join('|'), 'g');
11
+ let result = multiplet.match(regexp);
5
12
  if (result)
6
13
  return result.map((entry) => entry.trim());
7
14
  return [multiplet];
@@ -1 +1 @@
1
- {"version":3,"file":"splitPatterns.js","sourceRoot":"","sources":["../../src/utilities/splitPatterns.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,aAAa,CAAC,SAAiB;IAC7C,IAAI,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC;QAAE,OAAO,EAAE,CAAC;IACvC,IAAI,MAAM,GAAG,SAAS,CAAC,KAAK,CAC1B,uDAAuD,CACxD,CAAC;IACF,IAAI,MAAM;QAAE,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;IACvD,OAAO,CAAC,SAAS,CAAC,CAAC;AACrB,CAAC"}
1
+ {"version":3,"file":"splitPatterns.js","sourceRoot":"","sources":["../../src/utilities/splitPatterns.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AAEzE,IAAI,gBAAgB,GAAa,EAAE,CAAC;AACpC,KAAK,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,oBAAoB,EAAE;IAC1D,gBAAgB,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC,CAAC;CAC/C;AACD,gBAAgB,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC;AAExE,MAAM,UAAU,aAAa,CAAC,SAAiB;IAC7C,IAAI,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC;QAAE,OAAO,EAAE,CAAC;IACvC,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC;IAC3D,IAAI,MAAM,GAAG,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACrC,IAAI,MAAM;QAAE,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;IACvD,OAAO,CAAC,SAAS,CAAC,CAAC;AACrB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "nmr-processing",
3
- "version": "9.4.0",
3
+ "version": "9.4.1",
4
4
  "description": "Pure functions allowing to process NMR spectra.",
5
5
  "main": "./lib/index.js",
6
6
  "module": "./lib-esm/index.js",
@@ -54,7 +54,7 @@
54
54
  "typescript": "^5.0.2"
55
55
  },
56
56
  "dependencies": {
57
- "@lukeed/uuid": "^2.0.0",
57
+ "@lukeed/uuid": "^2.0.1",
58
58
  "binary-search": "^1.3.6",
59
59
  "cross-fetch": "^3.1.5",
60
60
  "form-data": "^4.0.0",
@@ -74,7 +74,7 @@
74
74
  "ml-peak-shape-generator": "^4.1.2",
75
75
  "ml-simple-clustering": "^0.1.0",
76
76
  "ml-sparse-matrix": "^2.1.0",
77
- "ml-spectra-processing": "^12.0.0",
77
+ "ml-spectra-processing": "^12.4.0",
78
78
  "ml-tree-set": "^0.1.1",
79
79
  "nmr-correlation": "^2.3.3",
80
80
  "nmredata": "^0.9.2",
@@ -0,0 +1,34 @@
1
+ export interface MultipletDefinition {
2
+ label: string;
3
+ value: string;
4
+ names: string[];
5
+ multiplicity: number | null;
6
+ }
7
+
8
+ export const MultiplicityPatterns: MultipletDefinition[] = [
9
+ { label: 'singlet', value: 's', multiplicity: 1, names: ['br s'] },
10
+ { label: 'doublet', value: 'd', multiplicity: 2, names: [] },
11
+ { label: 'triplet', value: 't', multiplicity: 3, names: [] },
12
+ { label: 'quartet', value: 'q', multiplicity: 4, names: [] },
13
+ {
14
+ label: 'quintet',
15
+ value: 'i',
16
+ multiplicity: 5,
17
+ names: ['quint', 'qui', 'qnt', 'pentet', 'pnt', 'pent'],
18
+ },
19
+ {
20
+ label: 'sextet',
21
+ value: 'h',
22
+ multiplicity: 6,
23
+ names: ['x', 'sxt', 'sext', 'hexuplet'],
24
+ },
25
+ {
26
+ label: 'septet',
27
+ value: 'p',
28
+ multiplicity: 7,
29
+ names: ['sept', 'spt', 'heptet', 'hpt', 'hept'],
30
+ },
31
+ { label: 'octet', value: 'o', multiplicity: 8, names: ['oct'] },
32
+ { label: 'nonet', value: 'n', multiplicity: 9, names: ['non'] },
33
+ { label: 'massive', value: 'm', multiplicity: null, names: [] },
34
+ ];
@@ -1,11 +1,3 @@
1
- export const couplingPatterns = [
2
- 's',
3
- 'd',
4
- 't',
5
- 'q',
6
- 'quint',
7
- 'h',
8
- 'sept',
9
- 'o',
10
- 'n',
11
- ];
1
+ import { MultiplicityPatterns } from './MultiplicityPatterns';
2
+
3
+ export const couplingPatterns = MultiplicityPatterns.map((m) => m.value);
@@ -1,15 +1,10 @@
1
- export const couplingValues: { [key: string]: number } = {
2
- s: 0,
3
- d: 1,
4
- t: 2,
5
- q: 3,
6
- quint: 4,
7
- h: 5,
8
- hex: 5,
9
- hept: 6,
10
- sept: 6,
11
- oct: 7,
12
- o: 7,
13
- non: 8,
14
- n: 8,
15
- };
1
+ import { MultiplicityPatterns } from './MultiplicityPatterns';
2
+
3
+ const result: { [key: string]: number } = {};
4
+ for (const { value, multiplicity, names } of MultiplicityPatterns) {
5
+ if (multiplicity) result[value] = multiplicity - 1;
6
+ for (const name of names) {
7
+ if (multiplicity) result[name] = multiplicity - 1;
8
+ }
9
+ }
10
+ export const couplingValues = result;
package/src/index.ts CHANGED
@@ -29,6 +29,7 @@ export * from './signals/signalsToFID';
29
29
  export * from './signal/signalJoinCouplings';
30
30
 
31
31
  export * from './utilities/resurrect';
32
+ export * from './utilities/splitPatterns';
32
33
  export * from './utilities/rangeFromSignal';
33
34
  export * from './utilities/getFrequency';
34
35
 
@@ -48,6 +49,8 @@ export * from './ranges/markSolventSignal';
48
49
 
49
50
  export * from './apodization/apodization';
50
51
 
52
+ export * from './constants/MultiplicityPatterns';
53
+
51
54
  export type { NMRSignal1D } from './signals/NMRSignal1D';
52
55
  export type { NMRSignal2D, Signal2DProjection } from './xyz/NMRSignal2D';
53
56
  export type { NMRRange } from './xy/NMRRange';
@@ -1,8 +1,15 @@
1
+ import { MultiplicityPatterns } from '../constants/MultiplicityPatterns';
2
+
3
+ let possiblePatterns: string[] = [];
4
+ for (const { label, value, names } of MultiplicityPatterns) {
5
+ possiblePatterns.push(label, value, ...names);
6
+ }
7
+ possiblePatterns = possiblePatterns.sort((a, b) => b.length - a.length);
8
+
1
9
  export function splitPatterns(multiplet: string) {
2
10
  if (/^\s*$/.exec(multiplet)) return [];
3
- let result = multiplet.match(
4
- / *(quint|hex|sept|hept|oct|nona|non|s|d|t|q|h|o|n) */g,
5
- );
11
+ const regexp = new RegExp(possiblePatterns.join('|'), 'g');
12
+ let result = multiplet.match(regexp);
6
13
  if (result) return result.map((entry) => entry.trim());
7
14
  return [multiplet];
8
15
  }