nmr-processing 9.9.2 → 10.0.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 (136) hide show
  1. package/lib/assignment/get13CAssignments.js +7 -4
  2. package/lib/assignment/get13CAssignments.js.map +1 -1
  3. package/lib/assignment/get1HAssignments.js +7 -5
  4. package/lib/assignment/get1HAssignments.js.map +1 -1
  5. package/lib/assignment/utils/generalAssignment/buildAssignments.d.ts +3 -1
  6. package/lib/assignment/utils/generalAssignment/buildAssignments.js +18 -7
  7. package/lib/assignment/utils/generalAssignment/buildAssignments.js.map +1 -1
  8. package/lib/index.d.ts +2 -7
  9. package/lib/index.js +2 -7
  10. package/lib/index.js.map +1 -1
  11. package/lib/prediction/GroupDiastereotopicAtomIDs.d.ts +6 -0
  12. package/lib/prediction/GroupDiastereotopicAtomIDs.js +3 -0
  13. package/lib/prediction/GroupDiastereotopicAtomIDs.js.map +1 -0
  14. package/lib/prediction/Prediction1D.d.ts +2 -7
  15. package/lib/prediction/Prediction2D.d.ts +2 -7
  16. package/lib/prediction/PredictionBase1D.d.ts +8 -0
  17. package/lib/prediction/PredictionBase1D.js +3 -0
  18. package/lib/prediction/PredictionBase1D.js.map +1 -0
  19. package/lib/prediction/PredictionBase2D.d.ts +8 -0
  20. package/lib/prediction/PredictionBase2D.js +3 -0
  21. package/lib/prediction/PredictionBase2D.js.map +1 -0
  22. package/lib/prediction/predict.d.ts +55 -0
  23. package/lib/prediction/predict.js +113 -0
  24. package/lib/prediction/predict.js.map +1 -0
  25. package/lib/prediction/predictCOSY.d.ts +15 -13
  26. package/lib/prediction/predictCOSY.js +3 -6
  27. package/lib/prediction/predictCOSY.js.map +1 -1
  28. package/lib/prediction/predictCarbon.d.ts +12 -4
  29. package/lib/prediction/predictCarbon.js +10 -16
  30. package/lib/prediction/predictCarbon.js.map +1 -1
  31. package/lib/prediction/predictHMBC.d.ts +16 -25
  32. package/lib/prediction/predictHMBC.js +3 -7
  33. package/lib/prediction/predictHMBC.js.map +1 -1
  34. package/lib/prediction/predictHSQC.d.ts +16 -25
  35. package/lib/prediction/predictHSQC.js +3 -7
  36. package/lib/prediction/predictHSQC.js.map +1 -1
  37. package/lib/prediction/predictProton.d.ts +7 -4
  38. package/lib/prediction/predictProton.js +8 -21
  39. package/lib/prediction/predictProton.js.map +1 -1
  40. package/lib/prediction/{predictAllSpectra.d.ts → predictSpectra.d.ts} +1 -1
  41. package/lib/prediction/{predictAllSpectra.js → predictSpectra.js} +7 -5
  42. package/lib/prediction/predictSpectra.js.map +1 -0
  43. package/lib/prediction/utils/fetchPrediction.d.ts +2 -3
  44. package/lib/prediction/utils/fetchPrediction.js +12 -7
  45. package/lib/prediction/utils/fetchPrediction.js.map +1 -1
  46. package/lib/prediction/utils/getFilteredIDiaIDs.d.ts +4 -13
  47. package/lib/prediction/utils/getFilteredIDiaIDs.js +7 -20
  48. package/lib/prediction/utils/getFilteredIDiaIDs.js.map +1 -1
  49. package/lib/prediction/utils/isMolfileNotEmpty.d.ts +1 -0
  50. package/lib/prediction/utils/isMolfileNotEmpty.js +12 -0
  51. package/lib/prediction/utils/isMolfileNotEmpty.js.map +1 -0
  52. package/lib/prediction/utils/predict2D.d.ts +13 -16
  53. package/lib/prediction/utils/predict2D.js +41 -18
  54. package/lib/prediction/utils/predict2D.js.map +1 -1
  55. package/lib/prediction/utils/queryByHOSE.d.ts +1 -2
  56. package/lib/prediction/utils/queryByHOSE.js.map +1 -1
  57. package/lib/prediction/utils/shouldPredict.d.ts +2 -0
  58. package/lib/prediction/utils/shouldPredict.js +15 -0
  59. package/lib/prediction/utils/shouldPredict.js.map +1 -0
  60. package/lib-esm/assignment/get13CAssignments.js +7 -4
  61. package/lib-esm/assignment/get13CAssignments.js.map +1 -1
  62. package/lib-esm/assignment/get1HAssignments.js +7 -5
  63. package/lib-esm/assignment/get1HAssignments.js.map +1 -1
  64. package/lib-esm/assignment/utils/generalAssignment/buildAssignments.js +18 -7
  65. package/lib-esm/assignment/utils/generalAssignment/buildAssignments.js.map +1 -1
  66. package/lib-esm/index.js +2 -7
  67. package/lib-esm/index.js.map +1 -1
  68. package/lib-esm/prediction/GroupDiastereotopicAtomIDs.js +2 -0
  69. package/lib-esm/prediction/GroupDiastereotopicAtomIDs.js.map +1 -0
  70. package/lib-esm/prediction/PredictionBase1D.js +2 -0
  71. package/lib-esm/prediction/PredictionBase1D.js.map +1 -0
  72. package/lib-esm/prediction/PredictionBase2D.js +2 -0
  73. package/lib-esm/prediction/PredictionBase2D.js.map +1 -0
  74. package/lib-esm/prediction/predict.js +109 -0
  75. package/lib-esm/prediction/predict.js.map +1 -0
  76. package/lib-esm/prediction/predictCOSY.js +3 -6
  77. package/lib-esm/prediction/predictCOSY.js.map +1 -1
  78. package/lib-esm/prediction/predictCarbon.js +10 -16
  79. package/lib-esm/prediction/predictCarbon.js.map +1 -1
  80. package/lib-esm/prediction/predictHMBC.js +3 -7
  81. package/lib-esm/prediction/predictHMBC.js.map +1 -1
  82. package/lib-esm/prediction/predictHSQC.js +3 -7
  83. package/lib-esm/prediction/predictHSQC.js.map +1 -1
  84. package/lib-esm/prediction/predictProton.js +8 -21
  85. package/lib-esm/prediction/predictProton.js.map +1 -1
  86. package/lib-esm/prediction/{predictAllSpectra.js → predictSpectra.js} +7 -5
  87. package/lib-esm/prediction/predictSpectra.js.map +1 -0
  88. package/lib-esm/prediction/utils/fetchPrediction.js +12 -7
  89. package/lib-esm/prediction/utils/fetchPrediction.js.map +1 -1
  90. package/lib-esm/prediction/utils/getFilteredIDiaIDs.js +7 -20
  91. package/lib-esm/prediction/utils/getFilteredIDiaIDs.js.map +1 -1
  92. package/lib-esm/prediction/utils/isMolfileNotEmpty.js +8 -0
  93. package/lib-esm/prediction/utils/isMolfileNotEmpty.js.map +1 -0
  94. package/lib-esm/prediction/utils/predict2D.js +41 -18
  95. package/lib-esm/prediction/utils/predict2D.js.map +1 -1
  96. package/lib-esm/prediction/utils/queryByHOSE.js.map +1 -1
  97. package/lib-esm/prediction/utils/shouldPredict.js +11 -0
  98. package/lib-esm/prediction/utils/shouldPredict.js.map +1 -0
  99. package/package.json +2 -3
  100. package/src/assignment/get13CAssignments.ts +9 -8
  101. package/src/assignment/get1HAssignments.ts +8 -9
  102. package/src/assignment/utils/generalAssignment/buildAssignments.ts +28 -12
  103. package/src/index.ts +3 -8
  104. package/src/prediction/GroupDiastereotopicAtomIDs.ts +6 -0
  105. package/src/prediction/Prediction1D.ts +2 -7
  106. package/src/prediction/Prediction2D.ts +2 -7
  107. package/src/prediction/PredictionBase1D.ts +9 -0
  108. package/src/prediction/PredictionBase2D.ts +9 -0
  109. package/src/prediction/predict.ts +201 -0
  110. package/src/prediction/predictCOSY.ts +18 -18
  111. package/src/prediction/predictCarbon.ts +28 -26
  112. package/src/prediction/predictHMBC.ts +17 -27
  113. package/src/prediction/predictHSQC.ts +18 -25
  114. package/src/prediction/predictProton.ts +16 -30
  115. package/src/prediction/{predictAllSpectra.ts → predictSpectra.ts} +6 -4
  116. package/src/prediction/utils/fetchPrediction.ts +15 -10
  117. package/src/prediction/utils/getFilteredIDiaIDs.ts +16 -49
  118. package/src/prediction/utils/isMolfileNotEmpty.ts +8 -0
  119. package/src/prediction/utils/predict2D.ts +69 -69
  120. package/src/prediction/utils/queryByHOSE.ts +2 -2
  121. package/src/prediction/utils/shouldPredict.ts +14 -0
  122. package/lib/prediction/predictAll.d.ts +0 -64
  123. package/lib/prediction/predictAll.js +0 -82
  124. package/lib/prediction/predictAll.js.map +0 -1
  125. package/lib/prediction/predictAllSpectra.js.map +0 -1
  126. package/lib/prediction/utils/getPredictions.d.ts +0 -4
  127. package/lib/prediction/utils/getPredictions.js +0 -18
  128. package/lib/prediction/utils/getPredictions.js.map +0 -1
  129. package/lib-esm/prediction/predictAll.js +0 -78
  130. package/lib-esm/prediction/predictAll.js.map +0 -1
  131. package/lib-esm/prediction/predictAllSpectra.js.map +0 -1
  132. package/lib-esm/prediction/utils/getPredictions.js +0 -14
  133. package/lib-esm/prediction/utils/getPredictions.js.map +0 -1
  134. package/src/openchemlib-utils.d.ts +0 -167
  135. package/src/prediction/predictAll.ts +0 -157
  136. package/src/prediction/utils/getPredictions.ts +0 -24
