nmr-processing 7.0.1 → 7.3.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/get13CAssignments.d.ts +3 -3
- package/lib/assignment/get13CAssignments.js.map +1 -1
- package/lib/assignment/get1HAssignments.d.ts +3 -3
- package/lib/assignment/get1HAssignments.js.map +1 -1
- package/lib/assignment/getAssignments.d.ts +81 -0
- package/lib/assignment/getAssignments.js +44 -0
- package/lib/assignment/getAssignments.js.map +1 -0
- package/lib/assignment/utils/buildAssignments.d.ts +4 -4
- package/lib/assignment/utils/buildAssignments.js.map +1 -1
- package/lib/assignment/utils/createMapPossibleAssignments.d.ts +2 -2
- package/lib/assignment/utils/exploreTreeRec.d.ts +3 -3
- package/lib/assignment/utils/exploreTreeRec.js.map +1 -1
- package/lib/assignment/utils/getAssignment/buildAssignments.d.ts +72 -0
- package/lib/assignment/utils/getAssignment/buildAssignments.js +205 -0
- package/lib/assignment/utils/getAssignment/buildAssignments.js.map +1 -0
- package/lib/assignment/utils/getAssignment/checkIDs.d.ts +23 -0
- package/lib/assignment/utils/getAssignment/checkIDs.js +57 -0
- package/lib/assignment/utils/getAssignment/checkIDs.js.map +1 -0
- package/lib/assignment/utils/getAssignment/createMapPossibleAssignment.d.ts +15 -0
- package/lib/assignment/utils/getAssignment/createMapPossibleAssignment.js +55 -0
- package/lib/assignment/utils/getAssignment/createMapPossibleAssignment.js.map +1 -0
- package/lib/assignment/utils/getAssignment/exploreTree.d.ts +22 -0
- package/lib/assignment/utils/getAssignment/exploreTree.js +93 -0
- package/lib/assignment/utils/getAssignment/exploreTree.js.map +1 -0
- package/lib/assignment/utils/getAssignment/formatData.d.ts +14 -0
- package/lib/assignment/utils/getAssignment/formatData.js +20 -0
- package/lib/assignment/utils/getAssignment/formatData.js.map +1 -0
- package/lib/assignment/utils/getAssignment/getIntegrationOfAttachedProtons.d.ts +3 -0
- package/lib/assignment/utils/getAssignment/getIntegrationOfAttachedProtons.js +14 -0
- package/lib/assignment/utils/getAssignment/getIntegrationOfAttachedProtons.js.map +1 -0
- package/lib/assignment/utils/getAssignment/getTargetsAndCorrelations.d.ts +18 -0
- package/lib/assignment/utils/getAssignment/getTargetsAndCorrelations.js +37 -0
- package/lib/assignment/utils/getAssignment/getTargetsAndCorrelations.js.map +1 -0
- package/lib/assignment/utils/getAssignment/getWorkFlow.d.ts +19 -0
- package/lib/assignment/utils/getAssignment/getWorkFlow.js +52 -0
- package/lib/assignment/utils/getAssignment/getWorkFlow.js.map +1 -0
- package/lib/assignment/utils/getAssignment/groupCarbonTargetByIntegrationZone.d.ts +7 -0
- package/lib/assignment/utils/getAssignment/groupCarbonTargetByIntegrationZone.js +43 -0
- package/lib/assignment/utils/getAssignment/groupCarbonTargetByIntegrationZone.js.map +1 -0
- package/lib/assignment/utils/getAssignment/isSpectraData1D.d.ts +2 -0
- package/lib/assignment/utils/getAssignment/isSpectraData1D.js +8 -0
- package/lib/assignment/utils/getAssignment/isSpectraData1D.js.map +1 -0
- package/lib/assignment/utils/getAssignment/partialScore.d.ts +13 -0
- package/lib/assignment/utils/getAssignment/partialScore.js +221 -0
- package/lib/assignment/utils/getAssignment/partialScore.js.map +1 -0
- package/lib/assignment/utils/getAssignment/searchIndices.d.ts +6 -0
- package/lib/assignment/utils/getAssignment/searchIndices.js +21 -0
- package/lib/assignment/utils/getAssignment/searchIndices.js.map +1 -0
- package/lib/assignment/utils/partialScore.d.ts +2 -2
- package/lib/index.d.ts +2 -0
- package/lib/index.js +7 -1
- package/lib/index.js.map +1 -1
- package/lib/peaks/peaksToRanges.js +1 -0
- package/lib/peaks/peaksToRanges.js.map +1 -1
- package/lib/prediction/predictAllSpectra.d.ts +18 -0
- package/lib/prediction/predictAllSpectra.js +40 -0
- package/lib/prediction/predictAllSpectra.js.map +1 -0
- package/lib/prediction/utils/predict2D.d.ts +0 -2
- package/lib/prediction/utils/predict2D.js +13 -12
- package/lib/prediction/utils/predict2D.js.map +1 -1
- package/lib/xyz/xyzAutoZonesPicking.js +5 -1
- package/lib/xyz/xyzAutoZonesPicking.js.map +1 -1
- package/lib-esm/assignment/get13CAssignments.js.map +1 -1
- package/lib-esm/assignment/get1HAssignments.js.map +1 -1
- package/lib-esm/assignment/getAssignments.js +37 -0
- package/lib-esm/assignment/getAssignments.js.map +1 -0
- package/lib-esm/assignment/utils/buildAssignments.js.map +1 -1
- package/lib-esm/assignment/utils/exploreTreeRec.js.map +1 -1
- package/lib-esm/assignment/utils/getAssignment/buildAssignments.js +198 -0
- package/lib-esm/assignment/utils/getAssignment/buildAssignments.js.map +1 -0
- package/lib-esm/assignment/utils/getAssignment/checkIDs.js +48 -0
- package/lib-esm/assignment/utils/getAssignment/checkIDs.js.map +1 -0
- package/lib-esm/assignment/utils/getAssignment/createMapPossibleAssignment.js +51 -0
- package/lib-esm/assignment/utils/getAssignment/createMapPossibleAssignment.js.map +1 -0
- package/lib-esm/assignment/utils/getAssignment/exploreTree.js +89 -0
- package/lib-esm/assignment/utils/getAssignment/exploreTree.js.map +1 -0
- package/lib-esm/assignment/utils/getAssignment/formatData.js +16 -0
- package/lib-esm/assignment/utils/getAssignment/formatData.js.map +1 -0
- package/lib-esm/assignment/utils/getAssignment/getIntegrationOfAttachedProtons.js +10 -0
- package/lib-esm/assignment/utils/getAssignment/getIntegrationOfAttachedProtons.js.map +1 -0
- package/lib-esm/assignment/utils/getAssignment/getTargetsAndCorrelations.js +33 -0
- package/lib-esm/assignment/utils/getAssignment/getTargetsAndCorrelations.js.map +1 -0
- package/lib-esm/assignment/utils/getAssignment/getWorkFlow.js +50 -0
- package/lib-esm/assignment/utils/getAssignment/getWorkFlow.js.map +1 -0
- package/lib-esm/assignment/utils/getAssignment/groupCarbonTargetByIntegrationZone.js +41 -0
- package/lib-esm/assignment/utils/getAssignment/groupCarbonTargetByIntegrationZone.js.map +1 -0
- package/lib-esm/assignment/utils/getAssignment/isSpectraData1D.js +4 -0
- package/lib-esm/assignment/utils/getAssignment/isSpectraData1D.js.map +1 -0
- package/lib-esm/assignment/utils/getAssignment/partialScore.js +214 -0
- package/lib-esm/assignment/utils/getAssignment/partialScore.js.map +1 -0
- package/lib-esm/assignment/utils/getAssignment/searchIndices.js +17 -0
- package/lib-esm/assignment/utils/getAssignment/searchIndices.js.map +1 -0
- package/lib-esm/index.js +2 -0
- package/lib-esm/index.js.map +1 -1
- package/lib-esm/peaks/peaksToRanges.js +1 -0
- package/lib-esm/peaks/peaksToRanges.js.map +1 -1
- package/lib-esm/prediction/predictAllSpectra.js +36 -0
- package/lib-esm/prediction/predictAllSpectra.js.map +1 -0
- package/lib-esm/prediction/utils/predict2D.js +13 -12
- package/lib-esm/prediction/utils/predict2D.js.map +1 -1
- package/package.json +14 -13
- package/src/assignment/get13CAssignments.ts +2 -2
- package/src/assignment/get1HAssignments.ts +2 -2
- package/src/assignment/getAssignments.ts +149 -0
- package/src/assignment/utils/buildAssignments.ts +4 -4
- package/src/assignment/utils/createMapPossibleAssignments.ts +2 -2
- package/src/assignment/utils/exploreTreeRec.ts +5 -5
- package/src/assignment/utils/getAssignment/buildAssignments.ts +339 -0
- package/src/assignment/utils/getAssignment/checkIDs.ts +76 -0
- package/src/assignment/utils/getAssignment/createMapPossibleAssignment.ts +85 -0
- package/src/assignment/utils/getAssignment/data/correlations.js +713 -0
- package/src/assignment/utils/getAssignment/data/predictions.js +34 -0
- package/src/assignment/utils/getAssignment/exploreTree.ts +171 -0
- package/src/assignment/utils/getAssignment/formatData.ts +35 -0
- package/src/assignment/utils/getAssignment/getIntegrationOfAttachedProtons.ts +16 -0
- package/src/assignment/utils/getAssignment/getTargetsAndCorrelations.ts +63 -0
- package/src/assignment/utils/getAssignment/getWorkFlow.ts +72 -0
- package/src/assignment/utils/getAssignment/groupCarbonTargetByIntegrationZone.ts +55 -0
- package/src/assignment/utils/getAssignment/isSpectraData1D.ts +7 -0
- package/src/assignment/utils/getAssignment/partialScore.ts +308 -0
- package/src/assignment/utils/getAssignment/searchIndices.ts +19 -0
- package/src/assignment/utils/partialScore.ts +2 -2
- package/src/index.ts +2 -0
- package/src/ml-tree-set.d.ts +1 -1
- package/src/peaks/peaksToRanges.ts +1 -0
- package/src/prediction/predictAllSpectra.ts +48 -0
- package/src/prediction/utils/predict2D.ts +16 -16
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
import { getCorrelationDelta } from 'nmr-correlation';
|
|
2
|
+
|
|
3
|
+
import { PossibleAssignmentMap } from '../createMapPossibleAssignments';
|
|
4
|
+
|
|
5
|
+
import {
|
|
6
|
+
AtomTypes,
|
|
7
|
+
PredictionsByAtomType,
|
|
8
|
+
RestrictionByCS,
|
|
9
|
+
} from './buildAssignments';
|
|
10
|
+
import { TargetsByAtomType } from './getTargetsAndCorrelations';
|
|
11
|
+
|
|
12
|
+
export interface PossibleAssignments {
|
|
13
|
+
[key: string]: string[];
|
|
14
|
+
}
|
|
15
|
+
export interface MapPossibleAssignments {
|
|
16
|
+
[key: string]: PossibleAssignmentMap;
|
|
17
|
+
}
|
|
18
|
+
export interface CreateMapPossibleAssignmentOptions {
|
|
19
|
+
restrictionByCS: RestrictionByCS;
|
|
20
|
+
predictions: PredictionsByAtomType;
|
|
21
|
+
targets: TargetsByAtomType;
|
|
22
|
+
}
|
|
23
|
+
export function createMapPossibleAssignment(
|
|
24
|
+
expandMap: MapPossibleAssignments,
|
|
25
|
+
props: CreateMapPossibleAssignmentOptions,
|
|
26
|
+
) {
|
|
27
|
+
const { restrictionByCS, predictions, targets } = props;
|
|
28
|
+
|
|
29
|
+
const { tolerance: toleranceCS, chemicalShiftRestriction } = restrictionByCS;
|
|
30
|
+
|
|
31
|
+
const atomTypes = Object.keys(predictions) as AtomTypes[];
|
|
32
|
+
|
|
33
|
+
for (const atomType of atomTypes) {
|
|
34
|
+
let errorAbs = toleranceCS[atomType];
|
|
35
|
+
let predictionByAtomType = predictions[atomType];
|
|
36
|
+
let targetByAtomType = targets[atomType];
|
|
37
|
+
if (!expandMap[atomType]) expandMap[atomType] = {};
|
|
38
|
+
for (const diaID in predictionByAtomType) {
|
|
39
|
+
let prediction = predictionByAtomType[diaID];
|
|
40
|
+
expandMap[atomType][diaID] = [];
|
|
41
|
+
|
|
42
|
+
if (targetByAtomType) {
|
|
43
|
+
for (const targetID in targetByAtomType) {
|
|
44
|
+
let target = targetByAtomType[targetID];
|
|
45
|
+
const { nbAtoms, protonsCount: protonsCountFromPrediction } =
|
|
46
|
+
prediction;
|
|
47
|
+
const { integration, protonsCount } = target;
|
|
48
|
+
|
|
49
|
+
const couldBeAssigned = !integration
|
|
50
|
+
? true
|
|
51
|
+
: atomType === 'H'
|
|
52
|
+
? nbAtoms - integration < 1
|
|
53
|
+
: protonsCount.length > 0
|
|
54
|
+
? protonsCount.some(
|
|
55
|
+
(count: number) => protonsCountFromPrediction === count,
|
|
56
|
+
)
|
|
57
|
+
: true;
|
|
58
|
+
if (couldBeAssigned) {
|
|
59
|
+
if (
|
|
60
|
+
!chemicalShiftRestriction ||
|
|
61
|
+
typeof prediction.delta === 'undefined'
|
|
62
|
+
) {
|
|
63
|
+
// Chemical shift is not a restriction
|
|
64
|
+
expandMap[atomType][diaID].push(targetID);
|
|
65
|
+
} else {
|
|
66
|
+
let targetDelta = getCorrelationDelta(target);
|
|
67
|
+
if (targetDelta === undefined) {
|
|
68
|
+
throw new Error(`Correlation has not delta`);
|
|
69
|
+
}
|
|
70
|
+
let distAfterLimit = Math.abs(
|
|
71
|
+
prediction.delta - targetDelta - errorAbs,
|
|
72
|
+
);
|
|
73
|
+
|
|
74
|
+
if (distAfterLimit < 4 * errorAbs) {
|
|
75
|
+
expandMap[atomType][diaID].push(targetID);
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
expandMap[atomType][diaID].push('*');
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
return expandMap;
|
|
85
|
+
}
|