CoreMS 4.0.0__py3-none-any.whl

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 (171) hide show
  1. corems/__init__.py +63 -0
  2. corems/chroma_peak/__init__.py +0 -0
  3. corems/chroma_peak/calc/ChromaPeakCalc.py +480 -0
  4. corems/chroma_peak/calc/__init__.py +0 -0
  5. corems/chroma_peak/calc/subset.py +196 -0
  6. corems/chroma_peak/factory/__init__.py +0 -0
  7. corems/chroma_peak/factory/chroma_peak_classes.py +1178 -0
  8. corems/encapsulation/__init__.py +0 -0
  9. corems/encapsulation/constant.py +1283 -0
  10. corems/encapsulation/factory/__init__.py +0 -0
  11. corems/encapsulation/factory/parameters.py +392 -0
  12. corems/encapsulation/factory/processingSetting.py +1244 -0
  13. corems/encapsulation/input/__init__.py +0 -0
  14. corems/encapsulation/input/parameter_from_json.py +579 -0
  15. corems/encapsulation/output/__init__.py +0 -0
  16. corems/encapsulation/output/parameter_to_dict.py +142 -0
  17. corems/encapsulation/output/parameter_to_json.py +332 -0
  18. corems/mass_spectra/__init__.py +0 -0
  19. corems/mass_spectra/calc/GC_Calc.py +84 -0
  20. corems/mass_spectra/calc/GC_Deconvolution.py +558 -0
  21. corems/mass_spectra/calc/GC_RI_Calibration.py +44 -0
  22. corems/mass_spectra/calc/MZSearch.py +249 -0
  23. corems/mass_spectra/calc/SignalProcessing.py +656 -0
  24. corems/mass_spectra/calc/__init__.py +0 -0
  25. corems/mass_spectra/calc/lc_calc.py +5790 -0
  26. corems/mass_spectra/calc/lc_calc_operations.py +1127 -0
  27. corems/mass_spectra/factory/GC_Class.py +791 -0
  28. corems/mass_spectra/factory/__init__.py +0 -0
  29. corems/mass_spectra/factory/chromat_data.py +51 -0
  30. corems/mass_spectra/factory/lc_class.py +2721 -0
  31. corems/mass_spectra/input/__init__.py +0 -0
  32. corems/mass_spectra/input/andiNetCDF.py +200 -0
  33. corems/mass_spectra/input/boosterHDF5.py +216 -0
  34. corems/mass_spectra/input/brukerSolarix.py +153 -0
  35. corems/mass_spectra/input/brukerSolarix_utils.py +73 -0
  36. corems/mass_spectra/input/corems_hdf5.py +1710 -0
  37. corems/mass_spectra/input/massList.py +133 -0
  38. corems/mass_spectra/input/mzml.py +668 -0
  39. corems/mass_spectra/input/parserbase.py +239 -0
  40. corems/mass_spectra/input/rawFileReader.py +1839 -0
  41. corems/mass_spectra/output/__init__.py +0 -0
  42. corems/mass_spectra/output/export.py +2800 -0
  43. corems/mass_spectrum/__init__.py +0 -0
  44. corems/mass_spectrum/calc/AutoRecalibration.py +237 -0
  45. corems/mass_spectrum/calc/Calibration.py +602 -0
  46. corems/mass_spectrum/calc/CalibrationCalc.py +253 -0
  47. corems/mass_spectrum/calc/KendrickGroup.py +239 -0
  48. corems/mass_spectrum/calc/MassErrorPrediction.py +436 -0
  49. corems/mass_spectrum/calc/MassSpectrumCalc.py +303 -0
  50. corems/mass_spectrum/calc/MeanResolvingPowerFilter.py +212 -0
  51. corems/mass_spectrum/calc/NoiseCalc.py +371 -0
  52. corems/mass_spectrum/calc/NoiseCalc_Bayes.py +93 -0
  53. corems/mass_spectrum/calc/PeakPicking.py +994 -0
  54. corems/mass_spectrum/calc/__init__.py +0 -0
  55. corems/mass_spectrum/factory/MassSpectrumClasses.py +1753 -0
  56. corems/mass_spectrum/factory/__init__.py +0 -0
  57. corems/mass_spectrum/input/__init__.py +0 -0
  58. corems/mass_spectrum/input/baseClass.py +531 -0
  59. corems/mass_spectrum/input/boosterHDF5.py +161 -0
  60. corems/mass_spectrum/input/coremsHDF5.py +475 -0
  61. corems/mass_spectrum/input/massList.py +402 -0
  62. corems/mass_spectrum/input/numpyArray.py +133 -0
  63. corems/mass_spectrum/output/__init__.py +0 -0
  64. corems/mass_spectrum/output/export.py +841 -0
  65. corems/molecular_formula/__init__.py +0 -0
  66. corems/molecular_formula/calc/MolecularFormulaCalc.py +885 -0
  67. corems/molecular_formula/calc/__init__.py +0 -0
  68. corems/molecular_formula/factory/MolecularFormulaFactory.py +895 -0
  69. corems/molecular_formula/factory/__init__.py +0 -0
  70. corems/molecular_formula/input/__init__.py +0 -0
  71. corems/molecular_formula/input/masslist_ref.py +355 -0
  72. corems/molecular_id/__init__.py +0 -0
  73. corems/molecular_id/calc/ClusterFilter.py +251 -0
  74. corems/molecular_id/calc/MolecularFilter.py +122 -0
  75. corems/molecular_id/calc/SpectralSimilarity.py +632 -0
  76. corems/molecular_id/calc/__init__.py +0 -0
  77. corems/molecular_id/calc/math_distance.py +1637 -0
  78. corems/molecular_id/data/FAMES_REF.msp +980 -0
  79. corems/molecular_id/data/PNNLMetV20191015.msp +157267 -0
  80. corems/molecular_id/factory/EI_SQL.py +650 -0
  81. corems/molecular_id/factory/MolecularLookupTable.py +914 -0
  82. corems/molecular_id/factory/__init__.py +0 -0
  83. corems/molecular_id/factory/classification.py +884 -0
  84. corems/molecular_id/factory/lipid_molecular_metadata.py +50 -0
  85. corems/molecular_id/factory/molecularSQL.py +827 -0
  86. corems/molecular_id/factory/spectrum_search_results.py +119 -0
  87. corems/molecular_id/input/__init__.py +0 -0
  88. corems/molecular_id/input/nistMSI.py +148 -0
  89. corems/molecular_id/search/__init__.py +0 -0
  90. corems/molecular_id/search/compoundSearch.py +214 -0
  91. corems/molecular_id/search/database_interfaces.py +1527 -0
  92. corems/molecular_id/search/findOxygenPeaks.py +330 -0
  93. corems/molecular_id/search/lcms_spectral_search.py +348 -0
  94. corems/molecular_id/search/molecularFormulaSearch.py +1117 -0
  95. corems/molecular_id/search/priorityAssignment.py +723 -0
  96. corems/ms_peak/__init__.py +0 -0
  97. corems/ms_peak/calc/MSPeakCalc.py +1010 -0
  98. corems/ms_peak/calc/__init__.py +0 -0
  99. corems/ms_peak/factory/MSPeakClasses.py +542 -0
  100. corems/ms_peak/factory/__init__.py +0 -0
  101. corems/transient/__init__.py +0 -0
  102. corems/transient/calc/TransientCalc.py +362 -0
  103. corems/transient/calc/__init__.py +0 -0
  104. corems/transient/factory/TransientClasses.py +457 -0
  105. corems/transient/factory/__init__.py +0 -0
  106. corems/transient/input/__init__.py +0 -0
  107. corems/transient/input/brukerSolarix.py +461 -0
  108. corems/transient/input/midasDatFile.py +172 -0
  109. corems-4.0.0.dist-info/METADATA +475 -0
  110. corems-4.0.0.dist-info/RECORD +171 -0
  111. corems-4.0.0.dist-info/WHEEL +5 -0
  112. corems-4.0.0.dist-info/licenses/LICENSE +22 -0
  113. corems-4.0.0.dist-info/top_level.txt +4 -0
  114. examples/archive/scripts/CoreMS_tutorial.py +94 -0
  115. examples/archive/scripts/DI HR-MS Halogens Bruker.py +196 -0
  116. examples/archive/scripts/DI HR-MS MassList.py +385 -0
  117. examples/archive/scripts/GC-MS MetabRef.py +213 -0
  118. examples/archive/scripts/GC-MS NetCDF.py +217 -0
  119. examples/archive/scripts/HR-MS Thermo Raw 21T.py +136 -0
  120. examples/archive/scripts/LC-ICPMS_metal_peaks.py +297 -0
  121. examples/archive/scripts/LCMS-Thermo.py +460 -0
  122. examples/archive/scripts/LCMS_isotopes.py +283 -0
  123. examples/archive/scripts/MSParams_example.py +21 -0
  124. examples/archive/scripts/Molecular Formula Data Aggreation.py +84 -0
  125. examples/archive/scripts/Single Mz Search.py +69 -0
  126. examples/test_notebooks.py +145 -0
  127. ext_lib/ChemstationMSFileReader.dll +0 -0
  128. ext_lib/ChemstationMSFileReader.xml +126 -0
  129. ext_lib/RawFileReaderLicense.doc +0 -0
  130. ext_lib/ThermoFisher.CommonCore.BackgroundSubtraction.dll +0 -0
  131. ext_lib/ThermoFisher.CommonCore.BackgroundSubtraction.xml +2307 -0
  132. ext_lib/ThermoFisher.CommonCore.Data.dll +0 -0
  133. ext_lib/ThermoFisher.CommonCore.Data.xml +28974 -0
  134. ext_lib/ThermoFisher.CommonCore.MassPrecisionEstimator.dll +0 -0
  135. ext_lib/ThermoFisher.CommonCore.MassPrecisionEstimator.xml +241 -0
  136. ext_lib/ThermoFisher.CommonCore.RawFileReader.dll +0 -0
  137. ext_lib/ThermoFisher.CommonCore.RawFileReader.xml +31174 -0
  138. ext_lib/__init__.py +0 -0
  139. ext_lib/dotnet/OpenMcdf.Extensions.dll +0 -0
  140. ext_lib/dotnet/OpenMcdf.dll +0 -0
  141. ext_lib/dotnet/OpenMcdf.xml +1154 -0
  142. ext_lib/dotnet/System.IO.FileSystem.AccessControl.dll +0 -0
  143. ext_lib/dotnet/System.IO.FileSystem.AccessControl.xml +506 -0
  144. ext_lib/dotnet/System.Security.AccessControl.dll +0 -0
  145. ext_lib/dotnet/System.Security.AccessControl.xml +2043 -0
  146. ext_lib/dotnet/System.Security.Principal.Windows.dll +0 -0
  147. ext_lib/dotnet/System.Security.Principal.Windows.xml +1011 -0
  148. ext_lib/dotnet/ThermoFisher.CommonCore.BackgroundSubtraction.dll +0 -0
  149. ext_lib/dotnet/ThermoFisher.CommonCore.BackgroundSubtraction.xml +2307 -0
  150. ext_lib/dotnet/ThermoFisher.CommonCore.Data.dll +0 -0
  151. ext_lib/dotnet/ThermoFisher.CommonCore.Data.xml +29148 -0
  152. ext_lib/dotnet/ThermoFisher.CommonCore.MassPrecisionEstimator.dll +0 -0
  153. ext_lib/dotnet/ThermoFisher.CommonCore.MassPrecisionEstimator.xml +241 -0
  154. ext_lib/dotnet/ThermoFisher.CommonCore.RawFileReader.dll +0 -0
  155. ext_lib/dotnet/ThermoFisher.CommonCore.RawFileReader.xml +31492 -0
  156. ext_lib/version +18 -0
  157. support_code/atom_parsers/AtomsDescription.py +359 -0
  158. support_code/atom_parsers/CreateAtomsDescription.py +56 -0
  159. support_code/nmdc/filefinder.py +90 -0
  160. support_code/nmdc/lipidomics/lipidomics_workflow.py +748 -0
  161. support_code/nmdc/lipidomics/manifest_examples.py +49 -0
  162. support_code/nmdc/metabolomics/gcms_workflow.py +158 -0
  163. support_code/nmdc/metabolomics/lcms_metabolomics_targeted_search.py +59 -0
  164. support_code/nmdc/metabolomics/lcms_metabolomics_workflow.py +248 -0
  165. support_code/nmdc/metabolomics/metabolomics_collection.py +628 -0
  166. support_code/nmdc/metadata/dms_api.py +42 -0
  167. support_code/nmdc/nom/archived_scripts/nmdc_metadata_gen.py +288 -0
  168. support_code/nmdc/nom/archived_scripts/nom_grow_workflow.py +209 -0
  169. support_code/nmdc/nom/nom_workflow.py +312 -0
  170. support_code/windows_only_importers/BrukerCompassXtract.py +180 -0
  171. support_code/windows_only_importers/ThermoMSFileReader.py +405 -0
