nmr-processing 7.1.0 → 7.4.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.
Files changed (137) hide show
  1. package/lib/assignment/get13CAssignments.d.ts +3 -3
  2. package/lib/assignment/get13CAssignments.js.map +1 -1
  3. package/lib/assignment/get1HAssignments.d.ts +3 -3
  4. package/lib/assignment/get1HAssignments.js.map +1 -1
  5. package/lib/assignment/getAssignments.d.ts +81 -0
  6. package/lib/assignment/getAssignments.js +44 -0
  7. package/lib/assignment/getAssignments.js.map +1 -0
  8. package/lib/assignment/utils/buildAssignments.d.ts +4 -4
  9. package/lib/assignment/utils/buildAssignments.js.map +1 -1
  10. package/lib/assignment/utils/createMapPossibleAssignments.d.ts +2 -2
  11. package/lib/assignment/utils/exploreTreeRec.d.ts +3 -3
  12. package/lib/assignment/utils/exploreTreeRec.js.map +1 -1
  13. package/lib/assignment/utils/getAssignment/buildAssignments.d.ts +72 -0
  14. package/lib/assignment/utils/getAssignment/buildAssignments.js +205 -0
  15. package/lib/assignment/utils/getAssignment/buildAssignments.js.map +1 -0
  16. package/lib/assignment/utils/getAssignment/checkIDs.d.ts +23 -0
  17. package/lib/assignment/utils/getAssignment/checkIDs.js +57 -0
  18. package/lib/assignment/utils/getAssignment/checkIDs.js.map +1 -0
  19. package/lib/assignment/utils/getAssignment/createMapPossibleAssignment.d.ts +15 -0
  20. package/lib/assignment/utils/getAssignment/createMapPossibleAssignment.js +55 -0
  21. package/lib/assignment/utils/getAssignment/createMapPossibleAssignment.js.map +1 -0
  22. package/lib/assignment/utils/getAssignment/exploreTree.d.ts +22 -0
  23. package/lib/assignment/utils/getAssignment/exploreTree.js +93 -0
  24. package/lib/assignment/utils/getAssignment/exploreTree.js.map +1 -0
  25. package/lib/assignment/utils/getAssignment/formatData.d.ts +14 -0
  26. package/lib/assignment/utils/getAssignment/formatData.js +20 -0
  27. package/lib/assignment/utils/getAssignment/formatData.js.map +1 -0
  28. package/lib/assignment/utils/getAssignment/getIntegrationOfAttachedProtons.d.ts +3 -0
  29. package/lib/assignment/utils/getAssignment/getIntegrationOfAttachedProtons.js +14 -0
  30. package/lib/assignment/utils/getAssignment/getIntegrationOfAttachedProtons.js.map +1 -0
  31. package/lib/assignment/utils/getAssignment/getTargetsAndCorrelations.d.ts +18 -0
  32. package/lib/assignment/utils/getAssignment/getTargetsAndCorrelations.js +37 -0
  33. package/lib/assignment/utils/getAssignment/getTargetsAndCorrelations.js.map +1 -0
  34. package/lib/assignment/utils/getAssignment/getWorkFlow.d.ts +19 -0
  35. package/lib/assignment/utils/getAssignment/getWorkFlow.js +52 -0
  36. package/lib/assignment/utils/getAssignment/getWorkFlow.js.map +1 -0
  37. package/lib/assignment/utils/getAssignment/groupCarbonTargetByIntegrationZone.d.ts +7 -0
  38. package/lib/assignment/utils/getAssignment/groupCarbonTargetByIntegrationZone.js +43 -0
  39. package/lib/assignment/utils/getAssignment/groupCarbonTargetByIntegrationZone.js.map +1 -0
  40. package/lib/assignment/utils/getAssignment/isSpectraData1D.d.ts +2 -0
  41. package/lib/assignment/utils/getAssignment/isSpectraData1D.js +8 -0
  42. package/lib/assignment/utils/getAssignment/isSpectraData1D.js.map +1 -0
  43. package/lib/assignment/utils/getAssignment/partialScore.d.ts +13 -0
  44. package/lib/assignment/utils/getAssignment/partialScore.js +221 -0
  45. package/lib/assignment/utils/getAssignment/partialScore.js.map +1 -0
  46. package/lib/assignment/utils/getAssignment/searchIndices.d.ts +6 -0
  47. package/lib/assignment/utils/getAssignment/searchIndices.js +21 -0
  48. package/lib/assignment/utils/getAssignment/searchIndices.js.map +1 -0
  49. package/lib/assignment/utils/partialScore.d.ts +2 -2
  50. package/lib/constants/gyromagneticRatio.d.ts +5 -19
  51. package/lib/constants/gyromagneticRatio.js +2 -3
  52. package/lib/constants/gyromagneticRatio.js.map +1 -1
  53. package/lib/index.d.ts +2 -0
  54. package/lib/index.js +2 -0
  55. package/lib/index.js.map +1 -1
  56. package/lib/peaks/peaksToRanges.js +1 -0
  57. package/lib/peaks/peaksToRanges.js.map +1 -1
  58. package/lib/prediction/utils/predict2D.d.ts +0 -2
  59. package/lib/prediction/utils/predict2D.js +13 -12
  60. package/lib/prediction/utils/predict2D.js.map +1 -1
  61. package/lib/signals/signals2DToZ.d.ts +1 -0
  62. package/lib/signals/signals2DToZ.js +19 -4
  63. package/lib/signals/signals2DToZ.js.map +1 -1
  64. package/lib/utilities/getFrequency.d.ts +21 -0
  65. package/lib/utilities/getFrequency.js +30 -0
  66. package/lib/utilities/getFrequency.js.map +1 -0
  67. package/lib-esm/assignment/get13CAssignments.js.map +1 -1
  68. package/lib-esm/assignment/get1HAssignments.js.map +1 -1
  69. package/lib-esm/assignment/getAssignments.js +37 -0
  70. package/lib-esm/assignment/getAssignments.js.map +1 -0
  71. package/lib-esm/assignment/utils/buildAssignments.js.map +1 -1
  72. package/lib-esm/assignment/utils/exploreTreeRec.js.map +1 -1
  73. package/lib-esm/assignment/utils/getAssignment/buildAssignments.js +198 -0
  74. package/lib-esm/assignment/utils/getAssignment/buildAssignments.js.map +1 -0
  75. package/lib-esm/assignment/utils/getAssignment/checkIDs.js +48 -0
  76. package/lib-esm/assignment/utils/getAssignment/checkIDs.js.map +1 -0
  77. package/lib-esm/assignment/utils/getAssignment/createMapPossibleAssignment.js +51 -0
  78. package/lib-esm/assignment/utils/getAssignment/createMapPossibleAssignment.js.map +1 -0
  79. package/lib-esm/assignment/utils/getAssignment/exploreTree.js +89 -0
  80. package/lib-esm/assignment/utils/getAssignment/exploreTree.js.map +1 -0
  81. package/lib-esm/assignment/utils/getAssignment/formatData.js +16 -0
  82. package/lib-esm/assignment/utils/getAssignment/formatData.js.map +1 -0
  83. package/lib-esm/assignment/utils/getAssignment/getIntegrationOfAttachedProtons.js +10 -0
  84. package/lib-esm/assignment/utils/getAssignment/getIntegrationOfAttachedProtons.js.map +1 -0
  85. package/lib-esm/assignment/utils/getAssignment/getTargetsAndCorrelations.js +33 -0
  86. package/lib-esm/assignment/utils/getAssignment/getTargetsAndCorrelations.js.map +1 -0
  87. package/lib-esm/assignment/utils/getAssignment/getWorkFlow.js +50 -0
  88. package/lib-esm/assignment/utils/getAssignment/getWorkFlow.js.map +1 -0
  89. package/lib-esm/assignment/utils/getAssignment/groupCarbonTargetByIntegrationZone.js +41 -0
  90. package/lib-esm/assignment/utils/getAssignment/groupCarbonTargetByIntegrationZone.js.map +1 -0
  91. package/lib-esm/assignment/utils/getAssignment/isSpectraData1D.js +4 -0
  92. package/lib-esm/assignment/utils/getAssignment/isSpectraData1D.js.map +1 -0
  93. package/lib-esm/assignment/utils/getAssignment/partialScore.js +214 -0
  94. package/lib-esm/assignment/utils/getAssignment/partialScore.js.map +1 -0
  95. package/lib-esm/assignment/utils/getAssignment/searchIndices.js +17 -0
  96. package/lib-esm/assignment/utils/getAssignment/searchIndices.js.map +1 -0
  97. package/lib-esm/constants/gyromagneticRatio.js +1 -2
  98. package/lib-esm/constants/gyromagneticRatio.js.map +1 -1
  99. package/lib-esm/index.js +2 -0
  100. package/lib-esm/index.js.map +1 -1
  101. package/lib-esm/peaks/peaksToRanges.js +1 -0
  102. package/lib-esm/peaks/peaksToRanges.js.map +1 -1
  103. package/lib-esm/prediction/utils/predict2D.js +13 -12
  104. package/lib-esm/prediction/utils/predict2D.js.map +1 -1
  105. package/lib-esm/signals/signals2DToZ.js +19 -4
  106. package/lib-esm/signals/signals2DToZ.js.map +1 -1
  107. package/lib-esm/utilities/getFrequency.js +26 -0
  108. package/lib-esm/utilities/getFrequency.js.map +1 -0
  109. package/package.json +10 -9
  110. package/src/assignment/get13CAssignments.ts +2 -2
  111. package/src/assignment/get1HAssignments.ts +2 -2
  112. package/src/assignment/getAssignments.ts +149 -0
  113. package/src/assignment/utils/buildAssignments.ts +4 -4
  114. package/src/assignment/utils/createMapPossibleAssignments.ts +2 -2
  115. package/src/assignment/utils/exploreTreeRec.ts +5 -5
  116. package/src/assignment/utils/getAssignment/buildAssignments.ts +339 -0
  117. package/src/assignment/utils/getAssignment/checkIDs.ts +76 -0
  118. package/src/assignment/utils/getAssignment/createMapPossibleAssignment.ts +85 -0
  119. package/src/assignment/utils/getAssignment/data/correlations.js +713 -0
  120. package/src/assignment/utils/getAssignment/data/predictions.js +34 -0
  121. package/src/assignment/utils/getAssignment/exploreTree.ts +171 -0
  122. package/src/assignment/utils/getAssignment/formatData.ts +35 -0
  123. package/src/assignment/utils/getAssignment/getIntegrationOfAttachedProtons.ts +16 -0
  124. package/src/assignment/utils/getAssignment/getTargetsAndCorrelations.ts +63 -0
  125. package/src/assignment/utils/getAssignment/getWorkFlow.ts +72 -0
  126. package/src/assignment/utils/getAssignment/groupCarbonTargetByIntegrationZone.ts +55 -0
  127. package/src/assignment/utils/getAssignment/isSpectraData1D.ts +7 -0
  128. package/src/assignment/utils/getAssignment/partialScore.ts +308 -0
  129. package/src/assignment/utils/getAssignment/searchIndices.ts +19 -0
  130. package/src/assignment/utils/partialScore.ts +2 -2
  131. package/src/constants/gyromagneticRatio.ts +25 -1
  132. package/src/index.ts +2 -0
  133. package/src/ml-tree-set.d.ts +1 -1
  134. package/src/peaks/peaksToRanges.ts +1 -0
  135. package/src/prediction/utils/predict2D.ts +16 -16
  136. package/src/signals/signals2DToZ.ts +29 -5
  137. package/src/utilities/getFrequency.ts +47 -0
