CoreMS 2.0.8__tar.gz → 2.0.9__tar.gz

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 (167) hide show
  1. {CoreMS-2.0.8 → CoreMS-2.0.9}/CoreMS.egg-info/PKG-INFO +4 -4
  2. {CoreMS-2.0.8 → CoreMS-2.0.9}/PKG-INFO +4 -4
  3. {CoreMS-2.0.8 → CoreMS-2.0.9}/README.md +3 -3
  4. {CoreMS-2.0.8 → CoreMS-2.0.9}/corems/__init__.py +1 -1
  5. {CoreMS-2.0.8 → CoreMS-2.0.9}/corems/encapsulation/factory/processingSetting.py +4 -4
  6. {CoreMS-2.0.8 → CoreMS-2.0.9}/corems/mass_spectra/factory/LC_Temp.py +4 -1
  7. {CoreMS-2.0.8 → CoreMS-2.0.9}/corems/mass_spectra/input/rawFileReader.py +26 -8
  8. {CoreMS-2.0.8 → CoreMS-2.0.9}/corems/mass_spectrum/calc/Calibration.py +6 -4
  9. {CoreMS-2.0.8 → CoreMS-2.0.9}/corems/mass_spectrum/calc/PeakPicking.py +4 -1
  10. {CoreMS-2.0.8 → CoreMS-2.0.9}/corems/ms_peak/calc/MSPeakCalc.py +11 -12
  11. {CoreMS-2.0.8 → CoreMS-2.0.9}/corems/ms_peak/factory/MSPeakClasses.py +6 -7
  12. {CoreMS-2.0.8 → CoreMS-2.0.9}/setup.py +1 -1
  13. {CoreMS-2.0.8 → CoreMS-2.0.9}/tests/test_calibration.py +67 -4
  14. {CoreMS-2.0.8 → CoreMS-2.0.9}/CoreMS.egg-info/SOURCES.txt +0 -0
  15. {CoreMS-2.0.8 → CoreMS-2.0.9}/CoreMS.egg-info/dependency_links.txt +0 -0
  16. {CoreMS-2.0.8 → CoreMS-2.0.9}/CoreMS.egg-info/requires.txt +0 -0
  17. {CoreMS-2.0.8 → CoreMS-2.0.9}/CoreMS.egg-info/top_level.txt +0 -0
  18. {CoreMS-2.0.8 → CoreMS-2.0.9}/Dockerfile +0 -0
  19. {CoreMS-2.0.8 → CoreMS-2.0.9}/LICENSE +0 -0
  20. {CoreMS-2.0.8 → CoreMS-2.0.9}/MANIFEST.in +0 -0
  21. {CoreMS-2.0.8 → CoreMS-2.0.9}/corems/chroma_peak/__init__.py +0 -0
  22. {CoreMS-2.0.8 → CoreMS-2.0.9}/corems/chroma_peak/calc/ChromaPeakCalc.py +0 -0
  23. {CoreMS-2.0.8 → CoreMS-2.0.9}/corems/chroma_peak/calc/__init__.py +0 -0
  24. {CoreMS-2.0.8 → CoreMS-2.0.9}/corems/chroma_peak/factory/ChromaPeakClasses.py +0 -0
  25. {CoreMS-2.0.8 → CoreMS-2.0.9}/corems/chroma_peak/factory/__init__.py +0 -0
  26. {CoreMS-2.0.8 → CoreMS-2.0.9}/corems/collection/__init__.py +0 -0
  27. {CoreMS-2.0.8 → CoreMS-2.0.9}/corems/collection/factory/__init__.py +0 -0
  28. {CoreMS-2.0.8 → CoreMS-2.0.9}/corems/collection/input/__init__.py +0 -0
  29. {CoreMS-2.0.8 → CoreMS-2.0.9}/corems/collection/output/__init__.py +0 -0
  30. {CoreMS-2.0.8 → CoreMS-2.0.9}/corems/encapsulation/__init__.py +0 -0
  31. {CoreMS-2.0.8 → CoreMS-2.0.9}/corems/encapsulation/constant.py +0 -0
  32. {CoreMS-2.0.8 → CoreMS-2.0.9}/corems/encapsulation/factory/__init__.py +0 -0
  33. {CoreMS-2.0.8 → CoreMS-2.0.9}/corems/encapsulation/factory/parameters.py +0 -0
  34. {CoreMS-2.0.8 → CoreMS-2.0.9}/corems/encapsulation/input/__init__.py +0 -0
  35. {CoreMS-2.0.8 → CoreMS-2.0.9}/corems/encapsulation/input/parameter_from_json.py +0 -0
  36. {CoreMS-2.0.8 → CoreMS-2.0.9}/corems/encapsulation/output/__init__.py +0 -0
  37. {CoreMS-2.0.8 → CoreMS-2.0.9}/corems/encapsulation/output/parameter_to_dict.py +0 -0
  38. {CoreMS-2.0.8 → CoreMS-2.0.9}/corems/encapsulation/output/parameter_to_json.py +0 -0
  39. {CoreMS-2.0.8 → CoreMS-2.0.9}/corems/mass_spectra/__init__.py +0 -0
  40. {CoreMS-2.0.8 → CoreMS-2.0.9}/corems/mass_spectra/calc/GC_Calc.py +0 -0
  41. {CoreMS-2.0.8 → CoreMS-2.0.9}/corems/mass_spectra/calc/GC_Deconvolution.py +0 -0
  42. {CoreMS-2.0.8 → CoreMS-2.0.9}/corems/mass_spectra/calc/GC_RI_Calibration.py +0 -0
  43. {CoreMS-2.0.8 → CoreMS-2.0.9}/corems/mass_spectra/calc/LC_Calc.py +0 -0
  44. {CoreMS-2.0.8 → CoreMS-2.0.9}/corems/mass_spectra/calc/LF_Targeted.py +0 -0
  45. {CoreMS-2.0.8 → CoreMS-2.0.9}/corems/mass_spectra/calc/MZSearch.py +0 -0
  46. {CoreMS-2.0.8 → CoreMS-2.0.9}/corems/mass_spectra/calc/SignalProcessing.py +0 -0
  47. {CoreMS-2.0.8 → CoreMS-2.0.9}/corems/mass_spectra/calc/__init__.py +0 -0
  48. {CoreMS-2.0.8 → CoreMS-2.0.9}/corems/mass_spectra/factory/GC_Class.py +0 -0
  49. {CoreMS-2.0.8 → CoreMS-2.0.9}/corems/mass_spectra/factory/LC_Class.py +0 -0
  50. {CoreMS-2.0.8 → CoreMS-2.0.9}/corems/mass_spectra/factory/__init__.py +0 -0
  51. {CoreMS-2.0.8 → CoreMS-2.0.9}/corems/mass_spectra/input/__init__.py +0 -0
  52. {CoreMS-2.0.8 → CoreMS-2.0.9}/corems/mass_spectra/input/andiNetCDF.py +0 -0
  53. {CoreMS-2.0.8 → CoreMS-2.0.9}/corems/mass_spectra/input/boosterHDF5.py +0 -0
  54. {CoreMS-2.0.8 → CoreMS-2.0.9}/corems/mass_spectra/input/brukerSolarix.py +0 -0
  55. {CoreMS-2.0.8 → CoreMS-2.0.9}/corems/mass_spectra/input/coremsHDF5.py +0 -0
  56. {CoreMS-2.0.8 → CoreMS-2.0.9}/corems/mass_spectra/input/massList.py +0 -0
  57. {CoreMS-2.0.8 → CoreMS-2.0.9}/corems/mass_spectra/input/win_only/BrukerCompassXtract.py +0 -0
  58. {CoreMS-2.0.8 → CoreMS-2.0.9}/corems/mass_spectra/input/win_only/ThermoMSFileReader.py +0 -0
  59. {CoreMS-2.0.8 → CoreMS-2.0.9}/corems/mass_spectra/input/win_only/__init__.py +0 -0
  60. {CoreMS-2.0.8 → CoreMS-2.0.9}/corems/mass_spectra/output/__init__.py +0 -0
  61. {CoreMS-2.0.8 → CoreMS-2.0.9}/corems/mass_spectra/output/export.py +0 -0
  62. {CoreMS-2.0.8 → CoreMS-2.0.9}/corems/mass_spectrum/__init__.py +0 -0
  63. {CoreMS-2.0.8 → CoreMS-2.0.9}/corems/mass_spectrum/calc/AutoRecalibration.py +0 -0
  64. {CoreMS-2.0.8 → CoreMS-2.0.9}/corems/mass_spectrum/calc/CalibrationCalc.py +0 -0
  65. {CoreMS-2.0.8 → CoreMS-2.0.9}/corems/mass_spectrum/calc/KendrickGroup.py +0 -0
  66. {CoreMS-2.0.8 → CoreMS-2.0.9}/corems/mass_spectrum/calc/MassErrorPrediction.py +0 -0
  67. {CoreMS-2.0.8 → CoreMS-2.0.9}/corems/mass_spectrum/calc/MassSpectrumCalc.py +0 -0
  68. {CoreMS-2.0.8 → CoreMS-2.0.9}/corems/mass_spectrum/calc/MeanResolvingPowerFilter.py +0 -0
  69. {CoreMS-2.0.8 → CoreMS-2.0.9}/corems/mass_spectrum/calc/NoiseCalc.py +0 -0
  70. {CoreMS-2.0.8 → CoreMS-2.0.9}/corems/mass_spectrum/calc/NoiseCalc_Bayes.py +0 -0
  71. {CoreMS-2.0.8 → CoreMS-2.0.9}/corems/mass_spectrum/calc/__init__.py +0 -0
  72. {CoreMS-2.0.8 → CoreMS-2.0.9}/corems/mass_spectrum/factory/MassSpectrumClasses.py +0 -0
  73. {CoreMS-2.0.8 → CoreMS-2.0.9}/corems/mass_spectrum/factory/__init__.py +0 -0
  74. {CoreMS-2.0.8 → CoreMS-2.0.9}/corems/mass_spectrum/input/__init__.py +0 -0
  75. {CoreMS-2.0.8 → CoreMS-2.0.9}/corems/mass_spectrum/input/baseClass.py +0 -0
  76. {CoreMS-2.0.8 → CoreMS-2.0.9}/corems/mass_spectrum/input/boosterHDF5.py +0 -0
  77. {CoreMS-2.0.8 → CoreMS-2.0.9}/corems/mass_spectrum/input/coremsHDF5.py +0 -0
  78. {CoreMS-2.0.8 → CoreMS-2.0.9}/corems/mass_spectrum/input/massList.py +0 -0
  79. {CoreMS-2.0.8 → CoreMS-2.0.9}/corems/mass_spectrum/input/numpyArray.py +0 -0
  80. {CoreMS-2.0.8 → CoreMS-2.0.9}/corems/mass_spectrum/input/win_only/__init__.py +0 -0
  81. {CoreMS-2.0.8 → CoreMS-2.0.9}/corems/mass_spectrum/output/__init__.py +0 -0
  82. {CoreMS-2.0.8 → CoreMS-2.0.9}/corems/mass_spectrum/output/export.py +0 -0
  83. {CoreMS-2.0.8 → CoreMS-2.0.9}/corems/molecular_formula/__init__.py +0 -0
  84. {CoreMS-2.0.8 → CoreMS-2.0.9}/corems/molecular_formula/calc/MolecularFormulaCalc.py +0 -0
  85. {CoreMS-2.0.8 → CoreMS-2.0.9}/corems/molecular_formula/calc/__init__.py +0 -0
  86. {CoreMS-2.0.8 → CoreMS-2.0.9}/corems/molecular_formula/factory/MolecularFormulaFactory.py +0 -0
  87. {CoreMS-2.0.8 → CoreMS-2.0.9}/corems/molecular_formula/factory/__init__.py +0 -0
  88. {CoreMS-2.0.8 → CoreMS-2.0.9}/corems/molecular_formula/input/__init__.py +0 -0
  89. {CoreMS-2.0.8 → CoreMS-2.0.9}/corems/molecular_formula/input/masslist_ref.py +0 -0
  90. {CoreMS-2.0.8 → CoreMS-2.0.9}/corems/molecular_id/__init__.py +0 -0
  91. {CoreMS-2.0.8 → CoreMS-2.0.9}/corems/molecular_id/calc/ClusterFilter.py +0 -0
  92. {CoreMS-2.0.8 → CoreMS-2.0.9}/corems/molecular_id/calc/KendrickGroup.py +0 -0
  93. {CoreMS-2.0.8 → CoreMS-2.0.9}/corems/molecular_id/calc/MolecularFilter.py +0 -0
  94. {CoreMS-2.0.8 → CoreMS-2.0.9}/corems/molecular_id/calc/SpectralSimilarity.py +0 -0
  95. {CoreMS-2.0.8 → CoreMS-2.0.9}/corems/molecular_id/calc/__init__.py +0 -0
  96. {CoreMS-2.0.8 → CoreMS-2.0.9}/corems/molecular_id/calc/math_distance.py +0 -0
  97. {CoreMS-2.0.8 → CoreMS-2.0.9}/corems/molecular_id/factory/EI_SQL.py +0 -0
  98. {CoreMS-2.0.8 → CoreMS-2.0.9}/corems/molecular_id/factory/MolecularLookupTable.py +0 -0
  99. {CoreMS-2.0.8 → CoreMS-2.0.9}/corems/molecular_id/factory/__init__.py +0 -0
  100. {CoreMS-2.0.8 → CoreMS-2.0.9}/corems/molecular_id/factory/classification.py +0 -0
  101. {CoreMS-2.0.8 → CoreMS-2.0.9}/corems/molecular_id/factory/molecularSQL.py +0 -0
  102. {CoreMS-2.0.8 → CoreMS-2.0.9}/corems/molecular_id/input/__init__.py +0 -0
  103. {CoreMS-2.0.8 → CoreMS-2.0.9}/corems/molecular_id/input/nistMSI.py +0 -0
  104. {CoreMS-2.0.8 → CoreMS-2.0.9}/corems/molecular_id/search/__init__.py +0 -0
  105. {CoreMS-2.0.8 → CoreMS-2.0.9}/corems/molecular_id/search/compoundSearch.py +0 -0
  106. {CoreMS-2.0.8 → CoreMS-2.0.9}/corems/molecular_id/search/findOxygenPeaks.py +0 -0
  107. {CoreMS-2.0.8 → CoreMS-2.0.9}/corems/molecular_id/search/molecularFormulaSearch.py +0 -0
  108. {CoreMS-2.0.8 → CoreMS-2.0.9}/corems/molecular_id/search/priorityAssignment.py +0 -0
  109. {CoreMS-2.0.8 → CoreMS-2.0.9}/corems/ms_peak/__init__.py +0 -0
  110. {CoreMS-2.0.8 → CoreMS-2.0.9}/corems/ms_peak/calc/__init__.py +0 -0
  111. {CoreMS-2.0.8 → CoreMS-2.0.9}/corems/ms_peak/factory/__init__.py +0 -0
  112. {CoreMS-2.0.8 → CoreMS-2.0.9}/corems/transient/__init__.py +0 -0
  113. {CoreMS-2.0.8 → CoreMS-2.0.9}/corems/transient/calc/TransientCalc.py +0 -0
  114. {CoreMS-2.0.8 → CoreMS-2.0.9}/corems/transient/calc/__init__.py +0 -0
  115. {CoreMS-2.0.8 → CoreMS-2.0.9}/corems/transient/factory/TransientClasses.py +0 -0
  116. {CoreMS-2.0.8 → CoreMS-2.0.9}/corems/transient/factory/__init__.py +0 -0
  117. {CoreMS-2.0.8 → CoreMS-2.0.9}/corems/transient/input/__init__.py +0 -0
  118. {CoreMS-2.0.8 → CoreMS-2.0.9}/corems/transient/input/brukerSolarix.py +0 -0
  119. {CoreMS-2.0.8 → CoreMS-2.0.9}/corems/transient/input/midasDatFile.py +0 -0
  120. {CoreMS-2.0.8 → CoreMS-2.0.9}/disclaimer.txt +0 -0
  121. {CoreMS-2.0.8 → CoreMS-2.0.9}/ext_lib/ChemstationMSFileReader.dll +0 -0
  122. {CoreMS-2.0.8 → CoreMS-2.0.9}/ext_lib/ChemstationMSFileReader.xml +0 -0
  123. {CoreMS-2.0.8 → CoreMS-2.0.9}/ext_lib/RawFileReaderLicense.doc +0 -0
  124. {CoreMS-2.0.8 → CoreMS-2.0.9}/ext_lib/ThermoFisher.CommonCore.BackgroundSubtraction.dll +0 -0
  125. {CoreMS-2.0.8 → CoreMS-2.0.9}/ext_lib/ThermoFisher.CommonCore.BackgroundSubtraction.xml +0 -0
  126. {CoreMS-2.0.8 → CoreMS-2.0.9}/ext_lib/ThermoFisher.CommonCore.Data.dll +0 -0
  127. {CoreMS-2.0.8 → CoreMS-2.0.9}/ext_lib/ThermoFisher.CommonCore.Data.xml +0 -0
  128. {CoreMS-2.0.8 → CoreMS-2.0.9}/ext_lib/ThermoFisher.CommonCore.MassPrecisionEstimator.dll +0 -0
  129. {CoreMS-2.0.8 → CoreMS-2.0.9}/ext_lib/ThermoFisher.CommonCore.RawFileReader.dll +0 -0
  130. {CoreMS-2.0.8 → CoreMS-2.0.9}/ext_lib/ThermoFisher.CommonCore.RawFileReader.xml +0 -0
  131. {CoreMS-2.0.8 → CoreMS-2.0.9}/ext_lib/__init__.py +0 -0
  132. {CoreMS-2.0.8 → CoreMS-2.0.9}/ext_lib/dotnet/OpenMcdf.Extensions.dll +0 -0
  133. {CoreMS-2.0.8 → CoreMS-2.0.9}/ext_lib/dotnet/OpenMcdf.dll +0 -0
  134. {CoreMS-2.0.8 → CoreMS-2.0.9}/ext_lib/dotnet/OpenMcdf.xml +0 -0
  135. {CoreMS-2.0.8 → CoreMS-2.0.9}/ext_lib/dotnet/System.IO.FileSystem.AccessControl.dll +0 -0
  136. {CoreMS-2.0.8 → CoreMS-2.0.9}/ext_lib/dotnet/System.IO.FileSystem.AccessControl.xml +0 -0
  137. {CoreMS-2.0.8 → CoreMS-2.0.9}/ext_lib/dotnet/System.Security.AccessControl.dll +0 -0
  138. {CoreMS-2.0.8 → CoreMS-2.0.9}/ext_lib/dotnet/System.Security.AccessControl.xml +0 -0
  139. {CoreMS-2.0.8 → CoreMS-2.0.9}/ext_lib/dotnet/System.Security.Principal.Windows.dll +0 -0
  140. {CoreMS-2.0.8 → CoreMS-2.0.9}/ext_lib/dotnet/System.Security.Principal.Windows.xml +0 -0
  141. {CoreMS-2.0.8 → CoreMS-2.0.9}/ext_lib/dotnet/ThermoFisher.CommonCore.BackgroundSubtraction.dll +0 -0
  142. {CoreMS-2.0.8 → CoreMS-2.0.9}/ext_lib/dotnet/ThermoFisher.CommonCore.BackgroundSubtraction.xml +0 -0
  143. {CoreMS-2.0.8 → CoreMS-2.0.9}/ext_lib/dotnet/ThermoFisher.CommonCore.Data.dll +0 -0
  144. {CoreMS-2.0.8 → CoreMS-2.0.9}/ext_lib/dotnet/ThermoFisher.CommonCore.Data.xml +0 -0
  145. {CoreMS-2.0.8 → CoreMS-2.0.9}/ext_lib/dotnet/ThermoFisher.CommonCore.MassPrecisionEstimator.dll +0 -0
  146. {CoreMS-2.0.8 → CoreMS-2.0.9}/ext_lib/dotnet/ThermoFisher.CommonCore.MassPrecisionEstimator.xml +0 -0
  147. {CoreMS-2.0.8 → CoreMS-2.0.9}/ext_lib/dotnet/ThermoFisher.CommonCore.RawFileReader.dll +0 -0
  148. {CoreMS-2.0.8 → CoreMS-2.0.9}/ext_lib/dotnet/ThermoFisher.CommonCore.RawFileReader.xml +0 -0
  149. {CoreMS-2.0.8 → CoreMS-2.0.9}/ext_lib/dotnet/__init__.py +0 -0
  150. {CoreMS-2.0.8 → CoreMS-2.0.9}/requirements.txt +0 -0
  151. {CoreMS-2.0.8 → CoreMS-2.0.9}/setup.cfg +0 -0
  152. {CoreMS-2.0.8 → CoreMS-2.0.9}/tests/test.py +0 -0
  153. {CoreMS-2.0.8 → CoreMS-2.0.9}/tests/test_LossFinder.py +0 -0
  154. {CoreMS-2.0.8 → CoreMS-2.0.9}/tests/test_assembly_identification.py +0 -0
  155. {CoreMS-2.0.8 → CoreMS-2.0.9}/tests/test_classification.py +0 -0
  156. {CoreMS-2.0.8 → CoreMS-2.0.9}/tests/test_gcms.py +0 -0
  157. {CoreMS-2.0.8 → CoreMS-2.0.9}/tests/test_input.py +0 -0
  158. {CoreMS-2.0.8 → CoreMS-2.0.9}/tests/test_massErrorPrediction.py +0 -0
  159. {CoreMS-2.0.8 → CoreMS-2.0.9}/tests/test_mass_spectrum.py +0 -0
  160. {CoreMS-2.0.8 → CoreMS-2.0.9}/tests/test_molecularFormula.py +0 -0
  161. {CoreMS-2.0.8 → CoreMS-2.0.9}/tests/test_molecularFormulaDBFactory.py +0 -0
  162. {CoreMS-2.0.8 → CoreMS-2.0.9}/tests/test_molecularFormulaSearch.py +0 -0
  163. {CoreMS-2.0.8 → CoreMS-2.0.9}/tests/test_mspeak.py +0 -0
  164. {CoreMS-2.0.8 → CoreMS-2.0.9}/tests/test_mz_search.py +0 -0
  165. {CoreMS-2.0.8 → CoreMS-2.0.9}/tests/test_output.py +0 -0
  166. {CoreMS-2.0.8 → CoreMS-2.0.9}/tests/test_searchMassListRef.py +0 -0
  167. {CoreMS-2.0.8 → CoreMS-2.0.9}/tests/test_setting_settings.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: CoreMS
