nmr-processing 9.1.0 → 9.2.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/assignment/utils/getAssignment/buildAssignments.js.map +1 -1
- package/lib/index.d.ts +3 -2
- package/lib/index.js +1 -0
- package/lib/index.js.map +1 -1
- package/lib/prediction/{prediction1D.d.ts → Prediction1D.d.ts} +0 -0
- package/lib/prediction/{prediction1D.js → Prediction1D.js} +1 -1
- package/lib/prediction/Prediction1D.js.map +1 -0
- package/lib/prediction/predictAll.d.ts +1 -1
- package/lib/prediction/predictAll.js.map +1 -1
- package/lib/prediction/predictAllSpectra.js +2 -2
- package/lib/prediction/predictAllSpectra.js.map +1 -1
- package/lib/prediction/predictCOSY.d.ts +1 -1
- package/lib/prediction/predictCOSY.js.map +1 -1
- package/lib/prediction/predictCarbon.d.ts +1 -1
- package/lib/prediction/predictHMBC.d.ts +1 -1
- package/lib/prediction/predictHMBC.js.map +1 -1
- package/lib/prediction/predictHSQC.d.ts +1 -1
- package/lib/prediction/predictHSQC.js.map +1 -1
- package/lib/prediction/predictProton.d.ts +1 -1
- package/lib/prediction/utils/fetchPrediction.d.ts +1 -1
- package/lib/prediction/utils/getPredictions.d.ts +1 -1
- package/lib/prediction/utils/predict2D.d.ts +1 -1
- package/lib/prediction/utils/predict2D.js +1 -1
- package/lib/prediction/utils/predict2D.js.map +1 -1
- package/lib/signals/{jcoupling.d.ts → Jcoupling.d.ts} +0 -0
- package/lib/signals/{jcoupling.js → Jcoupling.js} +1 -1
- package/lib/signals/Jcoupling.js.map +1 -0
- package/lib/signals/NMRSignal1D.d.ts +1 -1
- package/lib/signals/addDummySignals.js +12 -7
- package/lib/signals/addDummySignals.js.map +1 -1
- package/lib/signals/optimization/defaultParameters.d.ts +1 -0
- package/lib/signals/optimization/defaultParameters.js +36 -0
- package/lib/signals/optimization/defaultParameters.js.map +1 -0
- package/lib/signals/optimization/directOptimization.d.ts +20 -0
- package/lib/signals/optimization/directOptimization.js +32 -0
- package/lib/signals/optimization/directOptimization.js.map +1 -0
- package/lib/signals/optimization/getInternalSignals.d.ts +54 -0
- package/lib/signals/optimization/getInternalSignals.js +150 -0
- package/lib/signals/optimization/getInternalSignals.js.map +1 -0
- package/lib/signals/optimization/getSumOfShapes.d.ts +4 -0
- package/lib/signals/optimization/getSumOfShapes.js +46 -0
- package/lib/signals/optimization/getSumOfShapes.js.map +1 -0
- package/lib/signals/optimization/signalsToPointXY.d.ts +9 -0
- package/lib/signals/optimization/signalsToPointXY.js +24 -0
- package/lib/signals/optimization/signalsToPointXY.js.map +1 -0
- package/lib/signals/optimizeSignals.d.ts +40 -0
- package/lib/signals/optimizeSignals.js +108 -0
- package/lib/signals/optimizeSignals.js.map +1 -0
- package/lib/signals/signalsJoin.d.ts +1 -1
- package/lib/signals/simulation/simulateXYPeaks.js +1 -1
- package/lib/signals/simulation/simulateXYPeaks.js.map +1 -1
- package/lib/xy/xyAutoPeaksPicking.d.ts +2 -2
- package/lib/xy/xyAutoPeaksPicking.js +2 -2
- package/lib/xy/xyAutoPeaksPicking.js.map +1 -1
- package/lib/xy/xyPeaksOptimization.js +2 -1
- package/lib/xy/xyPeaksOptimization.js.map +1 -1
- package/lib-esm/assignment/utils/getAssignment/buildAssignments.js.map +1 -1
- package/lib-esm/index.js +1 -0
- package/lib-esm/index.js.map +1 -1
- package/lib-esm/prediction/Prediction1D.js +2 -0
- package/lib-esm/prediction/Prediction1D.js.map +1 -0
- package/lib-esm/prediction/predictAll.js.map +1 -1
- package/lib-esm/prediction/predictAllSpectra.js +2 -2
- package/lib-esm/prediction/predictAllSpectra.js.map +1 -1
- package/lib-esm/prediction/predictCOSY.js.map +1 -1
- package/lib-esm/prediction/predictHMBC.js.map +1 -1
- package/lib-esm/prediction/predictHSQC.js.map +1 -1
- package/lib-esm/prediction/utils/predict2D.js +1 -1
- package/lib-esm/prediction/utils/predict2D.js.map +1 -1
- package/lib-esm/signals/Jcoupling.js +2 -0
- package/lib-esm/signals/Jcoupling.js.map +1 -0
- package/lib-esm/signals/addDummySignals.js +12 -7
- package/lib-esm/signals/addDummySignals.js.map +1 -1
- package/lib-esm/signals/optimization/defaultParameters.js +33 -0
- package/lib-esm/signals/optimization/defaultParameters.js.map +1 -0
- package/lib-esm/signals/optimization/directOptimization.js +25 -0
- package/lib-esm/signals/optimization/directOptimization.js.map +1 -0
- package/lib-esm/signals/optimization/getInternalSignals.js +146 -0
- package/lib-esm/signals/optimization/getInternalSignals.js.map +1 -0
- package/lib-esm/signals/optimization/getSumOfShapes.js +42 -0
- package/lib-esm/signals/optimization/getSumOfShapes.js.map +1 -0
- package/lib-esm/signals/optimization/signalsToPointXY.js +20 -0
- package/lib-esm/signals/optimization/signalsToPointXY.js.map +1 -0
- package/lib-esm/signals/optimizeSignals.js +104 -0
- package/lib-esm/signals/optimizeSignals.js.map +1 -0
- package/lib-esm/signals/simulation/simulateXYPeaks.js +1 -1
- package/lib-esm/signals/simulation/simulateXYPeaks.js.map +1 -1
- package/lib-esm/xy/xyAutoPeaksPicking.js +3 -3
- package/lib-esm/xy/xyAutoPeaksPicking.js.map +1 -1
- package/lib-esm/xy/xyPeaksOptimization.js +2 -1
- package/lib-esm/xy/xyPeaksOptimization.js.map +1 -1
- package/package.json +3 -2
- package/src/assignment/utils/getAssignment/buildAssignments.ts +1 -1
- package/src/index.ts +3 -2
- package/src/prediction/{prediction1D.ts → Prediction1D.ts} +0 -0
- package/src/prediction/predictAll.ts +1 -1
- package/src/prediction/predictAllSpectra.ts +2 -2
- package/src/prediction/predictCOSY.ts +1 -1
- package/src/prediction/predictCarbon.ts +1 -1
- package/src/prediction/predictHMBC.ts +1 -1
- package/src/prediction/predictHSQC.ts +1 -1
- package/src/prediction/predictProton.ts +1 -1
- package/src/prediction/utils/fetchPrediction.ts +1 -1
- package/src/prediction/utils/getPredictions.ts +1 -1
- package/src/prediction/utils/predict2D.ts +2 -2
- package/src/signal/signalJoinCouplings.ts +1 -1
- package/src/signals/{jcoupling.ts → Jcoupling.ts} +0 -0
- package/src/signals/NMRSignal1D.ts +1 -1
- package/src/signals/addDummySignals.ts +17 -7
- package/src/signals/optimization/defaultParameters.ts +45 -0
- package/src/signals/optimization/directOptimization.ts +49 -0
- package/src/signals/optimization/getInternalSignals.ts +287 -0
- package/src/signals/optimization/getSumOfShapes.ts +54 -0
- package/src/signals/optimization/signalsToPointXY.ts +37 -0
- package/src/signals/optimizeSignals.ts +173 -0
- package/src/signals/signalsJoin.ts +1 -1
- package/src/signals/signalsToXY.ts +1 -1
- package/src/signals/simulation/signalsToSpinSystem.ts +1 -1
- package/src/signals/simulation/simulateXYPeaks.ts +1 -2
- package/src/xy/xyAutoPeaksPicking.ts +10 -6
- package/src/xy/xyPeaksOptimization.ts +3 -1
- package/lib/prediction/prediction1D.js.map +0 -1
- package/lib/signals/jcoupling.js.map +0 -1
- package/lib-esm/prediction/prediction1D.js +0 -2
- package/lib-esm/prediction/prediction1D.js.map +0 -1
- package/lib-esm/signals/jcoupling.js +0 -2
- package/lib-esm/signals/jcoupling.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"simulateXYPeaks.js","sourceRoot":"","sources":["../../../src/signals/simulation/simulateXYPeaks.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"simulateXYPeaks.js","sourceRoot":"","sources":["../../../src/signals/simulation/simulateXYPeaks.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { gsd, optimizePeaks, joinBroadPeaks, } from 'ml-gsd';
|
|
1
|
+
import { gsd, optimizePeaks, joinBroadPeaks, setShape, } from 'ml-gsd';
|
|
2
2
|
import { xyExtract, xNoiseSanPlot, xAbsoluteMedian, } from 'ml-spectra-processing';
|
|
3
3
|
import { convertWidthToHz } from '../peaks/util/convertWidthToHz';
|
|
4
4
|
export function xyAutoPeaksPicking(data, options) {
|
|
@@ -52,8 +52,7 @@ function getNegativePeaks(data, cutOff, getPeakOptions) {
|
|
|
52
52
|
}
|
|
53
53
|
function getPeakList(data, options) {
|
|
54
54
|
const { shape, frequency, broadWidth, optimize, maxCriteria, factorLimits, sgOptions, minMaxRatio, broadRatio, noiseLevel, smoothY, optimization, realTopDetection, } = options;
|
|
55
|
-
|
|
56
|
-
shape,
|
|
55
|
+
const peaks = gsd(data, {
|
|
57
56
|
sgOptions,
|
|
58
57
|
maxCriteria,
|
|
59
58
|
minMaxRatio,
|
|
@@ -61,6 +60,7 @@ function getPeakList(data, options) {
|
|
|
61
60
|
smoothY,
|
|
62
61
|
realTopDetection,
|
|
63
62
|
});
|
|
63
|
+
const peakList = setShape(peaks, { output: peaks, shape });
|
|
64
64
|
const newPeaks = broadWidth
|
|
65
65
|
? joinBroadPeaks(peakList, {
|
|
66
66
|
broadRatio,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"xyAutoPeaksPicking.js","sourceRoot":"","sources":["../../src/xy/xyAutoPeaksPicking.ts"],"names":[],"mappings":"AACA,OAAO,EACL,GAAG,EACH,aAAa,EACb,cAAc,
|
|
1
|
+
{"version":3,"file":"xyAutoPeaksPicking.js","sourceRoot":"","sources":["../../src/xy/xyAutoPeaksPicking.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,9 +5,10 @@ export function xyPeaksOptimization(data, peaks, options) {
|
|
|
5
5
|
const { frequency } = options;
|
|
6
6
|
const newPeaks = convertWidthToPPM(peaks, { frequency });
|
|
7
7
|
const optimizedPeaks = optimizePeaks(data, newPeaks, options);
|
|
8
|
-
|
|
8
|
+
const result = convertWidthToHz(optimizedPeaks, {
|
|
9
9
|
frequency,
|
|
10
10
|
output: optimizedPeaks,
|
|
11
11
|
});
|
|
12
|
+
return result;
|
|
12
13
|
}
|
|
13
14
|
//# sourceMappingURL=xyPeaksOptimization.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"xyPeaksOptimization.js","sourceRoot":"","sources":["../../src/xy/xyPeaksOptimization.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAwB,MAAM,QAAQ,CAAC;AAE7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;
|
|
1
|
+
{"version":3,"file":"xyPeaksOptimization.js","sourceRoot":"","sources":["../../src/xy/xyPeaksOptimization.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAwB,MAAM,QAAQ,CAAC;AAE7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AASpE,MAAM,UAAU,mBAAmB,CACjC,IAAY,EACZ,KAAU,EACV,OAAmC;IAEnC,MAAM,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC;IAC9B,MAAM,QAAQ,GAAG,iBAAiB,CAAC,KAAK,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC;IACzD,MAAM,cAAc,GAAG,aAAa,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;IAC9D,MAAM,MAAM,GAAG,gBAAgB,CAAC,cAAc,EAAE;QAC9C,SAAS;QACT,MAAM,EAAE,cAAc;KACvB,CAAC,CAAC;IACH,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "nmr-processing",
|
|
3
|
-
"version": "9.
|
|
3
|
+
"version": "9.2.0",
|
|
4
4
|
"description": "Pure functions allowing to process NMR spectra.",
|
|
5
5
|
"main": "./lib/index.js",
|
|
6
6
|
"module": "./lib-esm/index.js",
|
|
@@ -64,7 +64,8 @@
|
|
|
64
64
|
"ml-array-mean": "^1.1.6",
|
|
65
65
|
"ml-array-rescale": "^1.3.7",
|
|
66
66
|
"ml-array-sum": "^1.1.6",
|
|
67
|
-
"ml-
|
|
67
|
+
"ml-direct": "^0.1.1",
|
|
68
|
+
"ml-gsd": "^12.1.2",
|
|
68
69
|
"ml-hclust": "^3.1.0",
|
|
69
70
|
"ml-levenberg-marquardt": "^4.1.0",
|
|
70
71
|
"ml-matrix": "^6.10.2",
|
|
@@ -337,7 +337,7 @@ function initializePartials(
|
|
|
337
337
|
}
|
|
338
338
|
|
|
339
339
|
function fillPartial(nSources: number, value: string | null = null) {
|
|
340
|
-
const partial
|
|
340
|
+
const partial = new Array<string | null>(nSources);
|
|
341
341
|
for (let i = 0; i < nSources; i++) {
|
|
342
342
|
partial[i] = value;
|
|
343
343
|
}
|
package/src/index.ts
CHANGED
|
@@ -24,6 +24,7 @@ export * from './ranges/rangesToXY';
|
|
|
24
24
|
export * from './signals/signalsToRanges';
|
|
25
25
|
export * from './signals/signalsToXY';
|
|
26
26
|
export * from './signals/signals2DToZ';
|
|
27
|
+
export * from './signals/optimizeSignals';
|
|
27
28
|
|
|
28
29
|
export * from './utilities/resurrect';
|
|
29
30
|
export * from './utilities/rangeFromSignal';
|
|
@@ -50,8 +51,8 @@ export type { NMRSignal2D, Signal2DProjection } from './xyz/NMRSignal2D';
|
|
|
50
51
|
export type { NMRRange } from './xy/NMRRange';
|
|
51
52
|
export type { NMRZone } from './xyz/NMRZone';
|
|
52
53
|
export type { NMRPeak1D } from './peaks/NMRPeak1D';
|
|
53
|
-
export type { Prediction1D } from './prediction/
|
|
54
|
-
export type { Jcoupling } from './signals/
|
|
54
|
+
export type { Prediction1D } from './prediction/Prediction1D';
|
|
55
|
+
export type { Jcoupling } from './signals/Jcoupling';
|
|
55
56
|
export type { DatabaseNMREntry } from './databases/DatabaseNMREntry';
|
|
56
57
|
export type {
|
|
57
58
|
DataBaseLevelStructure,
|
|
File without changes
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import type { Molecule } from 'openchemlib';
|
|
2
2
|
|
|
3
|
+
import type { Prediction1D } from './Prediction1D';
|
|
3
4
|
import { predictCOSY } from './predictCOSY';
|
|
4
5
|
import { predictCarbon, PredictCarbonOptions } from './predictCarbon';
|
|
5
6
|
import { predictHMBC } from './predictHMBC';
|
|
6
7
|
import { predictHSQC } from './predictHSQC';
|
|
7
8
|
import { predictProton, PredictProtonOptions } from './predictProton';
|
|
8
|
-
import type { Prediction1D } from './prediction1D';
|
|
9
9
|
import { getPredictions } from './utils/getPredictions';
|
|
10
10
|
import type { Predictor } from './utils/predict2D';
|
|
11
11
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Molecule } from 'openchemlib';
|
|
2
2
|
|
|
3
|
+
import type { Prediction1D } from './Prediction1D';
|
|
3
4
|
import { predictProton, PredictProtonOptions } from './predictProton';
|
|
4
|
-
import type { Prediction1D } from './prediction1D';
|
|
5
5
|
import { predict2D, Predictor } from './utils/predict2D';
|
|
6
6
|
|
|
7
7
|
export interface PredictCOSYOptions {
|
|
@@ -7,8 +7,8 @@ import type { NMRSignal1D } from '../signals/NMRSignal1D';
|
|
|
7
7
|
import { signalsToRanges } from '../signals/signalsToRanges';
|
|
8
8
|
import type { MakeMandatory } from '../utilities/MakeMandatory';
|
|
9
9
|
|
|
10
|
+
import type { Prediction1D } from './Prediction1D';
|
|
10
11
|
import type { DataBaseStructure } from './dataStructure';
|
|
11
|
-
import type { Prediction1D } from './prediction1D';
|
|
12
12
|
import { fetchPrediction } from './utils/fetchPrediction';
|
|
13
13
|
import { flatGroupedDiaIDs } from './utils/flatGroupedDiaIDs';
|
|
14
14
|
import { getFilteredIDiaIDs } from './utils/getFilteredIDiaIDs';
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { Molecule } from 'openchemlib';
|
|
2
2
|
|
|
3
|
+
import type { Prediction1D } from './Prediction1D';
|
|
3
4
|
import { predictCarbon } from './predictCarbon';
|
|
4
5
|
import type { PredictCarbonOptions } from './predictCarbon';
|
|
5
6
|
import { predictProton } from './predictProton';
|
|
6
7
|
import type { PredictProtonOptions } from './predictProton';
|
|
7
|
-
import type { Prediction1D } from './prediction1D';
|
|
8
8
|
import { predict2D } from './utils/predict2D';
|
|
9
9
|
import type { Predictor } from './utils/predict2D';
|
|
10
10
|
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { Molecule } from 'openchemlib';
|
|
2
2
|
|
|
3
|
+
import type { Prediction1D } from './Prediction1D';
|
|
3
4
|
import { predictCarbon, PredictCarbonOptions } from './predictCarbon';
|
|
4
5
|
import { predictProton, PredictProtonOptions } from './predictProton';
|
|
5
|
-
import type { Prediction1D } from './prediction1D';
|
|
6
6
|
import { predict2D, Predictor } from './utils/predict2D';
|
|
7
7
|
|
|
8
8
|
export interface PredictHSQCOptions {
|
|
@@ -12,7 +12,7 @@ import type { NMRSignal1D } from '../signals/NMRSignal1D';
|
|
|
12
12
|
import { signalsJoin } from '../signals/signalsJoin';
|
|
13
13
|
import { signalsToRanges } from '../signals/signalsToRanges';
|
|
14
14
|
|
|
15
|
-
import type { Prediction1D } from './
|
|
15
|
+
import type { Prediction1D } from './Prediction1D';
|
|
16
16
|
|
|
17
17
|
/**
|
|
18
18
|
* Makes a prediction using proton.
|
|
@@ -12,16 +12,16 @@ import type {
|
|
|
12
12
|
PathInfo,
|
|
13
13
|
} from 'openchemlib-utils';
|
|
14
14
|
|
|
15
|
+
import { setIDs } from '../../peaks/util/setIDs';
|
|
15
16
|
import type { NMRSignal1D } from '../../signals/NMRSignal1D';
|
|
16
17
|
import type { MakeMandatory } from '../../utilities/MakeMandatory';
|
|
17
18
|
import type { NMRSignal2D } from '../../xyz/NMRSignal2D';
|
|
19
|
+
import type { Prediction1D } from '../Prediction1D';
|
|
18
20
|
import type { PredictCarbon, PredictCarbonOptions } from '../predictCarbon';
|
|
19
21
|
import type { PredictProton, PredictProtonOptions } from '../predictProton';
|
|
20
|
-
import type { Prediction1D } from '../prediction1D';
|
|
21
22
|
|
|
22
23
|
import { getNuclei } from './getNuclei';
|
|
23
24
|
import { getPredictions } from './getPredictions';
|
|
24
|
-
import { setIDs } from '../../peaks/util/setIDs';
|
|
25
25
|
|
|
26
26
|
/**
|
|
27
27
|
* Generate the correlation bidimensional nmr peaks based on the number of bonds between a pair of atoms
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import sum from 'ml-array-sum';
|
|
2
2
|
|
|
3
|
+
import type { Jcoupling } from '../signals/Jcoupling';
|
|
3
4
|
import type { NMRSignal1D } from '../signals/NMRSignal1D';
|
|
4
|
-
import type { Jcoupling } from '../signals/jcoupling';
|
|
5
5
|
import type { MakeMandatory } from '../utilities/MakeMandatory';
|
|
6
6
|
import { joinPatterns } from '../utilities/joinPatterns';
|
|
7
7
|
|
|
File without changes
|
|
@@ -1,18 +1,28 @@
|
|
|
1
1
|
import { couplingPatterns } from '../constants/couplingPatterns';
|
|
2
2
|
|
|
3
|
+
import type { Jcoupling } from './Jcoupling';
|
|
3
4
|
import { NMRSignal1D } from './NMRSignal1D';
|
|
4
|
-
import type { Jcoupling } from './jcoupling';
|
|
5
5
|
|
|
6
6
|
export function addDummySignals(signals: NMRSignal1D[]) {
|
|
7
7
|
let newSignals: NMRSignal1D[] = JSON.parse(JSON.stringify(signals));
|
|
8
8
|
|
|
9
|
+
let nextAtomToAssign =
|
|
10
|
+
signals.reduce((nextAtomToAssign, signal) => {
|
|
11
|
+
const { atoms = [] } = signal;
|
|
12
|
+
return Math.max(...atoms) > nextAtomToAssign
|
|
13
|
+
? Math.max(...atoms)
|
|
14
|
+
: nextAtomToAssign;
|
|
15
|
+
}, 0) + 1;
|
|
9
16
|
signals.forEach((signal, s) => {
|
|
10
|
-
const {
|
|
11
|
-
|
|
17
|
+
const {
|
|
18
|
+
js: jCouplings = [],
|
|
19
|
+
atoms: signalAssignment = [nextAtomToAssign++],
|
|
20
|
+
} = signal;
|
|
12
21
|
let { newCouplings, tempSignals } = checkCouplings(
|
|
13
22
|
jCouplings,
|
|
14
23
|
newSignals,
|
|
15
24
|
signalAssignment,
|
|
25
|
+
nextAtomToAssign + signals.length,
|
|
16
26
|
);
|
|
17
27
|
|
|
18
28
|
if (tempSignals.length > 0) newSignals.push(...tempSignals);
|
|
@@ -28,8 +38,8 @@ function checkCouplings(
|
|
|
28
38
|
jCouplings: Jcoupling[],
|
|
29
39
|
signals: NMRSignal1D[],
|
|
30
40
|
signalAssignment: number[],
|
|
41
|
+
nextAtomToAssign: number,
|
|
31
42
|
) {
|
|
32
|
-
let newSignalAssignment = signals.length - 1;
|
|
33
43
|
let tempSignals: NMRSignal1D[] = [];
|
|
34
44
|
const newCouplings = jCouplings.reduce<Jcoupling[]>(
|
|
35
45
|
(newCouplings, jCoupling) => {
|
|
@@ -39,13 +49,13 @@ function checkCouplings(
|
|
|
39
49
|
let tempCouplings: Jcoupling[] = [];
|
|
40
50
|
const nbLinks = couplingPatterns.indexOf(multiplicity);
|
|
41
51
|
for (let i = 0; i < nbLinks; i++) {
|
|
42
|
-
|
|
52
|
+
nextAtomToAssign++;
|
|
43
53
|
tempCouplings.push({
|
|
44
54
|
coupling,
|
|
45
|
-
atoms: [
|
|
55
|
+
atoms: [nextAtomToAssign],
|
|
46
56
|
});
|
|
47
57
|
tempSignals.push(
|
|
48
|
-
formatSignal(coupling, [
|
|
58
|
+
formatSignal(coupling, [nextAtomToAssign], signalAssignment),
|
|
49
59
|
);
|
|
50
60
|
}
|
|
51
61
|
} else {
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { PseudoVoigtShape1D, Shape1D } from 'ml-peak-shape-generator';
|
|
2
|
+
|
|
3
|
+
import { Jcoupling } from '../Jcoupling';
|
|
4
|
+
import { Signal } from '../optimizeSignals';
|
|
5
|
+
|
|
6
|
+
type Shape1DWithFWHM = Omit<Shape1D, 'fwhm'> & { fwhm: number };
|
|
7
|
+
|
|
8
|
+
export const defaultParameters: Record<
|
|
9
|
+
string,
|
|
10
|
+
Record<string, (...args: any) => number>
|
|
11
|
+
> = {
|
|
12
|
+
delta: {
|
|
13
|
+
init: (data: { signal: Signal }) => data.signal.delta,
|
|
14
|
+
min: (data: { signal: Signal; shape: Shape1DWithFWHM }) =>
|
|
15
|
+
data.signal.delta - data.shape.fwhm * 2,
|
|
16
|
+
max: (data: { signal: Signal; shape: Shape1DWithFWHM }) =>
|
|
17
|
+
data.signal.delta + data.shape.fwhm * 2,
|
|
18
|
+
gradientDifference: () => 2e-3,
|
|
19
|
+
},
|
|
20
|
+
intensity: {
|
|
21
|
+
init: (data: { signal: Signal }) => data.signal.intensity || 1,
|
|
22
|
+
min: () => 0,
|
|
23
|
+
max: () => 1.5,
|
|
24
|
+
gradientDifference: () => 1e-3,
|
|
25
|
+
},
|
|
26
|
+
fwhm: {
|
|
27
|
+
init: (data: { shape: Shape1DWithFWHM }) => data.shape.fwhm,
|
|
28
|
+
min: (data: { shape: Shape1DWithFWHM }) => data.shape.fwhm * 0.25,
|
|
29
|
+
max: (data: { shape: Shape1DWithFWHM }) => data.shape.fwhm * 4,
|
|
30
|
+
gradientDifference: (data: { shape: Shape1DWithFWHM }) =>
|
|
31
|
+
data.shape.fwhm * 2e-3,
|
|
32
|
+
},
|
|
33
|
+
mu: {
|
|
34
|
+
init: (data: { shape: PseudoVoigtShape1D }) => data.shape.mu || 0.5,
|
|
35
|
+
min: () => 0,
|
|
36
|
+
max: () => 1,
|
|
37
|
+
gradientDifference: () => 0.01,
|
|
38
|
+
},
|
|
39
|
+
coupling: {
|
|
40
|
+
init: (data: { jCoupling: Jcoupling }) => data.jCoupling.coupling,
|
|
41
|
+
min: (data: { jCoupling: Jcoupling }) => data.jCoupling.coupling * 0.8,
|
|
42
|
+
max: (data: { jCoupling: Jcoupling }) => data.jCoupling.coupling * 1.2,
|
|
43
|
+
gradientDifference: () => 0.01,
|
|
44
|
+
},
|
|
45
|
+
};
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { DataXY } from 'cheminfo-types';
|
|
2
|
+
import direct from 'ml-direct';
|
|
3
|
+
|
|
4
|
+
import { SumOfShapes } from './getSumOfShapes';
|
|
5
|
+
|
|
6
|
+
interface DirectOptions {
|
|
7
|
+
iterations?: number;
|
|
8
|
+
epsilon?: number;
|
|
9
|
+
tolerance?: number;
|
|
10
|
+
tolerance2?: number;
|
|
11
|
+
initialState?: any;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
interface DirectOptimizationOptions extends DirectOptions {
|
|
15
|
+
directOptions?: DirectOptions;
|
|
16
|
+
minValues: number[];
|
|
17
|
+
maxValues: number[];
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
export function directOptimization(
|
|
21
|
+
data: DataXY,
|
|
22
|
+
sumOfShapes: SumOfShapes,
|
|
23
|
+
options: DirectOptimizationOptions,
|
|
24
|
+
) {
|
|
25
|
+
const { minValues, maxValues, directOptions = {} } = options;
|
|
26
|
+
const objectiveFunction = getObjectiveFunction(data, sumOfShapes);
|
|
27
|
+
const result = direct(objectiveFunction, minValues, maxValues, directOptions);
|
|
28
|
+
|
|
29
|
+
const { optima } = result;
|
|
30
|
+
|
|
31
|
+
return {
|
|
32
|
+
error: result.minFunctionValue,
|
|
33
|
+
iterations: result.iterations,
|
|
34
|
+
parameterValues: optima[0],
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
function getObjectiveFunction(data: DataXY, sumOfShapes: SumOfShapes) {
|
|
39
|
+
const { x, y } = data;
|
|
40
|
+
const nbPoints = x.length;
|
|
41
|
+
return (parameters: number[]) => {
|
|
42
|
+
const fct = sumOfShapes(parameters);
|
|
43
|
+
let error = 0;
|
|
44
|
+
for (let i = 0; i < nbPoints; i++) {
|
|
45
|
+
error += Math.pow(y[i] - fct(x[i]), 2);
|
|
46
|
+
}
|
|
47
|
+
return error;
|
|
48
|
+
};
|
|
49
|
+
}
|