@@ -0,0 +1,50 @@
1
+ /**
2
+ * if hsqc is present in experimentTypes we can just predict 13C
3
+ * spectrum and try to assign the carbons first.
4
+ * @param {*} correlations
5
+ * @param {*} justAssign
6
+ */
7
+ function getWorkFlow(correlations, justAssign = []) {
8
+ const experimentTypes = extractExperimentType(correlations);
9
+ const { hasHSQC, types } = experimentTypes;
10
+ if (justAssign.length > 0) {
11
+ return { assignmentOrder: justAssign, experimentTypes };
12
+ }
13
+ const assignmentOrder = [];
14
+ if (hasHSQC) {
15
+ assignmentOrder.push(['C'], ['H']);
16
+ }
17
+ else {
18
+ assignmentOrder.push(types.filter((type) => type === 'H' || type === 'C'));
19
+ }
20
+ return { assignmentOrder, experimentTypes };
21
+ }
22
+ export default getWorkFlow;
23
+ function extractExperimentType(correlations) {
24
+ const types = [];
25
+ for (const correlation of correlations) {
26
+ let experimentType = correlation.experimentType;
27
+ if (experimentType === '1d') {
28
+ experimentType = `${correlation.atomType.toUpperCase()}`;
29
+ }
30
+ if (!types.includes(experimentType)) {
31
+ types.push(experimentType);
32
+ }
33
+ for (const link of correlation.link) {
34
+ experimentType = link.experimentType;
35
+ if (experimentType === '1d') {
36
+ experimentType = `${link.atomType[0].toUpperCase()}`;
37
+ }
38
+ if (!types.includes(experimentType)) {
39
+ types.push(experimentType);
40
+ }
41
+ }
42
+ }
43
+ return {
44
+ types,
45
+ hasProton: types.includes('H'),
46
+ hasCarbon: types.includes('C'),
47
+ hasHSQC: types.includes('hsqc'),
48
+ };
49
+ }
50
+ //# sourceMappingURL=getWorkFlow.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getWorkFlow.js","sourceRoot":"","sources":["../../../../src/assignment/utils/getAssignment/getWorkFlow.ts"],"names":[],"mappings":"AAGA;;;;;GAKG;AAEH,SAAS,WAAW,CAClB,YAAoB,EACpB,aAAiC,EAAE;IAEnC,MAAM,eAAe,GAAG,qBAAqB,CAAC,YAAY,CAAC,CAAC;IAE5D,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,eAAe,CAAC;IAE3C,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE;QACzB,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,eAAe,EAAE,CAAC;KACzD;IAED,MAAM,eAAe,GAAuB,EAAE,CAAC;IAE/C,IAAI,OAAO,EAAE;QACX,eAAe,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;KACpC;SAAM;QACL,eAAe,CAAC,IAAI,CAClB,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,CAAgB,CACpE,CAAC;KACH;IAED,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,CAAC;AAC9C,CAAC;AAED,eAAe,WAAW,CAAC;AAS3B,SAAS,qBAAqB,CAAC,YAAoB;IACjD,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,MAAM,WAAW,IAAI,YAAY,EAAE;QACtC,IAAI,cAAc,GAAW,WAAW,CAAC,cAAc,CAAC;QACxD,IAAI,cAAc,KAAK,IAAI,EAAE;YAC3B,cAAc,GAAG,GAAG,WAAW,CAAC,QAAQ,CAAC,WAAW,EAAE,EAAE,CAAC;SAC1D;QACD,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE;YACnC,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;SAC5B;QACD,KAAK,MAAM,IAAI,IAAI,WAAW,CAAC,IAAI,EAAE;YACnC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;YACrC,IAAI,cAAc,KAAK,IAAI,EAAE;gBAC3B,cAAc,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC;aACtD;YACD,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE;gBACnC,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;aAC5B;SACF;KACF;IAED,OAAO;QACL,KAAK;QACL,SAAS,EAAE,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC;QAC9B,SAAS,EAAE,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC;QAC9B,OAAO,EAAE,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC;KAChC,CAAC;AACJ,CAAC"}
@@ -0,0 +1,41 @@
1
+ function groupCarbonTargetByIntegrationZone(activeDomainOnTarget, targets, correlations) {
2
+ let targetID = activeDomainOnTarget[0];
3
+ let { H: attachments = [] } = targets[targetID].attachment;
4
+ let targetByIntegral = [
5
+ { targetIDs: [targetID], attachments: new Set(attachments) },
6
+ ];
7
+ for (let i = 1; i < activeDomainOnTarget.length; i++) {
8
+ let targetID = activeDomainOnTarget[i];
9
+ let target = targets[targetID];
10
+ let { H: attachments = [] } = target.attachment;
11
+ let alone = true;
12
+ for (let group of targetByIntegral) {
13
+ const pertain = attachments.some((attachment) => group.attachments.has(attachment));
14
+ if (pertain) {
15
+ alone = false;
16
+ group.targetIDs.push(targetID);
17
+ for (let attachment of attachments) {
18
+ group.attachments.add(attachment);
19
+ }
20
+ break;
21
+ }
22
+ }
23
+ if (alone) {
24
+ targetByIntegral.push({
25
+ targetIDs: [targetID],
26
+ attachments: new Set(attachments),
27
+ });
28
+ }
29
+ }
30
+ return targetByIntegral.map((t) => ({
31
+ atomType: 'C',
32
+ targetIDs: t.targetIDs,
33
+ integration: correlations
34
+ ? Array.from(t.attachments).reduce((sum, index) => {
35
+ return correlations[index].integration + sum;
36
+ }, 0)
37
+ : 0,
38
+ }));
39
+ }
40
+ export default groupCarbonTargetByIntegrationZone;
41
+ //# sourceMappingURL=groupCarbonTargetByIntegrationZone.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"groupCarbonTargetByIntegrationZone.js","sourceRoot":"","sources":["../../../../src/assignment/utils/getAssignment/groupCarbonTargetByIntegrationZone.ts"],"names":[],"mappings":"AAKA,SAAS,kCAAkC,CACzC,oBAA8B,EAC9B,OAAgB,EAChB,YAA0C;IAE1C,IAAI,QAAQ,GAAG,oBAAoB,CAAC,CAAC,CAAC,CAAC;IACvC,IAAI,EAAE,CAAC,EAAE,WAAW,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC;IAE3D,IAAI,gBAAgB,GAAG;QACrB,EAAE,SAAS,EAAE,CAAC,QAAQ,CAAC,EAAE,WAAW,EAAE,IAAI,GAAG,CAAS,WAAW,CAAC,EAAE;KACrE,CAAC;IAEF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,oBAAoB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QACpD,IAAI,QAAQ,GAAG,oBAAoB,CAAC,CAAC,CAAC,CAAC;QACvC,IAAI,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;QAC/B,IAAI,EAAE,CAAC,EAAE,WAAW,GAAG,EAAE,EAAE,GAAG,MAAM,CAAC,UAAU,CAAC;QAEhD,IAAI,KAAK,GAAG,IAAI,CAAC;QACjB,KAAK,IAAI,KAAK,IAAI,gBAAgB,EAAE;YAClC,MAAM,OAAO,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,UAAe,EAAE,EAAE,CACnD,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,CAClC,CAAC;YACF,IAAI,OAAO,EAAE;gBACX,KAAK,GAAG,KAAK,CAAC;gBACd,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAC/B,KAAK,IAAI,UAAU,IAAI,WAAW,EAAE;oBAClC,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;iBACnC;gBACD,MAAM;aACP;SACF;QACD,IAAI,KAAK,EAAE;YACT,gBAAgB,CAAC,IAAI,CAAC;gBACpB,SAAS,EAAE,CAAC,QAAQ,CAAC;gBACrB,WAAW,EAAE,IAAI,GAAG,CAAS,WAAW,CAAC;aAC1C,CAAC,CAAC;SACJ;KACF;IACD,OAAO,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAClC,QAAQ,EAAE,GAAG;QACb,SAAS,EAAE,CAAC,CAAC,SAAS;QACtB,WAAW,EAAE,YAAY;YACvB,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;gBAC9C,OAAO,YAAY,CAAC,KAAK,CAAC,CAAC,WAAW,GAAG,GAAG,CAAC;YAC/C,CAAC,EAAE,CAAC,CAAC;YACP,CAAC,CAAC,CAAC;KACN,CAAC,CAAC,CAAC;AACN,CAAC;AAED,eAAe,kCAAkC,CAAC"}
@@ -0,0 +1,4 @@
1
+ export function isSpectraData1D(spectrum) {
2
+ return 'ranges' in spectrum;
3
+ }
4
+ //# sourceMappingURL=isSpectraData1D.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isSpectraData1D.js","sourceRoot":"","sources":["../../../../src/assignment/utils/getAssignment/isSpectraData1D.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,eAAe,CAC7B,QAAqB;IAErB,OAAO,QAAQ,IAAI,QAAQ,CAAC;AAC9B,CAAC"}
@@ -0,0 +1,214 @@
1
+ import { getCorrelationDelta } from 'nmr-correlation';
2
+ import groupCarbonTargetByIntegrationZone from './groupCarbonTargetByIntegrationZone';
3
+ export function partialScore(partial, props) {
4
+ const { diaIDPeerPossibleAssignment, infoByAtomTypes, restrictionByCS, predictions, targets, correlations, } = props;
5
+ const { tolerance: toleranceCS, useChemicalShiftScore } = restrictionByCS;
6
+ let totalStarts = 0;
7
+ let totalPartial = 0;
8
+ let partialInverse = {};
9
+ let activeDomainOnPrediction = {};
10
+ const atomTypes = Object.keys(partial);
11
+ for (const atomType of atomTypes) {
12
+ let countStars = 0;
13
+ const { nbAllowedUnAssigned } = infoByAtomTypes[atomType];
14
+ const currentPartialInverse = {};
15
+ const partialAssignment = partial[atomType] || [];
16
+ partialInverse[atomType] = currentPartialInverse;
17
+ activeDomainOnPrediction[atomType] = [];
18
+ totalPartial += partialAssignment.length;
19
+ for (let i = 0; i < partialAssignment.length; i++) {
20
+ const targetID = partialAssignment[i];
21
+ if (targetID && targetID !== '*') {
22
+ activeDomainOnPrediction[atomType].push(i);
23
+ if (!currentPartialInverse[targetID]) {
24
+ currentPartialInverse[targetID] = [];
25
+ }
26
+ currentPartialInverse[targetID].push(diaIDPeerPossibleAssignment[atomType][i]);
27
+ }
28
+ if (targetID === '*')
29
+ countStars++;
30
+ }
31
+ if (countStars > nbAllowedUnAssigned)
32
+ return 0;
33
+ totalStarts += countStars;
34
+ }
35
+ const activeDomainOnTarget = {};
36
+ for (const atomType in partialInverse) {
37
+ activeDomainOnTarget[atomType] = Object.keys(partialInverse[atomType]);
38
+ }
39
+ const valuesActiveDomainOnTarget = Object.values(activeDomainOnTarget);
40
+ if (valuesActiveDomainOnTarget.reduce((sum, e) => (e.length === 0 ? sum + 1 : sum), 0) === valuesActiveDomainOnTarget.length) {
41
+ return 0;
42
+ }
43
+ const getPredictionByDiaID = getPrediction.bind({}, predictions);
44
+ // check the integration
45
+ const targetByIntegral = [];
46
+ for (const atomType in partial) {
47
+ if (atomType === 'C' && activeDomainOnTarget[atomType].length > 0) {
48
+ targetByIntegral.push(...groupCarbonTargetByIntegrationZone(activeDomainOnTarget[atomType], targets[atomType], correlations));
49
+ }
50
+ else {
51
+ for (let targetID of activeDomainOnTarget[atomType]) {
52
+ targetByIntegral.push({
53
+ atomType,
54
+ targetIDs: [targetID],
55
+ integration: targets.H[targetID].integration,
56
+ });
57
+ }
58
+ }
59
+ }
60
+ for (const group of targetByIntegral) {
61
+ const { integration, atomType } = group;
62
+ if (integration === undefined || isNaN(integration))
63
+ continue;
64
+ let total = 0;
65
+ for (let targetID of group.targetIDs) {
66
+ let targetToSource = partialInverse[atomType][targetID];
67
+ for (const diaID of targetToSource) {
68
+ const { prediction, atomType: atomOfPrediction } = getPredictionByDiaID(diaID);
69
+ if (atomType === atomOfPrediction)
70
+ total += prediction.allHydrogens;
71
+ }
72
+ }
73
+ if (total - integration >= 0.5) {
74
+ return 0;
75
+ }
76
+ }
77
+ //chemical shift score
78
+ let count = 1;
79
+ let chemicalShiftScore = 1;
80
+ if (useChemicalShiftScore) {
81
+ chemicalShiftScore = 0;
82
+ count = 0;
83
+ for (const atomType of Object.keys(partial)) {
84
+ const partialPeerAtomType = partial[atomType];
85
+ const targetsPeerAtomType = targets[atomType];
86
+ for (let index = 0; index < partialPeerAtomType.length; index++) {
87
+ const targetID = partialPeerAtomType[index];
88
+ if (targetID && targetID !== '*') {
89
+ count++;
90
+ let diaID = diaIDPeerPossibleAssignment[atomType][index];
91
+ let source = predictions[atomType][diaID];
92
+ let target = targetsPeerAtomType[targetID];
93
+ let error = toleranceCS[atomType];
94
+ // if (source.error) {
95
+ // error = Math.max(source.error, toleranceCS);
96
+ // }
97
+ if (typeof source.delta === 'undefined') {
98
+ // Chemical shift is not a restriction
99
+ chemicalShiftScore += 1;
100
+ }
101
+ else {
102
+ const targetDelta = getCorrelationDelta(target);
103
+ if (targetDelta === undefined) {
104
+ throw new Error('correlation has not delta');
105
+ }
106
+ let diff = Math.abs(source.delta - targetDelta);
107
+ if (diff < error) {
108
+ //@TODO: check for a better discriminant
109
+ chemicalShiftScore += 1;
110
+ }
111
+ else {
112
+ diff = Math.abs(diff - error);
113
+ chemicalShiftScore += (-0.25 / error) * diff + 1;
114
+ }
115
+ }
116
+ }
117
+ }
118
+ }
119
+ if (count > 0) {
120
+ chemicalShiftScore /= count;
121
+ }
122
+ }
123
+ let scoreOn2D = 0;
124
+ if (howManyActived(activeDomainOnTarget) > 1) {
125
+ let andConstrains = {};
126
+ let activeDomain = [];
127
+ for (const atomType of Object.keys(activeDomainOnPrediction)) {
128
+ activeDomain = activeDomain.concat(activeDomainOnPrediction[atomType].map((e) => ({ index: e, atomType })));
129
+ }
130
+ for (let i = 0; i < activeDomain.length; i++) {
131
+ const { atomType: atomTypeI, index: indexI } = activeDomain[i];
132
+ const predictionI = predictions[atomTypeI][diaIDPeerPossibleAssignment[atomTypeI][indexI]];
133
+ for (let j = i + 1; j < activeDomain.length; j++) {
134
+ const { atomType: atomTypeJ, index: indexJ } = activeDomain[j];
135
+ const predictionJ = predictions[atomTypeJ][diaIDPeerPossibleAssignment[atomTypeJ][indexJ]];
136
+ let pathLength = predictionI.pathLength[predictionJ.diaIDIndex];
137
+ let isPossible = pathLength < 5;
138
+ let partialI = partial[atomTypeI][indexI];
139
+ let partialJ = partial[atomTypeJ][indexJ];
140
+ if (!partialI || !partialJ)
141
+ continue;
142
+ let keyOnTargertMap = partialI > partialJ
143
+ ? `${partialJ} ${partialI}`
144
+ : `${partialI} ${partialJ}`;
145
+ let areLinked = checkLinking({
146
+ from: {
147
+ targetID: partialI,
148
+ atomType: atomTypeI,
149
+ },
150
+ to: {
151
+ targetID: partialJ,
152
+ atomType: atomTypeJ,
153
+ },
154
+ }, targets);
155
+ let partialScore2D = isPossible
156
+ ? areLinked
157
+ ? 1
158
+ : 0
159
+ : !areLinked
160
+ ? 1
161
+ : 0;
162
+ andConstrains[keyOnTargertMap] = andConstrains[keyOnTargertMap]
163
+ ? Math.max(andConstrains[keyOnTargertMap], partialScore2D)
164
+ : partialScore2D;
165
+ }
166
+ }
167
+ let sumAnd = 0;
168
+ for (let key in andConstrains) {
169
+ sumAnd += andConstrains[key];
170
+ }
171
+ scoreOn2D =
172
+ sumAnd / ((activeDomain.length * (activeDomain.length - 1)) / 2);
173
+ }
174
+ const penaltyByStarts = totalStarts / totalPartial;
175
+ if (chemicalShiftScore === 0)
176
+ return scoreOn2D - penaltyByStarts;
177
+ if (scoreOn2D === 0)
178
+ return chemicalShiftScore - penaltyByStarts;
179
+ return (chemicalShiftScore + scoreOn2D) / 2 - penaltyByStarts;
180
+ }
181
+ function checkLinking(partials, correlations) {
182
+ const { from, to } = partials;
183
+ if (from.targetID === to.targetID)
184
+ return true;
185
+ let correlationI = correlations[from.atomType][from.targetID];
186
+ let correlationJ = correlations[to.atomType][to.targetID];
187
+ for (const linkJ of correlationJ.link) {
188
+ for (const link of correlationI.link) {
189
+ if (link.signal.id === linkJ.signal.id)
190
+ return true;
191
+ }
192
+ }
193
+ return false;
194
+ }
195
+ function getPrediction(predictions, diaID) {
196
+ const atomTypes = Object.keys(predictions);
197
+ for (const atomType of atomTypes) {
198
+ const predictionByAtomType = predictions[atomType];
199
+ if (!predictionByAtomType)
200
+ throw new Error(`prediction by ${atomType}`);
201
+ if (predictionByAtomType[diaID]) {
202
+ return { atomType, prediction: predictionByAtomType[diaID] };
203
+ }
204
+ }
205
+ throw new Error(`There is not prediction for ${diaID}`);
206
+ }
207
+ function howManyActived(actived) {
208
+ let sum = 0;
209
+ for (const atom in actived) {
210
+ sum += actived[atom].length;
211
+ }
212
+ return sum;
213
+ }
214
+ //# sourceMappingURL=partialScore.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"partialScore.js","sourceRoot":"","sources":["../../../../src/assignment/utils/getAssignment/partialScore.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ import { isSpectraData1D } from './isSpectraData1D';
2
+ export function searchIndices(signalId, spectra) {
3
+ for (let spectrumIndex = 0; spectrumIndex < spectra.length; spectrumIndex++) {
4
+ const spectrum = spectra[spectrumIndex];
5
+ const data = isSpectraData1D(spectrum) ? spectrum.ranges : spectrum.zones;
6
+ for (let elementIndex = 0; elementIndex < data.length; elementIndex++) {
7
+ const signals = data[elementIndex].signals || [];
8
+ for (let signalIndex = 0; signalIndex < signals.length; signalIndex++) {
9
+ if (signalId === signals[signalIndex].id) {
10
+ return { spectrumIndex, signalIndex, elementIndex };
11
+ }
12
+ }
13
+ }
14
+ }
15
+ throw new Error(`There is not a signal with ${signalId} ID`);
16
+ }
17
+ //# sourceMappingURL=searchIndices.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"searchIndices.js","sourceRoot":"","sources":["../../../../src/assignment/utils/getAssignment/searchIndices.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD,MAAM,UAAU,aAAa,CAAC,QAAgB,EAAE,OAAsB;IACpE,KAAK,IAAI,aAAa,GAAG,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,MAAM,EAAE,aAAa,EAAE,EAAE;QAC3E,MAAM,QAAQ,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;QACxC,MAAM,IAAI,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC;QAC1E,KAAK,IAAI,YAAY,GAAG,CAAC,EAAE,YAAY,GAAG,IAAI,CAAC,MAAM,EAAE,YAAY,EAAE,EAAE;YACrE,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,OAAO,IAAI,EAAE,CAAC;YACjD,KAAK,IAAI,WAAW,GAAG,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,EAAE,WAAW,EAAE,EAAE;gBACrE,IAAI,QAAQ,KAAK,OAAO,CAAC,WAAW,CAAC,CAAC,EAAE,EAAE;oBACxC,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,YAAY,EAAE,CAAC;iBACrD;aACF;SACF;KACF;IACD,MAAM,IAAI,KAAK,CAAC,8BAA8B,QAAQ,KAAK,CAAC,CAAC;AAC/D,CAAC"}
@@ -1,7 +1,6 @@
1
1
  // sources:
