nmr-processing 9.3.0 → 9.3.1-pre.1669649322
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/apodization/shapes/WindowFunctions.d.ts +1 -1
- package/lib/assignment/get13CAssignments.d.ts +1 -1
- package/lib/assignment/get1HAssignments.d.ts +3 -3
- package/lib/assignment/getAssignments.d.ts +2 -2
- package/lib/assignment/nmrAssigment.d.ts +3 -3
- package/lib/assignment/utils/createMapPossibleAssignments.d.ts +1 -1
- package/lib/assignment/utils/getAssignment/buildAssignments.d.ts +4 -4
- package/lib/assignment/utils/getAssignment/formatData.d.ts +1 -1
- package/lib/peaks/peaksFilterImpurities.d.ts +1 -1
- package/lib/peaks/peaksToRanges.d.ts +1 -1
- package/lib/peaks/peaksToRanges.js +20 -19
- package/lib/peaks/peaksToRanges.js.map +1 -1
- package/lib/peaks/util/convertWidth.d.ts +1 -1
- package/lib/peaks/util/convertWidthToHz.d.ts +1 -1
- package/lib/prediction/Prediction1D.d.ts +1 -1
- package/lib/prediction/dataStructure.d.ts +1 -1
- package/lib/prediction/predictAll.d.ts +1 -1
- package/lib/prediction/predictAll.js +4 -1
- package/lib/prediction/predictAll.js.map +1 -1
- package/lib/prediction/predictAllSpectra.d.ts +1 -1
- package/lib/prediction/predictCOSY.d.ts +1 -1
- package/lib/prediction/predictCarbon.d.ts +6 -2
- package/lib/prediction/predictCarbon.js +5 -4
- package/lib/prediction/predictCarbon.js.map +1 -1
- package/lib/prediction/predictHMBC.d.ts +1 -1
- package/lib/prediction/predictHSQC.d.ts +1 -1
- package/lib/prediction/predictProton.d.ts +6 -2
- package/lib/prediction/predictProton.js +1 -1
- package/lib/prediction/predictProton.js.map +1 -1
- package/lib/prediction/utils/fetchPrediction.d.ts +1 -1
- package/lib/prediction/utils/getFilteredIDiaIDs.d.ts +3 -4
- package/lib/prediction/utils/getFilteredIDiaIDs.js +5 -6
- package/lib/prediction/utils/getFilteredIDiaIDs.js.map +1 -1
- package/lib/prediction/utils/getPredictions.d.ts +1 -1
- package/lib/prediction/utils/predict2D.d.ts +6 -2
- package/lib/prediction/utils/predict2D.js +3 -3
- package/lib/prediction/utils/predict2D.js.map +1 -1
- package/lib/signals/optimization/getInternalSignals.d.ts +3 -3
- package/lib/signals/optimization/getSumOfShapes.d.ts +1 -1
- package/lib/signals/optimizeSignals.d.ts +1 -1
- package/lib/signals/signalsJoin.d.ts +3 -3
- package/lib/signals/signalsToRanges.d.ts +1 -1
- package/lib/signals/utils/jAnalyzer.d.ts +2 -2
- package/lib/utilities/MakeMandatory.d.ts +1 -1
- package/lib/utilities/getFrequency.d.ts +1 -1
- package/lib/utilities/hasProperty.d.ts +1 -1
- package/lib/xy/xyAutoPeaksPicking.d.ts +1 -1
- package/lib/xy/xyAutoPeaksPicking.js +4 -1
- package/lib/xy/xyAutoPeaksPicking.js.map +1 -1
- package/lib/xyz/xyzAutoZonesPicking.d.ts +2 -2
- package/lib-esm/peaks/peaksToRanges.js +20 -19
- package/lib-esm/peaks/peaksToRanges.js.map +1 -1
- package/lib-esm/prediction/predictAll.js +4 -1
- package/lib-esm/prediction/predictAll.js.map +1 -1
- package/lib-esm/prediction/predictCarbon.js +5 -4
- package/lib-esm/prediction/predictCarbon.js.map +1 -1
- package/lib-esm/prediction/predictProton.js +1 -1
- package/lib-esm/prediction/predictProton.js.map +1 -1
- package/lib-esm/prediction/utils/getFilteredIDiaIDs.js +6 -7
- package/lib-esm/prediction/utils/getFilteredIDiaIDs.js.map +1 -1
- package/lib-esm/prediction/utils/predict2D.js +4 -4
- package/lib-esm/prediction/utils/predict2D.js.map +1 -1
- package/lib-esm/xy/xyAutoPeaksPicking.js +4 -1
- package/lib-esm/xy/xyAutoPeaksPicking.js.map +1 -1
- package/package.json +7 -7
- package/src/assignment/get13CAssignments.ts +1 -1
- package/src/assignment/get1HAssignments.ts +1 -1
- package/src/assignment/getAssignments.ts +1 -1
- package/src/assignment/utils/getAssignment/buildAssignments.ts +1 -1
- package/src/openchemlib-utils.d.ts +6 -1
- package/src/peaks/peaksToRanges.ts +23 -19
- package/src/prediction/Prediction1D.ts +1 -1
- package/src/prediction/predictAll.ts +5 -3
- package/src/prediction/predictAllSpectra.ts +1 -1
- package/src/prediction/predictCOSY.ts +1 -1
- package/src/prediction/predictCarbon.ts +17 -9
- package/src/prediction/predictHMBC.ts +1 -1
- package/src/prediction/predictHSQC.ts +1 -1
- package/src/prediction/predictProton.ts +6 -2
- package/src/prediction/utils/fetchPrediction.ts +1 -1
- package/src/prediction/utils/getFilteredIDiaIDs.ts +13 -13
- package/src/prediction/utils/getPredictions.ts +1 -1
- package/src/prediction/utils/predict2D.ts +12 -6
- package/src/utilities/hasProperty.ts +1 -1
- package/src/xy/xyAutoPeaksPicking.ts +5 -1
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import { Molecule } from 'openchemlib';
|
|
1
|
+
import { Molecule } from 'openchemlib/full';
|
|
2
2
|
import { NMRRange } from '..';
|
|
3
3
|
import { PredictProtonOptions } from '../prediction/predictProton';
|
|
4
4
|
import type { NMRSignal1D } from '../signals/NMRSignal1D';
|
|
5
5
|
import { MakeMandatory } from '../utilities/MakeMandatory';
|
|
6
6
|
import { RestrictionByCS1D } from './utils/buildAssignments';
|
|
7
|
-
export
|
|
8
|
-
export
|
|
7
|
+
export type NMRSignal1DWithAtomsAndDiaIDs = MakeMandatory<NMRSignal1D, 'atoms' | 'diaIDs' | 'nbAtoms'>;
|
|
8
|
+
export type NMRRangeWithIntegration = MakeMandatory<NMRRange, 'integration'>;
|
|
9
9
|
export interface Get1HAssignmentsOptions {
|
|
10
10
|
restrictionByCS?: Partial<RestrictionByCS1D>;
|
|
11
11
|
/**
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Molecule } from 'openchemlib';
|
|
1
|
+
import { Molecule } from 'openchemlib/full';
|
|
2
2
|
import { NMRSignal1D } from '..';
|
|
3
3
|
import type { PredictCarbonOptions } from '../prediction/predictCarbon';
|
|
4
4
|
import type { PredictProtonOptions } from '../prediction/predictProton';
|
|
@@ -19,7 +19,7 @@ export interface SpectraData2D {
|
|
|
19
19
|
*/
|
|
20
20
|
info: any;
|
|
21
21
|
}
|
|
22
|
-
export
|
|
22
|
+
export type SpectraData = SpectraData1D | SpectraData2D;
|
|
23
23
|
export interface GetAutoAssignmentInput {
|
|
24
24
|
spectra: SpectraData[];
|
|
25
25
|
/**
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import type { NMRRange, NMRSignal1D, NMRSignal2D, NMRZone } from '..';
|
|
2
2
|
import { MakeMandatory } from '../utilities/MakeMandatory';
|
|
3
3
|
import type { SpectraData1D, SpectraData2D } from './getAssignments';
|
|
4
|
-
export
|
|
5
|
-
export
|
|
4
|
+
export type NMRSignal1DWithId = MakeMandatory<NMRSignal1D, 'id'>;
|
|
5
|
+
export type NMRSignal2DWithId = MakeMandatory<NMRSignal2D, 'id'>;
|
|
6
6
|
export interface NMRZoneWithIds extends Omit<NMRZone, 'signals' | 'id'> {
|
|
7
7
|
id: string;
|
|
8
8
|
signals: Array<NMRSignal2DWithId>;
|
|
@@ -17,4 +17,4 @@ export interface SpectraData1DWithIds extends Omit<SpectraData1D, 'ranges'> {
|
|
|
17
17
|
export interface SpectraData2DWithIds extends Omit<SpectraData2D, 'zones'> {
|
|
18
18
|
zones: NMRZoneWithIds[];
|
|
19
19
|
}
|
|
20
|
-
export
|
|
20
|
+
export type SpectraDataWithIds = SpectraData1DWithIds | SpectraData2DWithIds;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { MakeMandatory } from '../../utilities/MakeMandatory';
|
|
2
2
|
import type { Targets } from '../get1HAssignments';
|
|
3
3
|
import type { RestrictionByCS1D, Predictions1Dassignments } from './buildAssignments';
|
|
4
|
-
|
|
4
|
+
type RestrictionByCSMandatory = MakeMandatory<RestrictionByCS1D, 'chemicalShiftRestriction' | 'tolerance' | 'useChemicalShiftScore'>;
|
|
5
5
|
interface CreateMapPossibleAssignments {
|
|
6
6
|
predictions: Predictions1Dassignments;
|
|
7
7
|
restrictionByCS: RestrictionByCSMandatory;
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { Values } from 'nmr-correlation';
|
|
2
|
-
import { Molecule } from 'openchemlib';
|
|
2
|
+
import { Molecule } from 'openchemlib/full';
|
|
3
3
|
import { NMRSignal1D, PredictCarbonOptions, PredictProtonOptions } from '../../..';
|
|
4
4
|
import { MakeMandatory } from '../../../utilities/MakeMandatory';
|
|
5
5
|
import { SpectraDataWithIds } from '../../nmrAssigment';
|
|
6
6
|
import { TargetsByAtomType } from './getTargetsAndCorrelations';
|
|
7
|
-
export
|
|
8
|
-
export
|
|
7
|
+
export type AtomTypes = 'H' | 'C';
|
|
8
|
+
export type CurrentAtoms = Array<AtomTypes>;
|
|
9
9
|
export interface Partial {
|
|
10
10
|
[key: string]: Array<string | null>;
|
|
11
11
|
}
|
|
@@ -41,7 +41,7 @@ export interface BuildAssignmentInput {
|
|
|
41
41
|
};
|
|
42
42
|
targets: TargetsByAtomType;
|
|
43
43
|
}
|
|
44
|
-
|
|
44
|
+
type NMRSignal1DFromPrediction = MakeMandatory<NMRSignal1D, 'nbAtoms' | 'diaIDs' | 'atoms'>;
|
|
45
45
|
export interface Prediction extends NMRSignal1DFromPrediction {
|
|
46
46
|
diaIDIndex: number;
|
|
47
47
|
allHydrogens: number;
|
|
@@ -9,6 +9,6 @@ interface SpectraData2DFormatted extends Omit<SpectraData2DWithIds, 'zones'> {
|
|
|
9
9
|
values: NMRZoneWithIds[];
|
|
10
10
|
};
|
|
11
11
|
}
|
|
12
|
-
export
|
|
12
|
+
export type SpectraDataFormatted = SpectraData1DFormatted | SpectraData2DFormatted;
|
|
13
13
|
export declare function formatData(input?: SpectraDataWithIds[]): SpectraDataFormatted[];
|
|
14
14
|
export {};
|
|
@@ -55,7 +55,7 @@ export interface OptionsDetectSignals {
|
|
|
55
55
|
frequency?: number;
|
|
56
56
|
nucleus?: string;
|
|
57
57
|
}
|
|
58
|
-
|
|
58
|
+
type NMRPeak1DIntern = Omit<NMRPeak1D, 'fwhm' | 'shape'>;
|
|
59
59
|
/**
|
|
60
60
|
* This function clustering peaks and calculate the integration value for each range from the peak list returned from extractPeaks function.
|
|
61
61
|
*/
|
|
@@ -114,17 +114,7 @@ function peaksToRanges(data, peakList, options = {}) {
|
|
|
114
114
|
}
|
|
115
115
|
}
|
|
116
116
|
// it was a updateIntegrals function.
|
|
117
|
-
|
|
118
|
-
let sumObserved = 0;
|
|
119
|
-
for (const signal of signals) {
|
|
120
|
-
sumObserved += Math.abs(Math.round(signal.integralData.value));
|
|
121
|
-
}
|
|
122
|
-
if (sumObserved !== integrationSum) {
|
|
123
|
-
sumIntegral = integrationSum / sumObserved;
|
|
124
|
-
for (const signal of signals) {
|
|
125
|
-
signal.integralData.value *= sumIntegral;
|
|
126
|
-
}
|
|
127
|
-
}
|
|
117
|
+
updateIntegration(signals, integrationSum);
|
|
128
118
|
}
|
|
129
119
|
signals.sort((a, b) => {
|
|
130
120
|
return b.delta - a.delta;
|
|
@@ -149,7 +139,6 @@ function peaksToRanges(data, peakList, options = {}) {
|
|
|
149
139
|
delta: signal.delta,
|
|
150
140
|
kind: signal.kind || 'signal',
|
|
151
141
|
multiplicity: signal.multiplicity,
|
|
152
|
-
integration: signal.integralData.value,
|
|
153
142
|
};
|
|
154
143
|
if (keepPeaks) {
|
|
155
144
|
signalResult.peaks = signal.peaks.map((peak) => {
|
|
@@ -192,7 +181,6 @@ function detectSignals(data, peakList, options = {}) {
|
|
|
192
181
|
let peaks;
|
|
193
182
|
let signals = [];
|
|
194
183
|
let prevPeak = { x: Number.MIN_SAFE_INTEGER };
|
|
195
|
-
let spectrumIntegral = 0;
|
|
196
184
|
frequencyCluster /= frequency;
|
|
197
185
|
for (const peak of peakList) {
|
|
198
186
|
if (Math.abs(peak.x - prevPeak.x) > frequencyCluster) {
|
|
@@ -238,14 +226,9 @@ function detectSignals(data, peakList, options = {}) {
|
|
|
238
226
|
else {
|
|
239
227
|
integration.value = integralPeaks;
|
|
240
228
|
}
|
|
241
|
-
spectrumIntegral += integration.value;
|
|
242
229
|
}
|
|
243
230
|
if (integrationSum > 0) {
|
|
244
|
-
|
|
245
|
-
for (let signal of signals) {
|
|
246
|
-
let integration = signal.integralData;
|
|
247
|
-
integration.value *= integralFactor;
|
|
248
|
-
}
|
|
231
|
+
updateIntegration(signals, integrationSum);
|
|
249
232
|
}
|
|
250
233
|
return signals;
|
|
251
234
|
}
|
|
@@ -257,4 +240,22 @@ exports.detectSignals = detectSignals;
|
|
|
257
240
|
function computeArea(peak, frequency) {
|
|
258
241
|
return Math.abs(((peak.intensity * peak.width) / frequency) * 1.57); // todo add an option with this value: 1.772453851
|
|
259
242
|
}
|
|
243
|
+
/**
|
|
244
|
+
* update the integration Values
|
|
245
|
+
* @param signals
|
|
246
|
+
* @param integrationSum
|
|
247
|
+
*/
|
|
248
|
+
function updateIntegration(signals, integrationSum) {
|
|
249
|
+
let sumIntegral = 0;
|
|
250
|
+
let sumObserved = 0;
|
|
251
|
+
for (const signal of signals) {
|
|
252
|
+
sumObserved += Math.abs(Math.round(signal.integralData.value));
|
|
253
|
+
}
|
|
254
|
+
if (sumObserved !== integrationSum) {
|
|
255
|
+
sumIntegral = integrationSum / sumObserved;
|
|
256
|
+
for (const signal of signals) {
|
|
257
|
+
signal.integralData.value *= sumIntegral;
|
|
258
|
+
}
|
|
259
|
+
}
|
|
260
|
+
}
|
|
260
261
|
//# sourceMappingURL=peaksToRanges.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"peaksToRanges.js","sourceRoot":"","sources":["../../src/peaks/peaksToRanges.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"peaksToRanges.js","sourceRoot":"","sources":["../../src/peaks/peaksToRanges.ts"],"names":[],"mappings":";;;;;;AAAA,uCAAgD;AAEhD,iEAAsD;AAEtD,2DAAwD;AAExD,2EAAmD;AAqEnD,SAAS,8BAA8B,CACrC,MAAoB;IAEpB,uBAAuB;IACvB,mEAAmE;IACnE,IAAI,CAAC,MAAM,CAAC,IAAI;QAAE,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;IACxE,IAAI,CAAC,MAAM,CAAC,KAAK;QAAE,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;IAC1E,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE;QACvB,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;KAC9D;AACH,CAAC;AAED,MAAM,YAAY,GAAG,CACnB,IAAqB,EACrB,SAAiB,EACjB,OAAe,EACD,EAAE;IAChB,OAAO;QACL,EAAE,EAAE,IAAA,SAAU,GAAE;QAChB,KAAK,EAAE,GAAG;QACV,OAAO,EAAE,CAAC;QACV,IAAI,EAAE,QAAQ;QACd,MAAM,EAAE,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,GAAG,SAAS;QACvC,KAAK,EAAE,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,GAAG,SAAS;QACtC,OAAO,EAAE,SAAS;QAClB,OAAO;QACP,YAAY,EAAE;YACZ,IAAI,EAAE,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,SAAS;YAC3C,EAAE,EAAE,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,SAAS;YACzC,KAAK,EAAE,CAAC;SACT;QACD,KAAK,EAAE;YACL;gBACE,CAAC,EAAE,IAAI,CAAC,CAAC;gBACT,SAAS,EAAE,IAAI,CAAC,CAAC;gBACjB,KAAK,EAAE,IAAI,CAAC,KAAK;aAClB;SACF;KACF,CAAC;AACJ,CAAC,CAAC;AACF;;GAEG;AAEH,SAAgB,aAAa,CAC3B,IAAY,EACZ,QAA2B,EAC3B,UAAgC,EAAE;IAElC,IAAI,EACF,cAAc,GAAG,GAAG,EACpB,iBAAiB,GAAG,IAAI,EACxB,KAAK,GAAG,GAAG,EACX,OAAO,GAAG,IAAI,EACd,YAAY,GAAG,KAAK,EACpB,SAAS,GAAG,GAAG,EACf,gBAAgB,GAAG,EAAE,EACrB,SAAS,GAAG,KAAK,EACjB,OAAO,GAAG,IAAI,GACf,GAAG,OAAO,CAAC;IAEZ,IAAI,aAAa,GAAG;QAClB,cAAc;QACd,YAAY;QACZ,gBAAgB;QAChB,SAAS;QACT,OAAO;KACR,CAAC;IAEF,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAErC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;QACzB,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;QAC1B,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;KAC3B;IAED,IAAI,OAAO,GAAG,aAAa,CAAC,IAAI,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC;IAC3D,IAAI,KAAK,EAAE;QACT,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACvC,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,GAAG,KAAK,EAAE;gBACnD,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;aACtB;SACF;KACF;IAED,IAAI,OAAO,EAAE;QACX,IAAI,GAAG,EAAE,GAAG,CAAC;QACb,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACvC,OAAO,CAAC,CAAC,CAAC,GAAG,mBAAS,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;YAClD,IAAI,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;YACxB,IACE,MAAM,CAAC,WAAW;gBAClB,MAAM,CAAC,YAAY,KAAK,GAAG;gBAC3B,MAAM,CAAC,YAAY,KAAK,EAAE,EAC1B;gBACA,8BAA8B,CAAC,MAAM,CAAC,CAAC;gBACvC,6CAA6C;gBAC7C,GAAG,GAAG,CAAC,CAAC;gBACR,GAAG,GAAG,CAAC,CAAC;gBACR,IAAI,MAAM,GAAG,EAAE,CAAC;gBAChB,KAAK,IAAI,CAAC,GAAG,MAAM,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE;oBACvD,GAAG,IAAI,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;oBAC/C,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE;wBAC1B,IAAI,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;wBACzC,MAAM,CAAC,IAAI,CAAC;4BACV,CAAC,EAAE,KAAK,CAAC,CAAC;4BACV,CAAC,EAAE,KAAK,CAAC,SAAS;4BAClB,KAAK,EAAE,KAAK,CAAC,KAAK;yBACnB,CAAC,CAAC;wBACH,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;wBACzB,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;wBAC1B,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;wBAChC,MAAM,CAAC,OAAO,EAAE,CAAC;wBACjB,GAAG,IAAI,WAAW,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;qBACtC;iBACF;gBACD,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;oBACrB,GAAG,GAAG,CAAC,GAAG,GAAG,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC;oBAC9C,MAAM,CAAC,YAAY,CAAC,KAAK,IAAI,GAAG,CAAC;oBACjC,IAAI,MAAM,GAAG,EAAE,CAAC;oBAChB,KAAK,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE;wBAC3C,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;qBACxB;oBACD,aAAa,CAAC,cAAc,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;oBAC7C,IAAI,MAAM,GAAG,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,aAAa,CAAC,CAAC;oBAExD,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE;wBAC1B,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;qBACrB;iBACF;aACF;SACF;QACD,qCAAqC;QACrC,iBAAiB,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;KAC5C;IAED,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QACpB,OAAO,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC;IAC3B,CAAC,CAAC,CAAC;IAEH,IAAI,KAAK,EAAE;QACT,KAAK,IAAI,CAAC,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE;YAC5C,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,GAAG,KAAK,EAAE;gBACnD,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;aACtB;SACF;KACF;IAED,IAAI,MAAM,GAAe,EAAE,CAAC;IAC5B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QACvC,IAAI,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;QACxB,MAAM,KAAK,GAAa;YACtB,EAAE,EAAE,IAAA,SAAU,GAAE;YAChB,IAAI,EAAE,MAAM,CAAC,YAAY,CAAC,IAAI;YAC9B,EAAE,EAAE,MAAM,CAAC,YAAY,CAAC,EAAE;YAC1B,WAAW,EAAE,MAAM,CAAC,YAAY,CAAC,KAAK;SACvC,CAAC;QACF,MAAM,YAAY,GAAgB;YAChC,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,QAAQ;YAC7B,YAAY,EAAE,MAAM,CAAC,YAAY;SAClC,CAAC;QACF,IAAI,SAAS,EAAE;YACb,YAAY,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;gBAC7C,MAAM,SAAS,GAAQ;oBACrB,CAAC,EAAE,IAAI,CAAC,SAAS;oBACjB,GAAG,IAAI;iBACR,CAAC;gBACF,OAAO,SAAS,CAAC,SAAS,CAAC;gBAC3B,OAAO,SAAsB,CAAC;YAChC,CAAC,CAAC,CAAC;SACJ;QACD,IAAI,MAAM,CAAC,KAAK,EAAE;YAChB,YAAY,CAAC,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC;SAChC;QAED,KAAK,CAAC,OAAO,GAAG,CAAC,YAAY,CAAC,CAAC;QAC/B,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;KACnB;IAED,IAAI,iBAAiB;QAAE,MAAM,GAAG,IAAA,uBAAU,EAAC,MAAM,CAAC,CAAC;IACnD,OAAO,MAAM,CAAC;AAChB,CAAC;AA1ID,sCA0IC;AAED;;;;;;;;;;;;;GAaG;AAEH,SAAgB,aAAa,CAC3B,IAAY,EACZ,QAA2B,EAC3B,UAAgC,EAAE;IAElC,IAAI,EACF,cAAc,GAAG,GAAG,EACpB,YAAY,GAAG,KAAK,EACpB,gBAAgB,GAAG,EAAE,EACrB,SAAS,GAAG,GAAG,EACf,OAAO,GAAG,IAAI,GACf,GAAG,OAAO,CAAC;IAEZ,IAAI,QAAQ,GAAiB,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;IAC3E,IAAI,KAAK,CAAC;IACV,IAAI,OAAO,GAAG,EAAE,CAAC;IACjB,IAAI,QAAQ,GAAG,EAAE,CAAC,EAAE,MAAM,CAAC,gBAAgB,EAAE,CAAC;IAE9C,gBAAgB,IAAI,SAAS,CAAC;IAC9B,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE;QAC3B,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,gBAAgB,EAAE;YACpD,QAAQ,GAAG,YAAY,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;YAClD,IAAI,IAAI,CAAC,IAAI;gBAAE,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;YACzC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;SACxB;aAAM;YACL,IAAI,GAAG,GAAG,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC;YAC1C,QAAQ,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;YAC/C,QAAQ,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;YACjD,QAAQ,CAAC,OAAO,EAAE,CAAC;YACnB,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC;gBAClB,CAAC,EAAE,IAAI,CAAC,CAAC;gBACT,SAAS,EAAE,IAAI,CAAC,CAAC;gBACjB,KAAK,EAAE,IAAI,CAAC,KAAK;aAClB,CAAC,CAAC;YACH,QAAQ,CAAC,YAAY,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,CACnC,QAAQ,CAAC,YAAY,CAAC,IAAI,EAC1B,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,SAAS,CACtC,CAAC;YACF,QAAQ,CAAC,YAAY,CAAC,EAAE,GAAG,IAAI,CAAC,GAAG,CACjC,QAAQ,CAAC,YAAY,CAAC,EAAE,EACxB,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,SAAS,CACtC,CAAC;YACF,IAAI,IAAI,CAAC,IAAI;gBAAE,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;SAC1C;QACD,QAAQ,GAAG,IAAI,CAAC;KACjB;IACD,KAAK,IAAI,MAAM,IAAI,OAAO,EAAE;QAC1B,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;QACrB,IAAI,WAAW,GAAG,MAAM,CAAC,YAAY,CAAC;QACtC,IAAI,aAAa,GAAG,CAAC,CAAC;QACtB,IAAI,aAAa,GAAG,CAAC,CAAC;QAEtB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;YACxB,IAAI,IAAI,GAAG,WAAW,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;YACxC,aAAa,IAAI,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC;YAC/B,aAAa,IAAI,IAAI,CAAC;SACvB;QACD,MAAM,CAAC,KAAK,GAAG,aAAa,GAAG,aAAa,CAAC;QAE7C,IAAI,YAAY,KAAK,KAAK,EAAE;YAC1B,WAAW,CAAC,KAAK,GAAG,IAAA,qCAAa,EAAC,IAAI,EAAE;gBACtC,IAAI,EAAE,WAAW,CAAC,IAAI;gBACtB,EAAE,EAAE,WAAW,CAAC,EAAE;aACnB,CAAC,CAAC;SACJ;aAAM;YACL,WAAW,CAAC,KAAK,GAAG,aAAa,CAAC;SACnC;KACF;IAED,IAAI,cAAc,GAAG,CAAC,EAAE;QACtB,iBAAiB,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;KAC5C;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AA1ED,sCA0EC;AAED;;;GAGG;AACH,SAAS,WAAW,CAAC,IAAkB,EAAE,SAAiB;IACxD,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,SAAS,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,kDAAkD;AACzH,CAAC;AAED;;;;GAIG;AACH,SAAS,iBAAiB,CAAC,OAAuB,EAAE,cAAsB;IACxE,IAAI,WAAW,GAAG,CAAC,CAAC;IACpB,IAAI,WAAW,GAAG,CAAC,CAAC;IACpB,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE;QAC5B,WAAW,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC;KAChE;IACD,IAAI,WAAW,KAAK,cAAc,EAAE;QAClC,WAAW,GAAG,cAAc,GAAG,WAAW,CAAC;QAC3C,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE;YAC5B,MAAM,CAAC,YAAY,CAAC,KAAK,IAAI,WAAW,CAAC;SAC1C;KACF;AACH,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { MakeMandatory } from '../../utilities/MakeMandatory';
|
|
2
2
|
import { NMRPeak1D } from '../NMRPeak1D';
|
|
3
|
-
export
|
|
3
|
+
export type NMRPeak1DWithShape = MakeMandatory<NMRPeak1D, 'shape'>;
|
|
4
4
|
export interface ConvertWidthOptions<T> {
|
|
5
5
|
convertTo: string & {
|
|
6
6
|
_kind?: 'hz' | 'ppm';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { NMRPeak1D } from '../NMRPeak1D';
|
|
2
2
|
import { ConvertWidthOptions } from './convertWidth';
|
|
3
|
-
export
|
|
3
|
+
export type ConvertWidthTo<T> = Omit<ConvertWidthOptions<T>, 'convertTo'>;
|
|
4
4
|
export declare function convertWidthToHz<T extends NMRPeak1D>(peaks: T[], options: ConvertWidthTo<T>): T[];
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.predictAll = void 0;
|
|
4
|
+
const openchemlib_utils_1 = require("openchemlib-utils");
|
|
4
5
|
const predictCOSY_1 = require("./predictCOSY");
|
|
5
6
|
const predictCarbon_1 = require("./predictCarbon");
|
|
6
7
|
const predictHMBC_1 = require("./predictHMBC");
|
|
@@ -13,6 +14,8 @@ const getPredictions_1 = require("./utils/getPredictions");
|
|
|
13
14
|
*/
|
|
14
15
|
async function predictAll(molecule, options = {}) {
|
|
15
16
|
let { from = 'H', to = 'C', predictor = { H: predictProton_1.predictProton, C: predictCarbon_1.predictCarbon }, predictions, joinDistance = { H: 0.05, C: 0.5 }, predictOptions = {}, } = options;
|
|
17
|
+
const diaIDs = (0, openchemlib_utils_1.getDiastereotopicAtomIDs)(molecule);
|
|
18
|
+
console.log('entra correction');
|
|
16
19
|
const xPrediction = await (0, getPredictions_1.getPredictions)(from, molecule, predictOptions, predictor, predictions);
|
|
17
20
|
const yPrediction = await (0, getPredictions_1.getPredictions)(to, molecule, predictOptions, predictor, predictions);
|
|
18
21
|
if (!xPrediction || !yPrediction) {
|
|
@@ -22,7 +25,7 @@ async function predictAll(molecule, options = {}) {
|
|
|
22
25
|
H: xPrediction,
|
|
23
26
|
C: yPrediction,
|
|
24
27
|
};
|
|
25
|
-
const { molfile
|
|
28
|
+
const { molfile } = xPrediction;
|
|
26
29
|
const spectra = {
|
|
27
30
|
proton: predictions.H,
|
|
28
31
|
carbon: predictions.C,
|
|
@@ -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":";;;AACA,yDAA8F;AAE9F,+CAA4C;AAC5C,mDAAsE;AACtE,+CAA4C;AAC5C,+CAA4C;AAC5C,mDAAsE;AACtE,2DAAwD;AAmDxD;;;GAGG;AAEI,KAAK,UAAU,UAAU,CAC9B,QAAkB,EAClB,UAA6B,EAAE;IAE/B,IAAI,EACF,IAAI,GAAG,GAAG,EACV,EAAE,GAAG,GAAG,EACR,SAAS,GAAG,EAAE,CAAC,EAAE,6BAAa,EAAE,CAAC,EAAE,6BAAa,EAAE,EAClD,WAAW,EACX,YAAY,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,EAClC,cAAc,GAAG,EAAE,GACpB,GAAG,OAAO,CAAC;IAEZ,MAAM,MAAM,GAAG,IAAA,4CAAwB,EAAC,QAAQ,CAAC,CAAC;IAClD,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAA;IAC/B,MAAM,WAAW,GAAG,MAAM,IAAA,+BAAc,EACtC,IAAI,EACJ,QAAQ,EACR,cAAc,EACd,SAAS,EACT,WAAW,CACZ,CAAC;IAEF,MAAM,WAAW,GAAG,MAAM,IAAA,+BAAc,EACtC,EAAE,EACF,QAAQ,EACR,cAAc,EACd,SAAS,EACT,WAAW,CACZ,CAAC;IAEF,IAAI,CAAC,WAAW,IAAI,CAAC,WAAW,EAAE;QAChC,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;KACnD;IAED,WAAW,GAAG;QACZ,CAAC,EAAE,WAAW;QACd,CAAC,EAAE,WAAW;KACf,CAAC;IAEF,MAAM,EAAE,OAAO,EAAE,GAAG,WAAW,CAAC;IAEhC,MAAM,OAAO,GAAQ;QACnB,MAAM,EAAE,WAAW,CAAC,CAAC;QACrB,MAAM,EAAE,WAAW,CAAC,CAAC;KACtB,CAAC;IAEF,OAAO,CAAC,IAAI,GAAG,MAAM,IAAA,yBAAW,EAAC,QAAQ,EAAE;QACzC,WAAW;QACX,YAAY;KACb,CAAC,CAAC;IACH,OAAO,CAAC,IAAI,GAAG,MAAM,IAAA,yBAAW,EAAC,QAAQ,EAAE;QACzC,WAAW;QACX,YAAY;KACb,CAAC,CAAC;IACH,OAAO,CAAC,IAAI,GAAG,MAAM,IAAA,yBAAW,EAAC,QAAQ,EAAE;QACzC,WAAW;QACX,YAAY;KACb,CAAC,CAAC;IAEH,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE;QACzB,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC;QAC5B,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC;KAC5B;IAED,OAAO;QACL,OAAO;QACP,MAAM;QACN,GAAG,OAAO;KACX,CAAC;AACJ,CAAC;AAtED,gCAsEC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { FromTo, PointXY } from 'cheminfo-types';
|
|
2
|
-
import type { Molecule } from 'openchemlib';
|
|
2
|
+
import type { Molecule } from 'openchemlib/full';
|
|
3
3
|
import { PredictAllOptions } from './predictAll';
|
|
4
4
|
/**
|
|
5
5
|
* This function will generate an object compatible with NMR-ium
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/// <reference path="../../src/ml-matrix-peaks-finder.d.ts" />
|
|
2
|
-
import { Molecule } from 'openchemlib';
|
|
2
|
+
import { Molecule } from 'openchemlib/full';
|
|
3
3
|
import type { Prediction1D } from './Prediction1D';
|
|
4
4
|
import { PredictProtonOptions } from './predictProton';
|
|
5
5
|
import { Predictor } from './utils/predict2D';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { Molecule } from 'openchemlib';
|
|
1
|
+
import type { Molecule } from 'openchemlib/full';
|
|
2
2
|
import type { Prediction1D } from './Prediction1D';
|
|
3
3
|
import type { DataBaseStructure } from './dataStructure';
|
|
4
4
|
export interface PredictCarbonOptions {
|
|
@@ -21,8 +21,12 @@ export interface PredictCarbonOptions {
|
|
|
21
21
|
* @default 'maximum level in the database'
|
|
22
22
|
*/
|
|
23
23
|
maxSphereSize?: number;
|
|
24
|
+
/**
|
|
25
|
+
* diastereotopic atom ids.
|
|
26
|
+
*/
|
|
27
|
+
diaIDs?: string[];
|
|
24
28
|
}
|
|
25
|
-
export
|
|
29
|
+
export type PredictCarbon = typeof predictCarbon;
|
|
26
30
|
/**
|
|
27
31
|
* Make a query to a hose code based database to predict carbon chemical shift
|
|
28
32
|
* @returns {Promise<object>} - object with molfile, diaIDs, signals, joined signals by diaIDs and ranges.
|
|
@@ -9,9 +9,9 @@ const cross_fetch_1 = __importDefault(require("cross-fetch"));
|
|
|
9
9
|
const setIDs_1 = require("../peaks/util/setIDs");
|
|
10
10
|
const signalsToRanges_1 = require("../signals/signalsToRanges");
|
|
11
11
|
const fetchPrediction_1 = require("./utils/fetchPrediction");
|
|
12
|
-
const flatGroupedDiaIDs_1 = require("./utils/flatGroupedDiaIDs");
|
|
13
12
|
const getFilteredIDiaIDs_1 = require("./utils/getFilteredIDiaIDs");
|
|
14
13
|
const queryByHOSE_1 = require("./utils/queryByHOSE");
|
|
14
|
+
const openchemlib_utils_1 = require("openchemlib-utils");
|
|
15
15
|
const cache = {};
|
|
16
16
|
async function loadDB(url = 'https://www.lactame.com/lib/nmr-processing-data/20210711/carbon.js') {
|
|
17
17
|
if (cache[url]) {
|
|
@@ -35,7 +35,7 @@ function checkFromPrediction(signal) {
|
|
|
35
35
|
* @returns {Promise<object>} - object with molfile, diaIDs, signals, joined signals by diaIDs and ranges.
|
|
36
36
|
*/
|
|
37
37
|
async function predictCarbon(molecule, options = {}) {
|
|
38
|
-
let { url, database, webserviceURL } = options;
|
|
38
|
+
let { url, database, webserviceURL, diaIDs = (0, openchemlib_utils_1.getDiastereotopicAtomIDs)(molecule), } = options;
|
|
39
39
|
if (webserviceURL) {
|
|
40
40
|
return (0, fetchPrediction_1.fetchPrediction)(molecule, { webserviceURL });
|
|
41
41
|
}
|
|
@@ -48,8 +48,9 @@ async function predictCarbon(molecule, options = {}) {
|
|
|
48
48
|
let { maxSphereSize = maxLevel } = options;
|
|
49
49
|
if (maxSphereSize > maxLevel)
|
|
50
50
|
maxSphereSize = maxLevel;
|
|
51
|
-
const {
|
|
51
|
+
const { carbonDiaIDs, molfile } = (0, getFilteredIDiaIDs_1.getFilteredIDiaIDs)(molecule, {
|
|
52
52
|
maxSphereSize,
|
|
53
|
+
diaIDs,
|
|
53
54
|
});
|
|
54
55
|
let predictions = (0, queryByHOSE_1.queryByHose)(carbonDiaIDs, database, {
|
|
55
56
|
maxSphereSize,
|
|
@@ -59,7 +60,7 @@ async function predictCarbon(molecule, options = {}) {
|
|
|
59
60
|
return {
|
|
60
61
|
molfile,
|
|
61
62
|
nucleus: '13C',
|
|
62
|
-
diaIDs
|
|
63
|
+
diaIDs,
|
|
63
64
|
joinedSignals,
|
|
64
65
|
signals,
|
|
65
66
|
ranges: (0, signalsToRanges_1.signalsToRanges)(joinedSignals),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"predictCarbon.js","sourceRoot":"","sources":["../../src/prediction/predictCarbon.ts"],"names":[],"mappings":";;;;;;AAAA,uCAAgD;AAChD,8DAAgC;AAGhC,iDAA8C;AAE9C,gEAA6D;AAK7D,6DAA0D;
|
|
1
|
+
{"version":3,"file":"predictCarbon.js","sourceRoot":"","sources":["../../src/prediction/predictCarbon.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/// <reference path="../../src/ml-matrix-peaks-finder.d.ts" />
|
|
2
|
-
import { Molecule } from 'openchemlib';
|
|
2
|
+
import { Molecule } from 'openchemlib/full';
|
|
3
3
|
import type { Prediction1D } from './Prediction1D';
|
|
4
4
|
import type { PredictCarbonOptions } from './predictCarbon';
|
|
5
5
|
import type { PredictProtonOptions } from './predictProton';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/// <reference path="../../src/ml-matrix-peaks-finder.d.ts" />
|
|
2
|
-
import { Molecule } from 'openchemlib';
|
|
2
|
+
import { Molecule } from 'openchemlib/full';
|
|
3
3
|
import type { Prediction1D } from './Prediction1D';
|
|
4
4
|
import { PredictCarbonOptions } from './predictCarbon';
|
|
5
5
|
import { PredictProtonOptions } from './predictProton';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { Molecule } from 'openchemlib';
|
|
1
|
+
import type { Molecule } from 'openchemlib/full';
|
|
2
2
|
import type { Prediction1D } from './Prediction1D';
|
|
3
3
|
/**
|
|
4
4
|
* Makes a prediction using proton.
|
|
@@ -9,6 +9,10 @@ export interface PredictProtonOptions {
|
|
|
9
9
|
* A callback receiving a molfile and the result
|
|
10
10
|
*/
|
|
11
11
|
cache?: (molfile: string, result?: string) => void | string | undefined;
|
|
12
|
+
/**
|
|
13
|
+
* diastereotopic atom ids.
|
|
14
|
+
*/
|
|
15
|
+
diaIDs?: string[];
|
|
12
16
|
}
|
|
13
|
-
export
|
|
17
|
+
export type PredictProton = typeof predictProton;
|
|
14
18
|
export declare function predictProton(molecule: Molecule, options?: PredictProtonOptions): Promise<Prediction1D>;
|
|
@@ -33,7 +33,7 @@ async function predictProton(molecule, options = {}) {
|
|
|
33
33
|
cache(molfile, result);
|
|
34
34
|
}
|
|
35
35
|
}
|
|
36
|
-
const diaIDs = (0, openchemlib_utils_1.getDiastereotopicAtomIDs)(molecule);
|
|
36
|
+
const { diaIDs = (0, openchemlib_utils_1.getDiastereotopicAtomIDs)(molecule) } = options;
|
|
37
37
|
const signals = protonParser(result, molecule, diaIDs);
|
|
38
38
|
const joinedSignals = (0, signalsJoin_1.signalsJoin)(signals);
|
|
39
39
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"predictProton.js","sourceRoot":"","sources":["../../src/prediction/predictProton.ts"],"names":[],"mappings":";;;;;;AAAA,uCAAgD;AAChD,8DAAgC;AAChC,0DAAiC;AAEjC,yDAI2B;AAG3B,wDAAqD;AACrD,gEAA6D;
|
|
1
|
+
{"version":3,"file":"predictProton.js","sourceRoot":"","sources":["../../src/prediction/predictProton.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,14 +1,13 @@
|
|
|
1
|
-
|
|
2
|
-
import type { Molecule } from 'openchemlib';
|
|
1
|
+
import type { Molecule } from 'openchemlib/full';
|
|
3
2
|
import type { GroupDiastereotopicAtomIDs } from 'openchemlib-utils';
|
|
4
3
|
export interface GroupDiaIDsWithHose extends GroupDiastereotopicAtomIDs {
|
|
5
4
|
hose: string[];
|
|
6
5
|
}
|
|
7
|
-
export
|
|
6
|
+
export type GroupedDiaIDsWithHose = GroupDiaIDsWithHose[];
|
|
8
7
|
export declare function getFilteredIDiaIDs(molecule: Molecule, options: {
|
|
9
8
|
maxSphereSize: number;
|
|
9
|
+
diaIDs: string[];
|
|
10
10
|
}): {
|
|
11
11
|
molfile: string;
|
|
12
12
|
carbonDiaIDs: GroupedDiaIDsWithHose;
|
|
13
|
-
groupedDiaIDs: import("openchemlib-utils").GroupedDiastereotopicAtomIDs;
|
|
14
13
|
};
|
|
@@ -3,15 +3,15 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.getFilteredIDiaIDs = void 0;
|
|
4
4
|
const openchemlib_utils_1 = require("openchemlib-utils");
|
|
5
5
|
function getFilteredIDiaIDs(molecule, options) {
|
|
6
|
-
const { maxSphereSize } = options;
|
|
6
|
+
const { maxSphereSize, diaIDs } = options;
|
|
7
7
|
molecule.addImplicitHydrogens();
|
|
8
8
|
molecule.addMissingChirality();
|
|
9
9
|
(0, openchemlib_utils_1.addDiastereotopicMissingChirality)(molecule);
|
|
10
10
|
const molfile = molecule.toMolfile();
|
|
11
|
-
let groupedDiaIDs = (0, openchemlib_utils_1.
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
11
|
+
let groupedDiaIDs = (0, openchemlib_utils_1.groupDiasterotopicAtomIDs)(diaIDs, molecule, {
|
|
12
|
+
atomLabel: 'C',
|
|
13
|
+
});
|
|
14
|
+
let carbonDiaIDs = groupedDiaIDs.sort((a, b) => {
|
|
15
15
|
if (a.atomLabel === b.atomLabel) {
|
|
16
16
|
return b.counter - a.counter;
|
|
17
17
|
}
|
|
@@ -26,7 +26,6 @@ function getFilteredIDiaIDs(molecule, options) {
|
|
|
26
26
|
let toReturn = {
|
|
27
27
|
molfile,
|
|
28
28
|
carbonDiaIDs: carbonDiaIDs,
|
|
29
|
-
groupedDiaIDs,
|
|
30
29
|
};
|
|
31
30
|
return toReturn;
|
|
32
31
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getFilteredIDiaIDs.js","sourceRoot":"","sources":["../../../src/prediction/utils/getFilteredIDiaIDs.ts"],"names":[],"mappings":";;;AACA,
|
|
1
|
+
{"version":3,"file":"getFilteredIDiaIDs.js","sourceRoot":"","sources":["../../../src/prediction/utils/getFilteredIDiaIDs.ts"],"names":[],"mappings":";;;AACA,yDAK2B;AAS3B,SAAgB,kBAAkB,CAChC,QAAkB,EAClB,OAAoD;IAEpD,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;IAE1C,QAAQ,CAAC,oBAAoB,EAAE,CAAC;IAChC,QAAQ,CAAC,mBAAmB,EAAE,CAAC;IAC/B,IAAA,qDAAiC,EAAC,QAAQ,CAAC,CAAC;IAE5C,MAAM,OAAO,GAAG,QAAQ,CAAC,SAAS,EAAE,CAAC;IAErC,IAAI,aAAa,GAAG,IAAA,6CAAyB,EAAC,MAAM,EAAE,QAAQ,EAAE;QAC9D,SAAS,EAAE,GAAG;KACf,CAAC,CAAC;IAEH,IAAI,YAAY,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QAC7C,IAAI,CAAC,CAAC,SAAS,KAAK,CAAC,CAAC,SAAS,EAAE;YAC/B,OAAO,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC;SAC9B;QACD,OAAO,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5C,CAAC,CAAQ,CAAC;IAEV,MAAM,GAAG,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC;IAC9B,KAAK,MAAM,KAAK,IAAI,YAAY,EAAE;QAChC,KAAK,CAAC,IAAI,GAAG,IAAA,oDAAgC,EAC3C,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,EACpC;YACE,aAAa;SACd,CACF,CAAC;KACH;IAED,IAAI,QAAQ,GAAG;QACb,OAAO;QACP,YAAY,EAAE,YAAqC;KACpD,CAAC;IAEF,OAAO,QAAQ,CAAC;AAClB,CAAC;AAvCD,gDAuCC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { Molecule } from 'openchemlib';
|
|
1
|
+
import type { Molecule } from 'openchemlib/full';
|
|
2
2
|
import type { Prediction1D } from '../Prediction1D';
|
|
3
3
|
import type { Predictions, PredictOptions, Predictors } from './predict2D';
|
|
4
4
|
export declare function getPredictions(key: string, molecule: Molecule, predictOptions: PredictOptions, predictor?: Predictors, predictions?: Predictions): Promise<Prediction1D | undefined>;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/// <reference path="../../../src/ml-matrix-peaks-finder.d.ts" />
|
|
2
|
-
import { Molecule } from 'openchemlib';
|
|
2
|
+
import { Molecule } from 'openchemlib/full';
|
|
3
3
|
import type { NMRSignal2D } from '../../xyz/NMRSignal2D';
|
|
4
4
|
import type { Prediction1D } from '../Prediction1D';
|
|
5
5
|
import type { PredictCarbon, PredictCarbonOptions } from '../predictCarbon';
|
|
@@ -8,7 +8,7 @@ import type { PredictProton, PredictProtonOptions } from '../predictProton';
|
|
|
8
8
|
* Generate the correlation bidimensional nmr peaks based on the number of bonds between a pair of atoms
|
|
9
9
|
* @returns {object} - object with molfile, diaIDs, 2D signals and zones.
|
|
10
10
|
*/
|
|
11
|
-
export
|
|
11
|
+
export type Predictor = PredictCarbon | PredictProton;
|
|
12
12
|
export interface Predictors {
|
|
13
13
|
[key: string]: Predictor | undefined;
|
|
14
14
|
H?: Predictor;
|
|
@@ -63,6 +63,10 @@ export interface Predict2DOptions {
|
|
|
63
63
|
* @default false
|
|
64
64
|
*/
|
|
65
65
|
includeDiagonal?: boolean;
|
|
66
|
+
/**
|
|
67
|
+
* diastereotopic atom ids of the molecule.
|
|
68
|
+
*/
|
|
69
|
+
diaIDs?: string[];
|
|
66
70
|
}
|
|
67
71
|
export interface PredictOptions {
|
|
68
72
|
[key: string]: PredictProtonOptions | PredictCarbonOptions | undefined;
|
|
@@ -15,17 +15,17 @@ function checkFromTo(options) {
|
|
|
15
15
|
}
|
|
16
16
|
async function predict2D(molecule, options = {}) {
|
|
17
17
|
checkFromTo(options);
|
|
18
|
-
let { from, to, minLength = 0, maxLength, predictOptions = {}, predictions, predictor, joinDistance = { H: 0.05, C: 0.5 }, includeDiagonal = false, } = options;
|
|
19
18
|
molecule.addImplicitHydrogens();
|
|
20
|
-
let diaIDs =
|
|
19
|
+
let { from, to, diaIDs, minLength = 0, maxLength, predictOptions = {}, predictions, predictor, joinDistance = { H: 0.05, C: 0.5 }, includeDiagonal = false, } = options;
|
|
21
20
|
const pathsInfo = (0, openchemlib_utils_1.getPathsInfo)(molecule, {
|
|
22
21
|
fromLabel: from,
|
|
23
22
|
toLabel: to,
|
|
24
23
|
minLength,
|
|
25
24
|
maxLength,
|
|
26
25
|
});
|
|
26
|
+
const groupedDiaIDS = diaIDs ? (0, openchemlib_utils_1.groupDiasterotopicAtomIDs)(diaIDs, molecule) : (0, openchemlib_utils_1.getGroupedDiastereotopicAtomIDs)(molecule);
|
|
27
27
|
let diaIDswithAtomInfo = [];
|
|
28
|
-
for (let diaID of
|
|
28
|
+
for (let diaID of groupedDiaIDS) {
|
|
29
29
|
diaIDswithAtomInfo.push({
|
|
30
30
|
...diaID,
|
|
31
31
|
pathInfo: JSON.parse(JSON.stringify(pathsInfo[diaID.atoms[0]])),
|