@@ -2,8 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.get13CAssignments = void 0;
4
4
  const uuid_1 = require("@lukeed/uuid");
5
- const openchemlib_utils_1 = require("openchemlib-utils");
6
- const predictCarbon_1 = require("../prediction/predictCarbon");
5
+ const __1 = require("..");
7
6
  const buildAssignments_1 = require("./utils/oneDimensionalAssignment/buildAssignments");
8
7
  function checkAtomsAndDiaIDs(signals) {
9
8
  for (const signal of signals) {
@@ -27,8 +26,12 @@ async function get13CAssignments(ranges, molecule, options = {}) {
27
26
  if (!molecule) {
28
27
  throw new Error('It is needed a OCL molecule instance to assign');
29
28
  }
30
- (0, openchemlib_utils_1.ensureHeterotopicChiralBonds)(molecule);
31
- const { joinedSignals } = await (0, predictCarbon_1.predictCarbon)(molecule, predictionOptions);
29
+ const { spectra } = await (0, __1.predict)(molecule, {
30
+ predictOptions: {
31
+ C: predictionOptions,
32
+ },
33
+ });
34
+ const joinedSignals = spectra.carbon?.joinedSignals || [];
32
35
  checkAtomsAndDiaIDs(joinedSignals);
33
36
  const copyRanges = checkIntegration(ranges);
34
37
  const targets = {};
@@ -1 +1 @@
1
- {"version":3,"file":"get13CAssignments.js","sourceRoot":"","sources":["../../src/assignment/get13CAssignments.ts"],"names":[],"mappings":";;;AAAA,uCAAgD;AAEhD,yDAAiE;AAGjE,+DAGqC;AAOrC,wFAG2D;AAE3D,SAAS,mBAAmB,CAC1B,OAAsB;IAEtB,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE;QAC5B,IAAI,CAAC,MAAM,CAAC,KAAK;YAAE,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;QACpE,IAAI,CAAC,MAAM,CAAC,MAAM;YAAE,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;QACtE,IAAI,CAAC,MAAM,CAAC,OAAO;YAAE,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;KACzE;AACH,CAAC;AAED,SAAS,gBAAgB,CAAC,MAAkB;IAC1C,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE;QAC1B,IAAI,KAAK,CAAC,WAAW,KAAK,SAAS;YAAE,KAAK,CAAC,WAAW,GAAG,CAAC,CAAC;KAC5D;IACD,OAAO,MAAmC,CAAC;AAC7C,CAAC;AA8BM,KAAK,UAAU,iBAAiB,CACrC,MAAkB,EAClB,QAAkB,EAClB,UAAoC,EAAE;IAEtC,MAAM,EACJ,eAAe,GAAG,EAAE,EACpB,QAAQ,GAAG,CAAC,EACZ,YAAY,GAAG,EAAE,EACjB,mBAAmB,GAAG,CAAC,EACvB,OAAO,GAAG,IAAI,EACd,iBAAiB,GAAG,EAAE,GACvB,GAAG,OAAO,CAAC;IAEZ,IAAI,CAAC,QAAQ,EAAE;QACb,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;KACnE;IAED,IAAA,gDAA4B,EAAC,QAAQ,CAAC,CAAC;IACvC,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,IAAA,6BAAa,EAAC,QAAQ,EAAE,iBAAiB,CAAC,CAAC;IAE3E,mBAAmB,CAAC,aAAa,CAAC,CAAC;IACnC,MAAM,UAAU,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC;IAE5C,MAAM,OAAO,GAAY,EAAE,CAAC;IAC5B,KAAK,MAAM,KAAK,IAAI,UAAU,EAAE;QAC9B,MAAM,EAAE,EAAE,GAAG,IAAA,SAAU,GAAE,EAAE,GAAG,KAAK,CAAC;QACpC,OAAO,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;KACjD;IAED,OAAO,IAAA,mCAAgB,EAAC;QACtB,eAAe;QACf,OAAO;QACP,QAAQ;QACR,mBAAmB;QACnB,YAAY;QACZ,OAAO;QACP,aAAa;QACb,yBAAyB,EAAE,KAAK;KACjC,CAAC,CAAC;AACL,CAAC;AAxCD,8CAwCC"}
1
+ {"version":3,"file":"get13CAssignments.js","sourceRoot":"","sources":["../../src/assignment/get13CAssignments.ts"],"names":[],"mappings":";;;AAAA,uCAAgD;AAGhD,0BAAgE;AAQhE,wFAG2D;AAE3D,SAAS,mBAAmB,CAC1B,OAAsB;IAEtB,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE;QAC5B,IAAI,CAAC,MAAM,CAAC,KAAK;YAAE,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;QACpE,IAAI,CAAC,MAAM,CAAC,MAAM;YAAE,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;QACtE,IAAI,CAAC,MAAM,CAAC,OAAO;YAAE,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;KACzE;AACH,CAAC;AAED,SAAS,gBAAgB,CAAC,MAAkB;IAC1C,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE;QAC1B,IAAI,KAAK,CAAC,WAAW,KAAK,SAAS;YAAE,KAAK,CAAC,WAAW,GAAG,CAAC,CAAC;KAC5D;IACD,OAAO,MAAmC,CAAC;AAC7C,CAAC;AA8BM,KAAK,UAAU,iBAAiB,CACrC,MAAkB,EAClB,QAAkB,EAClB,UAAoC,EAAE;IAEtC,MAAM,EACJ,eAAe,GAAG,EAAE,EACpB,QAAQ,GAAG,CAAC,EACZ,YAAY,GAAG,EAAE,EACjB,mBAAmB,GAAG,CAAC,EACvB,OAAO,GAAG,IAAI,EACd,iBAAiB,GAAG,EAAE,GACvB,GAAG,OAAO,CAAC;IAEZ,IAAI,CAAC,QAAQ,EAAE;QACb,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;KACnE;IAED,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,IAAA,WAAO,EAAC,QAAQ,EAAE;QAC1C,cAAc,EAAE;YACd,CAAC,EAAE,iBAAiB;SACrB;KACF,CAAC,CAAC;IAEH,MAAM,aAAa,GAAG,OAAO,CAAC,MAAM,EAAE,aAAa,IAAI,EAAE,CAAC;IAE1D,mBAAmB,CAAC,aAAa,CAAC,CAAC;IACnC,MAAM,UAAU,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC;IAE5C,MAAM,OAAO,GAAY,EAAE,CAAC;IAC5B,KAAK,MAAM,KAAK,IAAI,UAAU,EAAE;QAC9B,MAAM,EAAE,EAAE,GAAG,IAAA,SAAU,GAAE,EAAE,GAAG,KAAK,CAAC;QACpC,OAAO,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;KACjD;IAED,OAAO,IAAA,mCAAgB,EAAC;QACtB,eAAe;QACf,OAAO;QACP,QAAQ;QACR,mBAAmB;QACnB,YAAY;QACZ,OAAO;QACP,aAAa;QACb,yBAAyB,EAAE,KAAK;KACjC,CAAC,CAAC;AACL,CAAC;AA7CD,8CA6CC"}
@@ -2,8 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.get1HAssignments = void 0;
4
4
  const uuid_1 = require("@lukeed/uuid");
5
- const openchemlib_utils_1 = require("openchemlib-utils");
6
- const predictProton_1 = require("../prediction/predictProton");
5
+ const __1 = require("..");
7
6
  const buildAssignments_1 = require("./utils/oneDimensionalAssignment/buildAssignments");
8
7
  function checkAtomsAndDiaIDs(signals) {
9
8
  for (const signal of signals) {
@@ -27,9 +26,12 @@ async function get1HAssignments(ranges, molecule, options = {}) {
27
26
  if (!molecule) {
28
27
  throw new Error('It is needed a OCL molecule instance to assign');
29
28
  }
30
- molecule.addImplicitHydrogens();
31
- (0, openchemlib_utils_1.ensureHeterotopicChiralBonds)(molecule);
32
- const { joinedSignals } = await (0, predictProton_1.predictProton)(molecule, predictionOptions);
29
+ const { spectra } = await (0, __1.predict)(molecule, {
30
+ predictOptions: {
31
+ H: predictionOptions,
32
+ },
33
+ });
34
+ const joinedSignals = spectra.proton?.joinedSignals || [];
33
35
  checkForIntegration(ranges);
34
36
  checkAtomsAndDiaIDs(joinedSignals);
35
37
  const targets = {};
@@ -1 +1 @@
1
- {"version":3,"file":"get1HAssignments.js","sourceRoot":"","sources":["../../src/assignment/get1HAssignments.ts"],"names":[],"mappings":";;;AAAA,uCAAgD;AAEhD,yDAAiE;AAGjE,+DAGqC;AAIrC,wFAG2D;AAO3D,SAAS,mBAAmB,CAC1B,OAAsB;IAEtB,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE;QAC5B,IAAI,CAAC,MAAM,CAAC,KAAK;YAAE,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;QACpE,IAAI,CAAC,MAAM,CAAC,MAAM;YAAE,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;QACtE,IAAI,CAAC,MAAM,CAAC,OAAO;YAAE,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;KACzE;AACH,CAAC;AAID,SAAS,mBAAmB,CAC1B,MAAkB;IAElB,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE;QAC1B,IAAI,KAAK,CAAC,WAAW,KAAK,SAAS,EAAE;YACnC,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;SACxD;KACF;AACH,CAAC;AAgCM,KAAK,UAAU,gBAAgB,CACpC,MAAkB,EAClB,QAAkB,EAClB,UAAmC,EAAE;IAErC,MAAM,EACJ,eAAe,EACf,QAAQ,GAAG,CAAC,EACZ,YAAY,GAAG,EAAE,EACjB,mBAAmB,GAAG,CAAC,EACvB,OAAO,GAAG,IAAI,EACd,iBAAiB,GAAG,EAAE,GACvB,GAAG,OAAO,CAAC;IAEZ,IAAI,CAAC,QAAQ,EAAE;QACb,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;KACnE;IAED,QAAQ,CAAC,oBAAoB,EAAE,CAAC;IAChC,IAAA,gDAA4B,EAAC,QAAQ,CAAC,CAAC;IAEvC,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,IAAA,6BAAa,EAAC,QAAQ,EAAE,iBAAiB,CAAC,CAAC;IAE3E,mBAAmB,CAAC,MAAM,CAAC,CAAC;IAC5B,mBAAmB,CAAC,aAAa,CAAC,CAAC;IAEnC,MAAM,OAAO,GAAY,EAAE,CAAC;IAC5B,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE;QAC1B,MAAM,EAAE,EAAE,GAAG,IAAA,SAAU,GAAE,EAAE,GAAG,KAAK,CAAC;QACpC,OAAO,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;KACjD;IAED,OAAO,IAAA,mCAAgB,EAAC;QACtB,eAAe;QACf,OAAO;QACP,QAAQ;QACR,mBAAmB;QACnB,YAAY;QACZ,OAAO;QACP,aAAa;QACb,yBAAyB,EAAE,IAAI;KAChC,CAAC,CAAC;AACL,CAAC;AA1CD,4CA0CC"}
1
+ {"version":3,"file":"get1HAssignments.js","sourceRoot":"","sources":["../../src/assignment/get1HAssignments.ts"],"names":[],"mappings":";;;AAAA,uCAAgD;AAGhD,0BAAuC;AAKvC,wFAG2D;AAO3D,SAAS,mBAAmB,CAC1B,OAAsB;IAEtB,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE;QAC5B,IAAI,CAAC,MAAM,CAAC,KAAK;YAAE,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;QACpE,IAAI,CAAC,MAAM,CAAC,MAAM;YAAE,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;QACtE,IAAI,CAAC,MAAM,CAAC,OAAO;YAAE,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;KACzE;AACH,CAAC;AAID,SAAS,mBAAmB,CAC1B,MAAkB;IAElB,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE;QAC1B,IAAI,KAAK,CAAC,WAAW,KAAK,SAAS,EAAE;YACnC,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;SACxD;KACF;AACH,CAAC;AAgCM,KAAK,UAAU,gBAAgB,CACpC,MAAkB,EAClB,QAAkB,EAClB,UAAmC,EAAE;IAErC,MAAM,EACJ,eAAe,EACf,QAAQ,GAAG,CAAC,EACZ,YAAY,GAAG,EAAE,EACjB,mBAAmB,GAAG,CAAC,EACvB,OAAO,GAAG,IAAI,EACd,iBAAiB,GAAG,EAAE,GACvB,GAAG,OAAO,CAAC;IAEZ,IAAI,CAAC,QAAQ,EAAE;QACb,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;KACnE;IAED,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,IAAA,WAAO,EAAC,QAAQ,EAAE;QAC1C,cAAc,EAAE;YACd,CAAC,EAAE,iBAAiB;SACrB;KACF,CAAC,CAAC;IAEH,MAAM,aAAa,GAAG,OAAO,CAAC,MAAM,EAAE,aAAa,IAAI,EAAE,CAAC;IAE1D,mBAAmB,CAAC,MAAM,CAAC,CAAC;IAC5B,mBAAmB,CAAC,aAAa,CAAC,CAAC;IAEnC,MAAM,OAAO,GAAY,EAAE,CAAC;IAC5B,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE;QAC1B,MAAM,EAAE,EAAE,GAAG,IAAA,SAAU,GAAE,EAAE,GAAG,KAAK,CAAC;QACpC,OAAO,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;KACjD;IAED,OAAO,IAAA,mCAAgB,EAAC;QACtB,eAAe;QACf,OAAO;QACP,QAAQ;QACR,mBAAmB;QACnB,YAAY;QACZ,OAAO;QACP,aAAa;QACb,yBAAyB,EAAE,IAAI;KAChC,CAAC,CAAC;AACL,CAAC;AA7CD,4CA6CC"}
@@ -1,6 +1,8 @@
1
1
  import { Values } from 'nmr-correlation';
2
2
  import type { Molecule } from 'openchemlib/full';
3
- import { NMRSignal1D, PredictCarbonOptions, PredictProtonOptions } from '../../..';
3
+ import { PredictCarbonOptions } from '../../../prediction/predictCarbon';
4
+ import { PredictProtonOptions } from '../../../prediction/predictProton';
5
+ import { NMRSignal1D } from '../../../signals/NMRSignal1D';
4
6
  import { MakeMandatory } from '../../../utilities/MakeMandatory';
5
7
  import { SpectraDataWithIds } from '../../nmrAssigment';
6
8
  import { TargetsByAtomType } from './getTargetsAndCorrelations';
@@ -6,8 +6,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.buildAssignments = exports.getAllHydrogens = void 0;
7
7
  const ml_tree_set_1 = __importDefault(require("ml-tree-set"));
8
8
  const openchemlib_utils_1 = require("openchemlib-utils");
9
- const predictCarbon_1 = require("../../../prediction/predictCarbon");
10
- const predictProton_1 = require("../../../prediction/predictProton");
9
+ const predict_1 = require("../../../prediction/predict");
11
10
  const createMapPossibleAssignment_1 = require("./createMapPossibleAssignment");
12
11
  const exploreTree_1 = require("./exploreTree");
13
12
  const isSpectraData1D_1 = require("./isSpectraData1D");
@@ -15,7 +14,6 @@ const searchIndices_1 = require("./searchIndices");
15
14
  const comparator = (a, b) => {
16
15
  return b.score - a.score;
17
16
  };
18
- const predictor = { H: predictProton_1.predictProton, C: predictCarbon_1.predictCarbon };
19
17
  function checkNMRSignal1D(signals) {
20
18
  const keys = [
21
19
  'nbAtoms',
@@ -49,11 +47,15 @@ async function buildAssignments(props) {
49
47
  let diaIDPeerPossibleAssignment = {};
50
48
  for (const atomTypesToPredict of assignmentOrder) {
51
49
  for (const atomType of atomTypesToPredict) {
52
- const options = predictionOptions[atomType];
50
+ const options = {};
51
+ options[atomType] = predictionOptions[atomType];
53
52
  const predictedSignals = inputPrediction[atomType];
54
- const { joinedSignals } = predictedSignals
55
- ? { joinedSignals: predictedSignals }
56
- : await predictor[atomType](molecule, options);
53
+ const joinedSignals = await getJoinedSignals({
54
+ molecule,
55
+ predictedSignals,
56
+ options,
57
+ atomType,
58
+ });
57
59
  checkNMRSignal1D(joinedSignals);
58
60
  if (!predictions[atomType])
59
61
  predictions[atomType] = {};
@@ -209,4 +211,13 @@ function fillPartial(nSources, value = null) {
209
211
  }
210
212
  return partial;
211
213
  }
214
+ async function getJoinedSignals(input) {
215
+ const { molecule, predictedSignals, options, atomType } = input;
216
+ if (predictedSignals)
217
+ return predictedSignals;
218
+ const { spectra } = await (0, predict_1.predict)(molecule, {
219
+ predictOptions: options,
220
+ });
221
+ return spectra[atomType === 'C' ? 'carbon' : 'proton']?.joinedSignals || [];
222
+ }
212
223
  //# sourceMappingURL=buildAssignments.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"buildAssignments.js","sourceRoot":"","sources":["../../../../src/assignment/utils/generalAssignment/buildAssignments.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"buildAssignments.js","sourceRoot":"","sources":["../../../../src/assignment/utils/generalAssignment/buildAssignments.ts"],"names":[],"mappings":"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"}
package/lib/index.d.ts CHANGED
@@ -5,13 +5,6 @@ export * from './constants/couplingPatterns';
5
5
  export * from './peaks/peaksFilterImpurities';
6
6
  export * from './peaks/peaksToXY';
7
7
  export * from './peaks/peakToXY';
8
- export * from './prediction/predictProton';
9
- export * from './prediction/predictCarbon';
10
- export * from './prediction/predictCOSY';
11
- export * from './prediction/predictHSQC';
12
- export * from './prediction/predictHMBC';
13
- export * from './prediction/predictAll';
14
- export * from './prediction/predictAllSpectra';
15
8
  export * from './assignment/get1HAssignments';
16
9
  export * from './assignment/get13CAssignments';
17
10
  export * from './assignment/getAssignments';
@@ -25,6 +18,8 @@ export * from './signals/signalsToFID';
25
18
  export * from './signals/simulation/simulate1D';
26
19
  export * from './signal/signalJoinCouplings';
27
20
  export * from './signal/signalMultiplicityPattern';
21
+ export * from './prediction/predict';
22
+ export * from './prediction/predictSpectra';
28
23
  export * from './utilities/resurrect';
29
24
  export * from './utilities/rangeFromSignal';
30
25
  export * from './utilities/getFrequency';
package/lib/index.js CHANGED
@@ -34,13 +34,6 @@ __exportStar(require("./constants/couplingPatterns"), exports);
34
34
  __exportStar(require("./peaks/peaksFilterImpurities"), exports);
35
35
  __exportStar(require("./peaks/peaksToXY"), exports);
36
36
  __exportStar(require("./peaks/peakToXY"), exports);
37
- __exportStar(require("./prediction/predictProton"), exports);
38
- __exportStar(require("./prediction/predictCarbon"), exports);
39
- __exportStar(require("./prediction/predictCOSY"), exports);
40
- __exportStar(require("./prediction/predictHSQC"), exports);
41
- __exportStar(require("./prediction/predictHMBC"), exports);
42
- __exportStar(require("./prediction/predictAll"), exports);
43
- __exportStar(require("./prediction/predictAllSpectra"), exports);
44
37
  __exportStar(require("./assignment/get1HAssignments"), exports);
45
38
  __exportStar(require("./assignment/get13CAssignments"), exports);
46
39
  __exportStar(require("./assignment/getAssignments"), exports);
@@ -54,6 +47,8 @@ __exportStar(require("./signals/signalsToFID"), exports);
54
47
  __exportStar(require("./signals/simulation/simulate1D"), exports);
55
48
  __exportStar(require("./signal/signalJoinCouplings"), exports);
56
49
  __exportStar(require("./signal/signalMultiplicityPattern"), exports);
50
+ __exportStar(require("./prediction/predict"), exports);
51
+ __exportStar(require("./prediction/predictSpectra"), exports);
57
52
  __exportStar(require("./utilities/resurrect"), exports);
58
53
  __exportStar(require("./utilities/rangeFromSignal"), exports);
59
54
  __exportStar(require("./utilities/getFrequency"), exports);
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,qDAAmC;AACnC,yDAAuC;AACvC,2DAAyC;AACzC,+DAA6C;AAE7C,gEAA8C;AAC9C,oDAAkC;AAClC,mDAAiC;AAEjC,6DAA2C;AAC3C,6DAA2C;AAC3C,2DAAyC;AACzC,2DAAyC;AACzC,2DAAyC;AACzC,0DAAwC;AACxC,iEAA+C;AAE/C,gEAA8C;AAC9C,iEAA+C;AAC/C,8DAA4C;AAE5C,uDAAqC;AACrC,sDAAoC;AAEpC,4DAA0C;AAC1C,wDAAsC;AACtC,yDAAuC;AACvC,4DAA0C;AAC1C,yDAAuC;AACvC,kEAAgD;AAChD,+DAA6C;AAC7C,qEAAmD;AAEnD,wDAAsC;AACtC,8DAA4C;AAC5C,2DAAyC;AACzC,+DAA6C;AAE7C,0DAAwC;AACxC,2DAAyC;AACzC,2DAAyC;AAEzC,4DAA0C;AAC1C,8DAA4C;AAC5C,wDAAsC;AACtC,4DAA0C;AAE1C,0DAAwC;AACxC,+DAA6C;AAC7C,+DAA6C;AAE7C,6DAA2C;AAC3C,6DAA2C;AAE3C,4DAA0C;AAE1C,mEAAiD;AAEjD,+DAA6C;AAC7C,+DAA6C;AAC7C,gEAA8C;AAC9C,mEAAiD;AACjD,oEAAkD;AAElD,kDAAgC;AAChC,yEAAyD;AACzD,iEAA+C;AAC/C,6EAA2D;AAC3D,gEAA8C;AAC9C,iEAA+C;AAC/C,oEAAkD;AAClD,oEAAkD;AAClD,yEAAuD;AACvD,kFAAgE;AAChE,qFAAmE;AACnE,sFAAsE"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,qDAAmC;AACnC,yDAAuC;AACvC,2DAAyC;AACzC,+DAA6C;AAE7C,gEAA8C;AAC9C,oDAAkC;AAClC,mDAAiC;AAEjC,gEAA8C;AAC9C,iEAA+C;AAC/C,8DAA4C;AAE5C,uDAAqC;AACrC,sDAAoC;AAEpC,4DAA0C;AAC1C,wDAAsC;AACtC,yDAAuC;AACvC,4DAA0C;AAC1C,yDAAuC;AACvC,kEAAgD;AAChD,+DAA6C;AAC7C,qEAAmD;AAEnD,uDAAqC;AACrC,8DAA4C;AAE5C,wDAAsC;AACtC,8DAA4C;AAC5C,2DAAyC;AACzC,+DAA6C;AAE7C,0DAAwC;AACxC,2DAAyC;AACzC,2DAAyC;AAEzC,4DAA0C;AAC1C,8DAA4C;AAC5C,wDAAsC;AACtC,4DAA0C;AAE1C,0DAAwC;AACxC,+DAA6C;AAC7C,+DAA6C;AAE7C,6DAA2C;AAC3C,6DAA2C;AAE3C,4DAA0C;AAE1C,mEAAiD;AAEjD,+DAA6C;AAC7C,+DAA6C;AAC7C,gEAA8C;AAC9C,mEAAiD;AACjD,oEAAkD;AAElD,kDAAgC;AAChC,yEAAyD;AACzD,iEAA+C;AAC/C,6EAA2D;AAC3D,gEAA8C;AAC9C,iEAA+C;AAC/C,oEAAkD;AAClD,oEAAkD;AAClD,yEAAuD;AACvD,kFAAgE;AAChE,qFAAmE;AACnE,sFAAsE"}
@@ -0,0 +1,6 @@
1
+ export interface GroupDiastereotopicAtomIDs {
2
+ counter: number;
3
+ atoms: number[];
4
+ oclID: string;
5
+ atomLabel: string;
6
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=GroupDiastereotopicAtomIDs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GroupDiastereotopicAtomIDs.js","sourceRoot":"","sources":["../../src/prediction/GroupDiastereotopicAtomIDs.ts"],"names":[],"mappings":""}
@@ -1,12 +1,7 @@
1
1
  import type { Molecule } from 'openchemlib/full';
2
- import type { NMRSignal1D } from '../signals/NMRSignal1D';
3
- import type { NMRRange } from '../xy/NMRRange';
4
- export interface Prediction1D {
2
+ import type { PredictionBase1D } from './PredictionBase1D';
3
+ export interface Prediction1D extends PredictionBase1D {
5
4
  molfile: string;
6
5
  diaIDs: string[];
7
- nucleus: string;
8
- joinedSignals: NMRSignal1D[];
9
- signals: NMRSignal1D[];
10
- ranges: NMRRange[];
11
6
  molecule: Molecule;
12
7
  }
@@ -1,12 +1,7 @@
1
1
  import type { Molecule } from 'openchemlib/full';
2
- import { NMRSignal2D } from '../xyz/NMRSignal2D';
3
- import { NMRZone } from '../xyz/NMRZone';
4
- export interface Prediction2D {
2
+ import { PredictionBase2D } from './PredictionBase2D';
3
+ export interface Prediction2D extends PredictionBase2D {
5
4
  molfile: string;
6
5
  diaIDs: string[];
7
- nuclei: string[];
8
- joinedSignals: NMRSignal2D[];
9
- signals: NMRSignal2D[];
10
- zones: NMRZone[];
11
6
  molecule: Molecule;
12
7
  }
@@ -0,0 +1,8 @@
1
+ import type { NMRSignal1D } from '../signals/NMRSignal1D';
2
+ import type { NMRRange } from '../xy/NMRRange';
3
+ export interface PredictionBase1D {
4
+ nucleus: string;
5
+ joinedSignals: NMRSignal1D[];
6
+ signals: NMRSignal1D[];
7
+ ranges: NMRRange[];
8
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=PredictionBase1D.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PredictionBase1D.js","sourceRoot":"","sources":["../../src/prediction/PredictionBase1D.ts"],"names":[],"mappings":""}
@@ -0,0 +1,8 @@
1
+ import { NMRSignal2D } from '../xyz/NMRSignal2D';
2
+ import { NMRZone } from '../xyz/NMRZone';
3
+ export interface PredictionBase2D {
4
+ nuclei: string[];
5
+ joinedSignals: NMRSignal2D[];
6
+ signals: NMRSignal2D[];
7
+ zones: NMRZone[];
8
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=PredictionBase2D.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PredictionBase2D.js","sourceRoot":"","sources":["../../src/prediction/PredictionBase2D.ts"],"names":[],"mappings":""}
@@ -0,0 +1,55 @@
1
+ import type { Logger } from 'cheminfo-types';
2
+ import type { Molecule } from 'openchemlib/full';
3
+ import { PredictionBase1D } from './PredictionBase1D';
4
+ import { PredictionBase2D } from './PredictionBase2D';
5
+ import { PredictCOSYOptions } from './predictCOSY';
6
+ import { PredictCarbonOptions } from './predictCarbon';
7
+ import { PredictHMBCOptions } from './predictHMBC';
8
+ import { PredictHSQCOptions } from './predictHSQC';
9
+ import { PredictProtonOptions } from './predictProton';
10
+ export interface PredictionOptionsByExperiment {
11
+ H?: Partial<PredictProtonOptions>;
12
+ C?: Partial<PredictCarbonOptions>;
13
+ hsqc?: Partial<PredictHSQCOptions>;
14
+ cosy?: Partial<PredictCOSYOptions>;
15
+ hmbc?: Partial<PredictHMBCOptions>;
16
+ }
17
+ export interface PredictAllOptions {
18
+ /**
19
+ * mono dimensional signal to generate the bidimenionals cross peaks.
20
+ * The object should has properties with name equal to "H" and "C".
21
+ */
22
+ predictOptions?: PredictionOptionsByExperiment;
23
+ /**
24
+ * signals with euclidean distance in ppm less than this it will
25
+ * joined into a zone.
26
+ * @default {H:0.05,C:0.5}
27
+ */
28
+ joinDistance?: {
29
+ H: number;
30
+ C: number;
31
+ };
32
+ logger?: Logger;
33
+ }
34
+ export interface PredictedSpectra {
35
+ proton?: PredictionBase1D;
36
+ carbon?: PredictionBase1D;
37
+ cosy?: PredictionBase2D;
38
+ hsqc?: PredictionBase2D;
39
+ hmbc?: PredictionBase2D;
40
+ }
41
+ export interface Predicted {
42
+ molfile: string;
43
+ molfileWithH: string;
44
+ hoses: any[];
45
+ diaIDs: any[] | undefined;
46
+ groupedDiaIDs: any[];
47
+ moleculeWithHydrogens: Molecule;
48
+ distanceMatrix: any[];
49
+ spectra: PredictedSpectra;
50
+ }
51
+ /**
52
+ * Generate the correlation bidimensional nmr peaks based on the number of bonds between a pair of atoms
53
+ * @returns {Promise<object>} - object with molfile, diaIDs, 1D and 2D signals, joined signals, ranges and zones.
54
+ */
55
+ export declare function predict(molecule: Molecule, options?: PredictAllOptions): Promise<Predicted>;
@@ -0,0 +1,113 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.predict = void 0;
4
+ const openchemlib_utils_1 = require("openchemlib-utils");
5
+ const predictCOSY_1 = require("./predictCOSY");
6
+ const predictCarbon_1 = require("./predictCarbon");
7
+ const predictHMBC_1 = require("./predictHMBC");
8
+ const predictHSQC_1 = require("./predictHSQC");
9
+ const predictProton_1 = require("./predictProton");
10
+ const shouldPredict_1 = require("./utils/shouldPredict");
11
+ const toPredict = {
12
+ cosy: {
13
+ predictor: predictCOSY_1.predictCOSY,
14
+ required: ['H'],
15
+ message: 'Proton prediction is missing so COSY could not be generated.',
16
+ },
17
+ hsqc: {
18
+ predictor: predictHSQC_1.predictHSQC,
19
+ required: ['H', 'C'],
20
+ message: 'Carbon and / or proton prediction is missing so HSQC could not be generated.',
21
+ },
22
+ hmbc: {
23
+ predictor: predictHMBC_1.predictHMBC,
24
+ required: ['H', 'C'],
25
+ message: 'Carbon and / or proton prediction is missing so HMBC could not be generated.',
26
+ },
27
+ };
28
+ /**
29
+ * Generate the correlation bidimensional nmr peaks based on the number of bonds between a pair of atoms
30
+ * @returns {Promise<object>} - object with molfile, diaIDs, 1D and 2D signals, joined signals, ranges and zones.
31
+ */
32
+ async function predict(molecule, options = {}) {
33
+ const { logger, joinDistance = { H: 0.05, C: 0.5 }, predictOptions = {
34
+ H: {},
35
+ C: {},
36
+ hsqc: {},
37
+ hmbc: {},
38
+ cosy: {},
39
+ }, } = options;
40
+ const hoseCodesAndInfo = (0, openchemlib_utils_1.getHoseCodesAndInfo)(molecule, {
41
+ maxSphereSize: predictOptions?.C?.maxSphereSize,
42
+ });
43
+ const { diaIDs = [], moleculeWithHydrogens, hoses, molfileWithH, distanceMatrix, } = hoseCodesAndInfo;
44
+ const groupedDiaIDs = (0, openchemlib_utils_1.groupDiastereotopicAtomIDs)(diaIDs, moleculeWithHydrogens);
45
+ const protonPrediction = (0, shouldPredict_1.shouldPredict)('H', predictOptions)
46
+ ? await (0, predictProton_1.predictProton)(molfileWithH, {
47
+ ...predictOptions?.H,
48
+ diaIDs,
49
+ distanceMatrix,
50
+ })
51
+ : undefined;
52
+ const carbonPrediction = (0, shouldPredict_1.shouldPredict)('C', predictOptions)
53
+ ? await (0, predictCarbon_1.predictCarbon)({
54
+ ...predictOptions?.C,
55
+ molfile: molfileWithH,
56
+ groupedDiaIDs,
57
+ hoses,
58
+ })
59
+ : undefined;
60
+ const spectra = {};
61
+ const predictions = {};
62
+ if (check1DPrediction(protonPrediction, diaIDs)) {
63
+ predictions.H = protonPrediction;
64
+ if ('H' in predictOptions)
65
+ spectra.proton = protonPrediction;
66
+ }
67
+ if (check1DPrediction(carbonPrediction, diaIDs)) {
68
+ predictions.C = carbonPrediction;
69
+ if ('C' in predictOptions)
70
+ spectra.carbon = carbonPrediction;
71
+ }
72
+ const optionsTwoD = {
73
+ predictions,
74
+ joinDistance,
75
+ distanceMatrix,
76
+ groupedDiaIDs,
77
+ diaIDs,
78
+ };
79
+ for (const key in predictOptions) {
80
+ if (key === 'H' || key === 'C')
81
+ continue;
82
+ const { predictor, required, message } = toPredict[key];
83
+ if (required.every((key) => key in predictions)) {
84
+ spectra[key] = await predictor(molecule, {
85
+ ...optionsTwoD,
86
+ ...predictOptions[key],
87
+ });
88
+ }
89
+ else if (logger) {
90
+ logger.warn(message);
91
+ }
92
+ }
93
+ return {
94
+ ...hoseCodesAndInfo,
95
+ groupedDiaIDs,
96
+ spectra,
97
+ };
98
+ }
99
+ exports.predict = predict;
100
+ function check1DPrediction(prediction, diaIDs = []) {
101
+ if (!prediction)
102
+ return false;
103
+ if (prediction.ranges.length === 0)
104
+ return false;
105
+ const { signals } = prediction;
106
+ for (const signal of signals) {
107
+ const isCorrect = signal.diaIDs?.every((diaID) => diaIDs.includes(diaID));
108
+ if (!isCorrect)
109
+ return false;
110
+ }
111
+ return true;
112
+ }
113
+ //# sourceMappingURL=predict.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"predict.js","sourceRoot":"","sources":["../../src/prediction/predict.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import type { Molecule } from 'openchemlib/full';
2
- import type { Prediction1D } from './Prediction1D';
2
+ import { GroupDiastereotopicAtomIDs } from './GroupDiastereotopicAtomIDs';
3
+ import type { PredictionBase1D } from './PredictionBase1D';
3
4
  import { PredictProtonOptions } from './predictProton';
4
- import { Predictor } from './utils/predict2D';
5
5
  export interface PredictCOSYOptions {
6
6
  /**
7
7
  * maximum number of bonds to take into account.
@@ -13,13 +13,6 @@ export interface PredictCOSYOptions {
13
13
  * @default 2
14
14
  */
15
15
  minLength?: number;
16
- /**
17
- * mono dimensional predictors. The object should has properties with name
18
- * equal to "H" and "C".
19
- */
20
- predictor?: {
21
- H?: Predictor;
22
- };
23
16
  /**
24
17
  * mono dimensional signal to generate the bidimenionals cross peaks.
25
18
  * The object should has properties with name equal to "H" and "C".
@@ -41,18 +34,27 @@ export interface PredictCOSYOptions {
41
34
  * The object should has properties with name equal to "H" and "C".
42
35
  * the value of each prediction should be similar that predictProton and predictCarbon.
43
36
  */
44
- predictions?: {
45
- [key: string]: Prediction1D | undefined;
46
- H?: Prediction1D;
37
+ predictions: {
38
+ [key: string]: PredictionBase1D | undefined;
39
+ H?: PredictionBase1D;
47
40
  };
48
41
  /**
49
42
  * if true, the self correlation signal will be add to the prediction.
50
43
  * @default true
51
44
  */
52
45
  includeDiagonal?: boolean;
46
+ /**
47
+ * diastereotopic atom ids of the molecule.
48
+ */
49
+ diaIDs: string[];
50
+ /**
51
+ * grouped diastereotopic atom ids of the molecule.
52
+ */
53
+ groupedDiaIDs: GroupDiastereotopicAtomIDs[];
54
+ distanceMatrix: number[][];
53
55
  }
54
56
  /**
55
57
  * Generate the correlation bidimensional nmr peaks based on the number of bonds between a pair of atoms
56
58
  * @returns {Promise<object>} - object with molfile, diaIDs, 2D signals joined signals and zones.
57
59
  */
58
- export declare function predictCOSY(molecule: Molecule, options?: PredictCOSYOptions): Promise<import("./Prediction2D").Prediction2D>;
60
+ export declare function predictCOSY(molecule: Molecule, options: PredictCOSYOptions): Promise<import("./PredictionBase2D").PredictionBase2D>;
@@ -1,24 +1,21 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.predictCOSY = void 0;
4
- const predictProton_1 = require("./predictProton");
5
4
  const predict2D_1 = require("./utils/predict2D");
6
5
  /**
7
6
  * Generate the correlation bidimensional nmr peaks based on the number of bonds between a pair of atoms
8
7
  * @returns {Promise<object>} - object with molfile, diaIDs, 2D signals joined signals and zones.
9
8
  */
10
- async function predictCOSY(molecule, options = {}) {
11
- const { minLength = 2, maxLength = 3, predictions, predictor = { H: predictProton_1.predictProton }, predictOptions, joinDistance = { H: 0.05, C: 0.5 }, includeDiagonal = true, } = options;
9
+ async function predictCOSY(molecule, options) {
10
+ const { minLength = 2, maxLength = 3, joinDistance = { H: 0.05, C: 0.5 }, includeDiagonal = true, } = options;
12
11
  return (0, predict2D_1.predict2D)(molecule, {
12
+ ...options,
13
13
  from: 'H',
14
14
  to: 'H',
15
- predictor,
16
15
  minLength,
17
16
  maxLength,
18
17
  joinDistance,
19
- predictions,
20
18
  includeDiagonal,
21
- predictOptions,
22
19
  });
23
20
  }
24
21
  exports.predictCOSY = predictCOSY;
@@ -1 +1 @@
1
- {"version":3,"file":"predictCOSY.js","sourceRoot":"","sources":["../../src/prediction/predictCOSY.ts"],"names":[],"mappings":";;;AAGA,mDAAsE;AACtE,iDAAyD;AA4CzD;;;GAGG;AAEI,KAAK,UAAU,WAAW,CAC/B,QAAkB,EAClB,UAA8B,EAAE;IAEhC,MAAM,EACJ,SAAS,GAAG,CAAC,EACb,SAAS,GAAG,CAAC,EACb,WAAW,EACX,SAAS,GAAG,EAAE,CAAC,EAAE,6BAAa,EAAE,EAChC,cAAc,EACd,YAAY,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,EAClC,eAAe,GAAG,IAAI,GACvB,GAAG,OAAO,CAAC;IAEZ,OAAO,IAAA,qBAAS,EAAC,QAAQ,EAAE;QACzB,IAAI,EAAE,GAAG;QACT,EAAE,EAAE,GAAG;QACP,SAAS;QACT,SAAS;QACT,SAAS;QACT,YAAY;QACZ,WAAW;QACX,eAAe;QACf,cAAc;KACf,CAAC,CAAC;AACL,CAAC;AAzBD,kCAyBC"}
1
+ {"version":3,"file":"predictCOSY.js","sourceRoot":"","sources":["../../src/prediction/predictCOSY.ts"],"names":[],"mappings":";;;AAKA,iDAA8C;AAgD9C;;;GAGG;AAEI,KAAK,UAAU,WAAW,CAC/B,QAAkB,EAClB,OAA2B;IAE3B,MAAM,EACJ,SAAS,GAAG,CAAC,EACb,SAAS,GAAG,CAAC,EACb,YAAY,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,EAClC,eAAe,GAAG,IAAI,GACvB,GAAG,OAAO,CAAC;IAEZ,OAAO,IAAA,qBAAS,EAAC,QAAQ,EAAE;QACzB,GAAG,OAAO;QACV,IAAI,EAAE,GAAG;QACT,EAAE,EAAE,GAAG;QACP,SAAS;QACT,SAAS;QACT,YAAY;QACZ,eAAe;KAChB,CAAC,CAAC;AACL,CAAC;AApBD,kCAoBC"}
@@ -1,5 +1,4 @@
1
- import type { Molecule } from 'openchemlib/full';
2
- import type { Prediction1D } from './Prediction1D';
1
+ import { PredictionBase1D } from './PredictionBase1D';
3
2
  import type { DataBaseStructure } from './dataStructure';
4
3
  export interface PredictCarbonOptions {
5
4
  /**
@@ -20,11 +19,20 @@ export interface PredictCarbonOptions {
20
19
  /**
21
20
  * diastereotopic atom ids.
22
21
  */
23
- diaIDs?: string[];
22
+ groupedDiaIDs: string[];
23
+ /**
24
+ * hoses code of the molecule.
25
+ */
26
+ hoses: Array<any[] | undefined>;
27
+ /**
28
+ * molfile of the molecule, it could be used if there is not a database provided.
29
+ * so the prediction will be fetched to the web service (webserviceURL)
30
+ */
31
+ molfile?: string;
24
32
  }
25
33
  export type PredictCarbon = typeof predictCarbon;
26
34
  /**
27
35
  * Make a query to a hose code based database to predict carbon chemical shift
28
36
  * @returns {Promise<object>} - object with molfile, diaIDs, signals, joined signals by diaIDs and ranges.
29
37
  */
30
- export declare function predictCarbon(molecule: Molecule, options?: PredictCarbonOptions): Promise<Prediction1D>;
38
+ export declare function predictCarbon(options: PredictCarbonOptions): Promise<PredictionBase1D>;