nmr-processing 9.7.1 → 9.7.3-pre.1687951924
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/datum/data1d/utils/mapIntegrals.d.ts +1 -1
- package/lib/datum/data1d/utils/mapValues.d.ts +1 -1
- package/lib/prediction/predictAll.d.ts +2 -10
- package/lib/prediction/predictAll.js +46 -20
- package/lib/prediction/predictAll.js.map +1 -1
- package/lib/signals/signalsToXY.js +1 -0
- package/lib/signals/signalsToXY.js.map +1 -1
- package/lib/signals/simulation/simulateXYPeaks.js +0 -2
- package/lib/signals/simulation/simulateXYPeaks.js.map +1 -1
- package/lib/types/Integral.d.ts +1 -1
- package/lib-esm/prediction/predictAll.js +46 -20
- package/lib-esm/prediction/predictAll.js.map +1 -1
- package/lib-esm/signals/signalsToXY.js +1 -0
- package/lib-esm/signals/signalsToXY.js.map +1 -1
- package/lib-esm/signals/simulation/simulateXYPeaks.js +0 -2
- package/lib-esm/signals/simulation/simulateXYPeaks.js.map +1 -1
- package/package.json +2 -1
- package/src/prediction/predictAll.ts +48 -32
- package/src/signals/signalsToXY.ts +1 -0
- package/src/signals/simulation/simulateXYPeaks.ts +0 -3
- package/src/types/Integral.ts +1 -1
|
@@ -1,19 +1,10 @@
|
|
|
1
1
|
import type { Molecule } from 'openchemlib/full';
|
|
2
|
+
import type { Logger } from 'cheminfo-types';
|
|
2
3
|
import type { Prediction1D } from './Prediction1D';
|
|
3
4
|
import { PredictCarbonOptions } from './predictCarbon';
|
|
4
5
|
import { PredictProtonOptions } from './predictProton';
|
|
5
6
|
import type { Predictor } from './utils/predict2D';
|
|
6
7
|
export interface PredictAllOptions {
|
|
7
|
-
/**
|
|
8
|
-
* nucleus label to use in the X axis
|
|
9
|
-
* @default 'H'
|
|
10
|
-
*/
|
|
11
|
-
from?: 'H' | 'C';
|
|
12
|
-
/**
|
|
13
|
-
* nucleus label to use in the Y axis
|
|
14
|
-
* @default 'C';
|
|
15
|
-
*/
|
|
16
|
-
to?: 'H' | 'C';
|
|
17
8
|
/**
|
|
18
9
|
* maximum number of bonds to take into account.
|
|
19
10
|
* @default 1
|
|
@@ -59,6 +50,7 @@ export interface PredictAllOptions {
|
|
|
59
50
|
H?: Prediction1D;
|
|
60
51
|
C?: Prediction1D;
|
|
61
52
|
};
|
|
53
|
+
logger?: Logger;
|
|
62
54
|
}
|
|
63
55
|
export interface PredictedAll {
|
|
64
56
|
molfile: string;
|
|
@@ -13,34 +13,47 @@ const getPredictions_1 = require("./utils/getPredictions");
|
|
|
13
13
|
* @returns {Promise<object>} - object with molfile, diaIDs, 1D and 2D signals, joined signals, ranges and zones.
|
|
14
14
|
*/
|
|
15
15
|
async function predictAll(molecule, options = {}) {
|
|
16
|
-
let {
|
|
16
|
+
let { logger, predictor = { H: predictProton_1.predictProton, C: predictCarbon_1.predictCarbon }, predictions, joinDistance = { H: 0.05, C: 0.5 }, predictOptions = {}, } = options;
|
|
17
17
|
const diaIDs = (0, openchemlib_utils_1.getDiastereotopicAtomIDs)(molecule);
|
|
18
|
-
const xPrediction = await (0, getPredictions_1.getPredictions)(
|
|
19
|
-
const yPrediction = await (0, getPredictions_1.getPredictions)(
|
|
18
|
+
const xPrediction = await (0, getPredictions_1.getPredictions)('H', molecule, predictOptions, predictor, predictions);
|
|
19
|
+
const yPrediction = await (0, getPredictions_1.getPredictions)('C', molecule, predictOptions, predictor, predictions);
|
|
20
20
|
if (!xPrediction || !yPrediction) {
|
|
21
21
|
throw new Error('predictions are not availaible');
|
|
22
22
|
}
|
|
23
|
+
const spectra = {};
|
|
24
|
+
if (check1DPrediction(xPrediction)) {
|
|
25
|
+
spectra.proton = xPrediction;
|
|
26
|
+
}
|
|
27
|
+
if (check1DPrediction(yPrediction)) {
|
|
28
|
+
spectra.carbon = yPrediction;
|
|
29
|
+
}
|
|
30
|
+
const { molfile } = xPrediction;
|
|
23
31
|
predictions = {
|
|
24
32
|
H: xPrediction,
|
|
25
33
|
C: yPrediction,
|
|
26
34
|
};
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
}
|
|
36
|
-
spectra.
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
35
|
+
if (spectra.proton) {
|
|
36
|
+
spectra.cosy = await (0, predictCOSY_1.predictCOSY)(molecule, {
|
|
37
|
+
predictions,
|
|
38
|
+
joinDistance,
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
else if (logger) {
|
|
42
|
+
logger.warn('Proton prediction is missing so COSY could not be generated.');
|
|
43
|
+
}
|
|
44
|
+
if (spectra.carbon && spectra.proton) {
|
|
45
|
+
spectra.hsqc = await (0, predictHSQC_1.predictHSQC)(molecule, {
|
|
46
|
+
predictions,
|
|
47
|
+
joinDistance,
|
|
48
|
+
});
|
|
49
|
+
spectra.hmbc = await (0, predictHMBC_1.predictHMBC)(molecule, {
|
|
50
|
+
predictions,
|
|
51
|
+
joinDistance,
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
else if (logger) {
|
|
55
|
+
logger.warn('Carbon and / or proton prediction is missing so HSQC and HMBC could not be generated.');
|
|
56
|
+
}
|
|
44
57
|
for (const key in spectra) {
|
|
45
58
|
delete spectra[key].molfile;
|
|
46
59
|
delete spectra[key].diaIDs;
|
|
@@ -52,4 +65,17 @@ async function predictAll(molecule, options = {}) {
|
|
|
52
65
|
};
|
|
53
66
|
}
|
|
54
67
|
exports.predictAll = predictAll;
|
|
68
|
+
function check1DPrediction(prediction) {
|
|
69
|
+
if (!prediction)
|
|
70
|
+
return false;
|
|
71
|
+
if (prediction.ranges.length === 0)
|
|
72
|
+
return false;
|
|
73
|
+
const { signals, diaIDs } = prediction;
|
|
74
|
+
for (const signal of signals) {
|
|
75
|
+
const isCorrect = signal.diaIDs?.every((diaID) => diaIDs.includes(diaID));
|
|
76
|
+
if (!isCorrect)
|
|
77
|
+
return false;
|
|
78
|
+
}
|
|
79
|
+
return true;
|
|
80
|
+
}
|
|
55
81
|
//# sourceMappingURL=predictAll.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"predictAll.js","sourceRoot":"","sources":["../../src/prediction/predictAll.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"predictAll.js","sourceRoot":"","sources":["../../src/prediction/predictAll.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"signalsToXY.js","sourceRoot":"","sources":["../../src/signals/signalsToXY.ts"],"names":[],"mappings":";;;;;;AACA,iEAAkE;AAMlE,0EAAuE;AACvE,yEAAiD;AACjD,kEAA+D;AA8C/D,SAAS,iBAAiB,CACxB,OAAsB;IAEtB,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE;QAC5B,IAAI,CAAC,MAAM,CAAC,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;QACnD,4DAA4D;QAC5D,IAAI,CAAC,MAAM,CAAC,KAAK;YAAE,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;QACzD,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,EAAE,EAAE;YACzB,uDAAuD;YACvD,IAAI,CAAC,CAAC,CAAC,KAAK;gBAAE,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;SACrD;KACF;AACH,CAAC;AAED;;GAEG;AACH,SAAgB,WAAW,CACzB,OAAsB,EACtB,UAA8B,EAAE;IAEhC,iBAAiB,CAAC,OAAO,CAAC,CAAC;IAC3B,IAAI,EACF,SAAS,GAAG,GAAG,EACf,KAAK,GAAG;QACN,IAAI,EAAE,UAAU;KACjB,EACD,IAAI,GAAG,CAAC,EACR,EAAE,GAAG,EAAE,EACP,SAAS,GAAG,CAAC,EACb,QAAQ,GAAG,EAAE,GAAG,IAAI,EACpB,QAAQ,GAAG,GAAG,EACd,cAAc,GAAG,CAAC,GACnB,GAAG,OAAO,CAAC;IAEZ,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;QACxB,OAAO;YACL,CAAC,EAAE,IAAA,uCAAe,EAAC,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;YAChD,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,YAAY,CAAC,QAAQ,CAAC,CAAC;SAC1C,CAAC;KACH;IAED,IAAI,UAAU,GAAG,IAAA,yCAAmB,EAAC,OAAO,CAAC,CAAC;IAE9C,UAAU,CAAC,QAAQ,GAAG,IAAA,iCAAe,EAAC,UAAU,EAAE;QAChD,SAAS;QACT,cAAc;KACf,CAAC,CAAC;IAEH,IAAI,QAAQ,GAAG,IAAA,oBAAU,EAAC,UAAU,EAAE;QACpC,SAAS;QACT,IAAI;QACJ,EAAE;QACF,QAAQ;QACR,SAAS;QACT,KAAK;KACN,CAAC,CAAC;IAEH,IAAI,QAAQ,EAAE;QACZ,QAAQ,CAAC,CAAC,GAAG,IAAA,gCAAQ,EAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,CAAC;KACtD;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC;
|
|
1
|
+
{"version":3,"file":"signalsToXY.js","sourceRoot":"","sources":["../../src/signals/signalsToXY.ts"],"names":[],"mappings":";;;;;;AACA,iEAAkE;AAMlE,0EAAuE;AACvE,yEAAiD;AACjD,kEAA+D;AA8C/D,SAAS,iBAAiB,CACxB,OAAsB;IAEtB,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE;QAC5B,IAAI,CAAC,MAAM,CAAC,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;QACnD,4DAA4D;QAC5D,IAAI,CAAC,MAAM,CAAC,KAAK;YAAE,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;QACzD,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,EAAE,EAAE;YACzB,uDAAuD;YACvD,IAAI,CAAC,CAAC,CAAC,KAAK;gBAAE,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;SACrD;KACF;AACH,CAAC;AAED;;GAEG;AACH,SAAgB,WAAW,CACzB,OAAsB,EACtB,UAA8B,EAAE;IAEhC,iBAAiB,CAAC,OAAO,CAAC,CAAC;IAC3B,IAAI,EACF,SAAS,GAAG,GAAG,EACf,KAAK,GAAG;QACN,IAAI,EAAE,UAAU;KACjB,EACD,IAAI,GAAG,CAAC,EACR,EAAE,GAAG,EAAE,EACP,SAAS,GAAG,CAAC,EACb,QAAQ,GAAG,EAAE,GAAG,IAAI,EACpB,QAAQ,GAAG,GAAG,EACd,cAAc,GAAG,CAAC,GACnB,GAAG,OAAO,CAAC;IAEZ,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;QACxB,OAAO;YACL,CAAC,EAAE,IAAA,uCAAe,EAAC,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;YAChD,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,YAAY,CAAC,QAAQ,CAAC,CAAC;SAC1C,CAAC;KACH;IAED,IAAI,UAAU,GAAG,IAAA,yCAAmB,EAAC,OAAO,CAAC,CAAC;IAE9C,UAAU,CAAC,QAAQ,GAAG,IAAA,iCAAe,EAAC,UAAU,EAAE;QAChD,SAAS;QACT,cAAc;KACf,CAAC,CAAC;IAEH,IAAI,QAAQ,GAAG,IAAA,oBAAU,EAAC,UAAU,EAAE;QACpC,SAAS;QACT,IAAI;QACJ,EAAE;QACF,QAAQ;QACR,SAAS;QACT,cAAc;QACd,KAAK;KACN,CAAC,CAAC;IAEH,IAAI,QAAQ,EAAE;QACZ,QAAQ,CAAC,CAAC,GAAG,IAAA,gCAAQ,EAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,CAAC;KACtD;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC;AA/CD,kCA+CC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"simulateXYPeaks.js","sourceRoot":"","sources":["../../../src/signals/simulation/simulateXYPeaks.ts"],"names":[],"mappings":";;;;;;AAAA,kEAAyC;AACzC,yCAAwC;AAGxC,uDAAgD;AAIhD,sEAA8C;AAE9C,MAAM,UAAU,GAAG,IAAI,CAAC;AAwCxB,SAAgB,eAAe;AAC7B;;GAEG;AACH,UAAsB,EACtB,UAA6B,EAAE;IAE/B,IAAI,EACF,SAAS,GAAG,CAAC,EACb,cAAc,GAAG,CAAC,EAClB,SAAS,EAAE,YAAY,GAAG,GAAG,GAC9B,GAAG,OAAO,CAAC;IAEZ,MAAM,cAAc,GAAG,UAAU,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC;IACzD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,cAAc,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QAC9C,cAAc,CAAC,CAAC,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC;KACtD;IAED,MAAM,YAAY,GAAG,UAAU,CAAC,YAAY,CAAC;IAE7C,MAAM,OAAO,GAAoC,EAAE,CAAC;IACpD,KAAK,MAAM,OAAO,IAAI,UAAU,CAAC,QAAQ,EAAE;QACzC,IAAI,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CACxC,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CACrC,CAAC;
|
|
1
|
+
{"version":3,"file":"simulateXYPeaks.js","sourceRoot":"","sources":["../../../src/signals/simulation/simulateXYPeaks.ts"],"names":[],"mappings":"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"}
|
package/lib/types/Integral.d.ts
CHANGED
|
@@ -10,34 +10,47 @@ import { getPredictions } from './utils/getPredictions';
|
|
|
10
10
|
* @returns {Promise<object>} - object with molfile, diaIDs, 1D and 2D signals, joined signals, ranges and zones.
|
|
11
11
|
*/
|
|
12
12
|
export async function predictAll(molecule, options = {}) {
|
|
13
|
-
let {
|
|
13
|
+
let { logger, predictor = { H: predictProton, C: predictCarbon }, predictions, joinDistance = { H: 0.05, C: 0.5 }, predictOptions = {}, } = options;
|
|
14
14
|
const diaIDs = getDiastereotopicAtomIDs(molecule);
|
|
15
|
-
const xPrediction = await getPredictions(
|
|
16
|
-
const yPrediction = await getPredictions(
|
|
15
|
+
const xPrediction = await getPredictions('H', molecule, predictOptions, predictor, predictions);
|
|
16
|
+
const yPrediction = await getPredictions('C', molecule, predictOptions, predictor, predictions);
|
|
17
17
|
if (!xPrediction || !yPrediction) {
|
|
18
18
|
throw new Error('predictions are not availaible');
|
|
19
19
|
}
|
|
20
|
+
const spectra = {};
|
|
21
|
+
if (check1DPrediction(xPrediction)) {
|
|
22
|
+
spectra.proton = xPrediction;
|
|
23
|
+
}
|
|
24
|
+
if (check1DPrediction(yPrediction)) {
|
|
25
|
+
spectra.carbon = yPrediction;
|
|
26
|
+
}
|
|
27
|
+
const { molfile } = xPrediction;
|
|
20
28
|
predictions = {
|
|
21
29
|
H: xPrediction,
|
|
22
30
|
C: yPrediction,
|
|
23
31
|
};
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
}
|
|
33
|
-
spectra.
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
32
|
+
if (spectra.proton) {
|
|
33
|
+
spectra.cosy = await predictCOSY(molecule, {
|
|
34
|
+
predictions,
|
|
35
|
+
joinDistance,
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
else if (logger) {
|
|
39
|
+
logger.warn('Proton prediction is missing so COSY could not be generated.');
|
|
40
|
+
}
|
|
41
|
+
if (spectra.carbon && spectra.proton) {
|
|
42
|
+
spectra.hsqc = await predictHSQC(molecule, {
|
|
43
|
+
predictions,
|
|
44
|
+
joinDistance,
|
|
45
|
+
});
|
|
46
|
+
spectra.hmbc = await predictHMBC(molecule, {
|
|
47
|
+
predictions,
|
|
48
|
+
joinDistance,
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
else if (logger) {
|
|
52
|
+
logger.warn('Carbon and / or proton prediction is missing so HSQC and HMBC could not be generated.');
|
|
53
|
+
}
|
|
41
54
|
for (const key in spectra) {
|
|
42
55
|
delete spectra[key].molfile;
|
|
43
56
|
delete spectra[key].diaIDs;
|
|
@@ -48,4 +61,17 @@ export async function predictAll(molecule, options = {}) {
|
|
|
48
61
|
spectra,
|
|
49
62
|
};
|
|
50
63
|
}
|
|
64
|
+
function check1DPrediction(prediction) {
|
|
65
|
+
if (!prediction)
|
|
66
|
+
return false;
|
|
67
|
+
if (prediction.ranges.length === 0)
|
|
68
|
+
return false;
|
|
69
|
+
const { signals, diaIDs } = prediction;
|
|
70
|
+
for (const signal of signals) {
|
|
71
|
+
const isCorrect = signal.diaIDs?.every((diaID) => diaIDs.includes(diaID));
|
|
72
|
+
if (!isCorrect)
|
|
73
|
+
return false;
|
|
74
|
+
}
|
|
75
|
+
return true;
|
|
76
|
+
}
|
|
51
77
|
//# sourceMappingURL=predictAll.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"predictAll.js","sourceRoot":"","sources":["../../src/prediction/predictAll.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"predictAll.js","sourceRoot":"","sources":["../../src/prediction/predictAll.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"signalsToXY.js","sourceRoot":"","sources":["../../src/signals/signalsToXY.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAMlE,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AACvE,OAAO,UAAU,MAAM,yBAAyB,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AA8C/D,SAAS,iBAAiB,CACxB,OAAsB;IAEtB,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE;QAC5B,IAAI,CAAC,MAAM,CAAC,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;QACnD,4DAA4D;QAC5D,IAAI,CAAC,MAAM,CAAC,KAAK;YAAE,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;QACzD,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,EAAE,EAAE;YACzB,uDAAuD;YACvD,IAAI,CAAC,CAAC,CAAC,KAAK;gBAAE,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;SACrD;KACF;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,WAAW,CACzB,OAAsB,EACtB,UAA8B,EAAE;IAEhC,iBAAiB,CAAC,OAAO,CAAC,CAAC;IAC3B,IAAI,EACF,SAAS,GAAG,GAAG,EACf,KAAK,GAAG;QACN,IAAI,EAAE,UAAU;KACjB,EACD,IAAI,GAAG,CAAC,EACR,EAAE,GAAG,EAAE,EACP,SAAS,GAAG,CAAC,EACb,QAAQ,GAAG,EAAE,GAAG,IAAI,EACpB,QAAQ,GAAG,GAAG,EACd,cAAc,GAAG,CAAC,GACnB,GAAG,OAAO,CAAC;IAEZ,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;QACxB,OAAO;YACL,CAAC,EAAE,eAAe,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;YAChD,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,YAAY,CAAC,QAAQ,CAAC,CAAC;SAC1C,CAAC;KACH;IAED,IAAI,UAAU,GAAG,mBAAmB,CAAC,OAAO,CAAC,CAAC;IAE9C,UAAU,CAAC,QAAQ,GAAG,eAAe,CAAC,UAAU,EAAE;QAChD,SAAS;QACT,cAAc;KACf,CAAC,CAAC;IAEH,IAAI,QAAQ,GAAG,UAAU,CAAC,UAAU,EAAE;QACpC,SAAS;QACT,IAAI;QACJ,EAAE;QACF,QAAQ;QACR,SAAS;QACT,KAAK;KACN,CAAC,CAAC;IAEH,IAAI,QAAQ,EAAE;QACZ,QAAQ,CAAC,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,CAAC;KACtD;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC"}
|
|
1
|
+
{"version":3,"file":"signalsToXY.js","sourceRoot":"","sources":["../../src/signals/signalsToXY.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAMlE,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AACvE,OAAO,UAAU,MAAM,yBAAyB,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AA8C/D,SAAS,iBAAiB,CACxB,OAAsB;IAEtB,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE;QAC5B,IAAI,CAAC,MAAM,CAAC,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;QACnD,4DAA4D;QAC5D,IAAI,CAAC,MAAM,CAAC,KAAK;YAAE,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;QACzD,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,EAAE,EAAE;YACzB,uDAAuD;YACvD,IAAI,CAAC,CAAC,CAAC,KAAK;gBAAE,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;SACrD;KACF;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,WAAW,CACzB,OAAsB,EACtB,UAA8B,EAAE;IAEhC,iBAAiB,CAAC,OAAO,CAAC,CAAC;IAC3B,IAAI,EACF,SAAS,GAAG,GAAG,EACf,KAAK,GAAG;QACN,IAAI,EAAE,UAAU;KACjB,EACD,IAAI,GAAG,CAAC,EACR,EAAE,GAAG,EAAE,EACP,SAAS,GAAG,CAAC,EACb,QAAQ,GAAG,EAAE,GAAG,IAAI,EACpB,QAAQ,GAAG,GAAG,EACd,cAAc,GAAG,CAAC,GACnB,GAAG,OAAO,CAAC;IAEZ,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;QACxB,OAAO;YACL,CAAC,EAAE,eAAe,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;YAChD,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,YAAY,CAAC,QAAQ,CAAC,CAAC;SAC1C,CAAC;KACH;IAED,IAAI,UAAU,GAAG,mBAAmB,CAAC,OAAO,CAAC,CAAC;IAE9C,UAAU,CAAC,QAAQ,GAAG,eAAe,CAAC,UAAU,EAAE;QAChD,SAAS;QACT,cAAc;KACf,CAAC,CAAC;IAEH,IAAI,QAAQ,GAAG,UAAU,CAAC,UAAU,EAAE;QACpC,SAAS;QACT,IAAI;QACJ,EAAE;QACF,QAAQ;QACR,SAAS;QACT,cAAc;QACd,KAAK;KACN,CAAC,CAAC;IAEH,IAAI,QAAQ,EAAE;QACZ,QAAQ,CAAC,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,CAAC;KACtD;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"simulateXYPeaks.js","sourceRoot":"","sources":["../../../src/signals/simulation/simulateXYPeaks.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAGxC,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAIhD,OAAO,cAAc,MAAM,kBAAkB,CAAC;AAE9C,MAAM,UAAU,GAAG,IAAI,CAAC;AAwCxB,MAAM,UAAU,eAAe;AAC7B;;GAEG;AACH,UAAsB,EACtB,UAA6B,EAAE;IAE/B,IAAI,EACF,SAAS,GAAG,CAAC,EACb,cAAc,GAAG,CAAC,EAClB,SAAS,EAAE,YAAY,GAAG,GAAG,GAC9B,GAAG,OAAO,CAAC;IAEZ,MAAM,cAAc,GAAG,UAAU,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC;IACzD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,cAAc,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QAC9C,cAAc,CAAC,CAAC,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC;KACtD;IAED,MAAM,YAAY,GAAG,UAAU,CAAC,YAAY,CAAC;IAE7C,MAAM,OAAO,GAAoC,EAAE,CAAC;IACpD,KAAK,MAAM,OAAO,IAAI,UAAU,CAAC,QAAQ,EAAE;QACzC,IAAI,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CACxC,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CACrC,CAAC;
|
|
1
|
+
{"version":3,"file":"simulateXYPeaks.js","sourceRoot":"","sources":["../../../src/signals/simulation/simulateXYPeaks.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.
|
|
3
|
+
"version": "9.7.3-pre.1687951924",
|
|
4
4
|
"description": "Pure functions allowing to process NMR spectra.",
|
|
5
5
|
"main": "./lib/index.js",
|
|
6
6
|
"module": "./lib-esm/index.js",
|
|
@@ -43,6 +43,7 @@
|
|
|
43
43
|
"cheminfo-types": "^1.7.2",
|
|
44
44
|
"eslint": "^8.36.0",
|
|
45
45
|
"eslint-config-cheminfo-typescript": "^11.3.1",
|
|
46
|
+
"fifo-logger": "^0.6.1",
|
|
46
47
|
"jest": "^29.5.0",
|
|
47
48
|
"jest-matcher-deep-close-to": "^3.0.2",
|
|
48
49
|
"md5": "^2.3.0",
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { Molecule } from 'openchemlib/full';
|
|
2
|
+
import type { Logger } from 'cheminfo-types';
|
|
2
3
|
import { getDiastereotopicAtomIDs } from 'openchemlib-utils';
|
|
3
4
|
|
|
4
5
|
import type { Prediction1D } from './Prediction1D';
|
|
@@ -11,16 +12,6 @@ import { getPredictions } from './utils/getPredictions';
|
|
|
11
12
|
import type { Predictor } from './utils/predict2D';
|
|
12
13
|
|
|
13
14
|
export interface PredictAllOptions {
|
|
14
|
-
/**
|
|
15
|
-
* nucleus label to use in the X axis
|
|
16
|
-
* @default 'H'
|
|
17
|
-
*/
|
|
18
|
-
from?: 'H' | 'C';
|
|
19
|
-
/**
|
|
20
|
-
* nucleus label to use in the Y axis
|
|
21
|
-
* @default 'C';
|
|
22
|
-
*/
|
|
23
|
-
to?: 'H' | 'C';
|
|
24
15
|
/**
|
|
25
16
|
* maximum number of bonds to take into account.
|
|
26
17
|
* @default 1
|
|
@@ -57,6 +48,7 @@ export interface PredictAllOptions {
|
|
|
57
48
|
H?: Prediction1D;
|
|
58
49
|
C?: Prediction1D;
|
|
59
50
|
};
|
|
51
|
+
logger?: Logger;
|
|
60
52
|
}
|
|
61
53
|
|
|
62
54
|
export interface PredictedAll {
|
|
@@ -73,8 +65,7 @@ export async function predictAll(
|
|
|
73
65
|
options: PredictAllOptions = {},
|
|
74
66
|
): Promise<PredictedAll> {
|
|
75
67
|
let {
|
|
76
|
-
|
|
77
|
-
to = 'C',
|
|
68
|
+
logger,
|
|
78
69
|
predictor = { H: predictProton, C: predictCarbon },
|
|
79
70
|
predictions,
|
|
80
71
|
joinDistance = { H: 0.05, C: 0.5 },
|
|
@@ -84,7 +75,7 @@ export async function predictAll(
|
|
|
84
75
|
const diaIDs = getDiastereotopicAtomIDs(molecule);
|
|
85
76
|
|
|
86
77
|
const xPrediction = await getPredictions(
|
|
87
|
-
|
|
78
|
+
'H',
|
|
88
79
|
molecule,
|
|
89
80
|
predictOptions,
|
|
90
81
|
predictor,
|
|
@@ -92,7 +83,7 @@ export async function predictAll(
|
|
|
92
83
|
);
|
|
93
84
|
|
|
94
85
|
const yPrediction = await getPredictions(
|
|
95
|
-
|
|
86
|
+
'C',
|
|
96
87
|
molecule,
|
|
97
88
|
predictOptions,
|
|
98
89
|
predictor,
|
|
@@ -103,30 +94,44 @@ export async function predictAll(
|
|
|
103
94
|
throw new Error('predictions are not availaible');
|
|
104
95
|
}
|
|
105
96
|
|
|
97
|
+
const spectra: any = {};
|
|
98
|
+
if (check1DPrediction(xPrediction)) {
|
|
99
|
+
spectra.proton = xPrediction;
|
|
100
|
+
}
|
|
101
|
+
if (check1DPrediction(yPrediction)) {
|
|
102
|
+
spectra.carbon = yPrediction;
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
const { molfile } = xPrediction;
|
|
106
|
+
|
|
106
107
|
predictions = {
|
|
107
108
|
H: xPrediction,
|
|
108
109
|
C: yPrediction,
|
|
109
110
|
};
|
|
110
111
|
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
}
|
|
112
|
+
if (spectra.proton) {
|
|
113
|
+
spectra.cosy = await predictCOSY(molecule, {
|
|
114
|
+
predictions,
|
|
115
|
+
joinDistance,
|
|
116
|
+
});
|
|
117
|
+
} else if (logger) {
|
|
118
|
+
logger.warn('Proton prediction is missing so COSY could not be generated.');
|
|
119
|
+
}
|
|
117
120
|
|
|
118
|
-
spectra.
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
121
|
+
if (spectra.carbon && spectra.proton) {
|
|
122
|
+
spectra.hsqc = await predictHSQC(molecule, {
|
|
123
|
+
predictions,
|
|
124
|
+
joinDistance,
|
|
125
|
+
});
|
|
126
|
+
spectra.hmbc = await predictHMBC(molecule, {
|
|
127
|
+
predictions,
|
|
128
|
+
joinDistance,
|
|
129
|
+
});
|
|
130
|
+
} else if (logger) {
|
|
131
|
+
logger.warn(
|
|
132
|
+
'Carbon and / or proton prediction is missing so HSQC and HMBC could not be generated.',
|
|
133
|
+
);
|
|
134
|
+
}
|
|
130
135
|
|
|
131
136
|
for (const key in spectra) {
|
|
132
137
|
delete spectra[key].molfile;
|
|
@@ -139,3 +144,14 @@ export async function predictAll(
|
|
|
139
144
|
spectra,
|
|
140
145
|
};
|
|
141
146
|
}
|
|
147
|
+
|
|
148
|
+
function check1DPrediction(prediction?: Prediction1D) {
|
|
149
|
+
if (!prediction) return false;
|
|
150
|
+
if (prediction.ranges.length === 0) return false;
|
|
151
|
+
const { signals, diaIDs } = prediction;
|
|
152
|
+
for (const signal of signals) {
|
|
153
|
+
const isCorrect = signal.diaIDs?.every((diaID) => diaIDs.includes(diaID));
|
|
154
|
+
if (!isCorrect) return false;
|
|
155
|
+
}
|
|
156
|
+
return true;
|
|
157
|
+
}
|
|
@@ -73,7 +73,6 @@ export function simulateXYPeaks(
|
|
|
73
73
|
let clusterFake = cluster.map((cluster) =>
|
|
74
74
|
cluster < 0 ? -cluster - 1 : cluster,
|
|
75
75
|
);
|
|
76
|
-
|
|
77
76
|
let weight = 1;
|
|
78
77
|
let sumI = 0;
|
|
79
78
|
let frequencies: number[] = [];
|
|
@@ -143,7 +142,6 @@ export function simulateXYPeaks(
|
|
|
143
142
|
assignmentMatrix.add(tempMat.mul(cluster[n]));
|
|
144
143
|
}
|
|
145
144
|
}
|
|
146
|
-
|
|
147
145
|
let rhoip = Matrix.zeros(hamSize, hamSize);
|
|
148
146
|
assignmentMatrix.forEachNonZero((i, j, v) => {
|
|
149
147
|
if (v > 0) {
|
|
@@ -241,7 +239,6 @@ export function simulateXYPeaks(
|
|
|
241
239
|
|
|
242
240
|
function triuTimesAbs(A: SparseMatrix, val: number) {
|
|
243
241
|
A.forEachNonZero((i, j, v) => {
|
|
244
|
-
if (i > j) return 0;
|
|
245
242
|
if (Math.abs(v) <= val) return 0;
|
|
246
243
|
return v;
|
|
247
244
|
});
|