nmr-processing 9.4.2-pre.1684301205 → 9.5.0
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/index.d.ts +1 -0
- package/lib/index.js +1 -0
- package/lib/index.js.map +1 -1
- package/lib/multiplicity/checkMultiplet.d.ts +5 -0
- package/lib/multiplicity/checkMultiplet.js +5 -0
- package/lib/multiplicity/checkMultiplet.js.map +1 -1
- package/lib/multiplicity/checkMultiplicity.d.ts +5 -0
- package/lib/multiplicity/checkMultiplicity.js +5 -0
- package/lib/multiplicity/checkMultiplicity.js.map +1 -1
- package/lib/multiplicity/findMultiplet.d.ts +4 -0
- package/lib/multiplicity/findMultiplet.js +4 -0
- package/lib/multiplicity/findMultiplet.js.map +1 -1
- package/lib/multiplicity/joinPatterns.d.ts +12 -2
- package/lib/multiplicity/joinPatterns.js.map +1 -1
- package/lib/multiplicity/splitPatterns.d.ts +5 -0
- package/lib/multiplicity/splitPatterns.js +5 -0
- package/lib/multiplicity/splitPatterns.js.map +1 -1
- package/lib/multiplicity/translateMultiplet.d.ts +5 -0
- package/lib/multiplicity/translateMultiplet.js +5 -0
- package/lib/multiplicity/translateMultiplet.js.map +1 -1
- package/lib/utilities/normalizeNucleus.d.ts +4 -1
- package/lib/utilities/normalizeNucleus.js +6 -3
- package/lib/utilities/normalizeNucleus.js.map +1 -1
- package/lib-esm/index.js +1 -0
- package/lib-esm/index.js.map +1 -1
- package/lib-esm/multiplicity/checkMultiplet.js +5 -0
- package/lib-esm/multiplicity/checkMultiplet.js.map +1 -1
- package/lib-esm/multiplicity/checkMultiplicity.js +5 -0
- package/lib-esm/multiplicity/checkMultiplicity.js.map +1 -1
- package/lib-esm/multiplicity/findMultiplet.js +4 -0
- package/lib-esm/multiplicity/findMultiplet.js.map +1 -1
- package/lib-esm/multiplicity/joinPatterns.js.map +1 -1
- package/lib-esm/multiplicity/splitPatterns.js +5 -0
- package/lib-esm/multiplicity/splitPatterns.js.map +1 -1
- package/lib-esm/multiplicity/translateMultiplet.js +5 -0
- package/lib-esm/multiplicity/translateMultiplet.js.map +1 -1
- package/lib-esm/utilities/normalizeNucleus.js +4 -1
- package/lib-esm/utilities/normalizeNucleus.js.map +1 -1
- package/package.json +1 -1
- package/src/index.ts +1 -0
- package/src/multiplicity/checkMultiplet.ts +6 -0
- package/src/multiplicity/checkMultiplicity.ts +6 -0
- package/src/multiplicity/findMultiplet.ts +5 -0
- package/src/multiplicity/joinPatterns.ts +15 -1
- package/src/multiplicity/splitPatterns.ts +6 -0
- package/src/multiplicity/translateMultiplet.ts +6 -0
- package/src/utilities/normalizeNucleus.ts +5 -1
package/lib/index.d.ts
CHANGED
|
@@ -25,6 +25,7 @@ export * from './signal/signalJoinCouplings';
|
|
|
25
25
|
export * from './utilities/resurrect';
|
|
26
26
|
export * from './utilities/rangeFromSignal';
|
|
27
27
|
export * from './utilities/getFrequency';
|
|
28
|
+
export * from './utilities/normalizeNucleus';
|
|
28
29
|
export * from './xy/xyAutoPeaksPicking';
|
|
29
30
|
export * from './xy/xyAutoRangesPicking';
|
|
30
31
|
export * from './xy/xyPeaksOptimization';
|
package/lib/index.js
CHANGED
|
@@ -41,6 +41,7 @@ __exportStar(require("./signal/signalJoinCouplings"), exports);
|
|
|
41
41
|
__exportStar(require("./utilities/resurrect"), exports);
|
|
42
42
|
__exportStar(require("./utilities/rangeFromSignal"), exports);
|
|
43
43
|
__exportStar(require("./utilities/getFrequency"), exports);
|
|
44
|
+
__exportStar(require("./utilities/normalizeNucleus"), exports);
|
|
44
45
|
__exportStar(require("./xy/xyAutoPeaksPicking"), exports);
|
|
45
46
|
__exportStar(require("./xy/xyAutoRangesPicking"), exports);
|
|
46
47
|
__exportStar(require("./xy/xyPeaksOptimization"), exports);
|
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;
|
|
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;AACzC,+DAA6C;AAE7C,0DAAwC;AACxC,2DAAyC;AACzC,2DAAyC;AAEzC,4DAA0C;AAC1C,8DAA4C;AAC5C,wDAAsC;AAEtC,0DAAwC;AACxC,+DAA6C;AAC7C,+DAA6C;AAE7C,6DAA2C;AAC3C,6DAA2C;AAE3C,4DAA0C;AAE1C,mEAAiD;AAEjD,+DAA6C;AAC7C,+DAA6C;AAC7C,gEAA8C;AAC9C,mEAAiD;AACjD,oEAAkD"}
|
|
@@ -1 +1,6 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* check if the input string corresponds to a multiplet (pattern), it could has a common name, acs or one letter abbreviation.
|
|
3
|
+
* @param string - pattern name or abbreviation.
|
|
4
|
+
* @param rejected - list of patterns that should not match with the input pattern. e.g 'massive' as input will return false if rejected = ['m'].
|
|
5
|
+
*/
|
|
1
6
|
export declare function checkMultiplet(string: string, rejected?: string[]): boolean | undefined;
|
|
@@ -2,6 +2,11 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.checkMultiplet = void 0;
|
|
4
4
|
const findMultiplet_1 = require("./findMultiplet");
|
|
5
|
+
/**
|
|
6
|
+
* check if the input string corresponds to a multiplet (pattern), it could has a common name, acs or one letter abbreviation.
|
|
7
|
+
* @param string - pattern name or abbreviation.
|
|
8
|
+
* @param rejected - list of patterns that should not match with the input pattern. e.g 'massive' as input will return false if rejected = ['m'].
|
|
9
|
+
*/
|
|
5
10
|
function checkMultiplet(string, rejected = []) {
|
|
6
11
|
const multiplet = (0, findMultiplet_1.findMultiplet)(string);
|
|
7
12
|
return (multiplet &&
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checkMultiplet.js","sourceRoot":"","sources":["../../src/multiplicity/checkMultiplet.ts"],"names":[],"mappings":";;;AAAA,mDAAgD;AAEhD,SAAgB,cAAc,CAAC,MAAc,EAAE,WAAqB,EAAE;IACpE,MAAM,SAAS,GAAG,IAAA,6BAAa,EAAC,MAAM,CAAC,CAAC;IACxC,OAAO,CACL,SAAS;QACT,CAAC,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC;QACnC,CAAC,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC;QACnC,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CACzD,CAAC;AACJ,CAAC;AARD,wCAQC"}
|
|
1
|
+
{"version":3,"file":"checkMultiplet.js","sourceRoot":"","sources":["../../src/multiplicity/checkMultiplet.ts"],"names":[],"mappings":";;;AAAA,mDAAgD;AAEhD;;;;GAIG;AAEH,SAAgB,cAAc,CAAC,MAAc,EAAE,WAAqB,EAAE;IACpE,MAAM,SAAS,GAAG,IAAA,6BAAa,EAAC,MAAM,CAAC,CAAC;IACxC,OAAO,CACL,SAAS;QACT,CAAC,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC;QACnC,CAAC,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC;QACnC,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CACzD,CAAC;AACJ,CAAC;AARD,wCAQC"}
|
|
@@ -1 +1,6 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* check the input string corresponds to a composed pattern like dt or dd. it splits into indivitual patterns and use checkMultiplet function.
|
|
3
|
+
* @param multiplicity - pattern name or abbreviation.
|
|
4
|
+
* @param rejected - list of patterns that should not match with any pattern. e.g 'dt' as input will return false if rejected = ['t'].
|
|
5
|
+
*/
|
|
1
6
|
export declare function checkMultiplicity(multiplicity: string, rejected?: string[]): boolean;
|
|
@@ -3,6 +3,11 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.checkMultiplicity = void 0;
|
|
4
4
|
const __1 = require("..");
|
|
5
5
|
const checkMultiplet_1 = require("./checkMultiplet");
|
|
6
|
+
/**
|
|
7
|
+
* check the input string corresponds to a composed pattern like dt or dd. it splits into indivitual patterns and use checkMultiplet function.
|
|
8
|
+
* @param multiplicity - pattern name or abbreviation.
|
|
9
|
+
* @param rejected - list of patterns that should not match with any pattern. e.g 'dt' as input will return false if rejected = ['t'].
|
|
10
|
+
*/
|
|
6
11
|
function checkMultiplicity(multiplicity, rejected = []) {
|
|
7
12
|
// options to determine whether a massive (m), for example, should be considered as rejected multiplicity
|
|
8
13
|
if (multiplicity === undefined || multiplicity.length === 0) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checkMultiplicity.js","sourceRoot":"","sources":["../../src/multiplicity/checkMultiplicity.ts"],"names":[],"mappings":";;;AAAA,0BAAmC;AAEnC,qDAAkD;AAElD,SAAgB,iBAAiB,CAC/B,YAAoB,EACpB,WAAqB,EAAE;IAEvB,yGAAyG;IACzG,IAAI,YAAY,KAAK,SAAS,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE;QAC3D,OAAO,KAAK,CAAC;KACd;IAED,MAAM,UAAU,GAAG,IAAA,iBAAa,EAAC,YAAY,CAAC,CAAC;IAC/C,MAAM,WAAW,GAAG,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,YAAY,CAAC,MAAM,CAAC;IAEvE,OAAO,CACL,WAAW;QACX,UAAU,CAAC,KAAK,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,IAAA,+BAAc,EAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,CACvE,CAAC;AACJ,CAAC;AAhBD,8CAgBC"}
|
|
1
|
+
{"version":3,"file":"checkMultiplicity.js","sourceRoot":"","sources":["../../src/multiplicity/checkMultiplicity.ts"],"names":[],"mappings":";;;AAAA,0BAAmC;AAEnC,qDAAkD;AAElD;;;;GAIG;AAEH,SAAgB,iBAAiB,CAC/B,YAAoB,EACpB,WAAqB,EAAE;IAEvB,yGAAyG;IACzG,IAAI,YAAY,KAAK,SAAS,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE;QAC3D,OAAO,KAAK,CAAC;KACd;IAED,MAAM,UAAU,GAAG,IAAA,iBAAa,EAAC,YAAY,CAAC,CAAC;IAC/C,MAAM,WAAW,GAAG,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,YAAY,CAAC,MAAM,CAAC;IAEvE,OAAO,CACL,WAAW;QACX,UAAU,CAAC,KAAK,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,IAAA,+BAAc,EAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,CACvE,CAAC;AACJ,CAAC;AAhBD,8CAgBC"}
|
|
@@ -2,6 +2,10 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.findMultiplet = void 0;
|
|
4
4
|
const __1 = require("..");
|
|
5
|
+
/**
|
|
6
|
+
* look for a multiplet based on the pattern name or abbreviation.
|
|
7
|
+
* @param name - pattern name or abbreviation.
|
|
8
|
+
*/
|
|
5
9
|
function findMultiplet(name) {
|
|
6
10
|
return __1.MultiplicityPatterns.find((multiplet) => {
|
|
7
11
|
const { label, value, names } = multiplet;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"findMultiplet.js","sourceRoot":"","sources":["../../src/multiplicity/findMultiplet.ts"],"names":[],"mappings":";;;AAAA,0BAA0C;AAE1C,SAAgB,aAAa,CAAC,IAAY;IACxC,OAAO,wBAAoB,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE;QAC7C,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,SAAS,CAAC;QAC1C,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IACjD,CAAC,CAAC,CAAC;AACL,CAAC;AALD,sCAKC"}
|
|
1
|
+
{"version":3,"file":"findMultiplet.js","sourceRoot":"","sources":["../../src/multiplicity/findMultiplet.ts"],"names":[],"mappings":";;;AAAA,0BAA0C;AAE1C;;;GAGG;AAEH,SAAgB,aAAa,CAAC,IAAY;IACxC,OAAO,wBAAoB,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE;QAC7C,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,SAAS,CAAC;QAC1C,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IACjD,CAAC,CAAC,CAAC;AACL,CAAC;AALD,sCAKC"}
|
|
@@ -1,3 +1,13 @@
|
|
|
1
|
-
|
|
1
|
+
/**
|
|
2
|
+
* join a list of pattern assuming that the coupling constant is the same. e.g ['d', 'd'] will returns 't'.
|
|
3
|
+
* @param patterns - list of patterns name or abbreviations.
|
|
4
|
+
* @returns
|
|
5
|
+
*/
|
|
6
|
+
export interface JoinPatternsOptions {
|
|
7
|
+
/**
|
|
8
|
+
* if true, the pattern returned will follow the ACS guide line.
|
|
9
|
+
* @default false
|
|
10
|
+
*/
|
|
2
11
|
acsFormat?: boolean;
|
|
3
|
-
}
|
|
12
|
+
}
|
|
13
|
+
export declare function joinPatterns(patterns: string[], options?: JoinPatternsOptions): string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"joinPatterns.js","sourceRoot":"","sources":["../../src/multiplicity/joinPatterns.ts"],"names":[],"mappings":";;;AAAA,oEAGuC;AACvC,gEAA6D;
|
|
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,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,SAAS,EAAC,CAAC,CAAC,sCAAmB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,mCAAgB,CAAC,GAAG,CAAC,CAAC;AAC/E,CAAC;AAlBD,oCAkBC"}
|
|
@@ -7,6 +7,11 @@ for (const { label, value, names } of MultiplicityPatterns_1.MultiplicityPattern
|
|
|
7
7
|
possiblePatterns.push(label, value, ...names);
|
|
8
8
|
}
|
|
9
9
|
possiblePatterns = possiblePatterns.sort((a, b) => b.length - a.length);
|
|
10
|
+
/**
|
|
11
|
+
* split a composed pattern like dt or ddt into ['d','t'] and ['d','d','t']
|
|
12
|
+
* @param multiplet - pattern or abbreviation.
|
|
13
|
+
* @returns
|
|
14
|
+
*/
|
|
10
15
|
function splitPatterns(multiplet) {
|
|
11
16
|
if (/^\s*$/.exec(multiplet))
|
|
12
17
|
return [];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"splitPatterns.js","sourceRoot":"","sources":["../../src/multiplicity/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"}
|
|
1
|
+
{"version":3,"file":"splitPatterns.js","sourceRoot":"","sources":["../../src/multiplicity/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;;;;GAIG;AAEH,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"}
|
|
@@ -2,6 +2,11 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.translateMultiplet = void 0;
|
|
4
4
|
const findMultiplet_1 = require("./findMultiplet");
|
|
5
|
+
/**
|
|
6
|
+
* convert from pattern name to only one letter abbreviation or any supported abbreviation to pattern name.
|
|
7
|
+
* @param name - pattern name or abbreviation.
|
|
8
|
+
* @returns
|
|
9
|
+
*/
|
|
5
10
|
function translateMultiplet(name) {
|
|
6
11
|
const multiplet = (0, findMultiplet_1.findMultiplet)(name);
|
|
7
12
|
if (!multiplet) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"translateMultiplet.js","sourceRoot":"","sources":["../../src/multiplicity/translateMultiplet.ts"],"names":[],"mappings":";;;AAAA,mDAAgD;AAEhD,SAAgB,kBAAkB,CAAC,IAAY;IAC7C,MAAM,SAAS,GAAG,IAAA,6BAAa,EAAC,IAAI,CAAC,CAAC;IAEtC,IAAI,CAAC,SAAS,EAAE;QACd,MAAM,IAAI,KAAK,CAAC,aAAa,IAAI,mBAAmB,CAAC,CAAC;KACvD;IACD,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,SAAS,CAAC;IACnC,OAAO,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC;AACxC,CAAC;AARD,gDAQC"}
|
|
1
|
+
{"version":3,"file":"translateMultiplet.js","sourceRoot":"","sources":["../../src/multiplicity/translateMultiplet.ts"],"names":[],"mappings":";;;AAAA,mDAAgD;AAEhD;;;;GAIG;AAEH,SAAgB,kBAAkB,CAAC,IAAY;IAC7C,MAAM,SAAS,GAAG,IAAA,6BAAa,EAAC,IAAI,CAAC,CAAC;IAEtC,IAAI,CAAC,SAAS,EAAE;QACd,MAAM,IAAI,KAAK,CAAC,aAAa,IAAI,mBAAmB,CAAC,CAAC;KACvD;IACD,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,SAAS,CAAC;IACnC,OAAO,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC;AACxC,CAAC;AARD,gDAQC"}
|
|
@@ -1,9 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.normalizeNucleus = void 0;
|
|
4
4
|
const gyromagnetic_ratio_1 = require("gyromagnetic-ratio");
|
|
5
5
|
const nucleusMap_1 = require("./nucleusMap");
|
|
6
|
-
|
|
6
|
+
/**
|
|
7
|
+
* The idea is to convert nucleus name like H1, proton or Fluorine19 to 1H and 19F.
|
|
8
|
+
*/
|
|
9
|
+
function normalizeNucleus(name) {
|
|
7
10
|
if (gyromagnetic_ratio_1.gyromagneticRatio[name]) {
|
|
8
11
|
return name;
|
|
9
12
|
}
|
|
@@ -18,5 +21,5 @@ function normilizeNucleus(name) {
|
|
|
18
21
|
}
|
|
19
22
|
return symbol;
|
|
20
23
|
}
|
|
21
|
-
exports.
|
|
24
|
+
exports.normalizeNucleus = normalizeNucleus;
|
|
22
25
|
//# sourceMappingURL=normalizeNucleus.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"normalizeNucleus.js","sourceRoot":"","sources":["../../src/utilities/normalizeNucleus.ts"],"names":[],"mappings":";;;AAAA,2DAA+D;AAE/D,6CAA6D;AAE7D,SAAgB,gBAAgB,CAAC,IAAY;IAC3C,IAAI,sCAAiB,CAAC,IAAc,CAAC,EAAE;QACrC,OAAO,IAAI,CAAC;KACb;IAED,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IAC3C,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;IAE3D,MAAM,WAAW,GACf,QAAQ,CAAC,MAAM,GAAG,CAAC;QACjB,CAAC,CAAC,6BAAgB,CAAC,QAAuB,CAAC;QAC3C,CAAC,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;IAE7B,MAAM,MAAM,GAAG,GAAG,UAAU,GAAG,WAAW,EAAE,CAAC;IAC7C,IAAI,CAAC,sCAAiB,CAAC,MAAgB,CAAC,EAAE;QACxC,MAAM,IAAI,KAAK,CAAC,WAAW,IAAI,mBAAmB,CAAC,CAAC;KACrD;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAnBD,4CAmBC"}
|
|
1
|
+
{"version":3,"file":"normalizeNucleus.js","sourceRoot":"","sources":["../../src/utilities/normalizeNucleus.ts"],"names":[],"mappings":";;;AAAA,2DAA+D;AAE/D,6CAA6D;AAE7D;;GAEG;AAEH,SAAgB,gBAAgB,CAAC,IAAY;IAC3C,IAAI,sCAAiB,CAAC,IAAc,CAAC,EAAE;QACrC,OAAO,IAAI,CAAC;KACb;IAED,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IAC3C,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;IAE3D,MAAM,WAAW,GACf,QAAQ,CAAC,MAAM,GAAG,CAAC;QACjB,CAAC,CAAC,6BAAgB,CAAC,QAAuB,CAAC;QAC3C,CAAC,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;IAE7B,MAAM,MAAM,GAAG,GAAG,UAAU,GAAG,WAAW,EAAE,CAAC;IAC7C,IAAI,CAAC,sCAAiB,CAAC,MAAgB,CAAC,EAAE;QACxC,MAAM,IAAI,KAAK,CAAC,WAAW,IAAI,mBAAmB,CAAC,CAAC;KACrD;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAnBD,4CAmBC"}
|
package/lib-esm/index.js
CHANGED
|
@@ -25,6 +25,7 @@ export * from './signal/signalJoinCouplings';
|
|
|
25
25
|
export * from './utilities/resurrect';
|
|
26
26
|
export * from './utilities/rangeFromSignal';
|
|
27
27
|
export * from './utilities/getFrequency';
|
|
28
|
+
export * from './utilities/normalizeNucleus';
|
|
28
29
|
export * from './xy/xyAutoPeaksPicking';
|
|
29
30
|
export * from './xy/xyAutoRangesPicking';
|
|
30
31
|
export * from './xy/xyPeaksOptimization';
|
package/lib-esm/index.js.map
CHANGED
|
@@ -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;
|
|
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;AACzC,cAAc,8BAA8B,CAAC;AAE7C,cAAc,yBAAyB,CAAC;AACxC,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AAEzC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,6BAA6B,CAAC;AAC5C,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;AAEjD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,kCAAkC,CAAC;AACjD,cAAc,mCAAmC,CAAC"}
|
|
@@ -1,4 +1,9 @@
|
|
|
1
1
|
import { findMultiplet } from './findMultiplet';
|
|
2
|
+
/**
|
|
3
|
+
* check if the input string corresponds to a multiplet (pattern), it could has a common name, acs or one letter abbreviation.
|
|
4
|
+
* @param string - pattern name or abbreviation.
|
|
5
|
+
* @param rejected - list of patterns that should not match with the input pattern. e.g 'massive' as input will return false if rejected = ['m'].
|
|
6
|
+
*/
|
|
2
7
|
export function checkMultiplet(string, rejected = []) {
|
|
3
8
|
const multiplet = findMultiplet(string);
|
|
4
9
|
return (multiplet &&
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checkMultiplet.js","sourceRoot":"","sources":["../../src/multiplicity/checkMultiplet.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD,MAAM,UAAU,cAAc,CAAC,MAAc,EAAE,WAAqB,EAAE;IACpE,MAAM,SAAS,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;IACxC,OAAO,CACL,SAAS;QACT,CAAC,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC;QACnC,CAAC,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC;QACnC,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CACzD,CAAC;AACJ,CAAC"}
|
|
1
|
+
{"version":3,"file":"checkMultiplet.js","sourceRoot":"","sources":["../../src/multiplicity/checkMultiplet.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD;;;;GAIG;AAEH,MAAM,UAAU,cAAc,CAAC,MAAc,EAAE,WAAqB,EAAE;IACpE,MAAM,SAAS,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;IACxC,OAAO,CACL,SAAS;QACT,CAAC,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC;QACnC,CAAC,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC;QACnC,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CACzD,CAAC;AACJ,CAAC"}
|
|
@@ -1,5 +1,10 @@
|
|
|
1
1
|
import { splitPatterns } from '..';
|
|
2
2
|
import { checkMultiplet } from './checkMultiplet';
|
|
3
|
+
/**
|
|
4
|
+
* check the input string corresponds to a composed pattern like dt or dd. it splits into indivitual patterns and use checkMultiplet function.
|
|
5
|
+
* @param multiplicity - pattern name or abbreviation.
|
|
6
|
+
* @param rejected - list of patterns that should not match with any pattern. e.g 'dt' as input will return false if rejected = ['t'].
|
|
7
|
+
*/
|
|
3
8
|
export function checkMultiplicity(multiplicity, rejected = []) {
|
|
4
9
|
// options to determine whether a massive (m), for example, should be considered as rejected multiplicity
|
|
5
10
|
if (multiplicity === undefined || multiplicity.length === 0) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checkMultiplicity.js","sourceRoot":"","sources":["../../src/multiplicity/checkMultiplicity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,IAAI,CAAC;AAEnC,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD,MAAM,UAAU,iBAAiB,CAC/B,YAAoB,EACpB,WAAqB,EAAE;IAEvB,yGAAyG;IACzG,IAAI,YAAY,KAAK,SAAS,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE;QAC3D,OAAO,KAAK,CAAC;KACd;IAED,MAAM,UAAU,GAAG,aAAa,CAAC,YAAY,CAAC,CAAC;IAC/C,MAAM,WAAW,GAAG,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,YAAY,CAAC,MAAM,CAAC;IAEvE,OAAO,CACL,WAAW;QACX,UAAU,CAAC,KAAK,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,cAAc,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,CACvE,CAAC;AACJ,CAAC"}
|
|
1
|
+
{"version":3,"file":"checkMultiplicity.js","sourceRoot":"","sources":["../../src/multiplicity/checkMultiplicity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,IAAI,CAAC;AAEnC,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD;;;;GAIG;AAEH,MAAM,UAAU,iBAAiB,CAC/B,YAAoB,EACpB,WAAqB,EAAE;IAEvB,yGAAyG;IACzG,IAAI,YAAY,KAAK,SAAS,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE;QAC3D,OAAO,KAAK,CAAC;KACd;IAED,MAAM,UAAU,GAAG,aAAa,CAAC,YAAY,CAAC,CAAC;IAC/C,MAAM,WAAW,GAAG,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,YAAY,CAAC,MAAM,CAAC;IAEvE,OAAO,CACL,WAAW;QACX,UAAU,CAAC,KAAK,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,cAAc,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,CACvE,CAAC;AACJ,CAAC"}
|
|
@@ -1,4 +1,8 @@
|
|
|
1
1
|
import { MultiplicityPatterns } from '..';
|
|
2
|
+
/**
|
|
3
|
+
* look for a multiplet based on the pattern name or abbreviation.
|
|
4
|
+
* @param name - pattern name or abbreviation.
|
|
5
|
+
*/
|
|
2
6
|
export function findMultiplet(name) {
|
|
3
7
|
return MultiplicityPatterns.find((multiplet) => {
|
|
4
8
|
const { label, value, names } = multiplet;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"findMultiplet.js","sourceRoot":"","sources":["../../src/multiplicity/findMultiplet.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,IAAI,CAAC;AAE1C,MAAM,UAAU,aAAa,CAAC,IAAY;IACxC,OAAO,oBAAoB,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE;QAC7C,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,SAAS,CAAC;QAC1C,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IACjD,CAAC,CAAC,CAAC;AACL,CAAC"}
|
|
1
|
+
{"version":3,"file":"findMultiplet.js","sourceRoot":"","sources":["../../src/multiplicity/findMultiplet.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,IAAI,CAAC;AAE1C;;;GAGG;AAEH,MAAM,UAAU,aAAa,CAAC,IAAY;IACxC,OAAO,oBAAoB,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE;QAC7C,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,SAAS,CAAC;QAC1C,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IACjD,CAAC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -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;
|
|
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,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,SAAS,EAAC,CAAC,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;AAC/E,CAAC"}
|
|
@@ -4,6 +4,11 @@ for (const { label, value, names } of MultiplicityPatterns) {
|
|
|
4
4
|
possiblePatterns.push(label, value, ...names);
|
|
5
5
|
}
|
|
6
6
|
possiblePatterns = possiblePatterns.sort((a, b) => b.length - a.length);
|
|
7
|
+
/**
|
|
8
|
+
* split a composed pattern like dt or ddt into ['d','t'] and ['d','d','t']
|
|
9
|
+
* @param multiplet - pattern or abbreviation.
|
|
10
|
+
* @returns
|
|
11
|
+
*/
|
|
7
12
|
export function splitPatterns(multiplet) {
|
|
8
13
|
if (/^\s*$/.exec(multiplet))
|
|
9
14
|
return [];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"splitPatterns.js","sourceRoot":"","sources":["../../src/multiplicity/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"}
|
|
1
|
+
{"version":3,"file":"splitPatterns.js","sourceRoot":"","sources":["../../src/multiplicity/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;;;;GAIG;AAEH,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"}
|
|
@@ -1,4 +1,9 @@
|
|
|
1
1
|
import { findMultiplet } from './findMultiplet';
|
|
2
|
+
/**
|
|
3
|
+
* convert from pattern name to only one letter abbreviation or any supported abbreviation to pattern name.
|
|
4
|
+
* @param name - pattern name or abbreviation.
|
|
5
|
+
* @returns
|
|
6
|
+
*/
|
|
2
7
|
export function translateMultiplet(name) {
|
|
3
8
|
const multiplet = findMultiplet(name);
|
|
4
9
|
if (!multiplet) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"translateMultiplet.js","sourceRoot":"","sources":["../../src/multiplicity/translateMultiplet.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD,MAAM,UAAU,kBAAkB,CAAC,IAAY;IAC7C,MAAM,SAAS,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;IAEtC,IAAI,CAAC,SAAS,EAAE;QACd,MAAM,IAAI,KAAK,CAAC,aAAa,IAAI,mBAAmB,CAAC,CAAC;KACvD;IACD,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,SAAS,CAAC;IACnC,OAAO,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC;AACxC,CAAC"}
|
|
1
|
+
{"version":3,"file":"translateMultiplet.js","sourceRoot":"","sources":["../../src/multiplicity/translateMultiplet.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD;;;;GAIG;AAEH,MAAM,UAAU,kBAAkB,CAAC,IAAY;IAC7C,MAAM,SAAS,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;IAEtC,IAAI,CAAC,SAAS,EAAE;QACd,MAAM,IAAI,KAAK,CAAC,aAAa,IAAI,mBAAmB,CAAC,CAAC;KACvD;IACD,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,SAAS,CAAC;IACnC,OAAO,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC;AACxC,CAAC"}
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
import { gyromagneticRatio } from 'gyromagnetic-ratio';
|
|
2
2
|
import { nucleusSymbolMap } from './nucleusMap';
|
|
3
|
-
|
|
3
|
+
/**
|
|
4
|
+
* The idea is to convert nucleus name like H1, proton or Fluorine19 to 1H and 19F.
|
|
5
|
+
*/
|
|
6
|
+
export function normalizeNucleus(name) {
|
|
4
7
|
if (gyromagneticRatio[name]) {
|
|
5
8
|
return name;
|
|
6
9
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"normalizeNucleus.js","sourceRoot":"","sources":["../../src/utilities/normalizeNucleus.ts"],"names":[],"mappings":"AAAA,OAAO,EAAU,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAE/D,OAAO,EAAe,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAE7D,MAAM,UAAU,gBAAgB,CAAC,IAAY;IAC3C,IAAI,iBAAiB,CAAC,IAAc,CAAC,EAAE;QACrC,OAAO,IAAI,CAAC;KACb;IAED,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IAC3C,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;IAE3D,MAAM,WAAW,GACf,QAAQ,CAAC,MAAM,GAAG,CAAC;QACjB,CAAC,CAAC,gBAAgB,CAAC,QAAuB,CAAC;QAC3C,CAAC,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;IAE7B,MAAM,MAAM,GAAG,GAAG,UAAU,GAAG,WAAW,EAAE,CAAC;IAC7C,IAAI,CAAC,iBAAiB,CAAC,MAAgB,CAAC,EAAE;QACxC,MAAM,IAAI,KAAK,CAAC,WAAW,IAAI,mBAAmB,CAAC,CAAC;KACrD;IAED,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
|
1
|
+
{"version":3,"file":"normalizeNucleus.js","sourceRoot":"","sources":["../../src/utilities/normalizeNucleus.ts"],"names":[],"mappings":"AAAA,OAAO,EAAU,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAE/D,OAAO,EAAe,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAE7D;;GAEG;AAEH,MAAM,UAAU,gBAAgB,CAAC,IAAY;IAC3C,IAAI,iBAAiB,CAAC,IAAc,CAAC,EAAE;QACrC,OAAO,IAAI,CAAC;KACb;IAED,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IAC3C,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;IAE3D,MAAM,WAAW,GACf,QAAQ,CAAC,MAAM,GAAG,CAAC;QACjB,CAAC,CAAC,gBAAgB,CAAC,QAAuB,CAAC;QAC3C,CAAC,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;IAE7B,MAAM,MAAM,GAAG,GAAG,UAAU,GAAG,WAAW,EAAE,CAAC;IAC7C,IAAI,CAAC,iBAAiB,CAAC,MAAgB,CAAC,EAAE;QACxC,MAAM,IAAI,KAAK,CAAC,WAAW,IAAI,mBAAmB,CAAC,CAAC;KACrD;IAED,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
package/package.json
CHANGED
package/src/index.ts
CHANGED
|
@@ -31,6 +31,7 @@ export * from './signal/signalJoinCouplings';
|
|
|
31
31
|
export * from './utilities/resurrect';
|
|
32
32
|
export * from './utilities/rangeFromSignal';
|
|
33
33
|
export * from './utilities/getFrequency';
|
|
34
|
+
export * from './utilities/normalizeNucleus';
|
|
34
35
|
|
|
35
36
|
export * from './xy/xyAutoPeaksPicking';
|
|
36
37
|
export * from './xy/xyAutoRangesPicking';
|
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
import { findMultiplet } from './findMultiplet';
|
|
2
2
|
|
|
3
|
+
/**
|
|
4
|
+
* check if the input string corresponds to a multiplet (pattern), it could has a common name, acs or one letter abbreviation.
|
|
5
|
+
* @param string - pattern name or abbreviation.
|
|
6
|
+
* @param rejected - list of patterns that should not match with the input pattern. e.g 'massive' as input will return false if rejected = ['m'].
|
|
7
|
+
*/
|
|
8
|
+
|
|
3
9
|
export function checkMultiplet(string: string, rejected: string[] = []) {
|
|
4
10
|
const multiplet = findMultiplet(string);
|
|
5
11
|
return (
|
|
@@ -2,6 +2,12 @@ import { splitPatterns } from '..';
|
|
|
2
2
|
|
|
3
3
|
import { checkMultiplet } from './checkMultiplet';
|
|
4
4
|
|
|
5
|
+
/**
|
|
6
|
+
* check the input string corresponds to a composed pattern like dt or dd. it splits into indivitual patterns and use checkMultiplet function.
|
|
7
|
+
* @param multiplicity - pattern name or abbreviation.
|
|
8
|
+
* @param rejected - list of patterns that should not match with any pattern. e.g 'dt' as input will return false if rejected = ['t'].
|
|
9
|
+
*/
|
|
10
|
+
|
|
5
11
|
export function checkMultiplicity(
|
|
6
12
|
multiplicity: string,
|
|
7
13
|
rejected: string[] = [],
|
|
@@ -1,5 +1,10 @@
|
|
|
1
1
|
import { MultiplicityPatterns } from '..';
|
|
2
2
|
|
|
3
|
+
/**
|
|
4
|
+
* look for a multiplet based on the pattern name or abbreviation.
|
|
5
|
+
* @param name - pattern name or abbreviation.
|
|
6
|
+
*/
|
|
7
|
+
|
|
3
8
|
export function findMultiplet(name: string) {
|
|
4
9
|
return MultiplicityPatterns.find((multiplet) => {
|
|
5
10
|
const { label, value, names } = multiplet;
|
|
@@ -4,9 +4,23 @@ import {
|
|
|
4
4
|
} from '../constants/couplingPatterns';
|
|
5
5
|
import { couplingValues } from '../constants/couplingValues';
|
|
6
6
|
|
|
7
|
+
/**
|
|
8
|
+
* join a list of pattern assuming that the coupling constant is the same. e.g ['d', 'd'] will returns 't'.
|
|
9
|
+
* @param patterns - list of patterns name or abbreviations.
|
|
10
|
+
* @returns
|
|
11
|
+
*/
|
|
12
|
+
|
|
13
|
+
export interface JoinPatternsOptions {
|
|
14
|
+
/**
|
|
15
|
+
* if true, the pattern returned will follow the ACS guide line.
|
|
16
|
+
* @default false
|
|
17
|
+
*/
|
|
18
|
+
acsFormat?: boolean;
|
|
19
|
+
}
|
|
20
|
+
|
|
7
21
|
export function joinPatterns(
|
|
8
22
|
patterns: string[],
|
|
9
|
-
options?:
|
|
23
|
+
options?: JoinPatternsOptions,
|
|
10
24
|
) {
|
|
11
25
|
const sum = patterns.reduce((sum, pattern) => {
|
|
12
26
|
if (isNaN(couplingValues[pattern])) {
|
|
@@ -6,6 +6,12 @@ for (const { label, value, names } of MultiplicityPatterns) {
|
|
|
6
6
|
}
|
|
7
7
|
possiblePatterns = possiblePatterns.sort((a, b) => b.length - a.length);
|
|
8
8
|
|
|
9
|
+
/**
|
|
10
|
+
* split a composed pattern like dt or ddt into ['d','t'] and ['d','d','t']
|
|
11
|
+
* @param multiplet - pattern or abbreviation.
|
|
12
|
+
* @returns
|
|
13
|
+
*/
|
|
14
|
+
|
|
9
15
|
export function splitPatterns(multiplet: string) {
|
|
10
16
|
if (/^\s*$/.exec(multiplet)) return [];
|
|
11
17
|
const regexp = new RegExp(possiblePatterns.join('|'), 'g');
|
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
import { findMultiplet } from './findMultiplet';
|
|
2
2
|
|
|
3
|
+
/**
|
|
4
|
+
* convert from pattern name to only one letter abbreviation or any supported abbreviation to pattern name.
|
|
5
|
+
* @param name - pattern name or abbreviation.
|
|
6
|
+
* @returns
|
|
7
|
+
*/
|
|
8
|
+
|
|
3
9
|
export function translateMultiplet(name: string) {
|
|
4
10
|
const multiplet = findMultiplet(name);
|
|
5
11
|
|
|
@@ -2,7 +2,11 @@ import { Nuclei, gyromagneticRatio } from 'gyromagnetic-ratio';
|
|
|
2
2
|
|
|
3
3
|
import { NucleusName, nucleusSymbolMap } from './nucleusMap';
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
/**
|
|
6
|
+
* The idea is to convert nucleus name like H1, proton or Fluorine19 to 1H and 19F.
|
|
7
|
+
*/
|
|
8
|
+
|
|
9
|
+
export function normalizeNucleus(name: string) {
|
|
6
10
|
if (gyromagneticRatio[name as Nuclei]) {
|
|
7
11
|
return name;
|
|
8
12
|
}
|