3
- Version: 2.0.8
3
+ Version: 2.0.9
4
4
  Summary: Mass Spectrometry Framework for Small Molecules Analysis
5
5
  Home-page: https://github.com/EMSL-Computing/CoreMS
6
6
  Author: Corilo, Yuri
@@ -14,7 +14,7 @@ Classifier: Development Status :: 4 - Beta
14
14
  Description-Content-Type: text/markdown
15
15
  License-File: LICENSE
16
16
 
17
- ![CoreMS Logo](https://github.com/EMSL-Computing/CoreMS/tree/master/docs/CoreMS.COLOR_small.png?raw=true)
17
+ ![CoreMS Logo](docs/CoreMS.COLOR_small.png?raw=true)
18
18
 
19
19
  <div align="left">
20
20
 
@@ -66,7 +66,7 @@ CoreMS aims to provide
66
66
 
67
67
  ## Current Version
68
68
 
69
- `2.0.8`
69
+ `2.0.9`
70
70
 
71
71
  ***
72
72
 
@@ -339,7 +339,7 @@ UML (unified modeling language) diagrams for Direct Infusion FT-MS and GC-MS cla
339
339
 
340
340
  If you use CoreMS in your work, please use the following citation:
341
341
 
342
- Version [2.0.8 Release on GitHub](https://github.com/EMSL-Computing/CoreMS/releases/tag/v2.0.8), archived on Zenodo:
342
+ Version [2.0.9 Release on GitHub](https://github.com/EMSL-Computing/CoreMS/releases/tag/v2.0.9), archived on Zenodo:
343
343
 
344
344
  [![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.4641552.svg)](https://doi.org/10.5281/zenodo.4641552)
345
345
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: CoreMS
3
- Version: 2.0.8
3
+ Version: 2.0.9
4
4
  Summary: Mass Spectrometry Framework for Small Molecules Analysis
5
5
  Home-page: https://github.com/EMSL-Computing/CoreMS
6
6
  Author: Corilo, Yuri
@@ -14,7 +14,7 @@ Classifier: Development Status :: 4 - Beta
14
14
  Description-Content-Type: text/markdown
15
15
  License-File: LICENSE
16
16
 
17
- ![CoreMS Logo](https://github.com/EMSL-Computing/CoreMS/tree/master/docs/CoreMS.COLOR_small.png?raw=true)
17
+ ![CoreMS Logo](docs/CoreMS.COLOR_small.png?raw=true)
18
18
 
19
19
  <div align="left">
20
20
 
@@ -66,7 +66,7 @@ CoreMS aims to provide
66
66
 
67
67
  ## Current Version
68
68
 
69
- `2.0.8`
69
+ `2.0.9`
70
70
 
71
71
  ***
72
72
 
@@ -339,7 +339,7 @@ UML (unified modeling language) diagrams for Direct Infusion FT-MS and GC-MS cla
339
339
 
340
340
  If you use CoreMS in your work, please use the following citation:
341
341
 
342
- Version [2.0.8 Release on GitHub](https://github.com/EMSL-Computing/CoreMS/releases/tag/v2.0.8), archived on Zenodo:
342
+ Version [2.0.9 Release on GitHub](https://github.com/EMSL-Computing/CoreMS/releases/tag/v2.0.9), archived on Zenodo:
343
343
 
344
344
  [![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.4641552.svg)](https://doi.org/10.5281/zenodo.4641552)
345
345
 
@@ -1,4 +1,4 @@
1
- ![CoreMS Logo](https://github.com/EMSL-Computing/CoreMS/tree/master/docs/CoreMS.COLOR_small.png?raw=true)
1
+ ![CoreMS Logo](docs/CoreMS.COLOR_small.png?raw=true)
2
2
 
3
3
  <div align="left">
4
4
 
@@ -50,7 +50,7 @@ CoreMS aims to provide
50
50
 
51
51
  ## Current Version
52
52
 
53
- `2.0.8`
53
+ `2.0.9`
54
54
 
55
55
  ***
56
56
 
@@ -323,7 +323,7 @@ UML (unified modeling language) diagrams for Direct Infusion FT-MS and GC-MS cla
323
323
 
324
324
  If you use CoreMS in your work, please use the following citation:
325
325
 
326
- Version [2.0.8 Release on GitHub](https://github.com/EMSL-Computing/CoreMS/releases/tag/v2.0.8), archived on Zenodo:
326
+ Version [2.0.9 Release on GitHub](https://github.com/EMSL-Computing/CoreMS/releases/tag/v2.0.9), archived on Zenodo:
327
327
 
328
328
  [![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.4641552.svg)](https://doi.org/10.5281/zenodo.4641552)
329
329
 
@@ -1,5 +1,5 @@
1
1
  __author__ = 'Yuri E. Corilo'
2
- __version__ = '2.0.8'
2
+ __version__ = '2.0.9'
3
3
  __doc__ = '''
4
4
  <div align="left">
5
5
 
@@ -63,16 +63,16 @@ class DataInputSetting:
63
63
  self.header_translate = {'m/z': Labels.mz,
64
64
  'mOz': Labels.mz,
65
65
  'Mass': Labels.mz,
66
- 'Resolving Power': 'Resolving Power',
66
+ 'Resolving Power': Labels.rp,
67
67
  'Res.': Labels.rp,
68
+ 'resolution': Labels.rp,
68
69
  'Intensity': Labels.abundance,
69
70
  'I': Labels.abundance,
70
71
  'Abundance': Labels.abundance,
72
+ 'abs_abu': Labels.abundance,
71
73
  'Signal/Noise': Labels.s2n,
72
74
  'S/N': Labels.s2n,
73
- 'abs_abu': Labels.abundance,
74
- 'sn': Labels.s2n,
75
- 'resolution': Labels.rp}
75
+ 'sn': Labels.s2n}
76
76
 
77
77
  def add_mz_label(self, label):
78
78
  """Add a label to the header_translate dictionary to be translated to the corems label for mz."""
@@ -10,7 +10,9 @@ class TIC_Data:
10
10
  Time: [floats]
11
11
  list of retention times
12
12
  TIC: [floats]
13
- total ion chromatogram
13
+ total ion current [chromatogram]
14
+ BPC: [floats]
15
+ base peak [chromatogram]
14
16
  Apexes: [int]
15
17
  original thermo apex scan number after peak picking
16
18
  '''
@@ -18,6 +20,7 @@ class TIC_Data:
18
20
  scans : List[int] = field(default_factory=list)
19
21
  time : List[float] = field(default_factory=list)
20
22
  tic : List[float] = field(default_factory=list)
23
+ bpc : List[float] = field(default_factory=list)
21
24
  apexes : List[int] = field(default_factory=list)
22
25
 
23
26
  @dataclass
@@ -503,9 +503,15 @@ class ThermoBaseClass:
503
503
  # plt.show()
504
504
 
505
505
  def get_tic(
506
- self, ms_type="MS !d", peak_detection=True, smooth=True, plot=False, ax=None
506
+ self, ms_type="MS !d", peak_detection=True, smooth=True, plot=False, ax=None,trace_type='TIC',
507
507
  ) -> Tuple[TIC_Data, axes.Axes]:
508
- """ms_type: str ('MS', MS2')
508
+ """ms_type: str ('MS !d', 'MS2', None)
509
+ if you use None you get all scans.
510
+ peak_detection: bool
511
+ smooth: bool
512
+ plot: bool
513
+ ax: matplotlib axis object
514
+ trace_type: str ('TIC','BPC')
509
515
 
510
516
  returns:
511
517
  chroma: dict
@@ -520,9 +526,16 @@ class ThermoBaseClass:
520
526
  original thermo apex scan number after peak picking
521
527
  }
522
528
  """
523
-
524
- settings = ChromatogramTraceSettings(TraceType.TIC)
525
- settings.Filter = ms_type
529
+ if trace_type == 'TIC':
530
+ settings = ChromatogramTraceSettings(TraceType.TIC)
531
+ elif trace_type == 'BPC':
532
+ settings = ChromatogramTraceSettings(TraceType.BasePeak)
533
+ else:
534
+ print(f'{trace_type} undefined')
535
+ if ms_type == "all":
536
+ settings.Filter = None
537
+ else:
538
+ settings.Filter = ms_type
526
539
 
527
540
  chroma_settings = IChromatogramSettings(settings)
528
541
 
@@ -532,7 +545,7 @@ class ThermoBaseClass:
532
545
 
533
546
  trace = ChromatogramSignal.FromChromatogramData(data)
534
547
 
535
- data = TIC_Data(time=[], scans=[], tic=[], apexes=[])
548
+ data = TIC_Data(time=[], scans=[], tic=[], bpc=[], apexes=[])
536
549
 
537
550
  if trace[0].Length > 0:
538
551
  for i in range(trace[0].Length):
@@ -564,7 +577,7 @@ class ThermoBaseClass:
564
577
  ax = plt.gca()
565
578
  # fig, ax = plt.subplots(figsize=(6, 3))
566
579
 
567
- ax.plot(data.time, data.tic, label=" TIC")
580
+ ax.plot(data.time, data.tic, label=trace_type)
568
581
  ax.set_xlabel("Time (min)")
569
582
  ax.set_ylabel("a.u.")
570
583
  if peak_detection:
@@ -578,8 +591,13 @@ class ThermoBaseClass:
578
591
  )
579
592
 
580
593
  # plt.show()
594
+ if trace_type == 'BPC':
595
+ data.bpc = data.tic
596
+ data.tic = []
581
597
  return data, ax
582
-
598
+ if trace_type == 'BPC':
599
+ data.bpc = data.tic
600
+ data.tic = []
583
601
  return data, None
584
602
 
585
603
  else:
@@ -381,13 +381,15 @@ class MzDomainCalibration:
381
381
  if self.mzsegment:
382
382
  # Recombine the mass domains
383
383
  mz_domain = np.concatenate([mz_domain,mz_exp_peaks_unchanged])
384
- mz_profile_calc = np.concatenate([mz_profile_calc,mz_exp_profile_unchanged])
385
- # Sort them
386
384
  mz_domain.sort()
387
- mz_profile_calc.sort()
385
+ if not self.mass_spectrum.is_centroid:
386
+ mz_profile_calc = np.concatenate([mz_profile_calc,mz_exp_profile_unchanged])
387
+ mz_profile_calc.sort()
388
+ # Sort them
388
389
  if mz_exp_peaks[0] > mz_exp_peaks[1]: #If originally descending mass order
389
390
  mz_domain = mz_domain[::-1]
390
- mz_profile_calc = mz_profile_calc[::-1]
391
+ if not self.mass_spectrum.is_centroid:
392
+ mz_profile_calc = mz_profile_calc[::-1]
391
393
 
392
394
  self.mass_spectrum.mz_cal = mz_domain
393
395
  if not self.mass_spectrum.is_centroid:
@@ -453,7 +453,10 @@ class PeakPicking:
453
453
  elif noise_threshold_method == 'signal_noise':
454
454
 
455
455
  abundance_threshold = self.settings.noise_threshold_min_s2n
456
- factor = self.baseline_noise_std
456
+ if self.is_centroid:
457
+ factor = 1
458
+ else:
459
+ factor = self.baseline_noise_std
457
460
 
458
461
  elif noise_threshold_method == "relative_abundance":
459
462
 
@@ -27,9 +27,9 @@ class MSPeakCalculation:
27
27
  The parent MSParent object associated with the MSPeakCalculation object.
28
28
  mz_exp : float
29
29
  The experimental m/z value of the peak.
30
- start_scan : int
30
+ peak_left_index : int
31
31
  The start scan index of the peak.
32
- final_scan : int
32
+ peak_right_index : int
33
33
  The final scan index of the peak.
34
34
  resolving_power : float
35
35
  The resolving power of the peak.
@@ -136,11 +136,10 @@ class MSPeakCalculation:
136
136
  float
137
137
  peak area
138
138
  """
139
- #TODO throughout change final_scan and start_scan when the MSPeakClasses
140
- if self.final_scan > self.start_scan:
139
+ if self.peak_right_index > self.peak_left_index:
141
140
 
142
- yy = self._ms_parent.abundance_profile[self.start_scan:self.final_scan]
143
- xx = self._ms_parent.mz_exp_profile[self.start_scan:self.final_scan]
141
+ yy = self._ms_parent.abundance_profile[self.peak_left_index:self.peak_right_index]
142
+ xx = self._ms_parent.mz_exp_profile[self.peak_left_index:self.peak_right_index]
144
143
  # check if the axis is high to low m/z or not. if its MSFromFreq its high mz first, if its from Profile, its low mz first
145
144
  if xx[0] > xx[-1]:
146
145
  xx = flip(xx)
@@ -182,8 +181,8 @@ class MSPeakCalculation:
182
181
  mz_extend here extends the x-axis domain so that we have sufficient points either side of the apex to fit.
183
182
  Takes about 10ms per peak
184
183
  """
185
- start_index = self.start_scan - mz_extend if not self.start_scan == 0 else 0
186
- final_index = self.final_scan + mz_extend if not self.final_scan == len(self._ms_parent.mz_exp_profile) else self.final_scan
184
+ start_index = self.peak_left_index - mz_extend if not self.peak_left_index == 0 else 0
185
+ final_index = self.peak_right_index + mz_extend if not self.peak_right_index == len(self._ms_parent.mz_exp_profile) else self.peak_right_index
187
186
 
188
187
  # check if MSPeak contains the resolving power info
189
188
  if self.resolving_power:
@@ -385,8 +384,8 @@ class MSPeakCalculation:
385
384
  # Thermo data is noise reduced by also noise subtracted, so starts at 0
386
385
  # Absorption mode/phased data will have positive and negative components and may not be baseline corrected
387
386
 
388
- start_index = self.start_scan - mz_extend if not self.start_scan == 0 else 0
389
- final_index = self.final_scan + mz_extend if not self.final_scan == len(self._ms_parent.mz_exp_profile) else self.final_scan
387
+ start_index = self.peak_left_index - mz_extend if not self.peak_left_index == 0 else 0
388
+ final_index = self.peak_right_index + mz_extend if not self.peak_right_index == len(self._ms_parent.mz_exp_profile) else self.peak_right_index
390
389
 
391
390
  # check if MSPeak contains the resolving power info
392
391
  if self.resolving_power:
@@ -649,8 +648,8 @@ class MSPeakCalculation:
649
648
  x-axis domain for fit
650
649
 
651
650
  """
652
- start_index = self.start_scan - mz_overlay if not self.start_scan == 0 else 0
653
- final_index = self.final_scan + mz_overlay if not self.final_scan == len(self._ms_parent.mz_exp_profile) else self.final_scan
651
+ start_index = self.peak_left_index - mz_overlay if not self.peak_left_index == 0 else 0
652
+ final_index = self.peak_right_index + mz_overlay if not self.peak_right_index == len(self._ms_parent.mz_exp_profile) else self.peak_right_index
654
653
 
655
654
  if oversample_multiplier == 1:
656
655
 
@@ -79,10 +79,9 @@ class _MSPeak(MSPeakCalculation):
79
79
  self.resolving_power = float(resolving_power)
80
80
  self.signal_to_noise = float(signal_to_noise)
81
81
  # profile indexes
82
- #TODO fix these names from 'scan' to be more logical about peak indexes.
83
- self.start_scan = int(indexes[0])
84
- self.apex_scan = int(indexes[1])
85
- self.final_scan = int(indexes[2])
82
+ self.peak_left_index = int(indexes[0])
83
+ self.peak_apex_index = int(indexes[1])
84
+ self.peak_right_index = int(indexes[2])
86
85
 
87
86
  # mass spec obj index
88
87
  self.index = int(index)
@@ -318,15 +317,15 @@ class _MSPeak(MSPeakCalculation):
318
317
 
319
318
  if ax is None:
320
319
  ax = plt.gca()
321
- x = self._ms_parent.mz_exp_profile[self.start_scan : self.final_scan]
322
- y = self._ms_parent.abundance_profile[self.start_scan : self.final_scan]
320
+ x = self._ms_parent.mz_exp_profile[self.peak_left_index : self.peak_right_index]
321
+ y = self._ms_parent.abundance_profile[self.peak_left_index : self.peak_right_index]
323
322
 
324
323
  ax.plot(x, y, color=color, label="Data")
325
324
  ax.set(xlabel="m/z", ylabel="abundance")
326
325
  if derivative and not self._ms_parent.is_centroid:
327
326
  dy = sp.derivate(
328
327
  self._ms_parent.abundance_profile[
329
- self.start_index : self.final_index + 1
328
+ self.peak_left_index : self.peak_right_index + 1
330
329
  ]
331
330
  )
332
331
  ax.plot(x, dy, c=deriv_color)
@@ -14,7 +14,7 @@ with open('requirements.txt') as f:
14
14
  # This call to setup() does all the work
15
15
  setup(
16
16
  name="CoreMS",
17
- version="2.0.8",
17
+ version="2.0.9",
18
18
  description="Mass Spectrometry Framework for Small Molecules Analysis",
19
19
  long_description=long_description,
20
20
  long_description_content_type="text/markdown",
@@ -16,11 +16,13 @@ from corems.molecular_id.search.findOxygenPeaks import FindOxygenPeaks
16
16
  from corems.transient.input.brukerSolarix import ReadBrukerSolarix
17
17
  from corems.molecular_id.search.molecularFormulaSearch import SearchMolecularFormulas
18
18
  from corems.molecular_id.calc.ClusterFilter import ClusteringFilter
19
- from corems.mass_spectrum.input.massList import ReadMassList
19
+ from corems.mass_spectrum.input.massList import ReadCoremsMasslist, ReadMassList
20
20
  from corems.mass_spectrum.calc.AutoRecalibration import HighResRecalibration
21
21
  from corems import get_filename
22
+
23
+
22
24
  def create_mass_spectrum():
23
-
25
+ # Creates a profile mode mass spectrum object
24
26
  '''parse transient data from Bruker into a mass spectrum class object
25
27
 
26
28
  Parameters
@@ -49,14 +51,27 @@ def create_mass_spectrum():
49
51
 
50
52
  return mass_spectrum
51
53
 
54
+ def create_centroid_mass_spectrum():
55
+ # Creates a centroid mass spectrum object
56
+ file_location = Path.cwd() / "tests/tests_data/ftms/ESI_NEG_SRFA_UnCal_Unassign.csv"
57
+
58
+ MSParameters.mass_spectrum.noise_threshold_method = 'relative_abundance'
59
+ MSParameters.mass_spectrum.noise_threshold_min_relative_abundance = 0.1
60
+
61
+ #load any type of mass list file, change the delimeter to read another type of file, i.e : "," for csv, "\t" for tabulated mass list, etc
62
+ mass_list_reader = ReadCoremsMasslist(file_location, analyzer='ICR', instrument_label='12T')
63
+
64
+ mass_spectrum = mass_list_reader.get_mass_spectrum(loadSettings=False)
65
+
66
+ return mass_spectrum
67
+
68
+
52
69
 
53
70
  def test_mz_domain_calibration():
54
71
 
55
72
  MSParameters.mass_spectrum.min_calib_ppm_error = -10
56
73
  MSParameters.mass_spectrum.max_calib_ppm_error = 10
57
74
 
58
- file_location = Path.cwd() / "tests/tests_data/ftms/ESI_NEG_SRFA.d/"
59
-
60
75
  ref_file_location = Path.cwd() / "tests/tests_data/ftms/SRFA.ref"
61
76
 
62
77
  mass_spectrum = create_mass_spectrum()
@@ -65,15 +80,52 @@ def test_mz_domain_calibration():
65
80
 
66
81
  MzDomainCalibration(mass_spectrum, ref_file_location).run()
67
82
 
83
+ def test_mz_domain_calibration_centroid():
84
+
85
+ MSParameters.mass_spectrum.min_calib_ppm_error = -10
86
+ MSParameters.mass_spectrum.max_calib_ppm_error = 10
87
+ MSParameters.mass_spectrum.calib_pol_order = 1
88
+
89
+ ref_file_location = Path.cwd() / "tests/tests_data/ftms/SRFA.ref"
90
+
91
+ mass_spectrum = create_centroid_mass_spectrum()
92
+
93
+ mass_spectrum.filter_by_noise_threshold()
94
+
95
+ MzDomainCalibration(mass_spectrum, ref_file_location).run()
96
+
97
+ # check there is an output
98
+ assert mass_spectrum.calibration_order == 1
99
+ assert(mass_spectrum.calibration_points == 25)
100
+ assert(round(mass_spectrum.calibration_RMS, 4) == round(0.8690388563830891, 4))
101
+
68
102
  def test_autorecalibration():
69
103
 
70
104
  mass_spectrum = create_mass_spectrum()
71
105
 
72
106
  mass_spectrum.filter_by_noise_threshold()
73
107
 
108
+ auto_error_bounds = HighResRecalibration(mass_spectrum,plot=False,docker=False).determine_error_boundaries()
109
+
110
+ MSParameters.mass_spectrum.min_calib_ppm_error = auto_error_bounds[-1][0]
111
+ MSParameters.mass_spectrum.max_calib_ppm_error = auto_error_bounds[-1][1]
112
+
113
+ ref_file_location = Path.cwd() / "tests/tests_data/ftms/SRFA.ref"
114
+
115
+ MzDomainCalibration(mass_spectrum, ref_file_location).run()
116
+
117
+
118
+ def test_autorecalibration_centroid():
119
+
120
+ mass_spectrum = create_centroid_mass_spectrum()
121
+
122
+ mass_spectrum.filter_by_noise_threshold()
123
+
74
124
  HighResRecalibration(mass_spectrum,plot=False,docker=False).determine_error_boundaries()
75
125
 
126
+
76
127
  def test_segmentedmzcalibration():
128
+ # Tests profile mode recalibration
77
129
  mass_spectrum = create_mass_spectrum()
78
130
 
79
131
  mass_spectrum.filter_by_noise_threshold()
@@ -83,6 +135,17 @@ def test_segmentedmzcalibration():
83
135
  MzDomainCalibration(mass_spectrum, ref_file_location, mzsegment=(0,300)).run()
84
136
 
85
137
 
138
+ def test_segmentedmzcalibration_centroid():
139
+ # Tests centroided mode recalibration
140
+ mass_spectrum = create_centroid_mass_spectrum()
141
+
142
+ mass_spectrum.filter_by_noise_threshold()
143
+
144
+ ref_file_location = Path.cwd() / "tests/tests_data/ftms/SRFA.ref"
145
+
146
+ MzDomainCalibration(mass_spectrum, ref_file_location, mzsegment=(0,300)).run()
147
+
148
+
86
149
  def test_old_calibration():
87
150
 
88
151
  ''' Mass calibration test module:
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes