nmr-processing 3.4.1 → 6.0.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.
- package/lib/assignment/get13CAssignments.js.map +1 -1
- package/lib/assignment/get1HAssignments.d.ts +2 -2
- package/lib/{types → assignment}/nmrAssigment.d.ts +2 -2
- package/lib/{types → assignment}/nmrAssigment.js +0 -0
- package/lib/assignment/nmrAssigment.js.map +1 -0
- package/lib/assignment/utils/buildAssignments.js.map +1 -1
- package/lib/assignment/utils/createMapPossibleAssignments.d.ts +1 -1
- package/lib/assignment/utils/createMapPossibleAssignments.js.map +1 -1
- package/lib/constants/couplingValues.js.map +1 -1
- package/lib/databases/DatabaseNMREntry.d.ts +1 -1
- package/lib/index.d.ts +9 -10
- package/lib/index.js +1 -1
- package/lib/ml-matrix-convolution.d.ts +8 -0
- package/lib/ml-matrix-convolution.js +2 -0
- package/lib/ml-matrix-convolution.js.map +1 -0
- package/lib/ml-simple-clustering.d.ts +8 -0
- package/lib/ml-simple-clustering.js +2 -0
- package/lib/ml-simple-clustering.js.map +1 -0
- package/lib/peaks/NMRPeak1D.d.ts +4 -0
- package/lib/{types → peaks}/NMRPeak1D.js +0 -0
- package/lib/{types → peaks}/NMRPeak1D.js.map +1 -1
- package/lib/peaks/peaksFilterImpurities.d.ts +1 -1
- package/lib/peaks/peaksFilterImpurities.js +1 -1
- package/lib/peaks/peaksFilterImpurities.js.map +1 -1
- package/lib/peaks/peaksToRanges.d.ts +2 -2
- package/lib/peaks/peaksToRanges.js +11 -17
- package/lib/peaks/peaksToRanges.js.map +1 -1
- package/lib/peaks/util/determineRealTop.d.ts +2 -2
- package/lib/peaks/util/determineRealTop.js +3 -2
- package/lib/peaks/util/determineRealTop.js.map +1 -1
- package/lib/peaks/util/jAnalyzer.d.ts +2 -2
- package/lib/peaks/util/jAnalyzer.js +12 -13
- package/lib/peaks/util/jAnalyzer.js.map +1 -1
- package/lib/peaks/util/joinRanges.d.ts +1 -1
- package/lib/peaks/util/peakOptimizer.d.ts +3 -3
- package/lib/peaks/util/peakOptimizer.js.map +1 -1
- package/lib/{types → prediction}/dataStructure.d.ts +0 -0
- package/lib/{types → prediction}/dataStructure.js +0 -0
- package/lib/prediction/dataStructure.js.map +1 -0
- package/lib/prediction/predictAll.d.ts +1 -1
- package/lib/prediction/predictAll.js +1 -1
- package/lib/prediction/predictAll.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 +2 -2
- package/lib/prediction/predictCarbon.js.map +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/predictProton.js +1 -1
- package/lib/prediction/predictProton.js.map +1 -1
- package/lib/{types → prediction}/prediction1D.d.ts +2 -2
- package/lib/{types → prediction}/prediction1D.js +0 -0
- package/lib/prediction/prediction1D.js.map +1 -0
- package/lib/prediction/utils/fetchPrediction.d.ts +1 -1
- package/lib/prediction/utils/getFilteredIDiaIDs.d.ts +1 -1
- package/lib/prediction/utils/getFilteredIDiaIDs.js.map +1 -1
- package/lib/prediction/utils/getNuclei.js +1 -1
- package/lib/prediction/utils/getNuclei.js.map +1 -1
- package/lib/prediction/utils/getPredictions.d.ts +2 -2
- package/lib/prediction/utils/predict2D.d.ts +2 -2
- package/lib/prediction/utils/queryByHOSE.d.ts +1 -1
- package/lib/prediction/utils/queryByHOSE.js.map +1 -1
- package/lib/ranges/rangesToACS.d.ts +1 -1
- package/lib/ranges/rangesToXY.d.ts +3 -3
- package/lib/ranges/rangesToXY.js.map +1 -1
- package/lib/signal/signalJoinCouplings.d.ts +2 -2
- package/lib/signal/signalJoinCouplings.js +3 -3
- package/lib/signal/signalJoinCouplings.js.map +1 -1
- package/lib/signal/signalMultiplicityPattern.d.ts +1 -1
- package/lib/{types → signals}/NMRSignal1D.d.ts +1 -1
- package/lib/{types → signals}/NMRSignal1D.js +0 -0
- package/lib/{types → signals}/NMRSignal1D.js.map +1 -1
- package/lib/signals/hackSignalsToXY.d.ts +1 -1
- package/lib/{types → signals}/jcoupling.d.ts +1 -1
- package/lib/{types → signals}/jcoupling.js +0 -0
- package/lib/{types → signals}/jcoupling.js.map +1 -1
- package/lib/signals/signals2DToZ.d.ts +1 -1
- package/lib/signals/signalsJoin.d.ts +4 -4
- package/lib/signals/signalsJoin.js +7 -7
- package/lib/signals/signalsJoin.js.map +1 -1
- package/lib/signals/signalsToRanges.d.ts +2 -2
- package/lib/signals/signalsToRanges.js.map +1 -1
- package/lib/signals/signalsToXY.d.ts +3 -3
- package/lib/signals/simulation/signalsToSpinSystem.d.ts +2 -2
- package/lib/signals/simulation/simulate1D.d.ts +5 -4
- package/lib/signals/simulation/simulate1D.js.map +1 -1
- package/lib/signals/simulation/splitSpinSystem.d.ts +1 -1
- package/lib/signals/simulation/splitSpinSystem.js.map +1 -1
- package/lib/{types → signals}/spinSystem.d.ts +0 -0
- package/lib/{types → signals}/spinSystem.js +0 -0
- package/lib/{types → signals}/spinSystem.js.map +1 -1
- package/lib/{types → utilities}/MakeMandatory.d.ts +0 -0
- package/lib/{types → utilities}/MakeMandatory.js +0 -0
- package/lib/utilities/MakeMandatory.js.map +1 -0
- package/lib/utilities/joinPatterns.js.map +1 -1
- package/lib/utilities/rangeFromSignal.d.ts +1 -1
- package/lib/utilities/resurrect.d.ts +1 -1
- package/lib/utilities/resurrectRange.d.ts +1 -1
- package/lib/{types → xy}/NMRRange.d.ts +1 -1
- package/lib/{types → xy}/NMRRange.js +0 -0
- package/lib/{types → xy}/NMRRange.js.map +1 -1
- package/lib/xy/xyAutoPeaksPicking.d.ts +4 -60
- package/lib/xy/xyAutoPeaksPicking.js +3 -3
- package/lib/xy/xyAutoPeaksPicking.js.map +1 -1
- package/lib/xy/xyAutoRangesPicking.d.ts +2 -2
- package/lib/xy/xyAutoRangesPicking.js.map +1 -1
- package/lib/{types → xyz}/NMRSignal2D.d.ts +6 -7
- package/lib/{types → xyz}/NMRSignal2D.js +0 -0
- package/lib/{types → xyz}/NMRSignal2D.js.map +1 -1
- package/lib/xyz/NMRZone.d.ts +8 -0
- package/lib/{types → xyz}/NMRZone.js +0 -0
- package/lib/{types → xyz}/NMRZone.js.map +1 -1
- package/lib/xyz/{xyzAutoPeaksPicking.d.ts → xyzAutoZonesPicking.d.ts} +3 -3
- package/lib/xyz/{xyzAutoPeaksPicking.js → xyzAutoZonesPicking.js} +38 -24
- package/lib/xyz/xyzAutoZonesPicking.js.map +1 -0
- package/lib/xyz/xyzJResAnalyzer.d.ts +1 -1
- package/lib/xyz/xyzJResAnalyzer.js.map +1 -1
- package/lib-esm/assignment/get13CAssignments.js.map +1 -1
- package/lib-esm/{types → assignment}/nmrAssigment.js +0 -0
- package/lib-esm/assignment/nmrAssigment.js.map +1 -0
- package/lib-esm/assignment/utils/buildAssignments.js.map +1 -1
- package/lib-esm/assignment/utils/createMapPossibleAssignments.js.map +1 -1
- package/lib-esm/constants/couplingValues.js.map +1 -1
- package/lib-esm/index.js +1 -1
- package/lib-esm/ml-matrix-convolution.js +2 -0
- package/lib-esm/ml-matrix-convolution.js.map +1 -0
- package/lib-esm/ml-simple-clustering.js +2 -0
- package/lib-esm/ml-simple-clustering.js.map +1 -0
- package/lib-esm/{types → peaks}/NMRPeak1D.js +0 -0
- package/lib-esm/{types → peaks}/NMRPeak1D.js.map +1 -1
- package/lib-esm/peaks/peaksFilterImpurities.js +1 -1
- package/lib-esm/peaks/peaksFilterImpurities.js.map +1 -1
- package/lib-esm/peaks/peaksToRanges.js +11 -17
- package/lib-esm/peaks/peaksToRanges.js.map +1 -1
- package/lib-esm/peaks/util/determineRealTop.js +4 -3
- package/lib-esm/peaks/util/determineRealTop.js.map +1 -1
- package/lib-esm/peaks/util/jAnalyzer.js +12 -13
- package/lib-esm/peaks/util/jAnalyzer.js.map +1 -1
- package/lib-esm/peaks/util/peakOptimizer.js.map +1 -1
- package/lib-esm/{types → prediction}/dataStructure.js +0 -0
- package/lib-esm/prediction/dataStructure.js.map +1 -0
- package/lib-esm/prediction/predictAll.js +1 -1
- package/lib-esm/prediction/predictAll.js.map +1 -1
- package/lib-esm/prediction/predictCOSY.js.map +1 -1
- package/lib-esm/prediction/predictCarbon.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/predictProton.js +1 -1
- package/lib-esm/prediction/predictProton.js.map +1 -1
- package/lib-esm/{types → prediction}/prediction1D.js +0 -0
- package/lib-esm/prediction/prediction1D.js.map +1 -0
- package/lib-esm/prediction/utils/getFilteredIDiaIDs.js.map +1 -1
- package/lib-esm/prediction/utils/getNuclei.js +1 -1
- package/lib-esm/prediction/utils/getNuclei.js.map +1 -1
- package/lib-esm/prediction/utils/queryByHOSE.js.map +1 -1
- package/lib-esm/ranges/rangesToXY.js.map +1 -1
- package/lib-esm/signal/signalJoinCouplings.js +3 -3
- package/lib-esm/signal/signalJoinCouplings.js.map +1 -1
- package/lib-esm/{types → signals}/NMRSignal1D.js +0 -0
- package/lib-esm/{types → signals}/NMRSignal1D.js.map +1 -1
- package/lib-esm/{types → signals}/jcoupling.js +0 -0
- package/lib-esm/{types → signals}/jcoupling.js.map +1 -1
- package/lib-esm/signals/signalsJoin.js +7 -7
- package/lib-esm/signals/signalsJoin.js.map +1 -1
- package/lib-esm/signals/signalsToRanges.js.map +1 -1
- package/lib-esm/signals/simulation/simulate1D.js.map +1 -1
- package/lib-esm/signals/simulation/splitSpinSystem.js.map +1 -1
- package/lib-esm/{types → signals}/spinSystem.js +0 -0
- package/lib-esm/{types → signals}/spinSystem.js.map +1 -1
- package/lib-esm/{types → utilities}/MakeMandatory.js +0 -0
- package/lib-esm/utilities/MakeMandatory.js.map +1 -0
- package/lib-esm/utilities/joinPatterns.js.map +1 -1
- package/lib-esm/{types → xy}/NMRRange.js +0 -0
- package/lib-esm/{types → xy}/NMRRange.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/xyAutoRangesPicking.js.map +1 -1
- package/lib-esm/{types → xyz}/NMRSignal2D.js +0 -0
- package/lib-esm/{types → xyz}/NMRSignal2D.js.map +1 -1
- package/lib-esm/{types → xyz}/NMRZone.js +0 -0
- package/lib-esm/{types → xyz}/NMRZone.js.map +1 -1
- package/lib-esm/xyz/{xyzAutoPeaksPicking.js → xyzAutoZonesPicking.js} +36 -22
- package/lib-esm/xyz/xyzAutoZonesPicking.js.map +1 -0
- package/lib-esm/xyz/xyzJResAnalyzer.js.map +1 -1
- package/package.json +20 -17
- package/src/assignment/get13CAssignments.ts +5 -2
- package/src/assignment/get1HAssignments.ts +2 -2
- package/src/{types → assignment}/nmrAssigment.ts +2 -2
- package/src/assignment/utils/buildAssignments.ts +1 -4
- package/src/assignment/utils/createMapPossibleAssignments.ts +5 -2
- package/src/constants/couplingValues.ts +1 -1
- package/src/databases/DatabaseNMREntry.ts +1 -1
- package/src/index.ts +9 -10
- package/src/{types/ml-levenberg-marquardt/index.d.ts → ml-levenberg-marquardt.d.ts} +0 -0
- package/src/{types/ml-matrix-convolution/index.d.ts → ml-matrix-convolution.ts} +0 -0
- package/src/{types/ml-matrix-peaks-finder/index.d.ts → ml-matrix-peaks-finder.d.ts} +2 -2
- package/src/{types/ml-simple-clustering/index.d.ts → ml-simple-clustering.ts} +1 -1
- package/src/{types/ml-sparse-matrix/index.d.ts → ml-sparse-matrix.d.ts} +0 -0
- package/src/{types/ml-spectra-processing/index.d.ts → ml-spectra-processing.d.ts} +8 -2
- package/src/{types/ml-tree-set/index.d.ts → ml-tree-set.d.ts} +0 -0
- package/src/nmr-parser.d.ts +17 -0
- package/src/{types/openchemlib-utils/index..d.ts → openchemlib.d.ts} +17 -6
- package/src/peaks/NMRPeak1D.ts +5 -0
- package/src/peaks/peaksFilterImpurities.ts +3 -2
- package/src/peaks/peaksToRanges.ts +15 -21
- package/src/peaks/util/determineRealTop.ts +6 -9
- package/src/peaks/util/jAnalyzer.ts +16 -18
- package/src/peaks/util/joinRanges.ts +1 -1
- package/src/peaks/util/peakOptimizer.ts +5 -4
- package/src/{types → prediction}/dataStructure.ts +1 -1
- package/src/prediction/predictAll.ts +6 -7
- package/src/prediction/predictCOSY.ts +1 -2
- package/src/prediction/predictCarbon.ts +4 -4
- package/src/prediction/predictHMBC.ts +1 -2
- package/src/prediction/predictHSQC.ts +5 -3
- package/src/prediction/predictProton.ts +4 -3
- package/src/{types → prediction}/prediction1D.ts +2 -2
- package/src/prediction/utils/fetchPrediction.ts +1 -1
- package/src/prediction/utils/getFilteredIDiaIDs.ts +1 -2
- package/src/prediction/utils/getNuclei.ts +3 -3
- package/src/prediction/utils/getPredictions.ts +3 -3
- package/src/prediction/utils/predict2D.ts +4 -4
- package/src/prediction/utils/queryByHOSE.ts +2 -2
- package/src/ranges/rangesToACS.ts +2 -2
- package/src/ranges/rangesToXY.ts +5 -5
- package/src/signal/signalJoinCouplings.ts +6 -6
- package/src/signal/signalMultiplicityPattern.ts +1 -1
- package/src/{types → signals}/NMRSignal1D.ts +2 -1
- package/src/signals/hackSignalsToXY.ts +2 -2
- package/src/{types → signals}/jcoupling.ts +1 -1
- package/src/signals/signals2DToZ.ts +1 -1
- package/src/signals/signalsJoin.ts +11 -10
- package/src/signals/signalsToRanges.ts +4 -3
- package/src/signals/signalsToXY.ts +6 -6
- package/src/signals/simulation/signalsToSpinSystem.ts +4 -4
- package/src/signals/simulation/simulate1D.ts +5 -4
- package/src/signals/simulation/splitSpinSystem.ts +11 -3
- package/src/{types → signals}/spinSystem.ts +0 -0
- package/src/{types → utilities}/MakeMandatory.ts +0 -0
- package/src/utilities/joinPatterns.ts +0 -1
- package/src/utilities/rangeFromSignal.ts +1 -1
- package/src/utilities/resurrect.ts +1 -1
- package/src/utilities/resurrectRange.ts +2 -2
- package/src/{types → xy}/NMRRange.ts +1 -1
- package/src/xy/xyAutoPeaksPicking.ts +19 -58
- package/src/xy/xyAutoRangesPicking.ts +3 -2
- package/src/{types → xyz}/NMRSignal2D.ts +6 -8
- package/src/xyz/NMRZone.ts +10 -0
- package/src/xyz/{xyzAutoPeaksPicking.ts → xyzAutoZonesPicking.ts} +44 -27
- package/src/xyz/xyzJResAnalyzer.ts +7 -6
- package/CHANGELOG.md +0 -550
- package/lib/types/MPFPeak.d.ts +0 -9
- package/lib/types/MPFPeak.js +0 -3
- package/lib/types/MPFPeak.js.map +0 -1
- package/lib/types/MakeMandatory.js.map +0 -1
- package/lib/types/NMRPeak1D.d.ts +0 -11
- package/lib/types/NMRZone.d.ts +0 -12
- package/lib/types/XYNumberArray.d.ts +0 -4
- package/lib/types/XYNumberArray.js +0 -3
- package/lib/types/XYNumberArray.js.map +0 -1
- package/lib/types/dataStructure.js.map +0 -1
- package/lib/types/nmrAssigment.js.map +0 -1
- package/lib/types/prediction1D.js.map +0 -1
- package/lib/types/prediction2D.d.ts +0 -0
- package/lib/types/prediction2D.js +0 -2
- package/lib/types/prediction2D.js.map +0 -1
- package/lib/xyz/xyzAutoPeaksPicking.js.map +0 -1
- package/lib-esm/types/MPFPeak.js +0 -2
- package/lib-esm/types/MPFPeak.js.map +0 -1
- package/lib-esm/types/MakeMandatory.js.map +0 -1
- package/lib-esm/types/XYNumberArray.js +0 -2
- package/lib-esm/types/XYNumberArray.js.map +0 -1
- package/lib-esm/types/dataStructure.js.map +0 -1
- package/lib-esm/types/nmrAssigment.js.map +0 -1
- package/lib-esm/types/prediction1D.js.map +0 -1
- package/lib-esm/types/prediction2D.js +0 -2
- package/lib-esm/types/prediction2D.js.map +0 -1
- package/lib-esm/xyz/xyzAutoPeaksPicking.js.map +0 -1
- package/src/types/MPFPeak.ts +0 -9
- package/src/types/NMRPeak1D.ts +0 -11
- package/src/types/NMRZone.ts +0 -10
- package/src/types/XYNumberArray.ts +0 -4
- package/src/types/ml-gsd/index.d.ts +0 -164
- package/src/types/prediction2D.ts +0 -0
|
@@ -1,9 +1,6 @@
|
|
|
1
1
|
import treeSet from 'ml-tree-set';
|
|
2
2
|
|
|
3
|
-
import {
|
|
4
|
-
Targets,
|
|
5
|
-
NMRSignal1DWithAtomsAndDiaIDs,
|
|
6
|
-
} from '../get1HAssignments';
|
|
3
|
+
import { Targets, NMRSignal1DWithAtomsAndDiaIDs } from '../get1HAssignments';
|
|
7
4
|
|
|
8
5
|
import { createMapPossibleAssignments } from './createMapPossibleAssignments';
|
|
9
6
|
import { exploreTreeRec } from './exploreTreeRec';
|
|
@@ -1,7 +1,10 @@
|
|
|
1
|
-
import { MakeMandatory } from '../../
|
|
1
|
+
import { MakeMandatory } from '../../utilities/MakeMandatory';
|
|
2
2
|
import type { Targets } from '../get1HAssignments';
|
|
3
3
|
|
|
4
|
-
import type {
|
|
4
|
+
import type {
|
|
5
|
+
RestrictionByCS,
|
|
6
|
+
Predictions1Dassignments,
|
|
7
|
+
} from './buildAssignments';
|
|
5
8
|
|
|
6
9
|
type RestrictionByCSMandatory = MakeMandatory<
|
|
7
10
|
RestrictionByCS,
|
package/src/index.ts
CHANGED
|
@@ -27,22 +27,21 @@ export * from './utilities/rangeFromSignal';
|
|
|
27
27
|
export * from './xy/xyAutoPeaksPicking';
|
|
28
28
|
export * from './xy/xyAutoRangesPicking';
|
|
29
29
|
|
|
30
|
-
export * from './xyz/
|
|
30
|
+
export * from './xyz/xyzAutoZonesPicking';
|
|
31
31
|
export * from './xyz/xyzJResAnalyzer';
|
|
32
32
|
|
|
33
33
|
export * from './databases/getDatabase';
|
|
34
34
|
export * from './databases/carbonImpurities';
|
|
35
35
|
export * from './databases/protonImpurities';
|
|
36
36
|
|
|
37
|
-
export type { NMRSignal1D } from './
|
|
38
|
-
export type { NMRSignal2D } from './
|
|
39
|
-
export type { NMRRange } from './
|
|
40
|
-
export type { NMRZone } from './
|
|
41
|
-
export type {
|
|
42
|
-
export type {
|
|
43
|
-
export type {
|
|
44
|
-
export type { Jcoupling } from './types/jcoupling';
|
|
37
|
+
export type { NMRSignal1D } from './signals/NMRSignal1D';
|
|
38
|
+
export type { NMRSignal2D } from './xyz/NMRSignal2D';
|
|
39
|
+
export type { NMRRange } from './xy/NMRRange';
|
|
40
|
+
export type { NMRZone } from './xyz/NMRZone';
|
|
41
|
+
export type { NMRPeak1D } from './peaks/NMRPeak1D';
|
|
42
|
+
export type { Prediction1D } from './prediction/prediction1D';
|
|
43
|
+
export type { Jcoupling } from './signals/jcoupling';
|
|
45
44
|
export type {
|
|
46
45
|
DataBaseLevelStructure,
|
|
47
46
|
DataBaseStructure,
|
|
48
|
-
} from './
|
|
47
|
+
} from './prediction/dataStructure';
|
|
File without changes
|
|
File without changes
|
|
@@ -8,7 +8,7 @@ declare module 'ml-matrix-peaks-finder' {
|
|
|
8
8
|
cols: number;
|
|
9
9
|
labelling?: 'drain' | 'floodfill';
|
|
10
10
|
}
|
|
11
|
-
interface
|
|
11
|
+
interface Peak2D {
|
|
12
12
|
x: number;
|
|
13
13
|
y: number;
|
|
14
14
|
z: number;
|
|
@@ -20,5 +20,5 @@ declare module 'ml-matrix-peaks-finder' {
|
|
|
20
20
|
function findPeaks2DRegion(
|
|
21
21
|
absoluteData: number[] | Float64Array,
|
|
22
22
|
options?: FindPeaks2DRegionOptions,
|
|
23
|
-
):
|
|
23
|
+
): Peak2D[];
|
|
24
24
|
}
|
|
File without changes
|
|
@@ -45,7 +45,13 @@ declare module 'ml-spectra-processing' {
|
|
|
45
45
|
|
|
46
46
|
interface XYIntegrationOptions extends XGetFromToIndexOptions {}
|
|
47
47
|
|
|
48
|
-
function xyIntegration(
|
|
48
|
+
function xyIntegration(
|
|
49
|
+
data: XYNumberArray,
|
|
50
|
+
options?: XYIntegrationOptions,
|
|
51
|
+
): number;
|
|
49
52
|
|
|
50
|
-
function xGetFromToIndex(
|
|
53
|
+
function xGetFromToIndex(
|
|
54
|
+
x: number[] | Float64Array,
|
|
55
|
+
options?: XGetFromToIndexOptions,
|
|
56
|
+
): number;
|
|
51
57
|
}
|
|
File without changes
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
declare module 'nmr-parser' {
|
|
2
|
+
interface FromBrukerOptions {
|
|
3
|
+
base64?: boolean;
|
|
4
|
+
shiftX?: number;
|
|
5
|
+
info?: any;
|
|
6
|
+
name?: string;
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
function fromBruker(
|
|
10
|
+
zipFile: ArrayBuffer | string,
|
|
11
|
+
options?: Partial<FromBrukerOptions>,
|
|
12
|
+
): Promise<Array<any>>;
|
|
13
|
+
|
|
14
|
+
function fromJCAMP(buffer: string | ArrayBuffer, options?: any): Array<any>;
|
|
15
|
+
|
|
16
|
+
function fromJEOL(buffer: ArrayBuffer): any;
|
|
17
|
+
}
|
|
@@ -48,7 +48,10 @@ declare module 'openchemlib-utils' {
|
|
|
48
48
|
export interface PathInfo extends AtomInfo {
|
|
49
49
|
paths: HoseCodesForPath[];
|
|
50
50
|
}
|
|
51
|
-
function getPathsInfo(
|
|
51
|
+
function getPathsInfo(
|
|
52
|
+
molecule: Molecule,
|
|
53
|
+
options?: GetPathsInfoOptions,
|
|
54
|
+
): PathInfo[];
|
|
52
55
|
|
|
53
56
|
export interface AtomInfo {
|
|
54
57
|
oclID: string;
|
|
@@ -102,20 +105,25 @@ declare module 'openchemlib-utils' {
|
|
|
102
105
|
export interface HoseCodesForPath {
|
|
103
106
|
atoms: number[];
|
|
104
107
|
from: number;
|
|
105
|
-
to: number
|
|
106
|
-
torsion?: number
|
|
108
|
+
to: number;
|
|
109
|
+
torsion?: number;
|
|
107
110
|
hoses: Hoses;
|
|
108
111
|
length: number;
|
|
109
112
|
}
|
|
110
113
|
|
|
111
|
-
function getHoseCodesForPath(
|
|
114
|
+
function getHoseCodesForPath(
|
|
115
|
+
molecule: Molecule,
|
|
116
|
+
from: string,
|
|
117
|
+
to: string,
|
|
118
|
+
maxLength: number,
|
|
119
|
+
): HoseCodesForPath;
|
|
112
120
|
|
|
113
121
|
export interface GetConnectivityMatrixOptions {
|
|
114
122
|
/**
|
|
115
123
|
* get the path length between atoms
|
|
116
124
|
* @default false
|
|
117
125
|
*/
|
|
118
|
-
pathLength?: boolean
|
|
126
|
+
pathLength?: boolean;
|
|
119
127
|
/**
|
|
120
128
|
* set the nominal mass of the atoms on diagonal
|
|
121
129
|
* @default false
|
|
@@ -142,7 +150,10 @@ declare module 'openchemlib-utils' {
|
|
|
142
150
|
*/
|
|
143
151
|
stda?: boolean | number;
|
|
144
152
|
}
|
|
145
|
-
function getConnectivityMatrix(
|
|
153
|
+
function getConnectivityMatrix(
|
|
154
|
+
molecule: Molecule,
|
|
155
|
+
options?: GetConnectivityMatrixOptions,
|
|
156
|
+
): number[][] | Float64Array[];
|
|
146
157
|
|
|
147
158
|
function getDiastereotopicAtomIDs(molecule: Molecule): string[];
|
|
148
159
|
}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { impurities } from '../constants/impurities';
|
|
2
2
|
import type { ImpuritySignal } from '../constants/impurities';
|
|
3
|
-
|
|
3
|
+
|
|
4
|
+
import type { NMRPeak1D } from './NMRPeak1D';
|
|
4
5
|
|
|
5
6
|
const toCheck = ['solvent', 'h2o', 'tms'];
|
|
6
7
|
|
|
@@ -66,7 +67,7 @@ function checkImpurity(
|
|
|
66
67
|
while (i--) {
|
|
67
68
|
j = peakList.length;
|
|
68
69
|
while (j--) {
|
|
69
|
-
tolerance = error + peakList[j].
|
|
70
|
+
tolerance = error + peakList[j].width;
|
|
70
71
|
difference = Math.abs(impurity[i].shift - peakList[j].x);
|
|
71
72
|
if (difference < tolerance) {
|
|
72
73
|
// && (impurity[i].multiplicity === '' || (impurity[i].multiplicity.indexOf(peakList[j].multiplicity)) { // some impurities has multiplicities like 'bs' but at presents it is unsupported
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import type { DataXY } from 'cheminfo-types';
|
|
2
2
|
import { xyIntegration } from 'ml-spectra-processing';
|
|
3
3
|
|
|
4
|
-
import type {
|
|
5
|
-
import type {
|
|
6
|
-
import type { NMRRange } from '../
|
|
7
|
-
import type { NMRSignal1D } from '../types/NMRSignal1D';
|
|
4
|
+
import type { NMRSignal1D } from '../signals/NMRSignal1D';
|
|
5
|
+
import type { MakeMandatory } from '../utilities/MakeMandatory';
|
|
6
|
+
import type { NMRRange } from '../xy/NMRRange';
|
|
8
7
|
|
|
8
|
+
import type { NMRPeak1D } from './NMRPeak1D';
|
|
9
9
|
import jAnalyzer from './util/jAnalyzer';
|
|
10
10
|
import type { SignalIntern, Peak1DIntern } from './util/jAnalyzer';
|
|
11
11
|
import { joinRanges } from './util/joinRanges';
|
|
@@ -91,22 +91,20 @@ const assignSignal = (
|
|
|
91
91
|
delta: NaN,
|
|
92
92
|
nbPeaks: 1,
|
|
93
93
|
kind: 'signal',
|
|
94
|
-
startX: peak.x - peak.
|
|
95
|
-
stopX: peak.x + peak.
|
|
94
|
+
startX: peak.x - peak.width,
|
|
95
|
+
stopX: peak.x + peak.width,
|
|
96
96
|
observe: frequency,
|
|
97
97
|
nucleus,
|
|
98
98
|
integralData: {
|
|
99
|
-
from: peak.x - peak.
|
|
100
|
-
to: peak.x + peak.
|
|
99
|
+
from: peak.x - peak.width * 3,
|
|
100
|
+
to: peak.x + peak.width * 3,
|
|
101
101
|
value: 0,
|
|
102
102
|
},
|
|
103
103
|
peaks: [
|
|
104
104
|
{
|
|
105
105
|
x: peak.x,
|
|
106
106
|
intensity: peak.y,
|
|
107
|
-
|
|
108
|
-
width: peak.shape.width,
|
|
109
|
-
},
|
|
107
|
+
width: peak.width,
|
|
110
108
|
},
|
|
111
109
|
],
|
|
112
110
|
};
|
|
@@ -177,9 +175,7 @@ export function peaksToRanges(
|
|
|
177
175
|
peaksO.push({
|
|
178
176
|
x: peakR.x,
|
|
179
177
|
y: peakR.intensity,
|
|
180
|
-
|
|
181
|
-
width: peakR.shape.width,
|
|
182
|
-
},
|
|
178
|
+
width: peakR.width,
|
|
183
179
|
});
|
|
184
180
|
signal.mask.splice(j, 1);
|
|
185
181
|
signal.mask2.splice(j, 1);
|
|
@@ -306,24 +302,22 @@ function detectSignals(
|
|
|
306
302
|
if (peak.kind) signal1D.kind = peak.kind;
|
|
307
303
|
signals.push(signal1D);
|
|
308
304
|
} else {
|
|
309
|
-
let tmp = peak.x + peak.
|
|
305
|
+
let tmp = peak.x + peak.width;
|
|
310
306
|
signal1D.stopX = Math.max(signal1D.stopX, tmp);
|
|
311
307
|
signal1D.startX = Math.min(signal1D.startX, tmp);
|
|
312
308
|
signal1D.nbPeaks++;
|
|
313
309
|
signal1D.peaks.push({
|
|
314
310
|
x: peak.x,
|
|
315
311
|
intensity: peak.y,
|
|
316
|
-
|
|
317
|
-
width: peak.shape.width,
|
|
318
|
-
},
|
|
312
|
+
width: peak.width,
|
|
319
313
|
});
|
|
320
314
|
signal1D.integralData.from = Math.min(
|
|
321
315
|
signal1D.integralData.from,
|
|
322
|
-
peak.x - peak.
|
|
316
|
+
peak.x - peak.width * 3,
|
|
323
317
|
);
|
|
324
318
|
signal1D.integralData.to = Math.max(
|
|
325
319
|
signal1D.integralData.to,
|
|
326
|
-
peak.x + peak.
|
|
320
|
+
peak.x + peak.width * 3,
|
|
327
321
|
);
|
|
328
322
|
if (peak.kind) signal1D.kind = peak.kind;
|
|
329
323
|
}
|
|
@@ -371,5 +365,5 @@ function detectSignals(
|
|
|
371
365
|
* @private
|
|
372
366
|
*/
|
|
373
367
|
function computeArea(peak: Peak1DIntern) {
|
|
374
|
-
return Math.abs(peak.intensity * peak.
|
|
368
|
+
return Math.abs(peak.intensity * peak.width * 1.57); // todo add an option with this value: 1.772453851
|
|
375
369
|
}
|
|
@@ -1,9 +1,6 @@
|
|
|
1
1
|
import LM from 'ml-levenberg-marquardt';
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
import type { MPFPeak } from '../../types/MPFPeak';
|
|
5
|
-
|
|
6
|
-
const { fct: gaussian2DFct } = gaussian2D;
|
|
2
|
+
import type { Peak2D } from 'ml-matrix-peaks-finder';
|
|
3
|
+
import { Gaussian2D } from 'ml-peak-shape-generator';
|
|
7
4
|
|
|
8
5
|
const direction8X = [-1, -1, -1, 0, 0, 1, 1, 1];
|
|
9
6
|
const direction8Y = [-1, 0, 1, -1, 1, -1, 0, 1];
|
|
@@ -12,7 +9,7 @@ const direction16Y = [-2, -1, 0, 1, 2, -2, 2, -2, 2, -2, 2, -2, -1, 0, 1, 2];
|
|
|
12
9
|
|
|
13
10
|
type Data = number[] | Float64Array;
|
|
14
11
|
|
|
15
|
-
export function determineRealTop(peaks:
|
|
12
|
+
export function determineRealTop(peaks: Peak2D[], options: any) {
|
|
16
13
|
let { nCols, absoluteData, originalData, minX, maxX, minY, maxY } = options;
|
|
17
14
|
for (let i = 0; i < peaks.length; i++) {
|
|
18
15
|
let xIndex = Math.round(peaks[i].x);
|
|
@@ -142,6 +139,7 @@ function fitGaussian(
|
|
|
142
139
|
}
|
|
143
140
|
|
|
144
141
|
function paramGaussian2D(intervalX: number, intervalY: number, nCols: number) {
|
|
142
|
+
const gaussian2D = new Gaussian2D();
|
|
145
143
|
return (p: number[]) => {
|
|
146
144
|
return (t: number) => {
|
|
147
145
|
let nL = p.length / 5;
|
|
@@ -149,13 +147,12 @@ function paramGaussian2D(intervalX: number, intervalY: number, nCols: number) {
|
|
|
149
147
|
let xIndex = t % nCols;
|
|
150
148
|
let yIndex = (t - xIndex) / nCols;
|
|
151
149
|
for (let i = 0; i < nL; i++) {
|
|
150
|
+
gaussian2D.fwhm = { x: p[i + 3 * nL], y: p[i + 4 * nL] };
|
|
152
151
|
result +=
|
|
153
152
|
p[i + 2 * nL] *
|
|
154
|
-
|
|
153
|
+
gaussian2D.fct(
|
|
155
154
|
(xIndex - p[i]) * intervalX,
|
|
156
155
|
(yIndex - p[i + nL]) * intervalY,
|
|
157
|
-
p[i + 3 * nL],
|
|
158
|
-
p[i + 4 * nL],
|
|
159
156
|
);
|
|
160
157
|
}
|
|
161
158
|
return result;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { MakeMandatory } from '../../
|
|
2
|
-
import type { NMRPeak1D } from '
|
|
1
|
+
import type { MakeMandatory } from '../../utilities/MakeMandatory';
|
|
2
|
+
import type { NMRPeak1D } from '../NMRPeak1D';
|
|
3
3
|
|
|
4
4
|
/*
|
|
5
5
|
* This library implements the J analyser described by Cobas et al in the paper:
|
|
@@ -154,7 +154,11 @@ export default {
|
|
|
154
154
|
k = 1;
|
|
155
155
|
let nFlagged = 2;
|
|
156
156
|
maxFlagged = Math.pow(2, n) - 1;
|
|
157
|
-
while (
|
|
157
|
+
while (
|
|
158
|
+
jCouplings.length < n &&
|
|
159
|
+
nFlagged < maxFlagged &&
|
|
160
|
+
k < peaks.length
|
|
161
|
+
) {
|
|
158
162
|
counter += 1;
|
|
159
163
|
// 4.1. Increment j. Set k to the number of the first unflagged component.
|
|
160
164
|
j++;
|
|
@@ -219,13 +223,12 @@ function updateSignal(signal: SignalInternMandatory, jCouplings: number[]) {
|
|
|
219
223
|
// Update the limits of the signal
|
|
220
224
|
let peaks = signal.peaksComp; // Always in Hz
|
|
221
225
|
let nbPeaks = peaks.length;
|
|
222
|
-
signal.startX = peaks[0].x / signal.observe - peaks[0].
|
|
226
|
+
signal.startX = peaks[0].x / signal.observe - peaks[0].width;
|
|
223
227
|
signal.stopX =
|
|
224
|
-
peaks[nbPeaks - 1].x / signal.observe + peaks[nbPeaks - 1].
|
|
225
|
-
signal.integralData.from =
|
|
226
|
-
peaks[0].x / signal.observe - peaks[0].shape.width * 3;
|
|
228
|
+
peaks[nbPeaks - 1].x / signal.observe + peaks[nbPeaks - 1].width;
|
|
229
|
+
signal.integralData.from = peaks[0].x / signal.observe - peaks[0].width * 3;
|
|
227
230
|
signal.integralData.to =
|
|
228
|
-
peaks[nbPeaks - 1].x / signal.observe + peaks[nbPeaks - 1].
|
|
231
|
+
peaks[nbPeaks - 1].x / signal.observe + peaks[nbPeaks - 1].width * 3;
|
|
229
232
|
// Compile the pattern and format the constant couplings
|
|
230
233
|
signal.maskPattern = signal.mask2;
|
|
231
234
|
signal.multiplicity = abstractPattern(signal, jCouplings);
|
|
@@ -466,9 +469,7 @@ function symmetrize(
|
|
|
466
469
|
peaks[i] = {
|
|
467
470
|
x: peak[jAxis] * newSignal.observe,
|
|
468
471
|
intensity: peak[intensity],
|
|
469
|
-
|
|
470
|
-
width: peak.shape.width,
|
|
471
|
-
},
|
|
472
|
+
width: peak.width,
|
|
472
473
|
};
|
|
473
474
|
}
|
|
474
475
|
// Join the peaks that are closer than 0.25 Hz
|
|
@@ -480,7 +481,7 @@ function symmetrize(
|
|
|
480
481
|
peaks[i].intensity = peaks[i].intensity + peaks[i + 1].intensity;
|
|
481
482
|
peaks[i].x /= peaks[i].intensity;
|
|
482
483
|
peaks[i].intensity /= 2;
|
|
483
|
-
peaks[i].
|
|
484
|
+
peaks[i].width += peaks[i + 1].width;
|
|
484
485
|
peaks.splice(i + 1, 1);
|
|
485
486
|
}
|
|
486
487
|
}
|
|
@@ -527,12 +528,9 @@ function symmetrize(
|
|
|
527
528
|
|
|
528
529
|
if (Math.abs(diffL - diffR) < maxError) {
|
|
529
530
|
avg = Math.min(peaks[left].intensity, peaks[right].intensity);
|
|
530
|
-
avgWidth = Math.min(
|
|
531
|
-
peaks[left].shape.width,
|
|
532
|
-
peaks[right].shape.width,
|
|
533
|
-
);
|
|
531
|
+
avgWidth = Math.min(peaks[left].width, peaks[right].width);
|
|
534
532
|
peaks[left].intensity = peaks[right].intensity = avg;
|
|
535
|
-
peaks[left].
|
|
533
|
+
peaks[left].width = peaks[right].width = avgWidth;
|
|
536
534
|
middle = [
|
|
537
535
|
middle[0] + (peaks[right].x + peaks[left].x) / 2,
|
|
538
536
|
middle[1] + 1,
|
|
@@ -712,5 +710,5 @@ function chemicalShift(peaks: Peak1DIntern[], mask: boolean[] = []) {
|
|
|
712
710
|
* @private
|
|
713
711
|
*/
|
|
714
712
|
function getArea(peak: Peak1DIntern) {
|
|
715
|
-
return Math.abs(peak.intensity * peak.
|
|
713
|
+
return Math.abs(peak.intensity * peak.width * 1.57); // 1.772453851);
|
|
716
714
|
}
|
|
@@ -1,10 +1,11 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
|
|
1
|
+
import type { Peak2D } from 'ml-matrix-peaks-finder';
|
|
2
|
+
|
|
3
|
+
import type { NMRSignal2D } from '../../xyz/NMRSignal2D';
|
|
3
4
|
|
|
4
5
|
let diagonalError = 0.05;
|
|
5
6
|
let tolerance = 0.05;
|
|
6
7
|
|
|
7
|
-
export function clean(peaks:
|
|
8
|
+
export function clean(peaks: Peak2D[], threshold: number) {
|
|
8
9
|
let max = Number.NEGATIVE_INFINITY;
|
|
9
10
|
// double min = Double.MAX_VALUE;
|
|
10
11
|
for (let i = peaks.length - 1; i >= 0; i--) {
|
|
@@ -151,7 +152,7 @@ function completeMissingIfNeeded(
|
|
|
151
152
|
},
|
|
152
153
|
peaks: [{ x: thisSignal.x.delta, y: thisSignal.x.delta, z: 1 }],
|
|
153
154
|
};
|
|
154
|
-
newSignal.peaks = [{ x: thisSignal.x.delta, y: thisSignal.x.delta, z: 1 }]
|
|
155
|
+
newSignal.peaks = [{ x: thisSignal.x.delta, y: thisSignal.x.delta, z: 1 }];
|
|
155
156
|
output.push(newSignal);
|
|
156
157
|
tmpProp = [0, thisProp[1]];
|
|
157
158
|
properties.push(tmpProp);
|
|
@@ -1,16 +1,14 @@
|
|
|
1
1
|
import type { Molecule } from 'openchemlib';
|
|
2
2
|
|
|
3
|
-
import type { Prediction1D } from '../types/prediction1D';
|
|
4
|
-
|
|
5
3
|
import { predictCOSY } from './predictCOSY';
|
|
6
4
|
import { predictCarbon, PredictCarbonOptions } from './predictCarbon';
|
|
7
5
|
import { predictHMBC } from './predictHMBC';
|
|
8
6
|
import { predictHSQC } from './predictHSQC';
|
|
9
7
|
import { predictProton, PredictProtonOptions } from './predictProton';
|
|
8
|
+
import type { Prediction1D } from './prediction1D';
|
|
10
9
|
import { getPredictions } from './utils/getPredictions';
|
|
11
10
|
import type { Predictor } from './utils/predict2D';
|
|
12
11
|
|
|
13
|
-
|
|
14
12
|
export interface PredictAllOptions {
|
|
15
13
|
/**
|
|
16
14
|
* nucleus label to use in the X axis
|
|
@@ -93,13 +91,14 @@ export async function predictAll(
|
|
|
93
91
|
predictions,
|
|
94
92
|
);
|
|
95
93
|
|
|
96
|
-
if (!xPrediction || !yPrediction)
|
|
97
|
-
|
|
94
|
+
if (!xPrediction || !yPrediction) {
|
|
95
|
+
throw new Error('predictions are not availaible');
|
|
96
|
+
}
|
|
98
97
|
|
|
99
98
|
predictions = {
|
|
100
99
|
H: xPrediction,
|
|
101
|
-
C: yPrediction
|
|
102
|
-
}
|
|
100
|
+
C: yPrediction,
|
|
101
|
+
};
|
|
103
102
|
|
|
104
103
|
const { molfile, diaIDs } = xPrediction;
|
|
105
104
|
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import { Molecule } from 'openchemlib';
|
|
2
2
|
|
|
3
|
-
import type { Prediction1D } from '../types/prediction1D';
|
|
4
|
-
|
|
5
3
|
import { predictProton, PredictProtonOptions } from './predictProton';
|
|
4
|
+
import type { Prediction1D } from './prediction1D';
|
|
6
5
|
import { predict2D, Predictor } from './utils/predict2D';
|
|
7
6
|
|
|
8
7
|
export interface PredictCOSYOptions {
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import fetch from 'cross-fetch';
|
|
2
2
|
import type { Molecule } from 'openchemlib';
|
|
3
3
|
|
|
4
|
+
import type { NMRSignal1D } from '../signals/NMRSignal1D';
|
|
4
5
|
import { signalsToRanges } from '../signals/signalsToRanges';
|
|
5
|
-
import type { MakeMandatory } from '../
|
|
6
|
-
import type { NMRSignal1D } from '../types/NMRSignal1D';
|
|
7
|
-
import type { DataBaseStructure } from '../types/dataStructure';
|
|
8
|
-
import type { Prediction1D } from '../types/prediction1D';
|
|
6
|
+
import type { MakeMandatory } from '../utilities/MakeMandatory';
|
|
9
7
|
|
|
8
|
+
import type { DataBaseStructure } from './dataStructure';
|
|
9
|
+
import type { Prediction1D } from './prediction1D';
|
|
10
10
|
import { fetchPrediction } from './utils/fetchPrediction';
|
|
11
11
|
import { flatGroupedDiaIDs } from './utils/flatGroupedDiaIDs';
|
|
12
12
|
import { getFilteredIDiaIDs } from './utils/getFilteredIDiaIDs';
|
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
import { Molecule } from 'openchemlib';
|
|
2
2
|
|
|
3
|
-
import type { Prediction1D } from '../types/prediction1D';
|
|
4
|
-
|
|
5
3
|
import { predictCarbon } from './predictCarbon';
|
|
6
4
|
import type { PredictCarbonOptions } from './predictCarbon';
|
|
7
5
|
import { predictProton } from './predictProton';
|
|
8
6
|
import type { PredictProtonOptions } from './predictProton';
|
|
7
|
+
import type { Prediction1D } from './prediction1D';
|
|
9
8
|
import { predict2D } from './utils/predict2D';
|
|
10
9
|
import type { Predictor } from './utils/predict2D';
|
|
11
10
|
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
import { Molecule } from 'openchemlib';
|
|
2
2
|
|
|
3
|
-
import type { Prediction1D } from '../types/prediction1D';
|
|
4
|
-
|
|
5
3
|
import { predictCarbon, PredictCarbonOptions } from './predictCarbon';
|
|
6
4
|
import { predictProton, PredictProtonOptions } from './predictProton';
|
|
5
|
+
import type { Prediction1D } from './prediction1D';
|
|
7
6
|
import { predict2D, Predictor } from './utils/predict2D';
|
|
8
7
|
|
|
9
8
|
export interface PredictHSQCOptions {
|
|
@@ -49,7 +48,10 @@ export interface PredictHSQCOptions {
|
|
|
49
48
|
* @returns {Promise<object>} - object with molfile, diaIDs, 2D signals joined signals and zones.
|
|
50
49
|
*/
|
|
51
50
|
|
|
52
|
-
export async function predictHSQC(
|
|
51
|
+
export async function predictHSQC(
|
|
52
|
+
molecule: Molecule,
|
|
53
|
+
options: PredictHSQCOptions = {},
|
|
54
|
+
) {
|
|
53
55
|
let {
|
|
54
56
|
minLength = 1,
|
|
55
57
|
maxLength = 1,
|
|
@@ -7,10 +7,11 @@ import {
|
|
|
7
7
|
getDiastereotopicAtomIDs,
|
|
8
8
|
} from 'openchemlib-utils';
|
|
9
9
|
|
|
10
|
+
import type { NMRSignal1D } from '../signals/NMRSignal1D';
|
|
10
11
|
import { signalsJoin } from '../signals/signalsJoin';
|
|
11
12
|
import { signalsToRanges } from '../signals/signalsToRanges';
|
|
12
|
-
|
|
13
|
-
import type { Prediction1D } from '
|
|
13
|
+
|
|
14
|
+
import type { Prediction1D } from './prediction1D';
|
|
14
15
|
|
|
15
16
|
/**
|
|
16
17
|
* Makes a prediction using proton.
|
|
@@ -102,7 +103,7 @@ function protonParser(
|
|
|
102
103
|
atoms: [linked],
|
|
103
104
|
diaIDs: [diaIDs[linked]],
|
|
104
105
|
multiplicity: 'd',
|
|
105
|
-
|
|
106
|
+
pathLength: distanceMatrix[atom][linked],
|
|
106
107
|
});
|
|
107
108
|
signal.js.sort((a, b) => b.coupling - a.coupling);
|
|
108
109
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { Molecule } from 'openchemlib';
|
|
2
2
|
|
|
3
|
-
import type {
|
|
4
|
-
import type {
|
|
3
|
+
import type { NMRSignal1D } from '../signals/NMRSignal1D';
|
|
4
|
+
import type { NMRRange } from '../xy/NMRRange';
|
|
5
5
|
|
|
6
6
|
export interface Prediction1D {
|
|
7
7
|
molfile: string;
|
|
@@ -24,8 +24,7 @@ export function getFilteredIDiaIDs(
|
|
|
24
24
|
|
|
25
25
|
const molfile = molecule.toMolfile();
|
|
26
26
|
|
|
27
|
-
let groupedDiaIDs =
|
|
28
|
-
getGroupedDiastereotopicAtomIDs(molecule);
|
|
27
|
+
let groupedDiaIDs = getGroupedDiastereotopicAtomIDs(molecule);
|
|
29
28
|
|
|
30
29
|
let carbonDiaIDs = groupedDiaIDs
|
|
31
30
|
.filter((e) => e.atomLabel === 'C')
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
const nucleusMap: {[key: string]: string
|
|
1
|
+
const nucleusMap: { [key: string]: string } = {
|
|
2
2
|
h: '1H',
|
|
3
3
|
c: '13C',
|
|
4
4
|
};
|
|
5
5
|
|
|
6
|
-
export function getNuclei(input: {[key: string]: string}) {
|
|
7
|
-
return Object.values(input).map((e) =>
|
|
6
|
+
export function getNuclei(input: { [key: string]: string }) {
|
|
7
|
+
return Object.values(input).map((e) => nucleusMap[e.toLowerCase()]);
|
|
8
8
|
}
|