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
ext_lib/version ADDED
@@ -0,0 +1,18 @@
1
+ This file updated October 21st, 2024
2
+
3
+ ---------------------------------
4
+ Source repo: https://github.com/thermofisherlsms/RawFileReader/tree/main
5
+ ---------------------------------
6
+
7
+ corems/ext_lib/ uses Libs/Net471/ from source repo
8
+
9
+ Their commit message: Update the RawFileReader version to support Orbitrap ASTRAL files. For .Framework 4.7.1, these files are version 5.0.93 while the .NetCore version of the files are 7.1.21. The .NetCore version of the DLLs were compiled with .Net Core 5 but will work with .Net Core 6 and 7.
10
+
11
+ Source updated "last year"
12
+
13
+
14
+ corems/ext_lib/dotnet/ uses Libs/NetCore/Net8/Assemblies from source repo
15
+
16
+ Source updated October 9th, 2024
17
+
18
+ Note: Files starting with "System" are not found in the source repo and thus have not been updated.
@@ -0,0 +1,359 @@
1
+ from collections import namedtuple, OrderedDict
2
+
3
+ Atom = namedtuple(
4
+ 'Atom', 'atomic_number symbol mass_number atomic_mass natural_abundance')
5
+
6
+ atoms = {"H": Atom(atomic_number=1, symbol='H', mass_number='1', atomic_mass=1.007825032239, natural_abundance=0.9998857),
7
+ "D": Atom(atomic_number=1, symbol='D', mass_number='2', atomic_mass=2.0141017781212, natural_abundance=0.0001157),
8
+ "T": Atom(atomic_number=1, symbol='T', mass_number='3', atomic_mass=3.016049277924, natural_abundance=None),
9
+ "3He": Atom(atomic_number=2, symbol='He', mass_number='3', atomic_mass=3.016029320125, natural_abundance=1.343e-06),
10
+ "He": Atom(atomic_number=2, symbol='He', mass_number='4', atomic_mass=4.002603254136, natural_abundance=0.999998663),
11
+ "6Li": Atom(atomic_number=3, symbol='Li', mass_number='6', atomic_mass=6.015122887416, natural_abundance=0.07594),
12
+ "7Li": Atom(atomic_number=3, symbol='Li', mass_number='7', atomic_mass=7.016003436645, natural_abundance=0.92414),
13
+ "9Be": Atom(atomic_number=4, symbol='Be', mass_number='9', atomic_mass=9.01218306582, natural_abundance=1.0),
14
+ "10B": Atom(atomic_number=5, symbol='B', mass_number='10', atomic_mass=10.0129369541, natural_abundance=0.1997),
15
+ "11B": Atom(atomic_number=5, symbol='B', mass_number='11', atomic_mass=11.0093053645, natural_abundance=0.8017),
16
+ "C": Atom(atomic_number=6, symbol='C', mass_number='12', atomic_mass=12.0, natural_abundance=0.98938),
17
+ "13C": Atom(atomic_number=6, symbol='C', mass_number='13', atomic_mass=13.0033548350723, natural_abundance=0.01078),
18
+ "14C": Atom(atomic_number=6, symbol='C', mass_number='14', atomic_mass=14.00324198844, natural_abundance=None),
19
+ "N": Atom(atomic_number=7, symbol='N', mass_number='14', atomic_mass=14.003074004432, natural_abundance=0.996362),
20
+ "15N": Atom(atomic_number=7, symbol='N', mass_number='15', atomic_mass=15.0001088988864, natural_abundance=0.003642),
21
+ "O": Atom(atomic_number=8, symbol='O', mass_number='16', atomic_mass=15.9949146195717, natural_abundance=0.9975716),
22
+ "17O": Atom(atomic_number=8, symbol='O', mass_number='17', atomic_mass=16.9991317565069, natural_abundance=0.000381),
23
+ "18O": Atom(atomic_number=8, symbol='O', mass_number='18', atomic_mass=17.9991596128676, natural_abundance=0.0020514),
24
+ "F": Atom(atomic_number=9, symbol='F', mass_number='19', atomic_mass=18.9984031627392, natural_abundance=1.0),
25
+ "20Ne": Atom(atomic_number=10, symbol='Ne', mass_number='20', atomic_mass=19.992440176217, natural_abundance=0.90483),
26
+ "21Ne": Atom(atomic_number=10, symbol='Ne', mass_number='21', atomic_mass=20.99384668541, natural_abundance=0.00271),
27
+ "22Ne": Atom(atomic_number=10, symbol='Ne', mass_number='22', atomic_mass=21.99138511418, natural_abundance=0.09253),
28
+ "23Na": Atom(atomic_number=11, symbol='Na', mass_number='23', atomic_mass=22.989769282019, natural_abundance=1.0),
29
+ "24Mg": Atom(atomic_number=12, symbol='Mg', mass_number='24', atomic_mass=23.98504169714, natural_abundance=0.78994),
30
+ "25Mg": Atom(atomic_number=12, symbol='Mg', mass_number='25', atomic_mass=24.9858369765, natural_abundance=0.10001),
31
+ "26Mg": Atom(atomic_number=12, symbol='Mg', mass_number='26', atomic_mass=25.98259296831, natural_abundance=0.11013),
32
+ "27Al": Atom(atomic_number=13, symbol='Al', mass_number='27', atomic_mass=26.9815385311, natural_abundance=1.0),
33
+ "28Si": Atom(atomic_number=14, symbol='Si', mass_number='28', atomic_mass=27.9769265346544, natural_abundance=0.9222319),
34
+ "29Si": Atom(atomic_number=14, symbol='Si', mass_number='29', atomic_mass=28.9764946649052, natural_abundance=0.046858),
35
+ "30Si": Atom(atomic_number=14, symbol='Si', mass_number='30', atomic_mass=29.97377013623, natural_abundance=0.0309211),
36
+ "P": Atom(atomic_number=15, symbol='P', mass_number='31', atomic_mass=30.973761998427, natural_abundance=1.0),
37
+ "S": Atom(atomic_number=16, symbol='S', mass_number='32', atomic_mass=31.972071174414, natural_abundance=0.949926),
38
+ "33S": Atom(atomic_number=16, symbol='S', mass_number='33', atomic_mass=32.971458909815, natural_abundance=0.00752),
39
+ "34S": Atom(atomic_number=16, symbol='S', mass_number='34', atomic_mass=33.96786700447, natural_abundance=0.042524),
40
+ "36S": Atom(atomic_number=16, symbol='S', mass_number='36', atomic_mass=35.967080712, natural_abundance=0.00011),
41
+ "35Cl": Atom(atomic_number=17, symbol='Cl', mass_number='35', atomic_mass=34.96885268237, natural_abundance=0.75761),
42
+ "37Cl": Atom(atomic_number=17, symbol='Cl', mass_number='37', atomic_mass=36.96590260255, natural_abundance=0.24241),
43
+ "36Ar": Atom(atomic_number=18, symbol='Ar', mass_number='36', atomic_mass=35.96754510528, natural_abundance=0.00333621),
44
+ "38Ar": Atom(atomic_number=18, symbol='Ar', mass_number='38', atomic_mass=37.9627321121, natural_abundance=0.0006297),
45
+ "40Ar": Atom(atomic_number=18, symbol='Ar', mass_number='40', atomic_mass=39.962383123724, natural_abundance=0.99603525),
46
+ "K": Atom(atomic_number=19, symbol='K', mass_number='39', atomic_mass=38.963706486449, natural_abundance=0.93258144),
47
+ "40K": Atom(atomic_number=19, symbol='K', mass_number='40', atomic_mass=39.9639981666, natural_abundance=0.0001171),
48
+ "41K": Atom(atomic_number=19, symbol='K', mass_number='41', atomic_mass=40.961825257941, natural_abundance=0.06730244),
49
+ "Ca": Atom(atomic_number=20, symbol='Ca', mass_number='40', atomic_mass=39.96259086322, natural_abundance=0.96941156),
50
+ "42Ca": Atom(atomic_number=20, symbol='Ca', mass_number='42', atomic_mass=41.9586178316, natural_abundance=0.0064723),
51
+ "43Ca": Atom(atomic_number=20, symbol='Ca', mass_number='43', atomic_mass=42.9587664424, natural_abundance=0.001351),
52
+ "44Ca": Atom(atomic_number=20, symbol='Ca', mass_number='44', atomic_mass=43.9554815635, natural_abundance=0.0208611),
53
+ "46Ca": Atom(atomic_number=20, symbol='Ca', mass_number='46', atomic_mass=45.953689024, natural_abundance=4.3e-05),
54
+ "48Ca": Atom(atomic_number=20, symbol='Ca', mass_number='48', atomic_mass=47.9525227613, natural_abundance=0.0018721),
55
+ "45Sc": Atom(atomic_number=21, symbol='Sc', mass_number='45', atomic_mass=44.9559082877, natural_abundance=1.0),
56
+ "46Ti": Atom(atomic_number=22, symbol='Ti', mass_number='46', atomic_mass=45.9526277235, natural_abundance=0.08253),
57
+ "47Ti": Atom(atomic_number=22, symbol='Ti', mass_number='47', atomic_mass=46.9517587938, natural_abundance=0.07442),
58
+ "48Ti": Atom(atomic_number=22, symbol='Ti', mass_number='48', atomic_mass=47.9479419838, natural_abundance=0.73723),
59
+ "49Ti": Atom(atomic_number=22, symbol='Ti', mass_number='49', atomic_mass=48.9478656839, natural_abundance=0.05412),
60
+ "50Ti": Atom(atomic_number=22, symbol='Ti', mass_number='50', atomic_mass=49.9447868939, natural_abundance=0.05182),
61
+ "50V": Atom(atomic_number=23, symbol='V', mass_number='50', atomic_mass=49.9471560195, natural_abundance=0.002504),
62
+ "V": Atom(atomic_number=23, symbol='V', mass_number='51', atomic_mass=50.9439570494, natural_abundance=0.997504),
63
+ "50Cr": Atom(atomic_number=24, symbol='Cr', mass_number='50', atomic_mass=49.9460418394, natural_abundance=0.0434513),
64
+ "52Cr": Atom(atomic_number=24, symbol='Cr', mass_number='52', atomic_mass=51.9405062363, natural_abundance=0.8378918),
65
+ "53Cr": Atom(atomic_number=24, symbol='Cr', mass_number='53', atomic_mass=52.9406481562, natural_abundance=0.0950117),
66
+ "54Cr": Atom(atomic_number=24, symbol='Cr', mass_number='54', atomic_mass=53.9388791661, natural_abundance=0.023657),
67
+ "55Mn": Atom(atomic_number=25, symbol='Mn', mass_number='55', atomic_mass=54.9380439148, natural_abundance=1.0),
68
+ "54Fe": Atom(atomic_number=26, symbol='Fe', mass_number='54', atomic_mass=53.9396089953, natural_abundance=0.0584535),
69
+ "Fe": Atom(atomic_number=26, symbol='Fe', mass_number='56', atomic_mass=55.9349363349, natural_abundance=0.9175436),
70
+ "57Fe": Atom(atomic_number=26, symbol='Fe', mass_number='57', atomic_mass=56.9353928449, natural_abundance=0.021191),
71
+ "58Fe": Atom(atomic_number=26, symbol='Fe', mass_number='58', atomic_mass=57.9332744353, natural_abundance=0.002824),
72
+ "59Co": Atom(atomic_number=27, symbol='Co', mass_number='59', atomic_mass=58.9331942956, natural_abundance=1.0),
73
+ "58Ni": Atom(atomic_number=28, symbol='Ni', mass_number='58', atomic_mass=57.9353424152, natural_abundance=0.6807719),
74
+ "60Ni": Atom(atomic_number=28, symbol='Ni', mass_number='60', atomic_mass=59.9307858852, natural_abundance=0.2622315),
75
+ "61Ni": Atom(atomic_number=28, symbol='Ni', mass_number='61', atomic_mass=60.9310555752, natural_abundance=0.01139913),
76
+ "62Ni": Atom(atomic_number=28, symbol='Ni', mass_number='62', atomic_mass=61.9283453755, natural_abundance=0.0363464),
77
+ "64Ni": Atom(atomic_number=28, symbol='Ni', mass_number='64', atomic_mass=63.9279668258, natural_abundance=0.00925519),
78
+ "63Cu": Atom(atomic_number=29, symbol='Cu', mass_number='63', atomic_mass=62.9295977256, natural_abundance=0.691515),
79
+ "65Cu": Atom(atomic_number=29, symbol='Cu', mass_number='65', atomic_mass=64.9277897071, natural_abundance=0.308515),
80
+ "64Zn": Atom(atomic_number=30, symbol='Zn', mass_number='64', atomic_mass=63.9291420171, natural_abundance=0.491775),
81
+ "66Zn": Atom(atomic_number=30, symbol='Zn', mass_number='66', atomic_mass=65.9260338194, natural_abundance=0.277398),
82
+ "67Zn": Atom(atomic_number=30, symbol='Zn', mass_number='67', atomic_mass=66.9271277596, natural_abundance=0.040416),
83
+ "68Zn": Atom(atomic_number=30, symbol='Zn', mass_number='68', atomic_mass=67.9248445598, natural_abundance=0.184563),
84
+ "70Zn": Atom(atomic_number=30, symbol='Zn', mass_number='70', atomic_mass=69.925319221, natural_abundance=0.00611),
85
+ "69Ga": Atom(atomic_number=31, symbol='Ga', mass_number='69', atomic_mass=68.925573513, natural_abundance=0.601089),
86
+ "71Ga": Atom(atomic_number=31, symbol='Ga', mass_number='71', atomic_mass=70.9247025887, natural_abundance=0.398929),
87
+ "70Ge": Atom(atomic_number=32, symbol='Ge', mass_number='70', atomic_mass=69.924248759, natural_abundance=0.205727),
88
+ "72Ge": Atom(atomic_number=32, symbol='Ge', mass_number='72', atomic_mass=71.92207582681, natural_abundance=0.274532),
89
+ "73Ge": Atom(atomic_number=32, symbol='Ge', mass_number='73', atomic_mass=72.92345895661, natural_abundance=0.077512),
90
+ "74Ge": Atom(atomic_number=32, symbol='Ge', mass_number='74', atomic_mass=73.92117776113, natural_abundance=0.36502),
91
+ "76Ge": Atom(atomic_number=32, symbol='Ge', mass_number='76', atomic_mass=75.92140272619, natural_abundance=0.077312),
92
+ "75As": Atom(atomic_number=33, symbol='As', mass_number='75', atomic_mass=74.9215945795, natural_abundance=1.0),
93
+ "74Se": Atom(atomic_number=34, symbol='Se', mass_number='74', atomic_mass=73.92247593415, natural_abundance=0.00894),
94
+ "76Se": Atom(atomic_number=34, symbol='Se', mass_number='76', atomic_mass=75.91921370417, natural_abundance=0.093729),
95
+ "77Se": Atom(atomic_number=34, symbol='Se', mass_number='77', atomic_mass=76.91991415467, natural_abundance=0.076316),
96
+ "78Se": Atom(atomic_number=34, symbol='Se', mass_number='78', atomic_mass=77.917309282, natural_abundance=0.237728),
97
+ "80Se": Atom(atomic_number=34, symbol='Se', mass_number='80', atomic_mass=79.916521813, natural_abundance=0.496141),
98
+ "82Se": Atom(atomic_number=34, symbol='Se', mass_number='82', atomic_mass=81.916699515, natural_abundance=0.087322),
99
+ "79Br": Atom(atomic_number=35, symbol='Br', mass_number='79', atomic_mass=78.918337614, natural_abundance=0.50697),
100
+ "81Br": Atom(atomic_number=35, symbol='Br', mass_number='81', atomic_mass=80.916289714, natural_abundance=0.49317),
101
+ "78Kr": Atom(atomic_number=36, symbol='Kr', mass_number='78', atomic_mass=77.9203649476, natural_abundance=0.003553),
102
+ "80Kr": Atom(atomic_number=36, symbol='Kr', mass_number='80', atomic_mass=79.9163780875, natural_abundance=0.022861),
103
+ "82Kr": Atom(atomic_number=36, symbol='Kr', mass_number='82', atomic_mass=81.9134827394, natural_abundance=0.1159331),
104
+ "83Kr": Atom(atomic_number=36, symbol='Kr', mass_number='83', atomic_mass=82.9141271632, natural_abundance=0.1150019),
105
+ "84Kr": Atom(atomic_number=36, symbol='Kr', mass_number='84', atomic_mass=83.911497728244, natural_abundance=0.5698715),
106
+ "86Kr": Atom(atomic_number=36, symbol='Kr', mass_number='86', atomic_mass=85.910610626941, natural_abundance=0.1727941),
107
+ "85Rb": Atom(atomic_number=37, symbol='Rb', mass_number='85', atomic_mass=84.911789737954, natural_abundance=0.72172),
108
+ "87Rb": Atom(atomic_number=37, symbol='Rb', mass_number='87', atomic_mass=86.90918053106, natural_abundance=0.27832),
109
+ "84Sr": Atom(atomic_number=38, symbol='Sr', mass_number='84', atomic_mass=83.913419113, natural_abundance=0.00561),
110
+ "86Sr": Atom(atomic_number=38, symbol='Sr', mass_number='86', atomic_mass=85.909260612, natural_abundance=0.09861),
111
+ "87Sr": Atom(atomic_number=38, symbol='Sr', mass_number='87', atomic_mass=86.908877512, natural_abundance=0.07001),
112
+ "88Sr": Atom(atomic_number=38, symbol='Sr', mass_number='88', atomic_mass=87.905612512, natural_abundance=0.82581),
113
+ "89Y": Atom(atomic_number=39, symbol='Y', mass_number='89', atomic_mass=88.905840324, natural_abundance=1.0),
114
+ "90Zr": Atom(atomic_number=40, symbol='Zr', mass_number='90', atomic_mass=89.90469772, natural_abundance=0.51454),
115
+ "91Zr": Atom(atomic_number=40, symbol='Zr', mass_number='91', atomic_mass=90.90563962, natural_abundance=0.11225),
116
+ "92Zr": Atom(atomic_number=40, symbol='Zr', mass_number='92', atomic_mass=91.90503472, natural_abundance=0.17158),
117
+ "94Zr": Atom(atomic_number=40, symbol='Zr', mass_number='94', atomic_mass=93.90631082, natural_abundance=0.173828),
118
+ "96Zr": Atom(atomic_number=40, symbol='Zr', mass_number='96', atomic_mass=95.908271421, natural_abundance=0.02809),
119
+ "93Nb": Atom(atomic_number=41, symbol='Nb', mass_number='93', atomic_mass=92.90637302, natural_abundance=1.0),
120
+ "92Mo": Atom(atomic_number=42, symbol='Mo', mass_number='92', atomic_mass=91.9068079684, natural_abundance=0.14533),
121
+ "94Mo": Atom(atomic_number=42, symbol='Mo', mass_number='94', atomic_mass=93.9050849048, natural_abundance=0.09159),
122
+ "95Mo": Atom(atomic_number=42, symbol='Mo', mass_number='95', atomic_mass=94.9058387747, natural_abundance=0.158411),
123
+ "96Mo": Atom(atomic_number=42, symbol='Mo', mass_number='96', atomic_mass=95.9046761247, natural_abundance=0.166715),
124
+ "97Mo": Atom(atomic_number=42, symbol='Mo', mass_number='97', atomic_mass=96.9060181249, natural_abundance=0.096014),
125
+ "98Mo": Atom(atomic_number=42, symbol='Mo', mass_number='98', atomic_mass=97.9054048249, natural_abundance=0.243937),
126
+ "100Mo": Atom(atomic_number=42, symbol='Mo', mass_number='100', atomic_mass=99.907471811, natural_abundance=0.098231),
127
+ "97Tc": Atom(atomic_number=43, symbol='Tc', mass_number='97', atomic_mass=96.90636674, natural_abundance=None),
128
+ "98Tc": Atom(atomic_number=43, symbol='Tc', mass_number='98', atomic_mass=97.907212436, natural_abundance=None),
129
+ "99Tc": Atom(atomic_number=43, symbol='Tc', mass_number='99', atomic_mass=98.90625081, natural_abundance=None),
130
+ "96Ru": Atom(atomic_number=44, symbol='Ru', mass_number='96', atomic_mass=95.9075902549, natural_abundance=0.055414),
131
+ "98Ru": Atom(atomic_number=44, symbol='Ru', mass_number='98', atomic_mass=97.905286869, natural_abundance=0.01873),
132
+ "99Ru": Atom(atomic_number=44, symbol='Ru', mass_number='99', atomic_mass=98.905934111, natural_abundance=0.127614),
133
+ "100Ru": Atom(atomic_number=44, symbol='Ru', mass_number='100', atomic_mass=99.904214311, natural_abundance=0.12607),
134
+ "101Ru": Atom(atomic_number=44, symbol='Ru', mass_number='101', atomic_mass=100.905576912, natural_abundance=0.17062),
135
+ "102Ru": Atom(atomic_number=44, symbol='Ru', mass_number='102', atomic_mass=101.904344112, natural_abundance=0.315514),
136
+ "104Ru": Atom(atomic_number=44, symbol='Ru', mass_number='104', atomic_mass=103.905427528, natural_abundance=0.186227),
137
+ "103Rh": Atom(atomic_number=45, symbol='Rh', mass_number='103', atomic_mass=102.905498026, natural_abundance=1.0),
138
+ "102Pd": Atom(atomic_number=46, symbol='Pd', mass_number='102', atomic_mass=101.905602228, natural_abundance=0.01021),
139
+ "104Pd": Atom(atomic_number=46, symbol='Pd', mass_number='104', atomic_mass=103.904030514, natural_abundance=0.11148),
140
+ "105Pd": Atom(atomic_number=46, symbol='Pd', mass_number='105', atomic_mass=104.905079612, natural_abundance=0.22338),
141
+ "106Pd": Atom(atomic_number=46, symbol='Pd', mass_number='106', atomic_mass=105.903480412, natural_abundance=0.27333),
142
+ "108Pd": Atom(atomic_number=46, symbol='Pd', mass_number='108', atomic_mass=107.903891612, natural_abundance=0.26469),
143
+ "110Pd": Atom(atomic_number=46, symbol='Pd', mass_number='110', atomic_mass=109.9051722075, natural_abundance=0.11729),
144
+ "107Ag": Atom(atomic_number=47, symbol='Ag', mass_number='107', atomic_mass=106.905091626, natural_abundance=0.518398),
145
+ "109Ag": Atom(atomic_number=47, symbol='Ag', mass_number='109', atomic_mass=108.904755314, natural_abundance=0.481618),
146
+ "106Cd": Atom(atomic_number=48, symbol='Cd', mass_number='106', atomic_mass=105.906459912, natural_abundance=0.01256),
147
+ "108Cd": Atom(atomic_number=48, symbol='Cd', mass_number='108', atomic_mass=107.904183412, natural_abundance=0.00893),
148
+ "110Cd": Atom(atomic_number=48, symbol='Cd', mass_number='110', atomic_mass=109.9030066161, natural_abundance=0.124918),
149
+ "111Cd": Atom(atomic_number=48, symbol='Cd', mass_number='111', atomic_mass=110.9041828761, natural_abundance=0.128012),
150
+ "112Cd": Atom(atomic_number=48, symbol='Cd', mass_number='112', atomic_mass=111.902762876, natural_abundance=0.241321),
151
+ "113Cd": Atom(atomic_number=48, symbol='Cd', mass_number='113', atomic_mass=112.9044081345, natural_abundance=0.122212),
152
+ "114Cd": Atom(atomic_number=48, symbol='Cd', mass_number='114', atomic_mass=113.9033650943, natural_abundance=0.287342),
153
+ "116Cd": Atom(atomic_number=48, symbol='Cd', mass_number='116', atomic_mass=115.9047631517, natural_abundance=0.074918),
154
+ "113In": Atom(atomic_number=49, symbol='In', mass_number='113', atomic_mass=112.9040618491, natural_abundance=0.04295),
155
+ "115In": Atom(atomic_number=49, symbol='In', mass_number='115', atomic_mass=114.90387877612, natural_abundance=0.95715),
156
+ "112Sn": Atom(atomic_number=50, symbol='Sn', mass_number='112', atomic_mass=111.9048238761, natural_abundance=0.00971),
157
+ "114Sn": Atom(atomic_number=50, symbol='Sn', mass_number='114', atomic_mass=113.90278271, natural_abundance=0.00661),
158
+ "115Sn": Atom(atomic_number=50, symbol='Sn', mass_number='115', atomic_mass=114.90334469916, natural_abundance=0.00341),
159
+ "116Sn": Atom(atomic_number=50, symbol='Sn', mass_number='116', atomic_mass=115.901742801, natural_abundance=0.14549),
160
+ "117Sn": Atom(atomic_number=50, symbol='Sn', mass_number='117', atomic_mass=116.9029539852, natural_abundance=0.07687),
161
+ "118Sn": Atom(atomic_number=50, symbol='Sn', mass_number='118', atomic_mass=117.9016065754, natural_abundance=0.24229),
162
+ "119Sn": Atom(atomic_number=50, symbol='Sn', mass_number='119', atomic_mass=118.9033111778, natural_abundance=0.08594),
163
+ "120Sn": Atom(atomic_number=50, symbol='Sn', mass_number='120', atomic_mass=119.9022016397, natural_abundance=0.32589),
164
+ "122Sn": Atom(atomic_number=50, symbol='Sn', mass_number='122', atomic_mass=121.903443826, natural_abundance=0.04633),
165
+ "124Sn": Atom(atomic_number=50, symbol='Sn', mass_number='124', atomic_mass=123.905276611, natural_abundance=0.05795),
166
+ "121Sb": Atom(atomic_number=51, symbol='Sb', mass_number='121', atomic_mass=120.90381203, natural_abundance=0.57215),
167
+ "123Sb": Atom(atomic_number=51, symbol='Sb', mass_number='123', atomic_mass=122.904213223, natural_abundance=0.42795),
168
+ "120Te": Atom(atomic_number=52, symbol='Te', mass_number='120', atomic_mass=119.904059333, natural_abundance=0.00091),
169
+ "122Te": Atom(atomic_number=52, symbol='Te', mass_number='122', atomic_mass=121.903043516, natural_abundance=0.025512),
170
+ "123Te": Atom(atomic_number=52, symbol='Te', mass_number='123', atomic_mass=122.904269816, natural_abundance=0.00893),
171
+ "124Te": Atom(atomic_number=52, symbol='Te', mass_number='124', atomic_mass=123.902817116, natural_abundance=0.047414),
172
+ "125Te": Atom(atomic_number=52, symbol='Te', mass_number='125', atomic_mass=124.904429916, natural_abundance=0.070715),
173
+ "126Te": Atom(atomic_number=52, symbol='Te', mass_number='126', atomic_mass=125.903310916, natural_abundance=0.188425),
174
+ "128Te": Atom(atomic_number=52, symbol='Te', mass_number='128', atomic_mass=127.9044612893, natural_abundance=0.31748),
175
+ "130Te": Atom(atomic_number=52, symbol='Te', mass_number='130', atomic_mass=129.90622274812, natural_abundance=0.340862),
176
+ "127I": Atom(atomic_number=53, symbol='I', mass_number='127', atomic_mass=126.904471939, natural_abundance=1.0),
177
+ "124Xe": Atom(atomic_number=54, symbol='Xe', mass_number='124', atomic_mass=123.905892019, natural_abundance=0.0009523),
178
+ "126Xe": Atom(atomic_number=54, symbol='Xe', mass_number='126', atomic_mass=125.904298338, natural_abundance=0.0008902),
179
+ "128Xe": Atom(atomic_number=54, symbol='Xe', mass_number='128', atomic_mass=127.903531011, natural_abundance=0.0191028),
180
+ "129Xe": Atom(atomic_number=54, symbol='Xe', mass_number='129', atomic_mass=128.90478086116, natural_abundance=0.26400682),
181
+ "130Xe": Atom(atomic_number=54, symbol='Xe', mass_number='130', atomic_mass=129.9035093491, natural_abundance=0.04071013),
182
+ "131Xe": Atom(atomic_number=54, symbol='Xe', mass_number='131', atomic_mass=130.9050840624, natural_abundance=0.2123243),
183
+ "132Xe": Atom(atomic_number=54, symbol='Xe', mass_number='132', atomic_mass=131.904155085656, natural_abundance=0.26908633),
184
+ "134Xe": Atom(atomic_number=54, symbol='Xe', mass_number='134', atomic_mass=133.905394669, natural_abundance=0.10435721),
185
+ "136Xe": Atom(atomic_number=54, symbol='Xe', mass_number='136', atomic_mass=135.90721448411, natural_abundance=0.08857344),
186
+ "133Cs": Atom(atomic_number=55, symbol='Cs', mass_number='133', atomic_mass=132.90545196108, natural_abundance=1.0),
187
+ "130Ba": Atom(atomic_number=56, symbol='Ba', mass_number='130', atomic_mass=129.906320728, natural_abundance=0.001061),
188
+ "132Ba": Atom(atomic_number=56, symbol='Ba', mass_number='132', atomic_mass=131.905061111, natural_abundance=0.001011),
189
+ "134Ba": Atom(atomic_number=56, symbol='Ba', mass_number='134', atomic_mass=133.904508183, natural_abundance=0.0241718),
190
+ "135Ba": Atom(atomic_number=56, symbol='Ba', mass_number='135', atomic_mass=134.9056883829, natural_abundance=0.0659212),
191
+ "136Ba": Atom(atomic_number=56, symbol='Ba', mass_number='136', atomic_mass=135.9045757329, natural_abundance=0.0785424),
192
+ "137Ba": Atom(atomic_number=56, symbol='Ba', mass_number='137', atomic_mass=136.905827143, natural_abundance=0.1123224),
193
+ "138Ba": Atom(atomic_number=56, symbol='Ba', mass_number='138', atomic_mass=137.9052470031, natural_abundance=0.7169842),
194
+ "138La": Atom(atomic_number=57, symbol='La', mass_number='138', atomic_mass=137.907114937, natural_abundance=0.000888171),
195
+ "139La": Atom(atomic_number=57, symbol='La', mass_number='139', atomic_mass=138.906356324, natural_abundance=0.999111971),
196
+ "136Ce": Atom(atomic_number=58, symbol='Ce', mass_number='136', atomic_mass=135.9071292141, natural_abundance=0.001852),
197
+ "138Ce": Atom(atomic_number=58, symbol='Ce', mass_number='138', atomic_mass=137.90599111, natural_abundance=0.002512),
198
+ "140Ce": Atom(atomic_number=58, symbol='Ce', mass_number='140', atomic_mass=139.905443123, natural_abundance=0.8845051),
199
+ "142Ce": Atom(atomic_number=58, symbol='Ce', mass_number='142', atomic_mass=141.909250429, natural_abundance=0.1111451),
200
+ "141Pr": Atom(atomic_number=59, symbol='Pr', mass_number='141', atomic_mass=140.907657623, natural_abundance=1.0),
201
+ "142Nd": Atom(atomic_number=60, symbol='Nd', mass_number='142', atomic_mass=141.90772902, natural_abundance=0.271524),
202
+ "143Nd": Atom(atomic_number=60, symbol='Nd', mass_number='143', atomic_mass=142.90982002, natural_abundance=0.1217426),
203
+ "144Nd": Atom(atomic_number=60, symbol='Nd', mass_number='144', atomic_mass=143.91009302, natural_abundance=0.2379819),
204
+ "145Nd": Atom(atomic_number=60, symbol='Nd', mass_number='145', atomic_mass=144.91257932, natural_abundance=0.0829312),
205
+ "146Nd": Atom(atomic_number=60, symbol='Nd', mass_number='146', atomic_mass=145.91312262, natural_abundance=0.1718932),
206
+ "148Nd": Atom(atomic_number=60, symbol='Nd', mass_number='148', atomic_mass=147.916899326, natural_abundance=0.0575621),
207
+ "150Nd": Atom(atomic_number=60, symbol='Nd', mass_number='150', atomic_mass=149.920902218, natural_abundance=0.0563828),
208
+ "145Pm": Atom(atomic_number=61, symbol='Pm', mass_number='145', atomic_mass=144.912755933, natural_abundance=None),
209
+ "147Pm": Atom(atomic_number=61, symbol='Pm', mass_number='147', atomic_mass=146.915145019, natural_abundance=None),
210
+ "144Sm": Atom(atomic_number=62, symbol='Sm', mass_number='144', atomic_mass=143.912006521, natural_abundance=0.03077),
211
+ "147Sm": Atom(atomic_number=62, symbol='Sm', mass_number='147', atomic_mass=146.914904419, natural_abundance=0.149918),
212
+ "148Sm": Atom(atomic_number=62, symbol='Sm', mass_number='148', atomic_mass=147.914829219, natural_abundance=0.11241),
213
+ "149Sm": Atom(atomic_number=62, symbol='Sm', mass_number='149', atomic_mass=148.917192118, natural_abundance=0.13827),
214
+ "150Sm": Atom(atomic_number=62, symbol='Sm', mass_number='150', atomic_mass=149.917282918, natural_abundance=0.07381),
215
+ "152Sm": Atom(atomic_number=62, symbol='Sm', mass_number='152', atomic_mass=151.919739718, natural_abundance=0.267516),
216
+ "154Sm": Atom(atomic_number=62, symbol='Sm', mass_number='154', atomic_mass=153.92221692, natural_abundance=0.227529),
217
+ "151Eu": Atom(atomic_number=63, symbol='Eu', mass_number='151', atomic_mass=150.919857818, natural_abundance=0.47816),
218
+ "153Eu": Atom(atomic_number=63, symbol='Eu', mass_number='153', atomic_mass=152.921238018, natural_abundance=0.52196),
219
+ "152Gd": Atom(atomic_number=64, symbol='Gd', mass_number='152', atomic_mass=151.919799518, natural_abundance=0.00201),
220
+ "154Gd": Atom(atomic_number=64, symbol='Gd', mass_number='154', atomic_mass=153.920874117, natural_abundance=0.02183),
221
+ "155Gd": Atom(atomic_number=64, symbol='Gd', mass_number='155', atomic_mass=154.922630517, natural_abundance=0.148012),
222
+ "156Gd": Atom(atomic_number=64, symbol='Gd', mass_number='156', atomic_mass=155.922131217, natural_abundance=0.20479),
223
+ "157Gd": Atom(atomic_number=64, symbol='Gd', mass_number='157', atomic_mass=156.923968617, natural_abundance=0.15652),
224
+ "158Gd": Atom(atomic_number=64, symbol='Gd', mass_number='158', atomic_mass=157.924112317, natural_abundance=0.24847),
225
+ "160Gd": Atom(atomic_number=64, symbol='Gd', mass_number='160', atomic_mass=159.927062418, natural_abundance=0.218619),
226
+ "159Tb": Atom(atomic_number=65, symbol='Tb', mass_number='159', atomic_mass=158.925354719, natural_abundance=1.0),
227
+ "156Dy": Atom(atomic_number=66, symbol='Dy', mass_number='156', atomic_mass=155.924284717, natural_abundance=0.000563),
228
+ "158Dy": Atom(atomic_number=66, symbol='Dy', mass_number='158', atomic_mass=157.924415931, natural_abundance=0.000953),
229
+ "160Dy": Atom(atomic_number=66, symbol='Dy', mass_number='160', atomic_mass=159.92520462, natural_abundance=0.0232918),
230
+ "161Dy": Atom(atomic_number=66, symbol='Dy', mass_number='161', atomic_mass=160.92694052, natural_abundance=0.1888942),
231
+ "162Dy": Atom(atomic_number=66, symbol='Dy', mass_number='162', atomic_mass=161.92680562, natural_abundance=0.2547536),
232
+ "163Dy": Atom(atomic_number=66, symbol='Dy', mass_number='163', atomic_mass=162.92873832, natural_abundance=0.2489642),
233
+ "164Dy": Atom(atomic_number=66, symbol='Dy', mass_number='164', atomic_mass=163.92918192, natural_abundance=0.2826054),
234
+ "165Ho": Atom(atomic_number=67, symbol='Ho', mass_number='165', atomic_mass=164.930328821, natural_abundance=1.0),
235
+ "162Er": Atom(atomic_number=68, symbol='Er', mass_number='162', atomic_mass=161.92878842, natural_abundance=0.001395),
236
+ "164Er": Atom(atomic_number=68, symbol='Er', mass_number='164', atomic_mass=163.92920882, natural_abundance=0.016013),
237
+ "166Er": Atom(atomic_number=68, symbol='Er', mass_number='166', atomic_mass=165.930299522, natural_abundance=0.3350336),
238
+ "167Er": Atom(atomic_number=68, symbol='Er', mass_number='167', atomic_mass=166.932054622, natural_abundance=0.228699),
239
+ "168Er": Atom(atomic_number=68, symbol='Er', mass_number='168', atomic_mass=167.932376722, natural_abundance=0.2697818),
240
+ "170Er": Atom(atomic_number=68, symbol='Er', mass_number='170', atomic_mass=169.935470226, natural_abundance=0.1491036),
241
+ "169Tm": Atom(atomic_number=69, symbol='Tm', mass_number='169', atomic_mass=168.934217922, natural_abundance=1.0),
242
+ "168Yb": Atom(atomic_number=70, symbol='Yb', mass_number='168', atomic_mass=167.933889622, natural_abundance=0.001233),
243
+ "170Yb": Atom(atomic_number=70, symbol='Yb', mass_number='170', atomic_mass=169.934766422, natural_abundance=0.0298239),
244
+ "171Yb": Atom(atomic_number=70, symbol='Yb', mass_number='171', atomic_mass=170.936330222, natural_abundance=0.140914),
245
+ "172Yb": Atom(atomic_number=70, symbol='Yb', mass_number='172', atomic_mass=171.936385922, natural_abundance=0.216813),
246
+ "173Yb": Atom(atomic_number=70, symbol='Yb', mass_number='173', atomic_mass=172.938215122, natural_abundance=0.1610363),
247
+ "174Yb": Atom(atomic_number=70, symbol='Yb', mass_number='174', atomic_mass=173.938866422, natural_abundance=0.320268),
248
+ "176Yb": Atom(atomic_number=70, symbol='Yb', mass_number='176', atomic_mass=175.942576424, natural_abundance=0.1299683),
249
+ "175Lu": Atom(atomic_number=71, symbol='Lu', mass_number='175', atomic_mass=174.94077522, natural_abundance=0.9740113),
250
+ "176Lu": Atom(atomic_number=71, symbol='Lu', mass_number='176', atomic_mass=175.94268972, natural_abundance=0.0259913),
251
+ "174Hf": Atom(atomic_number=72, symbol='Hf', mass_number='174', atomic_mass=173.940046128, natural_abundance=0.00161),
252
+ "176Hf": Atom(atomic_number=72, symbol='Hf', mass_number='176', atomic_mass=175.941407622, natural_abundance=0.05267),
253
+ "177Hf": Atom(atomic_number=72, symbol='Hf', mass_number='177', atomic_mass=176.94322772, natural_abundance=0.18609),
254
+ "178Hf": Atom(atomic_number=72, symbol='Hf', mass_number='178', atomic_mass=177.94370582, natural_abundance=0.27287),
255
+ "179Hf": Atom(atomic_number=72, symbol='Hf', mass_number='179', atomic_mass=178.94582322, natural_abundance=0.13622),
256
+ "180Hf": Atom(atomic_number=72, symbol='Hf', mass_number='180', atomic_mass=179.94655702, natural_abundance=0.350816),
257
+ "180Ta": Atom(atomic_number=73, symbol='Ta', mass_number='180', atomic_mass=179.947464824, natural_abundance=0.000120132),
258
+ "181Ta": Atom(atomic_number=73, symbol='Ta', mass_number='181', atomic_mass=180.94799582, natural_abundance=0.999879932),
259
+ "180W": Atom(atomic_number=74, symbol='W', mass_number='180', atomic_mass=179.94671082, natural_abundance=0.00121),
260
+ "182W": Atom(atomic_number=74, symbol='W', mass_number='182', atomic_mass=181.9482039491, natural_abundance=0.265016),
261
+ "183W": Atom(atomic_number=74, symbol='W', mass_number='183', atomic_mass=182.950222759, natural_abundance=0.14314),
262
+ "184W": Atom(atomic_number=74, symbol='W', mass_number='184', atomic_mass=183.9509309294, natural_abundance=0.30642),
263
+ "186W": Atom(atomic_number=74, symbol='W', mass_number='186', atomic_mass=185.954362817, natural_abundance=0.284319),
264
+ "185Re": Atom(atomic_number=75, symbol='Re', mass_number='185', atomic_mass=184.952954513, natural_abundance=0.37402),
265
+ "187Re": Atom(atomic_number=75, symbol='Re', mass_number='187', atomic_mass=186.955750116, natural_abundance=0.62602),
266
+ "184Os": Atom(atomic_number=76, symbol='Os', mass_number='184', atomic_mass=183.952488514, natural_abundance=0.00021),
267
+ "186Os": Atom(atomic_number=76, symbol='Os', mass_number='186', atomic_mass=185.953835016, natural_abundance=0.01593),
268
+ "187Os": Atom(atomic_number=76, symbol='Os', mass_number='187', atomic_mass=186.955747416, natural_abundance=0.01962),
269
+ "188Os": Atom(atomic_number=76, symbol='Os', mass_number='188', atomic_mass=187.955835216, natural_abundance=0.13248),
270
+ "189Os": Atom(atomic_number=76, symbol='Os', mass_number='189', atomic_mass=188.958144217, natural_abundance=0.16155),
271
+ "190Os": Atom(atomic_number=76, symbol='Os', mass_number='190', atomic_mass=189.958443717, natural_abundance=0.26262),
272
+ "192Os": Atom(atomic_number=76, symbol='Os', mass_number='192', atomic_mass=191.961477029, natural_abundance=0.407819),
273
+ "191Ir": Atom(atomic_number=77, symbol='Ir', mass_number='191', atomic_mass=190.960589321, natural_abundance=0.3732),
274
+ "193Ir": Atom(atomic_number=77, symbol='Ir', mass_number='193', atomic_mass=192.962921621, natural_abundance=0.6272),
275
+ "190Pt": Atom(atomic_number=78, symbol='Pt', mass_number='190', atomic_mass=189.959929763, natural_abundance=0.000122),
276
+ "192Pt": Atom(atomic_number=78, symbol='Pt', mass_number='192', atomic_mass=191.961038732, natural_abundance=0.0078224),
277
+ "194Pt": Atom(atomic_number=78, symbol='Pt', mass_number='194', atomic_mass=193.96268091, natural_abundance=0.32864),
278
+ "195Pt": Atom(atomic_number=78, symbol='Pt', mass_number='195', atomic_mass=194.96479171, natural_abundance=0.337824),
279
+ "196Pt": Atom(atomic_number=78, symbol='Pt', mass_number='196', atomic_mass=195.9649520999, natural_abundance=0.252134),
280
+ "198Pt": Atom(atomic_number=78, symbol='Pt', mass_number='198', atomic_mass=197.967894923, natural_abundance=0.0735613),
281
+ "197Au": Atom(atomic_number=79, symbol='Au', mass_number='197', atomic_mass=196.9665687971, natural_abundance=1.0),
282
+ "196Hg": Atom(atomic_number=80, symbol='Hg', mass_number='196', atomic_mass=195.965832632, natural_abundance=0.00151),
283
+ "198Hg": Atom(atomic_number=80, symbol='Hg', mass_number='198', atomic_mass=197.9667686052, natural_abundance=0.09972),
284
+ "199Hg": Atom(atomic_number=80, symbol='Hg', mass_number='199', atomic_mass=198.9682806446, natural_abundance=0.168722),
285
+ "200Hg": Atom(atomic_number=80, symbol='Hg', mass_number='200', atomic_mass=199.9683265947, natural_abundance=0.231019),
286
+ "201Hg": Atom(atomic_number=80, symbol='Hg', mass_number='201', atomic_mass=200.9703028469, natural_abundance=0.13189),
287
+ "202Hg": Atom(atomic_number=80, symbol='Hg', mass_number='202', atomic_mass=201.9706434069, natural_abundance=0.298626),
288
+ "204Hg": Atom(atomic_number=80, symbol='Hg', mass_number='204', atomic_mass=203.9734939853, natural_abundance=0.068715),
289
+ "203Tl": Atom(atomic_number=81, symbol='Tl', mass_number='203', atomic_mass=202.972344614, natural_abundance=0.29521),
290
+ "205Tl": Atom(atomic_number=81, symbol='Tl', mass_number='205', atomic_mass=204.974427814, natural_abundance=0.70481),
291
+ "204Pb": Atom(atomic_number=82, symbol='Pb', mass_number='204', atomic_mass=203.973044013, natural_abundance=0.0141),
292
+ "206Pb": Atom(atomic_number=82, symbol='Pb', mass_number='206', atomic_mass=205.974465713, natural_abundance=0.2411),
293
+ "207Pb": Atom(atomic_number=82, symbol='Pb', mass_number='207', atomic_mass=206.975897313, natural_abundance=0.2211),
294
+ "208Pb": Atom(atomic_number=82, symbol='Pb', mass_number='208', atomic_mass=207.976652513, natural_abundance=0.5241),
295
+ "209Bi": Atom(atomic_number=83, symbol='Bi', mass_number='209', atomic_mass=208.980399116, natural_abundance=1.0),
296
+ "209Po": Atom(atomic_number=84, symbol='Po', mass_number='209', atomic_mass=208.98243082, natural_abundance=None),
297
+ "210Po": Atom(atomic_number=84, symbol='Po', mass_number='210', atomic_mass=209.982874113, natural_abundance=None),
298
+ "210At": Atom(atomic_number=85, symbol='At', mass_number='210', atomic_mass=209.987147983, natural_abundance=None),
299
+ "211At": Atom(atomic_number=85, symbol='At', mass_number='211', atomic_mass=210.98749663, natural_abundance=None),
300
+ "211Rn": Atom(atomic_number=86, symbol='Rn', mass_number='211', atomic_mass=210.990601173, natural_abundance=None),
301
+ "220Rn": Atom(atomic_number=86, symbol='Rn', mass_number='220', atomic_mass=220.011394123, natural_abundance=None),
302
+ "222Rn": Atom(atomic_number=86, symbol='Rn', mass_number='222', atomic_mass=222.017578225, natural_abundance=None),
303
+ "223Fr": Atom(atomic_number=87, symbol='Fr', mass_number='223', atomic_mass=223.019736025, natural_abundance=None),
304
+ "223Ra": Atom(atomic_number=88, symbol='Ra', mass_number='223', atomic_mass=223.018502327, natural_abundance=None),
305
+ "224Ra": Atom(atomic_number=88, symbol='Ra', mass_number='224', atomic_mass=224.020212023, natural_abundance=None),
306
+ "226Ra": Atom(atomic_number=88, symbol='Ra', mass_number='226', atomic_mass=226.025410325, natural_abundance=None),
307
+ "228Ra": Atom(atomic_number=88, symbol='Ra', mass_number='228', atomic_mass=228.031070726, natural_abundance=None),
308
+ "227Ac": Atom(atomic_number=89, symbol='Ac', mass_number='227', atomic_mass=227.027752325, natural_abundance=None),
309
+ "230Th": Atom(atomic_number=90, symbol='Th', mass_number='230', atomic_mass=230.033134119, natural_abundance=None),
310
+ "232Th": Atom(atomic_number=90, symbol='Th', mass_number='232', atomic_mass=232.038055821, natural_abundance=1.0),
311
+ "231Pa": Atom(atomic_number=91, symbol='Pa', mass_number='231', atomic_mass=231.035884224, natural_abundance=1.0),
312
+ "233U": Atom(atomic_number=92, symbol='U', mass_number='233', atomic_mass=233.039635529, natural_abundance=None),
313
+ "234U": Atom(atomic_number=92, symbol='U', mass_number='234', atomic_mass=234.040952319, natural_abundance=5.45e-05),
314
+ "235U": Atom(atomic_number=92, symbol='U', mass_number='235', atomic_mass=235.043930119, natural_abundance=0.0072046),
315
+ "236U": Atom(atomic_number=92, symbol='U', mass_number='236', atomic_mass=236.045568219, natural_abundance=None),
316
+ "238U": Atom(atomic_number=92, symbol='U', mass_number='238', atomic_mass=238.05078842, natural_abundance=0.9927421),
317
+ "236Np": Atom(atomic_number=93, symbol='Np', mass_number='236', atomic_mass=236.04657054, natural_abundance=None),
318
+ "237Np": Atom(atomic_number=93, symbol='Np', mass_number='237', atomic_mass=237.048173619, natural_abundance=None),
319
+ "238Pu": Atom(atomic_number=94, symbol='Pu', mass_number='238', atomic_mass=238.049560119, natural_abundance=None),
320
+ "239Pu": Atom(atomic_number=94, symbol='Pu', mass_number='239', atomic_mass=239.052163619, natural_abundance=None),
321
+ "240Pu": Atom(atomic_number=94, symbol='Pu', mass_number='240', atomic_mass=240.053813819, natural_abundance=None),
322
+ "241Pu": Atom(atomic_number=94, symbol='Pu', mass_number='241', atomic_mass=241.056851719, natural_abundance=None),
323
+ "242Pu": Atom(atomic_number=94, symbol='Pu', mass_number='242', atomic_mass=242.05874282, natural_abundance=None),
324
+ "244Pu": Atom(atomic_number=94, symbol='Pu', mass_number='244', atomic_mass=244.064205356, natural_abundance=None),
325
+ "241Am": Atom(atomic_number=95, symbol='Am', mass_number='241', atomic_mass=241.056829319, natural_abundance=None),
326
+ "243Am": Atom(atomic_number=95, symbol='Am', mass_number='243', atomic_mass=243.061381324, natural_abundance=None),
327
+ "243Cm": Atom(atomic_number=96, symbol='Cm', mass_number='243', atomic_mass=243.061389322, natural_abundance=None),
328
+ "244Cm": Atom(atomic_number=96, symbol='Cm', mass_number='244', atomic_mass=244.062752819, natural_abundance=None),
329
+ "245Cm": Atom(atomic_number=96, symbol='Cm', mass_number='245', atomic_mass=245.065491522, natural_abundance=None),
330
+ "246Cm": Atom(atomic_number=96, symbol='Cm', mass_number='246', atomic_mass=246.067223822, natural_abundance=None),
331
+ "247Cm": Atom(atomic_number=96, symbol='Cm', mass_number='247', atomic_mass=247.070354147, natural_abundance=None),
332
+ "248Cm": Atom(atomic_number=96, symbol='Cm', mass_number='248', atomic_mass=248.072349956, natural_abundance=None),
333
+ "247Bk": Atom(atomic_number=97, symbol='Bk', mass_number='247', atomic_mass=247.070307359, natural_abundance=None),
334
+ "249Bk": Atom(atomic_number=97, symbol='Bk', mass_number='249', atomic_mass=249.074987727, natural_abundance=None),
335
+ "249Cf": Atom(atomic_number=98, symbol='Cf', mass_number='249', atomic_mass=249.074853923, natural_abundance=None),
336
+ "250Cf": Atom(atomic_number=98, symbol='Cf', mass_number='250', atomic_mass=250.076406222, natural_abundance=None),
337
+ "251Cf": Atom(atomic_number=98, symbol='Cf', mass_number='251', atomic_mass=251.079588648, natural_abundance=None),
338
+ "252Cf": Atom(atomic_number=98, symbol='Cf', mass_number='252', atomic_mass=252.081627256, natural_abundance=None),
339
+ "252Es": Atom(atomic_number=99, symbol='Es', mass_number='252', atomic_mass=252.08298054, natural_abundance=None),
340
+ "257Fm": Atom(atomic_number=100, symbol='Fm', mass_number='257', atomic_mass=257.095106169, natural_abundance=None),
341
+ "258Md": Atom(atomic_number=101, symbol='Md', mass_number='258', atomic_mass=258.09843155, natural_abundance=None),
342
+ "260Md": Atom(atomic_number=101, symbol='Md', mass_number='260', atomic_mass=260.1036534, natural_abundance=None),
343
+ "259No": Atom(atomic_number=102, symbol='No', mass_number='259', atomic_mass=259.1010311, natural_abundance=None),
344
+ "262Lr": Atom(atomic_number=103, symbol='Lr', mass_number='262', atomic_mass=262.1096122, natural_abundance=None),
345
+ "267Rf": Atom(atomic_number=104, symbol='Rf', mass_number='267', atomic_mass=267.1217962, natural_abundance=None),
346
+ "268Db": Atom(atomic_number=105, symbol='Db', mass_number='268', atomic_mass=268.1256757, natural_abundance=None),
347
+ "271Sg": Atom(atomic_number=106, symbol='Sg', mass_number='271', atomic_mass=271.1339363, natural_abundance=None),
348
+ "272Bh": Atom(atomic_number=107, symbol='Bh', mass_number='272', atomic_mass=272.1382658, natural_abundance=None),
349
+ "270Hs": Atom(atomic_number=108, symbol='Hs', mass_number='270', atomic_mass=270.1342927, natural_abundance=None),
350
+ "276Mt": Atom(atomic_number=109, symbol='Mt', mass_number='276', atomic_mass=276.1515959, natural_abundance=None),
351
+ "281Ds": Atom(atomic_number=110, symbol='Ds', mass_number='281', atomic_mass=281.1645159, natural_abundance=None),
352
+ "280Rg": Atom(atomic_number=111, symbol='Rg', mass_number='280', atomic_mass=280.1651461, natural_abundance=None),
353
+ "285Cn": Atom(atomic_number=112, symbol='Cn', mass_number='285', atomic_mass=285.177126, natural_abundance=None),
354
+ "284Nh": Atom(atomic_number=113, symbol='Nh', mass_number='284', atomic_mass=284.1787362, natural_abundance=None),
355
+ "289Fl": Atom(atomic_number=114, symbol='Fl', mass_number='289', atomic_mass=289.190426, natural_abundance=None),
356
+ "288Mc": Atom(atomic_number=115, symbol='Mc', mass_number='288', atomic_mass=288.1927462, natural_abundance=None),
357
+ "293Lv": Atom(atomic_number=116, symbol='Lv', mass_number='293', atomic_mass=293.204496, natural_abundance=None),
358
+ "292Ts": Atom(atomic_number=117, symbol='Ts', mass_number='292', atomic_mass=292.2074675, natural_abundance=None),
359
+ "294Og": Atom(atomic_number=118, symbol='Og', mass_number='294', atomic_mass=294.2139271, natural_abundance=None)}
@@ -0,0 +1,56 @@
1
+ import pprint, json
2
+ from collections import namedtuple, OrderedDict
3
+ from pathlib import Path
4
+ from pprint import pprint
5
+
6
+ path = str(Path(__file__).parent.absolute())
7
+
8
+ filepath = str(path)+'/AtomicWeightsAndIsotopicCompNIST2019.txt'
9
+
10
+ Atom = namedtuple('Atom', 'atomic_number symbol mass_number atomic_mass natural_abundance')
11
+ atoms_dict = dict()
12
+
13
+ with open(filepath, 'r') as f:
14
+
15
+ read_lines = f.readlines()
16
+
17
+
18
+ replace_dict = {"12C": "C", "2D": "D", "3T": "T", "4He": "He", "14N": "N",
19
+ "16O": "O", "19F": "F", "31P": "P", "32S": "S", "39K": "K",
20
+ "40Ca": "Ca", "51V": "V", "56Fe": "Fe", "1H": "H",
21
+ }
22
+
23
+ for index in range(0,len(read_lines),8):
24
+
25
+ atomic_number = int(read_lines[index].split("=")[1].rstrip())
26
+
27
+ symbol = str(read_lines[index+1].split("=")[1].rstrip()).strip()
28
+
29
+ mass_number = str(read_lines[index+2].split("=")[1].rstrip()).strip()
30
+
31
+ atomic_mass = float("".join(s for s in read_lines[index+3].split("=")[1].rstrip() if '(' not in s and ')' not in s and '#' not in s))
32
+
33
+ if read_lines[index+4].split("=")[1].rstrip():
34
+
35
+ natural_abundance = float("".join(s for s in read_lines[index+4].split("=")[1].rstrip() if '(' not in s and ')' not in s and '#' not in s))
36
+ else:
37
+ natural_abundance = None
38
+
39
+ chem_symbol = mass_number+symbol
40
+ if chem_symbol in replace_dict.keys():
41
+ chem_symbol = replace_dict.get(chem_symbol)
42
+
43
+ #print(chem_symbol, atomic_number,symbol,mass_number,atomic_mass,natural_abundance)
44
+
45
+ atoms_dict[chem_symbol] = Atom(atomic_number= atomic_number,
46
+ symbol = symbol,
47
+ mass_number=mass_number,
48
+ atomic_mass=atomic_mass,
49
+ natural_abundance=natural_abundance)
50
+ #print(atoms_dict)
51
+ #pprint(atoms_dict, width=30)
52
+ #print(json.dumps(atoms_dict, indent=4))
53
+ #print(atoms_dict)
54
+ for key, item in atoms_dict.items():
55
+ print ('"'+key+'"', ":", item.natural_abundance, ",")
56
+ #print(10)
@@ -0,0 +1,90 @@
1
+ import sys
2
+ import hashlib
3
+
4
+ def get_filenames(app=None):
5
+
6
+ from PySide2.QtCore import Qt, QCoreApplication
7
+ from PySide2.QtWidgets import QApplication, QFileDialog
8
+ from pathlib import Path
9
+
10
+ app = QApplication(sys.argv)
11
+ file_dialog = QFileDialog()
12
+ file_dialog.setWindowFlags(Qt.WindowStaysOnTopHint)
13
+ file_location, _ = file_dialog.getOpenFileNames()
14
+
15
+ if file_location:
16
+ QCoreApplication.processEvents()
17
+ return file_location
18
+
19
+ else:
20
+
21
+ return None
22
+
23
+ def get_filename(app=None):
24
+
25
+ from PySide2.QtCore import Qt, QCoreApplication
26
+ from PySide2.QtWidgets import QApplication, QFileDialog
27
+ from pathlib import Path
28
+
29
+ app = QApplication(sys.argv)
30
+ file_dialog = QFileDialog()
31
+ file_dialog.setWindowFlags(Qt.WindowStaysOnTopHint)
32
+ file_location, _ = file_dialog.getOpenFileName()
33
+
34
+ if file_location:
35
+ QCoreApplication.processEvents()
36
+ return Path(file_location)
37
+
38
+ else:
39
+
40
+ return None
41
+
42
+ def get_dirname(app=None):
43
+
44
+ from PySide2.QtCore import Qt, QCoreApplication
45
+ from PySide2.QtWidgets import QApplication, QFileDialog
46
+ from pathlib import Path
47
+
48
+ app = QApplication(sys.argv)
49
+ file_dialog = QFileDialog()
50
+ file_dialog.setWindowFlags(Qt.WindowStaysOnTopHint)
51
+ file_location = file_dialog.getExistingDirectory()
52
+
53
+ if file_location:
54
+ QCoreApplication.processEvents()
55
+ return Path(file_location)
56
+
57
+ else:
58
+
59
+ return None
60
+
61
+ def get_dirnames(app=None):
62
+
63
+ from PySide2.QtCore import Qt, QCoreApplication
64
+ from PySide2.QtWidgets import QApplication, QFileDialog, QTreeView, QListView, QAbstractItemView
65
+ from pathlib import Path
66
+
67
+ if not app:
68
+ app = QApplication(sys.argv)
69
+ # file_dialog = QFileDialog()
70
+ # file_dialog.setWindowFlags(Qt.WindowStaysOnTopHint)
71
+ # file_location = file_dialog.getOpenFileNames()
72
+
73
+ file_dialog = QFileDialog()
74
+ file_dialog.setFileMode(QFileDialog.DirectoryOnly)
75
+ file_dialog.setOption(QFileDialog.DontUseNativeDialog, True)
76
+ file_view = file_dialog.findChild(QListView, 'listView')
77
+
78
+ # to make it possible to select multiple directories:
79
+ if file_view:
80
+ file_view.setSelectionMode(QAbstractItemView.MultiSelection)
81
+ f_tree_view = file_dialog.findChild(QTreeView)
82
+ if f_tree_view:
83
+ f_tree_view.setSelectionMode(QAbstractItemView.MultiSelection)
84
+
85
+ if file_dialog.exec():
86
+ paths = file_dialog.selectedFiles()
87
+
88
+ QCoreApplication.processEvents()
89
+ for path in paths:
90
+ yield Path(path)