2
2
  // https://en.wikipedia.org/wiki/Gyromagnetic_ratio
3
- // TODO: #13 can we have a better source and more digits ? @jwist
4
- export const gyromagneticRatio = {
3
+ export const GYROMAGNETIC_RATIO = {
5
4
  '1H': 267.52218744e6,
6
5
  '2H': 41.065e6,
7
6
  '3H': 285.3508e6,
@@ -1 +1 @@
1
- {"version":3,"file":"gyromagneticRatio.js","sourceRoot":"","sources":["../../src/constants/gyromagneticRatio.ts"],"names":[],"mappings":"AAAA,WAAW;AACX,mDAAmD;AAEnD,iEAAiE;AAEjE,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,IAAI,EAAE,cAAc;IACpB,IAAI,EAAE,QAAQ;IACd,IAAI,EAAE,UAAU;IAChB,KAAK,EAAE,CAAC,SAAS;IACjB,KAAK,EAAE,SAAS;IAChB,KAAK,EAAE,UAAU;IACjB,KAAK,EAAE,QAAQ;IACf,KAAK,EAAE,CAAC,QAAQ;IAChB,KAAK,EAAE,CAAC,QAAQ;IAChB,KAAK,EAAE,SAAS;IAChB,MAAM,EAAE,QAAQ;IAChB,MAAM,EAAE,QAAQ;IAChB,MAAM,EAAE,CAAC,OAAO;IAChB,KAAK,EAAE,SAAS;IAChB,MAAM,EAAE,OAAO;IACf,MAAM,EAAE,QAAQ;IAChB,MAAM,EAAE,QAAQ;IAChB,OAAO,EAAE,CAAC,QAAQ;CACnB,CAAC"}
1
+ {"version":3,"file":"gyromagneticRatio.js","sourceRoot":"","sources":["../../src/constants/gyromagneticRatio.ts"],"names":[],"mappings":"AAAA,WAAW;AACX,mDAAmD;AA4BnD,MAAM,CAAC,MAAM,kBAAkB,GAAsB;IACnD,IAAI,EAAE,cAAc;IACpB,IAAI,EAAE,QAAQ;IACd,IAAI,EAAE,UAAU;IAChB,KAAK,EAAE,CAAC,SAAS;IACjB,KAAK,EAAE,SAAS;IAChB,KAAK,EAAE,UAAU;IACjB,KAAK,EAAE,QAAQ;IACf,KAAK,EAAE,CAAC,QAAQ;IAChB,KAAK,EAAE,CAAC,QAAQ;IAChB,KAAK,EAAE,SAAS;IAChB,MAAM,EAAE,QAAQ;IAChB,MAAM,EAAE,QAAQ;IAChB,MAAM,EAAE,CAAC,OAAO;IAChB,KAAK,EAAE,SAAS;IAChB,MAAM,EAAE,OAAO;IACf,MAAM,EAAE,QAAQ;IAChB,MAAM,EAAE,QAAQ;IAChB,OAAO,EAAE,CAAC,QAAQ;CACnB,CAAC"}
package/lib-esm/index.js CHANGED
@@ -11,6 +11,7 @@ export * from './prediction/predictAll';
11
11
  export * from './prediction/predictAllSpectra';
12
12
  export * from './assignment/get1HAssignments';
13
13
  export * from './assignment/get13CAssignments';
14
+ export * from './assignment/getAssignments';
14
15
  export * from './ranges/rangesToACS';
15
16
  export * from './ranges/rangesToXY';
16
17
  export * from './signals/signalsToRanges';
@@ -18,6 +19,7 @@ export * from './signals/signalsToXY';
18
19
  export * from './signals/signals2DToZ';
19
20
  export * from './utilities/resurrect';
20
21
  export * from './utilities/rangeFromSignal';
22
+ export * from './utilities/getFrequency';
21
23
  export * from './xy/xyAutoPeaksPicking';
22
24
  export * from './xy/xyAutoRangesPicking';
23
25
  export * from './xyz/xyzAutoZonesPicking';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,+BAA+B,CAAC;AAC9C,cAAc,wBAAwB,CAAC;AACvC,cAAc,8BAA8B,CAAC;AAE7C,cAAc,+BAA+B,CAAC;AAE9C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,yBAAyB,CAAC;AACxC,cAAc,gCAAgC,CAAC;AAE/C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,gCAAgC,CAAC;AAE/C,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AAEpC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC;AAEvC,cAAc,uBAAuB,CAAC;AACtC,cAAc,6BAA6B,CAAC;AAE5C,cAAc,yBAAyB,CAAC;AACxC,cAAc,0BAA0B,CAAC;AAEzC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,uBAAuB,CAAC;AAEtC,cAAc,yBAAyB,CAAC;AACxC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,8BAA8B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,+BAA+B,CAAC;AAC9C,cAAc,wBAAwB,CAAC;AACvC,cAAc,8BAA8B,CAAC;AAE7C,cAAc,+BAA+B,CAAC;AAE9C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,yBAAyB,CAAC;AACxC,cAAc,gCAAgC,CAAC;AAE/C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,6BAA6B,CAAC;AAE5C,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AAEpC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC;AAEvC,cAAc,uBAAuB,CAAC;AACtC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,0BAA0B,CAAC;AAEzC,cAAc,yBAAyB,CAAC;AACxC,cAAc,0BAA0B,CAAC;AAEzC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,uBAAuB,CAAC;AAEtC,cAAc,yBAAyB,CAAC;AACxC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,8BAA8B,CAAC"}
@@ -140,6 +140,7 @@ export function peaksToRanges(data, peakList, options = {}) {
140
140
  delta: signal.delta,
141
141
  kind: signal.kind || 'signal',
142
142
  multiplicity: signal.multiplicity,
143
+ integration: signal.integralData.value,
143
144
  };
144
145
  if (keepPeaks) {
145
146
  signalResult.peaks = signal.peaks.map((peak) => {
@@ -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":"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"}
@@ -13,7 +13,7 @@ export async function predict2D(molecule, options = {}) {
13
13
  let { from, to, minLength = 0, maxLength, predictOptions = {}, predictions, predictor, joinDistance = { H: 0.05, C: 0.5 }, includeDiagonal = false, } = options;
14
14
  molecule.addImplicitHydrogens();
15
15
  let diaIDs = getGroupedDiastereotopicAtomIDs(molecule);
16
- const paths = getPathsInfo(molecule, {
16
+ const pathsInfo = getPathsInfo(molecule, {
17
17
  fromLabel: from,
18
18
  toLabel: to,
19
19
  minLength,
@@ -23,7 +23,7 @@ export async function predict2D(molecule, options = {}) {
23
23
  for (let diaID of diaIDs) {
24
24
  diaIDswithAtomInfo.push({
25
25
  ...diaID,
26
- atomInfo: JSON.parse(JSON.stringify(paths[diaID.atoms[0]])),
26
+ pathInfo: JSON.parse(JSON.stringify(pathsInfo[diaID.atoms[0]])),
27
27
  });
28
28
  }
29
29
  const xPrediction = await getPredictions(from, molecule, predictOptions, predictor, predictions);
@@ -50,21 +50,21 @@ export async function predict2D(molecule, options = {}) {
50
50
  }
51
51
  let group = {};
52
52
  for (const diaID of diaIDswithAtomInfo) {
53
- const atom = diaID.atomInfo;
54
- if (atom.paths.length < 1)
53
+ const pathInfo = diaID.pathInfo;
54
+ if (pathInfo.paths.length < 1)
55
55
  continue;
56
- if (!signalsByDiaID.x[atom.oclID])
56
+ if (!signalsByDiaID.x[pathInfo.oclID])
57
57
  continue;
58
- const currentPaths = atom.paths;
58
+ const currentPaths = pathInfo.paths;
59
59
  for (const path of currentPaths) {
60
- if (!signalsByDiaID.y[paths[path.to].oclID])
60
+ if (!signalsByDiaID.y[pathsInfo[path.to].oclID])
61
61
  continue;
62
62
  let fromToDiaID = {
63
- x: atom,
64
- y: paths[path.to],
63
+ x: pathInfo,
64
+ y: pathsInfo[path.to],
65
65
  };
66
66
  const key = `${fromToDiaID.x.oclID}-${fromToDiaID.y.oclID}`;
67
- if (key === `${atom.oclID}-${atom.oclID}` || group[key]) {
67
+ if (key === `${pathInfo.oclID}-${pathInfo.oclID}` || group[key]) {
68
68
  continue;
69
69
  }
70
70
  let peak = { z: 100 };
@@ -80,8 +80,9 @@ export async function predict2D(molecule, options = {}) {
80
80
  group[key] = signal;
81
81
  }
82
82
  }
83
- if (includeDiagonal)
84
- addSelftCorrelation(group, { paths, signalsByDiaID });
83
+ if (includeDiagonal) {
84
+ addSelftCorrelation(group, { paths: pathsInfo, signalsByDiaID });
85
+ }
85
86
  // clusterize signals by distance
86
87
  const joinedSignals = Object.values(group);
87
88
  const zones = createZones(joinedSignals, { joinDistance, from, to });
@@ -1 +1 @@
1
- {"version":3,"file":"predict2D.js","sourceRoot":"","sources":["../../../src/prediction/utils/predict2D.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"predict2D.js","sourceRoot":"","sources":["../../../src/prediction/utils/predict2D.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { generateSpectrum2D } from 'spectrum-generator';
2
2
  export function signals2DToZ(signals, options = {}) {
3
- let { from = -1, to = 12, nbPoints = 512, width = 0.02 } = options;
3
+ let { from = -1, to = 12, nbPoints = 512, width = 0.02, factor = 3, } = options;
4
4
  const peaks = signals.reduce((acc, { x, y }) => {
5
5
  acc.x.push(x.delta);
6
6
  acc.y.push(y.delta);
@@ -8,7 +8,7 @@ export function signals2DToZ(signals, options = {}) {
8
8
  return acc;
9
9
  }, { x: [], y: [], z: [] });
10
10
  width = ensureXYNumber(width);
11
- return generateSpectrum2D(peaks, {
11
+ return generateSpectrum2D(mergeClosePeaks(peaks), {
12
12
  generator: {
13
13
  from: ensureXYNumber(from),
14
14
  to: ensureXYNumber(to),
@@ -16,11 +16,26 @@ export function signals2DToZ(signals, options = {}) {
16
16
  },
17
17
  peaks: {
18
18
  width,
19
+ factor,
19
20
  },
20
21
  });
21
22
  }
22
23
  function ensureXYNumber(input) {
23
- let result = typeof input !== 'object' ? { x: input, y: input } : input;
24
- return result;
24
+ return typeof input !== 'object' ? { x: input, y: input } : { ...input };
25
+ }
26
+ function mergeClosePeaks(peaksIn) {
27
+ let peaks = JSON.parse(JSON.stringify(peaksIn));
28
+ for (let i = 0; i < peaks.x.length; i++) {
29
+ for (let j = i + 1; j < peaks.x.length; j++) {
30
+ if (peaks.x[i] === peaks.x[j] && peaks.y[i] === peaks.y[j]) {
31
+ peaks.z[i] += peaks.z[j];
32
+ peaks.x.splice(j, 1);
33
+ peaks.y.splice(j, 1);
34
+ peaks.z.splice(j, 1);
35
+ j--;
36
+ }
37
+ }
38
+ }
39
+ return peaks;
25
40
  }
26
41
  //# sourceMappingURL=signals2DToZ.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"signals2DToZ.js","sourceRoot":"","sources":["../../src/signals/signals2DToZ.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAoCxD,MAAM,UAAU,YAAY,CAC1B,OAAsB,EACtB,UAA+B,EAAE;IAEjC,IAAI,EAAE,IAAI,GAAG,CAAC,CAAC,EAAE,EAAE,GAAG,EAAE,EAAE,QAAQ,GAAG,GAAG,EAAE,KAAK,GAAG,IAAI,EAAE,GAAG,OAAO,CAAC;IAEnE,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,CAC1B,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE;QAChB,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QACpB,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QACpB,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAChB,OAAO,GAAG,CAAC;IACb,CAAC,EACD,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CACxB,CAAC;IAEF,KAAK,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;IAC9B,OAAO,kBAAkB,CAAC,KAAK,EAAE;QAC/B,SAAS,EAAE;YACT,IAAI,EAAE,cAAc,CAAC,IAAI,CAAC;YAC1B,EAAE,EAAE,cAAc,CAAC,EAAE,CAAC;YACtB,QAAQ,EAAE,cAAc,CAAC,QAAQ,CAAC;SACnC;QACD,KAAK,EAAE;YACL,KAAK;SACN;KACF,CAAC,CAAC;AACL,CAAC;AAED,SAAS,cAAc,CAAC,KAAwB;IAC9C,IAAI,MAAM,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;IACxE,OAAO,MAAM,CAAC;AAChB,CAAC"}
1
+ {"version":3,"file":"signals2DToZ.js","sourceRoot":"","sources":["../../src/signals/signals2DToZ.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAqCxD,MAAM,UAAU,YAAY,CAC1B,OAAsB,EACtB,UAA+B,EAAE;IAEjC,IAAI,EACF,IAAI,GAAG,CAAC,CAAC,EACT,EAAE,GAAG,EAAE,EACP,QAAQ,GAAG,GAAG,EACd,KAAK,GAAG,IAAI,EACZ,MAAM,GAAG,CAAC,GACX,GAAG,OAAO,CAAC;IAEZ,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,CAC1B,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE;QAChB,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QACpB,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QACpB,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAChB,OAAO,GAAG,CAAC;IACb,CAAC,EACD,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CACxB,CAAC;IAEF,KAAK,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;IAE9B,OAAO,kBAAkB,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE;QAChD,SAAS,EAAE;YACT,IAAI,EAAE,cAAc,CAAC,IAAI,CAAC;YAC1B,EAAE,EAAE,cAAc,CAAC,EAAE,CAAC;YACtB,QAAQ,EAAE,cAAc,CAAC,QAAQ,CAAC;SACnC;QACD,KAAK,EAAE;YACL,KAAK;YACL,MAAM;SACP;KACF,CAAC,CAAC;AACL,CAAC;AAED,SAAS,cAAc,CAAC,KAAwB;IAC9C,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,KAAK,EAAE,CAAC;AAC3E,CAAC;AAED,SAAS,eAAe,CAAC,OAAqB;IAC5C,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;IAChD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QACvC,KAAK,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAC3C,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;gBAC1D,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACzB,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;gBACrB,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;gBACrB,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;gBACrB,CAAC,EAAE,CAAC;aACL;SACF;KACF;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}