@@ -0,0 +1,475 @@
1
+ Metadata-Version: 2.4
2
+ Name: CoreMS
3
+ Version: 4.0.0
4
+ Summary: Mass Spectrometry Framework for Small Molecules Analysis
5
+ Author-email: "Corilo, Yuri" <corilo@pnnl.gov>
6
+ License: BSD
7
+ Project-URL: Homepage, https://github.com/EMSL-Computing/CoreMS
8
+ Project-URL: Repository, https://github.com/EMSL-Computing/CoreMS
9
+ Project-URL: Issues, https://github.com/EMSL-Computing/CoreMS/issues
10
+ Classifier: License :: OSI Approved :: BSD License
11
+ Classifier: Programming Language :: Python :: 3.9
12
+ Classifier: Programming Language :: Python :: 3.10
13
+ Classifier: Programming Language :: Python :: 3.11
14
+ Classifier: Programming Language :: Python :: 3.12
15
+ Classifier: Programming Language :: Python :: 3.13
16
+ Classifier: Development Status :: 4 - Beta
17
+ Requires-Python: >=3.10
18
+ Description-Content-Type: text/markdown
19
+ License-File: LICENSE
20
+ Requires-Dist: beautifulsoup4>=4.12.3
21
+ Requires-Dist: chardet>=5.2.0
22
+ Requires-Dist: h5py>=3.13.0
23
+ Requires-Dist: IsoSpecPy>=2.2.2
24
+ Requires-Dist: lmfit>=1.3.0
25
+ Requires-Dist: lxml>=5.2.0
26
+ Requires-Dist: matplotlib>=3.9.0
27
+ Requires-Dist: ms-entropy>=1.2.2
28
+ Requires-Dist: netCDF4>=1.7.0
29
+ Requires-Dist: numpy>=2.1.0
30
+ Requires-Dist: openpyxl>=3.1.2
31
+ Requires-Dist: pandas>=2.2.2
32
+ Requires-Dist: psycopg2-binary>=2.9.10
33
+ Requires-Dist: pyswarm>=0.6
34
+ Requires-Dist: pythonnet>=3.0.3
35
+ Requires-Dist: pymzml>=2.5.11
36
+ Requires-Dist: requests>=2.32.0
37
+ Requires-Dist: ripser>=0.6.4
38
+ Requires-Dist: s3path>=0.5.0
39
+ Requires-Dist: scikit_learn>=1.5.0
40
+ Requires-Dist: scipy>=1.14.0
41
+ Requires-Dist: seaborn>=0.13.2
42
+ Requires-Dist: setuptools>=72.0.0
43
+ Requires-Dist: SQLAlchemy>=2.0.0
44
+ Requires-Dist: packaging>=23.0
45
+ Requires-Dist: toml>=0.10.2
46
+ Requires-Dist: tqdm>=4.66.0
47
+ Provides-Extra: dev
48
+ Requires-Dist: pylint; extra == "dev"
49
+ Requires-Dist: pytest>=8.3.2; extra == "dev"
50
+ Requires-Dist: pytest-cov>=5.0.0; extra == "dev"
51
+ Requires-Dist: pytest-xdist>=3.6.1; extra == "dev"
52
+ Requires-Dist: pyprof2calltree; extra == "dev"
53
+ Requires-Dist: memory_profiler; extra == "dev"
54
+ Requires-Dist: twine; extra == "dev"
55
+ Requires-Dist: bump2version; extra == "dev"
56
+ Requires-Dist: psutil>=5.6.6; extra == "dev"
57
+ Requires-Dist: PyWavelets; extra == "dev"
58
+ Requires-Dist: pdoc>=14.1.0; extra == "dev"
59
+ Dynamic: license-file
60
+
61
+ ![CoreMS Logo](https://github.com/EMSL-Computing/CoreMS/blob/master/docs/CoreMS.COLOR_small.png?raw=true)
62
+
63
+ <div align="left">
64
+
65
+ <br>
66
+ <br>
67
+ <a href="https://doi.org/10.5281/zenodo.4641552"><img src="https://zenodo.org/badge/DOI/10.5281/zenodo.4641552.svg" alt="DOI"></a>
68
+ <a href="https://github.com/EMSL-Computing/CoreMS/actions/workflows/ci.yml"><img src="https://github.com/EMSL-Computing/CoreMS/actions/workflows/ci.yml/badge.svg" alt="CI"></a>
69
+ <a href="https://pypi.org/project/CoreMS/"><img src="https://img.shields.io/pypi/v/CoreMS.svg" alt="PyPI"></a>
70
+ <a href="https://pypi.org/project/CoreMS/"><img src="https://img.shields.io/pypi/pyversions/CoreMS.svg" alt="Python versions"></a>
71
+ <br>
72
+ </div>
73
+
74
+ # Table of Contents
75
+ - Introduction
76
+ - [CoreMS](#CoreMS)
77
+ - [Current Version](#current-version)
78
+ - [Contact Information](#main-developers/contact )
79
+ - [Documentation](#documentation)
80
+ - [Contribution Information](#contributing)
81
+ - [Data Input](#data-input-formats)
82
+ - [Data Output](#data-output-formats)
83
+ - [Data Structure](#data-structure-types)
84
+ - [Features](#available-features)
85
+ - Installation
86
+ - [Installation](#corems-installation)
87
+ - [Thermo Raw File on Mac and Linux](#thermo-raw-file-access)
88
+ - Execution
89
+ - [Building and Running the Docker Image](#docker-image)
90
+ - [Example for FT-ICR Data Processing](#simple-script-example)
91
+ - [Jupyter Notebook Examples](examples/notebooks)
92
+ - Sibling Projects
93
+ - [EnviroMS](https://github.com/EMSL-Computing/EnviroMS)
94
+ - [MetaMS](https://github.com/EMSL-Computing/MetaMS)
95
+
96
+ ***
97
+
98
+ # CoreMS
99
+
100
+ **CoreMS** is a comprehensive mass spectrometry framework for software development and data analysis of small molecules analysis.
101
+
102
+ Data handling and software development for modern mass spectrometry (MS) is an interdisciplinary endeavor requiring skills in computational science and a deep understanding of MS. To enable scientific software development to keep pace with fast improvements in MS technology, we have developed a Python software framework named CoreMS. The goal of the framework is to provide a fundamental, high-level basis for working with all mass spectrometry data types, allowing custom workflows for data signal processing, annotation, and curation. The data structures were designed with an intuitive, mass spectrometric hierarchical structure, thus allowing organized and easy access to the data and calculations. Moreover, CoreMS supports direct access for almost all vendors’ data formats, allowing for the centralization and automation of all data processing workflows from the raw signal to data annotation and curation.
103
+
104
+ CoreMS aims to provide
105
+ - logical mass spectrometric data structure
106
+ - self-containing data and metadata storage
107
+ - modern molecular formulae assignment algorithms
108
+ - dynamic molecular search space database search and generator
109
+
110
+ ***
111
+
112
+ ## Current Version
113
+
114
+ `4.0.0`
115
+
116
+ ***
117
+
118
+ ## Main Developers/Contact
119
+ - [Yuri. E. Corilo](mailto:corilo@pnnl.gov)
120
+ - [William Kew](mailto:william.kew@pnnl.gov)
121
+ - [Katherine Heal](mailto:katherine.heal@pnnl.gov)
122
+
123
+ ***
124
+
125
+ ## Documentation
126
+
127
+ API documentation can be found [here](https://emsl-computing.github.io/CoreMS/corems.html).
128
+
129
+ Overview slides can be found [here](https://github.com/EMSL-Computing/CoreMS/blob/master/examples/CoreMS-Overview.pdf).
130
+
131
+ ***
132
+
133
+ ## Contributing
134
+
135
+ As an open source project, CoreMS welcomes contributions of all forms. Before contributing, please see our [Dev Guide](./CONTRIBUTING.md)
136
+
137
+ ***
138
+
139
+ ## Data formats
140
+ ### Data input formats
141
+
142
+ - Bruker Solarix (CompassXtract)
143
+ - Bruker Solarix transients, ser and fid (FT magnitude mode only)
144
+ - ThermoFisher (.raw)
145
+ - Spectroswiss signal booster data-acquisition station (.hdf5)
146
+ - MagLab ICR data-acquisition station (FT and magnitude mode) (.dat)
147
+ - ANDI NetCDF for GC-MS (.cdf)
148
+ - mzml for LC-MS (.mzml)
149
+ - Generic mass list in profile and centroid mde (include all delimiters types and Excel formats)
150
+ - CoreMS exported processed mass list files(excel, .csv, .txt, pandas dataframe as .pkl)
151
+ - CoreMS self-containing Hierarchical Data Format (.hdf5)
152
+ - Pandas Dataframe
153
+ - Support for cloud Storage using s3path.S3path
154
+
155
+ ### Data output formats
156
+
157
+ - Pandas data frame (can be saved using pickle, h5, etc)
158
+ - Text Files (.csv, tab separated .txt, etc)
159
+ - Microsoft Excel (xlsx)
160
+ - Automatic JSON for metadata storage and reuse
161
+ - Self-containing Hierarchical Data Format (.hdf5) including raw data and time-series data-point for processed data-sets with all associated metadata stored as json attributes
162
+
163
+ ### Data structure types
164
+
165
+ - LC-MS
166
+ - GC-MS
167
+ - Transient
168
+ - Mass Spectra
169
+ - Mass Spectrum
170
+ - Mass Spectral Peak
171
+ - Molecular Formula
172
+
173
+ ***
174
+
175
+ ## Available features
176
+
177
+ ### FT-MS Signal Processing, Calibration, and Molecular Formula Search and Assignment
178
+
179
+ - Apodization, Zerofilling, and Magnitude mode FT
180
+ - Manual and automatic noise threshold calculation
181
+ - Peak picking using apex quadratic fitting
182
+ - Experimental resolving power calculation
183
+ - Frequency and m/z domain calibration functions:
184
+ - LedFord equation
185
+ - Linear equation
186
+ - Quadratic equation
187
+ - Automatic search most abundant **Ox** homologue series
188
+ - Automatic local (SQLite) or external (PostgreSQL) database check, generation, and search
189
+ - Automatic molecular formulae assignments algorithm for ESI(-) MS for natural organic matter analysis
190
+ - Automatic fine isotopic structure calculation and search for all isotopes
191
+ - Flexible Kendrick normalization base
192
+ - Kendrick filter using density-based clustering
193
+ - Kendrick classification
194
+ - Heteroatoms classification and visualization
195
+
196
+ ### GC-MS Signal Processing, Calibration, and Compound Identification
197
+
198
+ - Baseline detection, subtraction, smoothing
199
+ - m/z based Chromatogram Peak Deconvolution,
200
+ - Manual and automatic noise threshold calculation
201
+ - First and second derivatives peak picking methods
202
+ - Peak Area Calculation
203
+ - Retention Index Calibration
204
+ - Automatic local (SQLite) or external (MongoDB or PostgreSQL) database check, generation, and search
205
+ - Automatic molecular match algorithm with all spectral similarity methods
206
+
207
+ ### High Resolution Mass Spectrum Simulations
208
+
209
+ - Peak shape (Lorentz, Gaussian, Voigt, and pseudo-Voigt)
210
+ - Peak fitting for peak shape definition
211
+ - Peak position in function of data points, signal to noise and resolving power (Lorentz and Gaussian)
212
+ - Prediction of mass error distribution
213
+ - Calculated ICR Resolving Power based on magnetic field (B), and transient time(T)
214
+
215
+ ### LC-MS Signal Processing, Molecular Formula Search and Assignment, and Spectral Similarity Searches
216
+ See walkthrough in [this notebook](examples/notebooks/LCMS_Tutorial.ipynb)
217
+ - Two dimensional (m/z and retention time) peak picking using persistent homology
218
+ - Smoothing, cetroid detection, and integration of extracted ion chromatograms
219
+ - Peak shape metric calculations including half peak height, tailing factor, and dispersity index
220
+ - MS1 deconvolution of mass features
221
+ - Idenfitication of <sup>13</sup>C isotopes within the mass features
222
+ - Compatibility with molecular formula searching on MS1 or MS2 spectra
223
+ - Spectral search capability using entropy similarity
224
+
225
+ ***
226
+
227
+ ## Installation
228
+
229
+ ```bash
230
+ pip install corems
231
+ ```
232
+
233
+ Corems requires **Python 3.9 or later** (including Python 3.13) and is compatible with **NumPy 2.x**, **pandas 2.x**, and **SQLAlchemy 2.x**.
234
+
235
+ To install with development and testing extras:
236
+
237
+ ```bash
238
+ pip install "corems[dev]"
239
+ ```
240
+
241
+ By default the molecular formula database will be generated using SQLite.
242
+
243
+ To use PostgreSQL the easiest way is to build a docker container:
244
+
245
+ ```bash
246
+ docker-compose up -d
247
+ ```
248
+
249
+ - Change the url_database on `MSParameters.molecular_search.url_database` to: `"postgresql+psycopg2://coremsappdb:coremsapppnnl@localhost:5432/coremsapp"`
250
+ - Set the env variable `COREMS_DATABASE_URL` to: `"postgresql+psycopg2://coremsappdb:coremsapppnnl@localhost:5432/coremsapp"`
251
+
252
+ ### Thermo Raw File Access:
253
+
254
+ To be able to open thermo file a installation of pythonnet is needed:
255
+ - Windows:
256
+ ```bash
257
+ pip install pythonnet
258
+ ```
259
+
260
+ - Mac and Linux:
261
+ ```bash
262
+ brew install mono
263
+ pip install pythonnet
264
+ ```
265
+
266
+ ***
267
+
268
+ ## Building and Running the CoreMS Docker Image <a name="docker-image"></a>
269
+
270
+ CoreMS provides a Dockerfile that packages the entire application (including .NET 8 runtime for Thermo .raw file support) into a self-contained image. This is useful for running CoreMS in a reproducible environment without installing dependencies on your host system.
271
+
272
+ ### Prerequisites
273
+ - Docker installed and running on your system.
274
+ - The CoreMS repository cloned locally.
275
+ - Navigate to the root of the CoreMS repository before running any commands.
276
+
277
+ ### Building the Docker Image
278
+
279
+ The Makefile provides convenience targets for building the image. The image is tagged with the current version from `.bumpversion.cfg`.
280
+
281
+ **On Linux/Windows (standard build):**
282
+ ```bash
283
+ make build-image-local
284
+ ```
285
+
286
+ **On macOS (cross-platform build for linux/amd64):**
287
+ ```bash
288
+ make build-image-mac-local
289
+ ```
290
+
291
+ This runs `docker build` with the `--platform linux/amd64` flag, which is necessary when building on Apple Silicon (M1/M2/M3) Macs to ensure compatibility.
292
+
293
+ Alternatively, you can build manually with:
294
+ ```bash
295
+ docker build -t corems:<version> .
296
+ ```
297
+ Replace `<version>` with your desired tag (e.g., `4.0.0`).
298
+
299
+ ### What the Dockerfile Does
300
+
301
+ The Dockerfile performs the following steps:
302
+ 1. Starts from a `python:3.13-slim` base image.
303
+ 2. Installs the .NET 8 runtime (required for Thermo .raw file support via PythonNET).
304
+ 3. Copies the CoreMS source code into the image.
305
+ 4. Installs CoreMS and all its dependencies via `pip install .`.
306
+ 5. Installs `pytest-xdist` and `pytest-cov` for running tests.
307
+ 6. Removes build-time dependencies (gcc, python3-dev) to keep the image lean.
308
+
309
+ ### Running the Docker Image
310
+
311
+ **On Linux/Windows:**
312
+ ```bash
313
+ make image-run-local
314
+ ```
315
+
316
+ **On macOS:**
317
+ ```bash
318
+ make image-run-mac-local
319
+ ```
320
+
321
+ This launches an interactive bash shell inside the container:
322
+ ```bash
323
+ docker run -it corems:<version>
324
+ ```
325
+
326
+ From within the container, you can import and use CoreMS directly:
327
+ ```python
328
+ python3 -c "import corems; print(corems.__version__)"
329
+ ```
330
+
331
+ ### Mounting Data into the Container
332
+
333
+ To process your own data files, mount a local directory into the container:
334
+ ```bash
335
+ docker run -it -v /path/to/your/data:/data corilo/corems:<version>
336
+ ```
337
+ Your files will then be accessible at `/data` inside the container.
338
+
339
+ ### Managing the PostgreSQL Database with Docker Compose
340
+
341
+ The `docker-compose.yml` file defines a PostgreSQL database service for CoreMS. The Makefile provides targets to manage it:
342
+
343
+ **Start the database:**
344
+ ```bash
345
+ make db-up
346
+ ```
347
+
348
+ **Stop the database:**
349
+ ```bash
350
+ make db-down
351
+ ```
352
+
353
+ **View database logs:**
354
+ ```bash
355
+ make db-logs
356
+ ```
357
+
358
+ These are equivalent to running `docker-compose up -d`, `docker-compose down`, and `docker-compose logs -f` respectively.
359
+
360
+ ***
361
+
362
+ ## Example for FT-ICR Data Processing
363
+
364
+ More examples can be found in the [examples/notebooks](examples/notebooks) directory
365
+
366
+ - Basic functionality example
367
+
368
+ ```python
369
+ from corems.transient.input.brukerSolarix import ReadBrukerSolarix
370
+ from corems.molecular_id.search.molecularFormulaSearch import SearchMolecularFormulas
371
+ from corems.mass_spectrum.output.export import HighResMassSpecExport
372
+ from matplotlib import pyplot
373
+
374
+ file_path= 'tests/tests_data/ftms/ESI_NEG_SRFA.d'
375
+
376
+ # Instatiate the Bruker Solarix reader with the filepath
377
+ bruker_reader = ReadBrukerSolarix(file_path)
378
+
379
+ # Use the reader to instatiate a transient object
380
+ bruker_transient_obj = bruker_reader.get_transient()
381
+
382
+ # Calculate the transient duration time
383
+ T = bruker_transient_obj.transient_time
384
+
385
+ # Use the transient object to instatitate a mass spectrum object
386
+ mass_spectrum_obj = bruker_transient_obj.get_mass_spectrum(plot_result=False, auto_process=True)
387
+
388
+ # The following SearchMolecularFormulas function does the following
389
+ # - searches monoisotopic molecular formulas for all mass spectral peaks
390
+ # - calculates fine isotopic structure based on monoisotopic molecular formulas found and current dynamic range
391
+ # - searches molecular formulas of correspondent calculated isotopologues
392
+ # - settings are stored at SearchConfig.json and can be changed directly on the file or inside the framework class
393
+
394
+ SearchMolecularFormulas(mass_spectrum_obj, first_hit=False).run_worker_mass_spectrum()
395
+
396
+ # Iterate over mass spectral peaks objs within the mass_spectrum_obj
397
+ for mspeak in mass_spectrum_obj.sort_by_abundance():
398
+
399
+ # If there is at least one molecular formula associated, mspeak returns True
400
+ if mspeak:
401
+
402
+ # Get the molecular formula with the highest mass accuracy
403
+ molecular_formula = mspeak.molecular_formula_lowest_error
404
+
405
+ # Plot mz and peak height
406
+ pyplot.plot(mspeak.mz_exp, mspeak.abundance, 'o', c='g')
407
+
408
+ # Iterate over all molecular formulas associated with the ms peaks obj
409
+ for molecular_formula in mspeak:
410
+
411
+ # Check if the molecular formula is a isotopologue
412
+ if molecular_formula.is_isotopologue:
413
+
414
+ # Access the molecular formula text representation and print
415
+ print (molecular_formula.string)
416
+
417
+ # Get 13C atoms count
418
+ print (molecular_formula['13C'])
419
+ else:
420
+ # Get mz and peak height
421
+ print(mspeak.mz_exp,mspeak.abundance)
422
+
423
+ # Save data
424
+ ## to a csv file
425
+ mass_spectrum_obj.to_csv("filename")
426
+ mass_spectrum_obj.to_hdf("filename")
427
+ # to pandas Datarame pickle
428
+ mass_spectrum_obj.to_pandas("filename")
429
+
430
+ # Extract data as a pandas Dataframe
431
+ df = mass_spectrum_obj.to_dataframe()
432
+ ```
433
+
434
+ ***
435
+
436
+ ## UML Diagrams
437
+
438
+ UML (unified modeling language) diagrams for Direct Infusion FT-MS and GC-MS classes can be found [here](docs/uml).
439
+
440
+ ***
441
+
442
+ ## Citing CoreMS
443
+
444
+ If you use CoreMS in your work, please cite the archived release on Zenodo. The badge below is the *concept DOI* — it always resolves to the latest archived release, and each archived release also has its own version-specific DOI listed on that page.
445
+
446
+ [![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.4641552.svg)](https://doi.org/10.5281/zenodo.4641552)
447
+
448
+ For citation metadata (BibTeX, RIS, etc.), use the "Cite this repository" button on the GitHub sidebar, click "Export" on the Zenodo page above, or see [`CITATION.cff`](CITATION.cff) in the repository root.
449
+
450
+ ***
451
+
452
+
453
+ This material was prepared as an account of work sponsored by an agency of the
454
+ United States Government. Neither the United States Government nor the United
455
+ States Department of Energy, nor Battelle, nor any of their employees, nor any
456
+ jurisdiction or organization that has cooperated in the development of these
457
+ materials, makes any warranty, express or implied, or assumes any legal
458
+ liability or responsibility for the accuracy, completeness, or usefulness or
459
+ any information, apparatus, product, software, or process disclosed, or
460
+ represents that its use would not infringe privately owned rights.
461
+
462
+ Reference herein to any specific commercial product, process, or service by
463
+ trade name, trademark, manufacturer, or otherwise does not necessarily
464
+ constitute or imply its endorsement, recommendation, or favoring by the United
465
+ States Government or any agency thereof, or Battelle Memorial Institute. The
466
+ views and opinions of authors expressed herein do not necessarily state or
467
+ reflect those of the United States Government or any agency thereof.
468
+
469
+ PACIFIC NORTHWEST NATIONAL LABORATORY
470
+ operated by
471
+ BATTELLE
472
+ for the
473
+ UNITED STATES DEPARTMENT OF ENERGY
474
+ under Contract DE-AC05-76RL01830
475
+
@@ -0,0 +1,171 @@
1
+ corems/__init__.py,sha256=x3JlKub2bayckT682Fd75jlUFUaMYKv2ZdBwLh_F_kI,2018
2
+ corems/chroma_peak/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
3
+ corems/chroma_peak/calc/ChromaPeakCalc.py,sha256=B9nE3-jCPf2PZX9rBg5uW9F5NpShX_bMXHfqLPTowEE,18258
4
+ corems/chroma_peak/calc/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
5
+ corems/chroma_peak/calc/subset.py,sha256=tpNiEXvf1vUlhYsZVdX5UCDgHbDfRAiaC-f2kMXqrls,5977
6
+ corems/chroma_peak/factory/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
7
+ corems/chroma_peak/factory/chroma_peak_classes.py,sha256=PGW-GZllk3APWGPokd9LB55Jx2FlbFCCAmKqjRlto-Y,43802
8
+ corems/encapsulation/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
9
+ corems/encapsulation/constant.py,sha256=L43LSyBHCxlTO_3y2mxi8yEfP-FbxV2dJAR8UHRUZwc,32999
10
+ corems/encapsulation/factory/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
11
+ corems/encapsulation/factory/parameters.py,sha256=EKS4FgmyI4tTMC7yPGLC6acPR1gQGBijW0wxjHoFbJw,14513
12
+ corems/encapsulation/factory/processingSetting.py,sha256=niia6SDrKBsIkAKlY9ooWSTi9nyDkqlmfkgtyVB5gpk,54053
13
+ corems/encapsulation/input/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
14
+ corems/encapsulation/input/parameter_from_json.py,sha256=j24BTZ8-LrVAMWU99Oknbf26OIt1lsUpMR0670imoNY,16891
15
+ corems/encapsulation/output/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
16
+ corems/encapsulation/output/parameter_to_dict.py,sha256=scqUG8MS5wf0ONKr37CV6kdX_S9q7tj9z1ls0pEz8SY,4440
17
+ corems/encapsulation/output/parameter_to_json.py,sha256=FcgeQGgPFGdV2qCBFT29qIgHei9DUNX7YwpJnZp4Ebc,10094
18
+ corems/mass_spectra/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
19
+ corems/mass_spectra/calc/GC_Calc.py,sha256=-6WCl8u3GD_afrZWFFoPcrTvXqaf07fPdTM_scxEN9I,2715
20
+ corems/mass_spectra/calc/GC_Deconvolution.py,sha256=WBA3UUcE4CXBWK8jXH7_h4uqW22AskaKM9CzwHy1t58,21607
21
+ corems/mass_spectra/calc/GC_RI_Calibration.py,sha256=Plxdjg6OxYhM8hnSrNBb_-e1lj4ZCtCQyuVQKPM5jF0,1311
22
+ corems/mass_spectra/calc/MZSearch.py,sha256=2WD_WkO6kXC0sNgP3Iy1nOnseD77s6TFy5REcRqCMD0,6944
23
+ corems/mass_spectra/calc/SignalProcessing.py,sha256=3xGi2YMQfgtdFN-XSlKJlSz3IFXkYiSp8DG9ZH5f3KI,18032
24
+ corems/mass_spectra/calc/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
25
+ corems/mass_spectra/calc/lc_calc.py,sha256=2iTiict-YWib8Zad_SlS2wZ5mh7_Wno3g4ruDFGWv3g,247554
26
+ corems/mass_spectra/calc/lc_calc_operations.py,sha256=tTY37xSNAvDovwBsr_Z7n1MazzcJKUQEgVPR4fLQdTg,43519
27
+ corems/mass_spectra/factory/GC_Class.py,sha256=24rl10P8z_U0awQl9pbx2wJal3Te6SpmHWrtDJ2QriA,25229
28
+ corems/mass_spectra/factory/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
29
+ corems/mass_spectra/factory/chromat_data.py,sha256=n2eq5_PULbRWxf4An6lvAKJsH_tQVG2i7XlLYQxdipM,1480
30
+ corems/mass_spectra/factory/lc_class.py,sha256=KSuAvDqXwH4HpeEVRo79eBm_ia6nI8Yhkt1-9o1hu9Y,113193
31
+ corems/mass_spectra/input/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
32
+ corems/mass_spectra/input/andiNetCDF.py,sha256=h4AYie3yYKOgAPKsTWyXD5kPJcY2OMPNvKhgWYXflmY,6815
33
+ corems/mass_spectra/input/boosterHDF5.py,sha256=777gbeUugHHcGw30YEduFS9-IAAMZXuhYlRMG3cnuRg,6228
34
+ corems/mass_spectra/input/brukerSolarix.py,sha256=_d7i2xqrvbf9PtwSk0q2e_Qm6Vg75bLQxgKeamKMRWY,4878
35
+ corems/mass_spectra/input/brukerSolarix_utils.py,sha256=YiBbjTAYn5qJq8wUmBf70GRokAMsFKSoPTwLHeKqzF8,3040
36
+ corems/mass_spectra/input/corems_hdf5.py,sha256=CE24vIRa54kFyEjiPQXi19IEuOWegydkZNxdjSV1-qw,74998
37
+ corems/mass_spectra/input/massList.py,sha256=NGzjIIvllrp5iceVe9xpWXHMOuVDzEoEwD9ARflZc6w,4446
38
+ corems/mass_spectra/input/mzml.py,sha256=Ba0UeoKvvm4GXjTmLZK7RFztJm2TF-1cJ9EZmMUd_uY,25488
39
+ corems/mass_spectra/input/parserbase.py,sha256=AuGRlbsv_FrTO5PahqNdXnR49FLDCUNjEtt2dY4Sg7Y,7873
40
+ corems/mass_spectra/input/rawFileReader.py,sha256=VLpBZAmvWdZ4rwdny6YQO2TS_CzbUXWDw89WI1ay1dE,68318
41
+ corems/mass_spectra/output/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
42
+ corems/mass_spectra/output/export.py,sha256=WIbAUdKq2HQfNtSE_IY8t_apvcU7RCTu89q_TneORaM,116569
43
+ corems/mass_spectrum/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
44
+ corems/mass_spectrum/calc/AutoRecalibration.py,sha256=b-AMnac0WsMPsUIyqVraNJ7jpFGtadID05wfryjCMkU,9759
45
+ corems/mass_spectrum/calc/Calibration.py,sha256=fMB7tLsYtbhIRgNQ_Uglx5yFu12TxVhfDkqs9i7TIes,25826
46
+ corems/mass_spectrum/calc/CalibrationCalc.py,sha256=00ghQinFWJ6EMoVL6Bsl0ifyq-Gbh6xQedxOLtCD1EM,9116
47
+ corems/mass_spectrum/calc/KendrickGroup.py,sha256=ZyjEf8ubj1D_VI1x5F_pUhTCWMGgcIg4QW6LOfqZywQ,6980
48
+ corems/mass_spectrum/calc/MassErrorPrediction.py,sha256=qvtK83ANz4ZzP6oRP3r2yHv-4ixRoCKKju9hSM3xGc4,16861
49
+ corems/mass_spectrum/calc/MassSpectrumCalc.py,sha256=W3_AtPuQmbTPk9t4UolCWoaUmeigr3ettSzNDbMcqAE,10996
50
+ corems/mass_spectrum/calc/MeanResolvingPowerFilter.py,sha256=1mqCRI0jsFDbSHqxfUgCwn7mtaKzHuCwuYZe7yaao44,7984
51
+ corems/mass_spectrum/calc/NoiseCalc.py,sha256=3SxIMZHi--QPAkwnV80gtTxkfBBItRM2VdToEbZO3Qw,13777
52
+ corems/mass_spectrum/calc/NoiseCalc_Bayes.py,sha256=EU6TA2Quiay244rX2dOEu7zQL1LK-O20uffIvuXciss,3525
53
+ corems/mass_spectrum/calc/PeakPicking.py,sha256=FA4O6YYyZELcsJoev1NWVXzneGHTHhR114fYT-pAp_Y,32738
54
+ corems/mass_spectrum/calc/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
55
+ corems/mass_spectrum/factory/MassSpectrumClasses.py,sha256=Ex2Kp9N4kj4YXUodn9wMjSOAKY7ws1AEAVcb3PN1HU8,59081
56
+ corems/mass_spectrum/factory/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
57
+ corems/mass_spectrum/input/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
58
+ corems/mass_spectrum/input/baseClass.py,sha256=_8dYVg-cxrEquAhyEKTuhdloV2bSOcfo1Zq8PCruR84,17673
59
+ corems/mass_spectrum/input/boosterHDF5.py,sha256=zOEIx1oMoumsKYM1wrCRucTijrrymDHeqSMaHqMW7wo,5077
60
+ corems/mass_spectrum/input/coremsHDF5.py,sha256=XI4E9N2gAf1a3MLl9HkWw0WzSTO0o1oCEEoWXCPe46I,17140
61
+ corems/mass_spectrum/input/massList.py,sha256=rjoOUePO5WRpdmUl05Eee6Wluhky-OTQTie_E8fcHB8,14990
62
+ corems/mass_spectrum/input/numpyArray.py,sha256=CLSYEjssIkXBlzlqXnWlndQ9qP49bxssRu3zkt-j968,3359
63
+ corems/mass_spectrum/output/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
64
+ corems/mass_spectrum/output/export.py,sha256=uUGRgU31iW4wBowAFytYpHeNj02RAAg75JX_7NWirUA,31544
65
+ corems/molecular_formula/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
66
+ corems/molecular_formula/calc/MolecularFormulaCalc.py,sha256=yG1GkHH-zmwKmGzgTuITNzaQt-eDSEyQ9hKtBKuNcSQ,30994
67
+ corems/molecular_formula/calc/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
68
+ corems/molecular_formula/factory/MolecularFormulaFactory.py,sha256=NX2c0xwkvtoXgyGu4wAqg8nNFR_-fAtRwGF-LhsXfWI,27815
69
+ corems/molecular_formula/factory/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
70
+ corems/molecular_formula/input/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
71
+ corems/molecular_formula/input/masslist_ref.py,sha256=zh9zcuL_dSUJHZ39SDv7_0WJjyoWFglEDdgJkbMLJHY,11719
72
+ corems/molecular_id/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
73
+ corems/molecular_id/calc/ClusterFilter.py,sha256=acu1sgOU6S6wtk6O9LHA0MFO2pOmNp8Fi-wRhpj_e84,8863
74
+ corems/molecular_id/calc/MolecularFilter.py,sha256=YGfYVuMeoISktj24EFj4y2NWLf--F7HOx4Ga4NidXvY,4702
75
+ corems/molecular_id/calc/SpectralSimilarity.py,sha256=U22y-rHgCFK0AdzvTvnH4wjGSLtofwdPF0RYvuSxW88,22853
76
+ corems/molecular_id/calc/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
77
+ corems/molecular_id/calc/math_distance.py,sha256=5NLMIfydCH6Wr-DsSEwoOCXNvPrS-nnqViuGiMEMl7o,29446
78
+ corems/molecular_id/data/FAMES_REF.msp,sha256=abKy4kS1t1C-4P9A97T0PimxaS7aJNGr6L3Rl0NmNw0,8151
79
+ corems/molecular_id/data/PNNLMetV20191015.msp,sha256=wajWlgM5n5nL73WeeyTlQn-cUjG9T58gzXI1Vr3Zc-E,1513003
80
+ corems/molecular_id/factory/EI_SQL.py,sha256=CI5VbaMrGmRyEts6p9XgyrchdDktORCLFIbhho4gxrs,19740
81
+ corems/molecular_id/factory/MolecularLookupTable.py,sha256=pRgFQzua47bONNJyK1B-bcaIkt46d9rDFgbEJpXeiPE,30406
82
+ corems/molecular_id/factory/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
83
+ corems/molecular_id/factory/classification.py,sha256=vsDNvKuhMdnc5HkWPWHT4DKjwGjy0zG8b5nLcJ9E78U,29926
84
+ corems/molecular_id/factory/lipid_molecular_metadata.py,sha256=4gvk4wwIptFXhvQOzYlyoD1LL7MptbnnJLauRNAGa9k,1579
85
+ corems/molecular_id/factory/molecularSQL.py,sha256=P1S9lgdU1ECaMrCcAX_t5qzm1-CWUL8UZckncidly8k,26605
86
+ corems/molecular_id/factory/spectrum_search_results.py,sha256=RHawvKa7JHGXkckzBdKkBvv0p7St79K4EqDFeZTjIeI,4403
87
+ corems/molecular_id/input/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
88
+ corems/molecular_id/input/nistMSI.py,sha256=rCoESaUHJ3WsknLU2w9gwJpbs3jot5hVrU7mzapSwL0,4352
89
+ corems/molecular_id/search/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
90
+ corems/molecular_id/search/compoundSearch.py,sha256=2jCc-Fal20YrqhKVkoYrcP8JPy8DmIk6Ux4zf_G6yLg,7876
91
+ corems/molecular_id/search/database_interfaces.py,sha256=sSfPTCvGy_Ge9IW_iic3BqBTDS1pguhsChX155NB3A4,52035
92
+ corems/molecular_id/search/findOxygenPeaks.py,sha256=K_QG_d7BI3HF-aZ19UYimBoUpEdRO2ZWJGzgyfAwf5A,11579
93
+ corems/molecular_id/search/lcms_spectral_search.py,sha256=rw3wgOkVAze393L-GfzdNRC-n5rRAuxBdkl3d-ZxbKA,16101
94
+ corems/molecular_id/search/molecularFormulaSearch.py,sha256=GdH2Vg-dzXBm68BvKAwPbzzZIfzCVcm0YlTgqExrriQ,43645
95
+ corems/molecular_id/search/priorityAssignment.py,sha256=3IWjh09PyqfBEYcFm7Npq1xl21iNeheyGv8kXqY7kHY,27043
96
+ corems/ms_peak/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
97
+ corems/ms_peak/calc/MSPeakCalc.py,sha256=nyVQB2AgRSynUCyih99eFKdmSRhmkUy40PKZ5jaZiPM,36817
98
+ corems/ms_peak/calc/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
99
+ corems/ms_peak/factory/MSPeakClasses.py,sha256=cNBnAo0PhSy-k2yPho4jMm4cn_HerCWp-m0adlDbdBw,17816
100
+ corems/ms_peak/factory/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
101
+ corems/transient/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
102
+ corems/transient/calc/TransientCalc.py,sha256=1tnYn8lIhCHQq3OHUaig1vnolFqY3vn73OVXBIWQbmQ,10581
103
+ corems/transient/calc/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
104
+ corems/transient/factory/TransientClasses.py,sha256=hdDILCHUIjqknCqZYN4DbdJk53agVb7a_tuum0sWVy4,13924
105
+ corems/transient/factory/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
106
+ corems/transient/input/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
107
+ corems/transient/input/brukerSolarix.py,sha256=rrAcczZd-063zOgZ7To4-TQ2_1BTINhhSLFzXV-VDAg,17001
108
+ corems/transient/input/midasDatFile.py,sha256=8RRYeF66wcZ_U5VvLunUTp8_gPk5Ha0ndDFYXle4rIg,5132
109
+ corems-4.0.0.dist-info/licenses/LICENSE,sha256=IRZ934Xc23BXWPovnCRCvd-SzZbBAx1JJYwj83h01DY,1274
110
+ examples/test_notebooks.py,sha256=s5ldqy7RrTxYXFs_jSRBrhi8Eig_tqbHqwvscM0SrhE,4599
111
+ examples/archive/scripts/CoreMS_tutorial.py,sha256=ZEOhew9oGqEg5MidFuCR3anDUfEiIHejqt2MPaE68nc,3384
112
+ examples/archive/scripts/DI HR-MS Halogens Bruker.py,sha256=DC4IJZPGuTfvlIvN28J-cbhCd9Jo7k0ckAdjtt38Sw8,8146
113
+ examples/archive/scripts/DI HR-MS MassList.py,sha256=nOhCvLWC2mo6KjSTAkdq0a6OZBWHOjrLMKdu2lzMNFg,14178
114
+ examples/archive/scripts/GC-MS MetabRef.py,sha256=pEoug16keG9KDcek0qeCoxa52Trdxx_Z-4orgfms0og,5535
115
+ examples/archive/scripts/GC-MS NetCDF.py,sha256=Bynx9pBqxTTbYEjLr23spaeQOG1c-JDxmVnGJB84vag,6143
116
+ examples/archive/scripts/HR-MS Thermo Raw 21T.py,sha256=_0DE96XzU_C8t0lhCzpzyujF23poWkfYXk7YoFd7L50,4781
117
+ examples/archive/scripts/LC-ICPMS_metal_peaks.py,sha256=4JLlZ2vas7hVmyOsysNrM0iF9BBGw_qQxkxpfRddOKk,9370
118
+ examples/archive/scripts/LCMS-Thermo.py,sha256=F4X91CClLw87zpYw6OCnd7qmTCh9fQ9JD-r4ZNhTxGo,13628
119
+ examples/archive/scripts/LCMS_isotopes.py,sha256=W3kItFhpoPnlA2GHmLPk0Pm7aPsPWmHU0a42q-r-6II,9116
120
+ examples/archive/scripts/MSParams_example.py,sha256=49GzxF0Ksx-sLqdQo1sWM74D8oIsYB6hU7ajdZEisbE,1011
121
+ examples/archive/scripts/Molecular Formula Data Aggreation.py,sha256=Bl-YuqvxzVQODwJx6SCAZt84nxMYJg4921HKgcCf7jo,3093
122
+ examples/archive/scripts/Single Mz Search.py,sha256=8u1C4u5-4HF248T6zbhbwnFfDtcz_Vla0LhMQh7Z0ME,2792
123
+ ext_lib/ChemstationMSFileReader.dll,sha256=X2WCEOefEsJbtvFcUfaLdHUrNZqD4uv66tiShXL8n0Y,30720
124
+ ext_lib/ChemstationMSFileReader.xml,sha256=lm2TOb3Tb-dVAbJcgc4b3vcr846zbsd-NIkGiTpAqZk,5487
125
+ ext_lib/RawFileReaderLicense.doc,sha256=TzzOP59DbfLC4xUj9J7eGfwGzwuUOjbRIbLI7LlQIks,52736
126
+ ext_lib/ThermoFisher.CommonCore.BackgroundSubtraction.dll,sha256=ZlHgzPnloSRi7BNZGr-CC6lKIoP3AmiXcNShM7kWSdc,43520
127
+ ext_lib/ThermoFisher.CommonCore.BackgroundSubtraction.xml,sha256=7M9mCD5LkVHJ-50oImROAh8SSQwKm2PyF4PLEmr87ig,108555
128
+ ext_lib/ThermoFisher.CommonCore.Data.dll,sha256=B6eXKq84XSddMJkXxtVg8Spvd5KIWs8fXgKR-P-TCOk,360448
129
+ ext_lib/ThermoFisher.CommonCore.Data.xml,sha256=3HYRwJZjQjoZ7F7p5YZhz-UR9mDXjKoFpBgiDiUgeQ4,1433699
130
+ ext_lib/ThermoFisher.CommonCore.MassPrecisionEstimator.dll,sha256=qSyfk8ONwxvqnoS5r5bNXKoDZKDdNTa3lKN6bWA-Z8s,11264
131
+ ext_lib/ThermoFisher.CommonCore.MassPrecisionEstimator.xml,sha256=3901R2tqkNmqvnNdyj2rAkztWyRGIZYwzZoKg9q3HjY,12090
132
+ ext_lib/ThermoFisher.CommonCore.RawFileReader.dll,sha256=dJka1H3RuqB7A2PWOYx1vrm_IVqRDiz-_9JU9gMrgd8,620544
133
+ ext_lib/ThermoFisher.CommonCore.RawFileReader.xml,sha256=Dk8yalS8v_gMCNo0Lqqybzz8Yiwo19xNbyxr03xTxWU,1547649
134
+ ext_lib/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
135
+ ext_lib/version,sha256=MeHwHv42rrS4Ik4W-OTclAwehityl86Gi_9W3BUhaQY,769
136
+ ext_lib/dotnet/OpenMcdf.Extensions.dll,sha256=Pv0OX4RsbtmpqPRFsz4mbFnxEZrUjRR9Zghg8fZDbL4,19456
137
+ ext_lib/dotnet/OpenMcdf.dll,sha256=y6NttVKQSe5z-a7-54Q-2H2fa5poc8VY9MeYMvCehOo,60928
138
+ ext_lib/dotnet/OpenMcdf.xml,sha256=mFtm3njkdIuemmCDoMG0Wt2Kkk0nCzjqK-L0yCd7cOc,51085
139
+ ext_lib/dotnet/System.IO.FileSystem.AccessControl.dll,sha256=rnRF91mh8dVEdxIaEeuTxndXhlgVWR-CRZKCSA0ojLs,41608
140
+ ext_lib/dotnet/System.IO.FileSystem.AccessControl.xml,sha256=LfHBFbXURE3Dw_eMvVmQWBhHDfecYxwKZk6Ihw3vZVU,58753
141
+ ext_lib/dotnet/System.Security.AccessControl.dll,sha256=kqDLAnUO0_l7rR9J4cFVS3hb8ia7OwekS2YFhKWr0Yo,54416
142
+ ext_lib/dotnet/System.Security.AccessControl.xml,sha256=WPaa15WpPLz6I53SYHcC6JMSUr6iWm5BOXgkaetBfqc,220408
143
+ ext_lib/dotnet/System.Security.Principal.Windows.dll,sha256=aA1tdnzS6wU3Bp4NxqE_p_UqNVR8isj_RfpFgLmCYUM,39056
144
+ ext_lib/dotnet/System.Security.Principal.Windows.xml,sha256=-LRskXLUjo9RIIKnm1G_TxI7-MQy-SZfvrvD5UGGsDA,82554
145
+ ext_lib/dotnet/ThermoFisher.CommonCore.BackgroundSubtraction.dll,sha256=4mlFuGJcOnYEm3XH6oIivnZOoAaD7wHWYyp1FRU37QI,44544
146
+ ext_lib/dotnet/ThermoFisher.CommonCore.BackgroundSubtraction.xml,sha256=7M9mCD5LkVHJ-50oImROAh8SSQwKm2PyF4PLEmr87ig,108555
147
+ ext_lib/dotnet/ThermoFisher.CommonCore.Data.dll,sha256=jaHgyadeORzthhudcJg_WaxgDd_LZFLiryy1PC-wMBs,406016
148
+ ext_lib/dotnet/ThermoFisher.CommonCore.Data.xml,sha256=0086s5zY-mynp6sySs7V1QHVxS4yqz7leycXC7vQzxM,1441819
149
+ ext_lib/dotnet/ThermoFisher.CommonCore.MassPrecisionEstimator.dll,sha256=rndHG32OxPAciabTfGExfjtY8Ru5eQxyoGFHkt0e6Uo,11264
150
+ ext_lib/dotnet/ThermoFisher.CommonCore.MassPrecisionEstimator.xml,sha256=3901R2tqkNmqvnNdyj2rAkztWyRGIZYwzZoKg9q3HjY,12090
151
+ ext_lib/dotnet/ThermoFisher.CommonCore.RawFileReader.dll,sha256=IidV8Jv8mSQVfsX1zA-3_rEbWj8juz534AOrUTmfbew,650752
152
+ ext_lib/dotnet/ThermoFisher.CommonCore.RawFileReader.xml,sha256=XGNv5MPqDBs8TyYgXOd61Y0B5M-KsexvrmHj-vSXezA,1565052
153
+ support_code/atom_parsers/AtomsDescription.py,sha256=EwAOoN_5GB9FrudsT_iWEwSPbtOH-2hUEoIdga2drmQ,45062
154
+ support_code/atom_parsers/CreateAtomsDescription.py,sha256=G4cCqlx6Knix5F3ghD1YgdjbOtOjk-SWE8nycwOifl8,2274
155
+ support_code/nmdc/filefinder.py,sha256=iYUXLHv2C62J_XlV_GRt6InblGlME_MXHY4zv00IeFc,2538
156
+ support_code/nmdc/lipidomics/lipidomics_workflow.py,sha256=97QOVG2aamF0cPkdKywBe9FCXb6cFMspLCLrR_VM2Ao,27664
157
+ support_code/nmdc/lipidomics/manifest_examples.py,sha256=2xxLXCTkCHYmaTjM-6Em_NyLqjIwsUqd__Umng1E4Vo,1959
158
+ support_code/nmdc/metabolomics/gcms_workflow.py,sha256=2X-TERGAxuTelUlDW5ibI6hM_Gs39hLEo4MG1ln96AI,4541
159
+ support_code/nmdc/metabolomics/lcms_metabolomics_targeted_search.py,sha256=4RbSy0AWaBlySOXuH3OKHg0OupHTmmd3GjHUjDGjgj4,2728
160
+ support_code/nmdc/metabolomics/lcms_metabolomics_workflow.py,sha256=4fDidi3OgVyUyKTTZfKBgnjI11usijOXShfECIjEuvM,8600
161
+ support_code/nmdc/metabolomics/metabolomics_collection.py,sha256=x3KIo2aIm3Nqx_fRg_skC63krdip2snLLSeynsFzXfY,26834
162
+ support_code/nmdc/metadata/dms_api.py,sha256=nwPtbgSmu27sc6i3HYHmGOGCCXvWt5dgixtVFkrY55I,1175
163
+ support_code/nmdc/nom/nom_workflow.py,sha256=VUCtPkhBvIR9Q4oBZY9umc_nYpx6Lt_6VfsNdaQON2c,11400
164
+ support_code/nmdc/nom/archived_scripts/nmdc_metadata_gen.py,sha256=-8Ry81rBJfNMOJ1CwioJMmvAjVd37TfOqnpqT2kmxRw,11520
165
+ support_code/nmdc/nom/archived_scripts/nom_grow_workflow.py,sha256=wX_CtR7od2mxjkxHlLinMxQETldd-NH8-3eXmMomzZY,8145
166
+ support_code/windows_only_importers/BrukerCompassXtract.py,sha256=m7DGT--TacKbhjKkTuCfTkPuefGaYQpWFlF6AIaEXGc,6513
167
+ support_code/windows_only_importers/ThermoMSFileReader.py,sha256=-7HmqpXVciQnEgJnqJ4p3w0KkjPI8K3K5PIj7rp8sjA,13336
168
+ corems-4.0.0.dist-info/METADATA,sha256=T4YtlSOf-qHc6LHbiK5_xQQdF4AvEVpylesMBwH8WZ8,17777
169
+ corems-4.0.0.dist-info/WHEEL,sha256=K260EYznzXsJYBQGqmI8VTxEdiZYNvDZwW9cBh9-_MA,91
170
+ corems-4.0.0.dist-info/top_level.txt,sha256=xKEBFrg14hI0SkBk3M4VELXcFo0pHDgXUuTtBhftFRM,37
171
+ corems-4.0.0.dist-info/RECORD,,
@@ -0,0 +1,5 @@
1
+ Wheel-Version: 1.0
2
+ Generator: setuptools (83.0.0)
3
+ Root-Is-Purelib: true
4
+ Tag: py3-none-any
5
+