CoreMS 2.0.6__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.
- {CoreMS-2.0.6 → CoreMS-2.0.9}/CoreMS.egg-info/PKG-INFO +4 -4
- {CoreMS-2.0.6 → CoreMS-2.0.9}/CoreMS.egg-info/SOURCES.txt +18 -0
- {CoreMS-2.0.6 → CoreMS-2.0.9}/CoreMS.egg-info/requires.txt +1 -1
- {CoreMS-2.0.6 → CoreMS-2.0.9}/MANIFEST.in +2 -1
- {CoreMS-2.0.6 → CoreMS-2.0.9}/PKG-INFO +4 -4
- {CoreMS-2.0.6 → CoreMS-2.0.9}/README.md +3 -3
- {CoreMS-2.0.6 → CoreMS-2.0.9}/corems/__init__.py +1 -1
- {CoreMS-2.0.6 → CoreMS-2.0.9}/corems/encapsulation/factory/processingSetting.py +4 -4
- {CoreMS-2.0.6 → CoreMS-2.0.9}/corems/mass_spectra/factory/LC_Temp.py +4 -1
- {CoreMS-2.0.6 → CoreMS-2.0.9}/corems/mass_spectra/input/brukerSolarix.py +0 -1
- {CoreMS-2.0.6 → CoreMS-2.0.9}/corems/mass_spectra/input/rawFileReader.py +26 -8
- {CoreMS-2.0.6 → CoreMS-2.0.9}/corems/mass_spectrum/calc/Calibration.py +6 -4
- {CoreMS-2.0.6 → CoreMS-2.0.9}/corems/mass_spectrum/calc/NoiseCalc.py +2 -2
- {CoreMS-2.0.6 → CoreMS-2.0.9}/corems/mass_spectrum/calc/PeakPicking.py +5 -2
- {CoreMS-2.0.6 → CoreMS-2.0.9}/corems/molecular_formula/calc/MolecularFormulaCalc.py +40 -11
- {CoreMS-2.0.6 → CoreMS-2.0.9}/corems/molecular_formula/factory/MolecularFormulaFactory.py +7 -2
- {CoreMS-2.0.6 → CoreMS-2.0.9}/corems/ms_peak/calc/MSPeakCalc.py +11 -12
- {CoreMS-2.0.6 → CoreMS-2.0.9}/corems/ms_peak/factory/MSPeakClasses.py +6 -7
- CoreMS-2.0.9/ext_lib/dotnet/OpenMcdf.Extensions.dll +0 -0
- CoreMS-2.0.9/ext_lib/dotnet/OpenMcdf.dll +0 -0
- CoreMS-2.0.9/ext_lib/dotnet/OpenMcdf.xml +1154 -0
- CoreMS-2.0.9/ext_lib/dotnet/System.IO.FileSystem.AccessControl.dll +0 -0
- CoreMS-2.0.9/ext_lib/dotnet/System.IO.FileSystem.AccessControl.xml +506 -0
- CoreMS-2.0.9/ext_lib/dotnet/System.Security.AccessControl.dll +0 -0
- CoreMS-2.0.9/ext_lib/dotnet/System.Security.AccessControl.xml +2043 -0
- CoreMS-2.0.9/ext_lib/dotnet/System.Security.Principal.Windows.dll +0 -0
- CoreMS-2.0.9/ext_lib/dotnet/System.Security.Principal.Windows.xml +1011 -0
- CoreMS-2.0.9/ext_lib/dotnet/ThermoFisher.CommonCore.BackgroundSubtraction.dll +0 -0
- CoreMS-2.0.9/ext_lib/dotnet/ThermoFisher.CommonCore.BackgroundSubtraction.xml +2307 -0
- CoreMS-2.0.9/ext_lib/dotnet/ThermoFisher.CommonCore.Data.dll +0 -0
- CoreMS-2.0.9/ext_lib/dotnet/ThermoFisher.CommonCore.Data.xml +29148 -0
- CoreMS-2.0.9/ext_lib/dotnet/ThermoFisher.CommonCore.MassPrecisionEstimator.dll +0 -0
- CoreMS-2.0.9/ext_lib/dotnet/ThermoFisher.CommonCore.MassPrecisionEstimator.xml +241 -0
- CoreMS-2.0.9/ext_lib/dotnet/ThermoFisher.CommonCore.RawFileReader.dll +0 -0
- CoreMS-2.0.9/ext_lib/dotnet/ThermoFisher.CommonCore.RawFileReader.xml +31492 -0
- CoreMS-2.0.9/ext_lib/dotnet/__init__.py +0 -0
- {CoreMS-2.0.6 → CoreMS-2.0.9}/requirements.txt +1 -1
- {CoreMS-2.0.6 → CoreMS-2.0.9}/setup.py +1 -1
- {CoreMS-2.0.6 → CoreMS-2.0.9}/tests/test_calibration.py +67 -4
- {CoreMS-2.0.6 → CoreMS-2.0.9}/tests/test_input.py +2 -2
- {CoreMS-2.0.6 → CoreMS-2.0.9}/CoreMS.egg-info/dependency_links.txt +0 -0
- {CoreMS-2.0.6 → CoreMS-2.0.9}/CoreMS.egg-info/top_level.txt +0 -0
- {CoreMS-2.0.6 → CoreMS-2.0.9}/Dockerfile +0 -0
- {CoreMS-2.0.6 → CoreMS-2.0.9}/LICENSE +0 -0
- {CoreMS-2.0.6 → CoreMS-2.0.9}/corems/chroma_peak/__init__.py +0 -0
- {CoreMS-2.0.6 → CoreMS-2.0.9}/corems/chroma_peak/calc/ChromaPeakCalc.py +0 -0
- {CoreMS-2.0.6 → CoreMS-2.0.9}/corems/chroma_peak/calc/__init__.py +0 -0
- {CoreMS-2.0.6 → CoreMS-2.0.9}/corems/chroma_peak/factory/ChromaPeakClasses.py +0 -0
- {CoreMS-2.0.6 → CoreMS-2.0.9}/corems/chroma_peak/factory/__init__.py +0 -0
- {CoreMS-2.0.6 → CoreMS-2.0.9}/corems/collection/__init__.py +0 -0
- {CoreMS-2.0.6 → CoreMS-2.0.9}/corems/collection/factory/__init__.py +0 -0
- {CoreMS-2.0.6 → CoreMS-2.0.9}/corems/collection/input/__init__.py +0 -0
- {CoreMS-2.0.6 → CoreMS-2.0.9}/corems/collection/output/__init__.py +0 -0
- {CoreMS-2.0.6 → CoreMS-2.0.9}/corems/encapsulation/__init__.py +0 -0
- {CoreMS-2.0.6 → CoreMS-2.0.9}/corems/encapsulation/constant.py +0 -0
- {CoreMS-2.0.6 → CoreMS-2.0.9}/corems/encapsulation/factory/__init__.py +0 -0
- {CoreMS-2.0.6 → CoreMS-2.0.9}/corems/encapsulation/factory/parameters.py +0 -0
- {CoreMS-2.0.6 → CoreMS-2.0.9}/corems/encapsulation/input/__init__.py +0 -0
- {CoreMS-2.0.6 → CoreMS-2.0.9}/corems/encapsulation/input/parameter_from_json.py +0 -0
- {CoreMS-2.0.6 → CoreMS-2.0.9}/corems/encapsulation/output/__init__.py +0 -0
- {CoreMS-2.0.6 → CoreMS-2.0.9}/corems/encapsulation/output/parameter_to_dict.py +0 -0
- {CoreMS-2.0.6 → CoreMS-2.0.9}/corems/encapsulation/output/parameter_to_json.py +0 -0
- {CoreMS-2.0.6 → CoreMS-2.0.9}/corems/mass_spectra/__init__.py +0 -0
- {CoreMS-2.0.6 → CoreMS-2.0.9}/corems/mass_spectra/calc/GC_Calc.py +0 -0
- {CoreMS-2.0.6 → CoreMS-2.0.9}/corems/mass_spectra/calc/GC_Deconvolution.py +0 -0
- {CoreMS-2.0.6 → CoreMS-2.0.9}/corems/mass_spectra/calc/GC_RI_Calibration.py +0 -0
- {CoreMS-2.0.6 → CoreMS-2.0.9}/corems/mass_spectra/calc/LC_Calc.py +0 -0
- {CoreMS-2.0.6 → CoreMS-2.0.9}/corems/mass_spectra/calc/LF_Targeted.py +0 -0
- {CoreMS-2.0.6 → CoreMS-2.0.9}/corems/mass_spectra/calc/MZSearch.py +0 -0
- {CoreMS-2.0.6 → CoreMS-2.0.9}/corems/mass_spectra/calc/SignalProcessing.py +0 -0
- {CoreMS-2.0.6 → CoreMS-2.0.9}/corems/mass_spectra/calc/__init__.py +0 -0
- {CoreMS-2.0.6 → CoreMS-2.0.9}/corems/mass_spectra/factory/GC_Class.py +0 -0
- {CoreMS-2.0.6 → CoreMS-2.0.9}/corems/mass_spectra/factory/LC_Class.py +0 -0
- {CoreMS-2.0.6 → CoreMS-2.0.9}/corems/mass_spectra/factory/__init__.py +0 -0
- {CoreMS-2.0.6 → CoreMS-2.0.9}/corems/mass_spectra/input/__init__.py +0 -0
- {CoreMS-2.0.6 → CoreMS-2.0.9}/corems/mass_spectra/input/andiNetCDF.py +0 -0
- {CoreMS-2.0.6 → CoreMS-2.0.9}/corems/mass_spectra/input/boosterHDF5.py +0 -0
- {CoreMS-2.0.6 → CoreMS-2.0.9}/corems/mass_spectra/input/coremsHDF5.py +0 -0
- {CoreMS-2.0.6 → CoreMS-2.0.9}/corems/mass_spectra/input/massList.py +0 -0
- {CoreMS-2.0.6 → CoreMS-2.0.9}/corems/mass_spectra/input/win_only/BrukerCompassXtract.py +0 -0
- {CoreMS-2.0.6 → CoreMS-2.0.9}/corems/mass_spectra/input/win_only/ThermoMSFileReader.py +0 -0
- {CoreMS-2.0.6 → CoreMS-2.0.9}/corems/mass_spectra/input/win_only/__init__.py +0 -0
- {CoreMS-2.0.6 → CoreMS-2.0.9}/corems/mass_spectra/output/__init__.py +0 -0
- {CoreMS-2.0.6 → CoreMS-2.0.9}/corems/mass_spectra/output/export.py +0 -0
- {CoreMS-2.0.6 → CoreMS-2.0.9}/corems/mass_spectrum/__init__.py +0 -0
- {CoreMS-2.0.6 → CoreMS-2.0.9}/corems/mass_spectrum/calc/AutoRecalibration.py +0 -0
- {CoreMS-2.0.6 → CoreMS-2.0.9}/corems/mass_spectrum/calc/CalibrationCalc.py +0 -0
- {CoreMS-2.0.6 → CoreMS-2.0.9}/corems/mass_spectrum/calc/KendrickGroup.py +0 -0
- {CoreMS-2.0.6 → CoreMS-2.0.9}/corems/mass_spectrum/calc/MassErrorPrediction.py +0 -0
- {CoreMS-2.0.6 → CoreMS-2.0.9}/corems/mass_spectrum/calc/MassSpectrumCalc.py +0 -0
- {CoreMS-2.0.6 → CoreMS-2.0.9}/corems/mass_spectrum/calc/MeanResolvingPowerFilter.py +0 -0
- {CoreMS-2.0.6 → CoreMS-2.0.9}/corems/mass_spectrum/calc/NoiseCalc_Bayes.py +0 -0
- {CoreMS-2.0.6 → CoreMS-2.0.9}/corems/mass_spectrum/calc/__init__.py +0 -0
- {CoreMS-2.0.6 → CoreMS-2.0.9}/corems/mass_spectrum/factory/MassSpectrumClasses.py +0 -0
- {CoreMS-2.0.6 → CoreMS-2.0.9}/corems/mass_spectrum/factory/__init__.py +0 -0
- {CoreMS-2.0.6 → CoreMS-2.0.9}/corems/mass_spectrum/input/__init__.py +0 -0
- {CoreMS-2.0.6 → CoreMS-2.0.9}/corems/mass_spectrum/input/baseClass.py +0 -0
- {CoreMS-2.0.6 → CoreMS-2.0.9}/corems/mass_spectrum/input/boosterHDF5.py +0 -0
- {CoreMS-2.0.6 → CoreMS-2.0.9}/corems/mass_spectrum/input/coremsHDF5.py +0 -0
- {CoreMS-2.0.6 → CoreMS-2.0.9}/corems/mass_spectrum/input/massList.py +0 -0
- {CoreMS-2.0.6 → CoreMS-2.0.9}/corems/mass_spectrum/input/numpyArray.py +0 -0
- {CoreMS-2.0.6 → CoreMS-2.0.9}/corems/mass_spectrum/input/win_only/__init__.py +0 -0
- {CoreMS-2.0.6 → CoreMS-2.0.9}/corems/mass_spectrum/output/__init__.py +0 -0
- {CoreMS-2.0.6 → CoreMS-2.0.9}/corems/mass_spectrum/output/export.py +0 -0
- {CoreMS-2.0.6 → CoreMS-2.0.9}/corems/molecular_formula/__init__.py +0 -0
- {CoreMS-2.0.6 → CoreMS-2.0.9}/corems/molecular_formula/calc/__init__.py +0 -0
- {CoreMS-2.0.6 → CoreMS-2.0.9}/corems/molecular_formula/factory/__init__.py +0 -0
- {CoreMS-2.0.6 → CoreMS-2.0.9}/corems/molecular_formula/input/__init__.py +0 -0
- {CoreMS-2.0.6 → CoreMS-2.0.9}/corems/molecular_formula/input/masslist_ref.py +0 -0
- {CoreMS-2.0.6 → CoreMS-2.0.9}/corems/molecular_id/__init__.py +0 -0
- {CoreMS-2.0.6 → CoreMS-2.0.9}/corems/molecular_id/calc/ClusterFilter.py +0 -0
- {CoreMS-2.0.6 → CoreMS-2.0.9}/corems/molecular_id/calc/KendrickGroup.py +0 -0
- {CoreMS-2.0.6 → CoreMS-2.0.9}/corems/molecular_id/calc/MolecularFilter.py +0 -0
- {CoreMS-2.0.6 → CoreMS-2.0.9}/corems/molecular_id/calc/SpectralSimilarity.py +0 -0
- {CoreMS-2.0.6 → CoreMS-2.0.9}/corems/molecular_id/calc/__init__.py +0 -0
- {CoreMS-2.0.6 → CoreMS-2.0.9}/corems/molecular_id/calc/math_distance.py +0 -0
- {CoreMS-2.0.6 → CoreMS-2.0.9}/corems/molecular_id/factory/EI_SQL.py +0 -0
- {CoreMS-2.0.6 → CoreMS-2.0.9}/corems/molecular_id/factory/MolecularLookupTable.py +0 -0
- {CoreMS-2.0.6 → CoreMS-2.0.9}/corems/molecular_id/factory/__init__.py +0 -0
- {CoreMS-2.0.6 → CoreMS-2.0.9}/corems/molecular_id/factory/classification.py +0 -0
- {CoreMS-2.0.6 → CoreMS-2.0.9}/corems/molecular_id/factory/molecularSQL.py +0 -0
- {CoreMS-2.0.6 → CoreMS-2.0.9}/corems/molecular_id/input/__init__.py +0 -0
- {CoreMS-2.0.6 → CoreMS-2.0.9}/corems/molecular_id/input/nistMSI.py +0 -0
- {CoreMS-2.0.6 → CoreMS-2.0.9}/corems/molecular_id/search/__init__.py +0 -0
- {CoreMS-2.0.6 → CoreMS-2.0.9}/corems/molecular_id/search/compoundSearch.py +0 -0
- {CoreMS-2.0.6 → CoreMS-2.0.9}/corems/molecular_id/search/findOxygenPeaks.py +0 -0
- {CoreMS-2.0.6 → CoreMS-2.0.9}/corems/molecular_id/search/molecularFormulaSearch.py +0 -0
- {CoreMS-2.0.6 → CoreMS-2.0.9}/corems/molecular_id/search/priorityAssignment.py +0 -0
- {CoreMS-2.0.6 → CoreMS-2.0.9}/corems/ms_peak/__init__.py +0 -0
- {CoreMS-2.0.6 → CoreMS-2.0.9}/corems/ms_peak/calc/__init__.py +0 -0
- {CoreMS-2.0.6 → CoreMS-2.0.9}/corems/ms_peak/factory/__init__.py +0 -0
- {CoreMS-2.0.6 → CoreMS-2.0.9}/corems/transient/__init__.py +0 -0
- {CoreMS-2.0.6 → CoreMS-2.0.9}/corems/transient/calc/TransientCalc.py +0 -0
- {CoreMS-2.0.6 → CoreMS-2.0.9}/corems/transient/calc/__init__.py +0 -0
- {CoreMS-2.0.6 → CoreMS-2.0.9}/corems/transient/factory/TransientClasses.py +0 -0
- {CoreMS-2.0.6 → CoreMS-2.0.9}/corems/transient/factory/__init__.py +0 -0
- {CoreMS-2.0.6 → CoreMS-2.0.9}/corems/transient/input/__init__.py +0 -0
- {CoreMS-2.0.6 → CoreMS-2.0.9}/corems/transient/input/brukerSolarix.py +0 -0
- {CoreMS-2.0.6 → CoreMS-2.0.9}/corems/transient/input/midasDatFile.py +0 -0
- {CoreMS-2.0.6 → CoreMS-2.0.9}/disclaimer.txt +0 -0
- {CoreMS-2.0.6 → CoreMS-2.0.9}/ext_lib/ChemstationMSFileReader.dll +0 -0
- {CoreMS-2.0.6 → CoreMS-2.0.9}/ext_lib/ChemstationMSFileReader.xml +0 -0
- {CoreMS-2.0.6 → CoreMS-2.0.9}/ext_lib/RawFileReaderLicense.doc +0 -0
- {CoreMS-2.0.6 → CoreMS-2.0.9}/ext_lib/ThermoFisher.CommonCore.BackgroundSubtraction.dll +0 -0
- {CoreMS-2.0.6 → CoreMS-2.0.9}/ext_lib/ThermoFisher.CommonCore.BackgroundSubtraction.xml +0 -0
- {CoreMS-2.0.6 → CoreMS-2.0.9}/ext_lib/ThermoFisher.CommonCore.Data.dll +0 -0
- {CoreMS-2.0.6 → CoreMS-2.0.9}/ext_lib/ThermoFisher.CommonCore.Data.xml +0 -0
- {CoreMS-2.0.6 → CoreMS-2.0.9}/ext_lib/ThermoFisher.CommonCore.MassPrecisionEstimator.dll +0 -0
- {CoreMS-2.0.6 → CoreMS-2.0.9}/ext_lib/ThermoFisher.CommonCore.RawFileReader.dll +0 -0
- {CoreMS-2.0.6 → CoreMS-2.0.9}/ext_lib/ThermoFisher.CommonCore.RawFileReader.xml +0 -0
- {CoreMS-2.0.6 → CoreMS-2.0.9}/ext_lib/__init__.py +0 -0
- {CoreMS-2.0.6 → CoreMS-2.0.9}/setup.cfg +0 -0
- {CoreMS-2.0.6 → CoreMS-2.0.9}/tests/test.py +0 -0
- {CoreMS-2.0.6 → CoreMS-2.0.9}/tests/test_LossFinder.py +0 -0
- {CoreMS-2.0.6 → CoreMS-2.0.9}/tests/test_assembly_identification.py +0 -0
- {CoreMS-2.0.6 → CoreMS-2.0.9}/tests/test_classification.py +0 -0
- {CoreMS-2.0.6 → CoreMS-2.0.9}/tests/test_gcms.py +0 -0
- {CoreMS-2.0.6 → CoreMS-2.0.9}/tests/test_massErrorPrediction.py +0 -0
- {CoreMS-2.0.6 → CoreMS-2.0.9}/tests/test_mass_spectrum.py +0 -0
- {CoreMS-2.0.6 → CoreMS-2.0.9}/tests/test_molecularFormula.py +0 -0
- {CoreMS-2.0.6 → CoreMS-2.0.9}/tests/test_molecularFormulaDBFactory.py +0 -0
- {CoreMS-2.0.6 → CoreMS-2.0.9}/tests/test_molecularFormulaSearch.py +0 -0
- {CoreMS-2.0.6 → CoreMS-2.0.9}/tests/test_mspeak.py +0 -0
- {CoreMS-2.0.6 → CoreMS-2.0.9}/tests/test_mz_search.py +0 -0
- {CoreMS-2.0.6 → CoreMS-2.0.9}/tests/test_output.py +0 -0
- {CoreMS-2.0.6 → CoreMS-2.0.9}/tests/test_searchMassListRef.py +0 -0
- {CoreMS-2.0.6 → 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.
|
|
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
|
-

|
|
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.
|
|
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.
|
|
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
|
[](https://doi.org/10.5281/zenodo.4641552)
|
|
345
345
|
|
|
@@ -128,6 +128,24 @@ ext_lib/ThermoFisher.CommonCore.MassPrecisionEstimator.dll
|
|
|
128
128
|
ext_lib/ThermoFisher.CommonCore.RawFileReader.dll
|
|
129
129
|
ext_lib/ThermoFisher.CommonCore.RawFileReader.xml
|
|
130
130
|
ext_lib/__init__.py
|
|
131
|
+
ext_lib/dotnet/OpenMcdf.Extensions.dll
|
|
132
|
+
ext_lib/dotnet/OpenMcdf.dll
|
|
133
|
+
ext_lib/dotnet/OpenMcdf.xml
|
|
134
|
+
ext_lib/dotnet/System.IO.FileSystem.AccessControl.dll
|
|
135
|
+
ext_lib/dotnet/System.IO.FileSystem.AccessControl.xml
|
|
136
|
+
ext_lib/dotnet/System.Security.AccessControl.dll
|
|
137
|
+
ext_lib/dotnet/System.Security.AccessControl.xml
|
|
138
|
+
ext_lib/dotnet/System.Security.Principal.Windows.dll
|
|
139
|
+
ext_lib/dotnet/System.Security.Principal.Windows.xml
|
|
140
|
+
ext_lib/dotnet/ThermoFisher.CommonCore.BackgroundSubtraction.dll
|
|
141
|
+
ext_lib/dotnet/ThermoFisher.CommonCore.BackgroundSubtraction.xml
|
|
142
|
+
ext_lib/dotnet/ThermoFisher.CommonCore.Data.dll
|
|
143
|
+
ext_lib/dotnet/ThermoFisher.CommonCore.Data.xml
|
|
144
|
+
ext_lib/dotnet/ThermoFisher.CommonCore.MassPrecisionEstimator.dll
|
|
145
|
+
ext_lib/dotnet/ThermoFisher.CommonCore.MassPrecisionEstimator.xml
|
|
146
|
+
ext_lib/dotnet/ThermoFisher.CommonCore.RawFileReader.dll
|
|
147
|
+
ext_lib/dotnet/ThermoFisher.CommonCore.RawFileReader.xml
|
|
148
|
+
ext_lib/dotnet/__init__.py
|
|
131
149
|
tests/test.py
|
|
132
150
|
tests/test_LossFinder.py
|
|
133
151
|
tests/test_assembly_identification.py
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: CoreMS
|
|
3
|
-
Version: 2.0.
|
|
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
|
-

|
|
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.
|
|
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.
|
|
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
|
[](https://doi.org/10.5281/zenodo.4641552)
|
|
345
345
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-

|
|
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.
|
|
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.
|
|
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
|
[](https://doi.org/10.5281/zenodo.4641552)
|
|
329
329
|
|
|
@@ -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':
|
|
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
|
-
'
|
|
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
|
-
|
|
525
|
-
|
|
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=
|
|
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
|
-
|
|
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
|
-
|
|
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:
|
|
@@ -79,7 +79,7 @@ class NoiseThresholdCalc:
|
|
|
79
79
|
|
|
80
80
|
elif self.settings.noise_threshold_method == 'signal_noise':
|
|
81
81
|
|
|
82
|
-
normalized_threshold = (self.max_abundance * self.settings.
|
|
82
|
+
normalized_threshold = (self.max_abundance * self.settings.noise_threshold_min_s2n )/self.max_signal_to_noise
|
|
83
83
|
y = (normalized_threshold, normalized_threshold)
|
|
84
84
|
|
|
85
85
|
elif self.settings.noise_threshold_method == "relative_abundance":
|
|
@@ -115,7 +115,7 @@ class NoiseThresholdCalc:
|
|
|
115
115
|
|
|
116
116
|
max_sn = self.abundance_profile.max()/self.baseline_noise_std
|
|
117
117
|
|
|
118
|
-
normalized_threshold = (self.abundance_profile.max() * self.settings.
|
|
118
|
+
normalized_threshold = (self.abundance_profile.max() * self.settings.noise_threshold_min_s2n )/max_sn
|
|
119
119
|
y = (normalized_threshold, normalized_threshold)
|
|
120
120
|
|
|
121
121
|
elif self.settings.noise_threshold_method == "relative_abundance":
|
|
@@ -452,8 +452,11 @@ class PeakPicking:
|
|
|
452
452
|
|
|
453
453
|
elif noise_threshold_method == 'signal_noise':
|
|
454
454
|
|
|
455
|
-
abundance_threshold = self.settings.
|
|
456
|
-
|
|
455
|
+
abundance_threshold = self.settings.noise_threshold_min_s2n
|
|
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
|
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
__author__ = "Yuri E. Corilo"
|
|
2
2
|
__date__ = "Jun 24, 2019"
|
|
3
3
|
|
|
4
|
-
|
|
5
|
-
from numpy import isnan, power, exp, nextafter
|
|
4
|
+
|
|
5
|
+
from numpy import isnan, power, exp, nextafter, array
|
|
6
6
|
from pandas import DataFrame
|
|
7
7
|
from scipy.stats import pearsonr, spearmanr, kendalltau
|
|
8
8
|
|
|
@@ -11,6 +11,19 @@ from corems.encapsulation.constant import Labels
|
|
|
11
11
|
from corems.encapsulation.factory.parameters import MSParameters
|
|
12
12
|
from corems.molecular_id.calc.SpectralSimilarity import SpectralSimilarity
|
|
13
13
|
|
|
14
|
+
# this is to handle both versions of IsoSpecPy, 2.0.2 and 2.2.2
|
|
15
|
+
# TODO in a future release remove support for legacy isospecpy
|
|
16
|
+
from packaging import version
|
|
17
|
+
import IsoSpecPy
|
|
18
|
+
isospec_version = IsoSpecPy.__version__
|
|
19
|
+
if version.parse(isospec_version) > version.parse('2.0.2'):
|
|
20
|
+
legacy_isospec = False
|
|
21
|
+
else: legacy_isospec = True
|
|
22
|
+
if legacy_isospec:
|
|
23
|
+
from IsoSpecPy import IsoSpecPy
|
|
24
|
+
print(f"IsoSpecPy version {isospec_version} is installed, and support is deprecated. Please update to 2.2.2")
|
|
25
|
+
|
|
26
|
+
|
|
14
27
|
class MolecularFormulaCalc:
|
|
15
28
|
"""Class of calculations related to molecular formula
|
|
16
29
|
|
|
@@ -645,15 +658,31 @@ class MolecularFormulaCalc:
|
|
|
645
658
|
atoms_count.append(formula_dict.get(atom_label))
|
|
646
659
|
masses_list_tuples.append(masses)
|
|
647
660
|
props_list_tuples.append(props)
|
|
648
|
-
|
|
649
|
-
|
|
650
|
-
|
|
651
|
-
|
|
652
|
-
|
|
653
|
-
|
|
654
|
-
|
|
655
|
-
|
|
656
|
-
|
|
661
|
+
if legacy_isospec:
|
|
662
|
+
iso = IsoSpecPy.IsoSpec(atoms_count,masses_list_tuples,props_list_tuples, cut_off_to_IsoSpeccPy)
|
|
663
|
+
conf = iso.getConfs()
|
|
664
|
+
masses = conf[0]
|
|
665
|
+
probs = exp(conf[1])
|
|
666
|
+
molecular_formulas = conf[2]
|
|
667
|
+
#print('conf', conf)
|
|
668
|
+
#print('probs', conf[1])
|
|
669
|
+
else:
|
|
670
|
+
# This syntax in IsoSpecPy 2.2.2 yields the same information as the legacy approach
|
|
671
|
+
iso = IsoSpecPy.IsoTotalProb(atomCounts = atoms_count, isotopeMasses = masses_list_tuples,
|
|
672
|
+
isotopeProbabilities = props_list_tuples, prob_to_cover =cut_off_to_IsoSpeccPy, get_confs=True)
|
|
673
|
+
masses = list(iso.masses)
|
|
674
|
+
probs = array(list(iso.probs))
|
|
675
|
+
confs = list(iso.confs)
|
|
676
|
+
|
|
677
|
+
molecular_formulas = []
|
|
678
|
+
for x in confs:
|
|
679
|
+
tmplist = []
|
|
680
|
+
for y in x:
|
|
681
|
+
tmplist.extend(list(y))
|
|
682
|
+
molecular_formulas.append(tmplist)
|
|
683
|
+
|
|
684
|
+
|
|
685
|
+
|
|
657
686
|
|
|
658
687
|
new_formulas = []
|
|
659
688
|
|
|
@@ -406,9 +406,14 @@ class MolecularFormulaBase(MolecularFormulaCalc):
|
|
|
406
406
|
-----
|
|
407
407
|
This calculation ignores the hydrogen isotopes.
|
|
408
408
|
"""
|
|
409
|
-
|
|
409
|
+
isotopologues = []
|
|
410
410
|
for mf in self._cal_isotopologues(self._d_molecular_formula, min_abundance, current_mono_abundance, dynamic_range ):
|
|
411
|
-
|
|
411
|
+
isotopologues.append(mf)
|
|
412
|
+
|
|
413
|
+
# To account for differences in how the isotopologue outputs are sorted between IsoSpec versions.
|
|
414
|
+
sorted_isotopologues = sorted(isotopologues, key=lambda mf: mf[1], reverse=True)
|
|
415
|
+
|
|
416
|
+
for mf in sorted_isotopologues:
|
|
412
417
|
yield MolecularFormulaIsotopologue(
|
|
413
418
|
*mf,
|
|
414
419
|
current_mono_abundance,
|
|
@@ -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
|
-
|
|
30
|
+
peak_left_index : int
|
|
31
31
|
The start scan index of the peak.
|
|
32
|
-
|
|
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
|
-
|
|
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.
|
|
143
|
-
xx = self._ms_parent.mz_exp_profile[self.
|
|
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.
|
|
186
|
-
final_index = self.
|
|
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.
|
|
389
|
-
final_index = self.
|
|
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.
|
|
653
|
-
final_index = self.
|
|
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
|
-
|
|
83
|
-
self.
|
|
84
|
-
self.
|
|
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.
|
|
322
|
-
y = self._ms_parent.abundance_profile[self.
|
|
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.
|
|
328
|
+
self.peak_left_index : self.peak_right_index + 1
|
|
330
329
|
]
|
|
331
330
|
)
|
|
332
331
|
ax.plot(x, dy, c=deriv_color)
|
|
Binary file
|
|
Binary file
|