corems.encapsulation.constant

   1class Labels:  # pragma: no cover
   2    """Class for Labels used in CoreMS
   3
   4    These labels are used to define:
   5    * types of columns in plaintext data inputs,
   6    * types of data/mass spectra
   7    * types of assignment for ions
   8
   9    """
  10
  11    mz = "m/z"
  12    abundance = "Peak Height"
  13    rp = "Resolving Power"
  14    s2n = "S/N"
  15
  16    label = "label"
  17    bruker_profile = "Bruker_Profile"
  18    thermo_profile = "Thermo_Profile"
  19    simulated_profile = "Simulated Profile"
  20    booster_profile = "Booster Profile"
  21    bruker_frequency = "Bruker_Frequency"
  22    midas_frequency = "Midas_Frequency"
  23    thermo_centroid = "Thermo_Centroid"
  24    corems_centroid = "CoreMS_Centroid"
  25    gcms_centroid = "Thermo_Centroid"
  26
  27    unassigned = "unassigned"
  28
  29    radical_ion = "RADICAL"
  30    protonated_de_ion = "DE_OR_PROTONATED"
  31    protonated = "protonated"
  32    de_protonated = "de-protonated"
  33    adduct_ion = "ADDUCT"
  34    neutral = "neutral"
  35    ion_type = "IonType"
  36
  37    ion_type_translate = {
  38        "protonated": "DE_OR_PROTONATED",
  39        "de-protonated": "DE_OR_PROTONATED",
  40        "radical": "RADICAL",
  41        "adduct": "ADDUCT",
  42        "ADDUCT": "ADDUCT",
  43    }
  44
  45
  46class Atoms:  # pragma: no cover
  47    """Class for Atoms in CoreMS
  48
  49    This class includes key properties of atoms (and the electron) and isotopes, including their exact masses, relative abundances, and covalences.
  50    It also associates which isotopes are for the same element, and provides an ordering of elements.
  51
  52    IUPAC definition of monoisotopic mass is based on the most abundant isotopes of each element present.
  53    Here, we will use atom symbols with isotope numbers for all isotopes excluding the most abundant one.
  54    This list has been corrected up to Iodine.
  55
  56    References
  57    ----------
  58
  59    1. NIST - Last Accessed 2019-06-12
  60    https://www.nist.gov/pml/atomic-weights-and-isotopic-compositions-relative-atomic-masses
  61
  62    """
  63
  64    electron_mass = 0.0005_485_799_090_65  # NIST value
  65
  66    atomic_masses = {
  67        "H": 1.00782503223,
  68        "D": 2.01410177812,
  69        "T": 3.0160492779,  # consider removing
  70        "3He": 3.0160293201,
  71        "He": 4.00260325413,
  72        "6Li": 6.0151228874,
  73        "Li": 7.0160034366,
  74        "Be": 9.012183065,
  75        "10B": 10.01293695,
  76        "B": 11.00930536,
  77        "C": 12.0,
  78        "13C": 13.00335483507,
  79        "14C": 14.0032419884,
  80        "N": 14.00307400443,
  81        "15N": 15.00010889888,
  82        "O": 15.99491461957,
  83        "17O": 16.99913175650,
  84        "18O": 17.99915961286,
  85        "F": 18.99840316273,
  86        "Ne": 19.9924401762,
  87        "21Ne": 20.993846685,
  88        "22Ne": 21.991385114,
  89        "Na": 22.9897692820,
  90        "Mg": 23.985041697,
  91        "25Mg": 24.985836976,
  92        "26Mg": 25.982592968,
  93        "Al": 26.98153853,
  94        "Si": 27.97692653465,
  95        "29Si": 28.97649466490,
  96        "30Si": 29.973770136,
  97        "P": 30.97376199842,
  98        "S": 31.9720711744,
  99        "33S": 32.9714589098,
 100        "34S": 33.967867004,
 101        "36S": 35.96708071,
 102        "Cl": 34.968852682,
 103        "37Cl": 36.965902602,
 104        "36Ar": 35.967545105,
 105        "38Ar": 37.96273211,
 106        "Ar": 39.9623831237,
 107        "K": 38.9637064864,
 108        "40K": 39.963998166,
 109        "41K": 40.9618252579,
 110        "Ca": 39.962590863,
 111        "42Ca": 41.95861783,
 112        "43Ca": 42.95876644,
 113        "44Ca": 43.95548156,
 114        "46Ca": 45.9536890,
 115        "48Ca": 47.95252276,
 116        "Sc": 44.95590828,
 117        "46Ti": 45.95262772,
 118        "47Ti": 46.95175879,
 119        "Ti": 47.94794198,
 120        "49Ti": 48.94786568,
 121        "50Ti": 49.94478689,
 122        "50V": 49.94715601,
 123        "V": 50.94395704,
 124        "50Cr": 49.94604183,
 125        "Cr": 51.94050623,
 126        "53Cr": 52.94064815,
 127        "54Cr": 53.93887916,
 128        "Mn": 54.93804391,
 129        "54Fe": 53.93960899,
 130        "Fe": 55.93493633,
 131        "57Fe": 56.93539284,
 132        "58Fe": 57.93327443,
 133        "Co": 58.93319429,
 134        "Ni": 57.93534241,
 135        "60Ni": 59.93078588,
 136        "61Ni": 60.93105557,
 137        "62Ni": 61.92834537,
 138        "64Ni": 63.92796682,
 139        "Cu": 62.92959772,
 140        "65Cu": 64.92778970,
 141        "Zn": 63.92914201,
 142        "66Zn": 65.92603381,
 143        "67Zn": 66.92712775,
 144        "68Zn": 67.92484455,
 145        "70Zn": 69.9253192,
 146        "Ga": 68.9255735,
 147        "71Ga": 70.92470258,
 148        "70Ge": 69.92424875,
 149        "72Ge": 71.922075826,
 150        "73Ge": 72.923458956,
 151        "Ge": 73.921177761,
 152        "76Ge": 75.921402726,
 153        "As": 74.92159457,
 154        "74Se": 73.922475934,
 155        "76Se": 75.919213704,
 156        "77Se": 76.919914154,
 157        "78Se": 77.91730928,
 158        "Se": 79.9165218,
 159        "82Se": 81.9166995,
 160        "Br": 78.9183376,
 161        "81Br": 80.9162897,
 162        "78Kr": 77.92036494,
 163        "80Kr": 79.91637808,
 164        "82Kr": 81.91348273,
 165        "83Kr": 82.91412716,
 166        "Kr": 83.9114977282,
 167        "86Kr": 85.9106106269,
 168        "Rb": 84.9117897379,
 169        "87Rb": 86.9091805310,
 170        "84Sr": 83.9134191,
 171        "86Sr": 85.9092606,
 172        "87Sr": 86.9088775,
 173        "Sr": 87.9056125,
 174        "Y": 88.9058403,
 175        "Zr": 89.9046977,
 176        "91Zr": 90.9056396,
 177        "92Zr": 91.9050347,
 178        "94Zr": 93.9063108,
 179        "96Zr": 95.9082714,
 180        "Nb": 92.9063730,
 181        "92Mo": 91.90680796,
 182        "94Mo": 93.90508490,
 183        "95Mo": 94.90583877,
 184        "96Mo": 95.90467612,
 185        "97Mo": 96.90601812,
 186        "Mo": 97.90540482,
 187        "100Mo": 99.9074718,
 188        #'97Tc': 96.9063667,
 189        #'98Tc': 97.9072124,
 190        "Tc": 98.9062508,  # consider removing technetium as it is radioactive
 191        "96Ru": 95.90759025,
 192        "98Ru": 97.9052868,
 193        "99Ru": 98.9059341,
 194        "100Ru": 99.9042143,
 195        "101Ru": 100.9055769,
 196        "Ru": 101.9043441,
 197        "104Ru": 103.9054275,
 198        "Rh": 102.9054980,
 199        "102Pd": 101.9056022,
 200        "104Pd": 103.9040305,
 201        "105Pd": 104.9050796,
 202        "Pd": 105.9034804,
 203        "108Pd": 107.9038916,
 204        "110Pd": 109.9051722,
 205        "Ag": 106.9050916,
 206        "109Ag": 108.9047553,
 207        "106Cd": 105.9064599,
 208        "108Cd": 107.9041834,
 209        "110Cd": 109.90300661,
 210        "111Cd": 110.90418287,
 211        "Cd": 111.90276287,
 212        "113Cd": 112.90440813,
 213        "114Cd": 113.90336509,
 214        "116Cd": 115.90476315,
 215        "113In": 112.90406184,
 216        "In": 114.903878776,
 217        "112Sn": 111.90482387,
 218        "114Sn": 113.9027827,
 219        "115Sn": 114.903344699,
 220        "116Sn": 115.90174280,
 221        "117Sn": 116.90295398,
 222        "118Sn": 117.90160657,
 223        "119Sn": 118.90331117,
 224        "Sn": 119.90220163,
 225        "122Sn": 121.9034438,
 226        "124Sn": 123.9052766,
 227        "Sb": 120.9038120,
 228        "123Sb": 122.9042132,
 229        "120Te": 119.9040593,
 230        "122Te": 121.9030435,
 231        "123Te": 122.9042698,
 232        "124Te": 123.9028171,
 233        "125Te": 124.9044299,
 234        "126Te": 125.9033109,
 235        "128Te": 127.90446128,
 236        "Te": 129.906222748,
 237        "I": 126.9044719,
 238        "124Xe": 123.9058920,
 239        "126Xe": 125.9042983,
 240        "128Xe": 127.9035310,
 241        "129Xe": 128.9047808611,
 242        "130Xe": 129.903509349,
 243        "131Xe": 130.90508406,
 244        "Xe": 131.9041550856,
 245        "134Xe": 133.90539466,
 246        "136Xe": 135.907214484,
 247        "Cs": 132.9054519610,
 248        "130Ba": 129.9063207,
 249        "132Ba": 131.9050611,
 250        "134Ba": 133.90450818,
 251        "135Ba": 134.90568838,
 252        "136Ba": 135.90457573,
 253        "137Ba": 136.90582714,
 254        "Ba": 137.90524700,
 255        "138La": 137.9071149,
 256        "La": 138.9063563,
 257        "136Ce": 135.90712921,
 258        "138Ce": 137.905991,
 259        "Ce": 139.9054431,
 260        "142Ce": 141.9092504,
 261        "Pr": 140.9076576,
 262        "Nd": 141.9077290,
 263        "143Nd": 142.9098200,
 264        "144Nd": 143.9100930,
 265        "145Nd": 144.9125793,
 266        "146Nd": 145.9131226,
 267        "148Nd": 147.9168993,
 268        "150Nd": 149.9209022,
 269        "145Pm": 144.9127559,
 270        "147Pm": 146.9151450,
 271        "144Sm": 143.9120065,
 272        "147Sm": 146.9149044,
 273        "148Sm": 147.9148292,
 274        "149Sm": 148.9171921,
 275        "150Sm": 149.9172829,
 276        "Sm": 151.9197397,
 277        "154Sm": 153.9222169,
 278        "151Eu": 150.9198578,
 279        "Eu": 152.9212380,
 280        "152Gd": 151.9197995,
 281        "154Gd": 153.9208741,
 282        "155Gd": 154.9226305,
 283        "156Gd": 155.9221312,
 284        "157Gd": 156.9239686,
 285        "Gd": 157.9241123,
 286        "160Gd": 159.9270624,
 287        "Tb": 158.9253547,
 288        "156Dy": 155.9242847,
 289        "158Dy": 157.9244159,
 290        "160Dy": 159.9252046,
 291        "161Dy": 160.9269405,
 292        "162Dy": 161.9268056,
 293        "163Dy": 162.9287383,
 294        "Dy": 163.9291819,
 295        "Ho": 164.9303288,
 296        "162Er": 161.9287884,
 297        "164Er": 163.9292088,
 298        "Er": 165.9302995,
 299        "167Er": 166.9320546,
 300        "168Er": 167.9323767,
 301        "170Er": 169.9354702,
 302        "Tm": 168.9342179,
 303        "168Yb": 167.9338896,
 304        "170Yb": 169.9347664,
 305        "171Yb": 170.9363302,
 306        "172Yb": 171.9363859,
 307        "173Yb": 172.9382151,
 308        "Yb": 173.9388664,
 309        "176Yb": 175.9425764,
 310        "Lu": 174.9407752,
 311        "176Lu": 175.9426897,
 312        "174Hf": 173.9400461,
 313        "176Hf": 175.9414076,
 314        "177Hf": 176.9432277,
 315        "178Hf": 177.9437058,
 316        "179Hf": 178.9458232,
 317        "Hf": 179.9465570,
 318        "180Ta": 179.9474648,
 319        "Ta": 180.9479958,
 320        "180W": 179.9467108,
 321        "182W": 181.94820394,
 322        "183W": 182.95022275,
 323        "W": 183.95093092,
 324        "186W": 185.9543628,
 325        "185Re": 184.9529545,
 326        "Re": 186.9557501,
 327        "184Os": 183.9524885,
 328        "186Os": 185.9538350,
 329        "187Os": 186.9557474,
 330        "188Os": 187.9558352,
 331        "189Os": 188.9581442,
 332        "190Os": 189.9584437,
 333        "192Os": 191.9614770,
 334        "191Ir": 190.9605893,
 335        "Ir": 192.9629216,
 336        "190Pt": 189.9599297,
 337        "192Pt": 191.9610387,
 338        "194Pt": 193.9626809,
 339        "Pt": 194.9647917,
 340        "196Pt": 195.96495209,
 341        "198Pt": 197.9678949,
 342        "Au": 196.96656879,
 343        "196Hg": 195.9658326,
 344        "198Hg": 197.96676860,
 345        "199Hg": 198.96828064,
 346        "200Hg": 199.96832659,
 347        "201Hg": 200.97030284,
 348        "Hg": 201.97064340,
 349        "204Hg": 203.97349398,
 350        "203Tl": 202.9723446,
 351        "Tl": 204.9744278,
 352        "204Pb": 203.9730440,
 353        "206Pb": 205.9744657,
 354        "207Pb": 206.9758973,
 355        "Pb": 207.9766525,
 356        "Bi": 208.9803991,
 357        "209Po": 208.9824308,
 358        "210Po": 209.9828741,
 359        "210At": 209.9871479,
 360        "211At": 210.9874966,
 361        "211Rn": 210.9906011,
 362        "220Rn": 220.0113941,
 363        "222Rn": 222.0175782,
 364        "223Fr": 223.0197360,
 365        "223Ra": 223.0185023,
 366        "224Ra": 224.0202120,
 367        "226Ra": 226.0254103,
 368        "228Ra": 228.0310707,
 369        "227Ac": 227.0277523,
 370        "230Th": 230.0331341,
 371        "Th": 232.0380558,
 372        "Pa": 231.0358842,
 373        "233U": 233.0396355,
 374        "234U": 234.0409523,
 375        "235U": 235.0439301,
 376        "236U": 236.0455682,
 377        "U": 238.0507884,
 378        "236Np": 236.046570,
 379        "237Np": 237.0481736,
 380        "238Pu": 238.0495601,
 381        "239Pu": 239.0521636,
 382        "240Pu": 240.0538138,
 383        "241Pu": 241.0568517,
 384        "242Pu": 242.0587428,
 385        "244Pu": 244.0642053,
 386        "241Am": 241.0568293,
 387        "243Am": 243.0613813,
 388        "243Cm": 243.0613893,
 389        "244Cm": 244.0627528,
 390        "245Cm": 245.0654915,
 391        "246Cm": 246.0672238,
 392        "247Cm": 247.0703541,
 393        "248Cm": 248.0723499,
 394        "247Bk": 247.0703073,
 395        "249Bk": 249.0749877,
 396        "249Cf": 249.0748539,
 397        "250Cf": 250.0764062,
 398        "251Cf": 251.0795886,
 399        "252Cf": 252.0816272,
 400        "252Es": 252.082980,
 401        "257Fm": 257.0951061,
 402        "258Md": 258.0984315,
 403        "260Md": 260.10365,
 404        "259No": 259.10103,
 405        "262Lr": 262.10961,
 406        "267Rf": 267.12179,
 407        "268Db": 268.12567,
 408        "271Sg": 271.13393,
 409        "272Bh": 272.13826,
 410        "270Hs": 270.13429,
 411        "276Mt": 276.15159,
 412        "281Ds": 281.16451,
 413        "280Rg": 280.16514,
 414        "285Cn": 285.17712,
 415        "284Nh": 284.17873,
 416        "289Fl": 289.19042,
 417        "288Mc": 288.19274,
 418        "293Lv": 293.20449,
 419        "292Ts": 292.20746,
 420        "294Og": 294.21392,
 421    }
 422
 423    # This list orders atoms, starting with the most abundant isotopes first, ordered as described.
 424    # Less abundant isotopes are ordered by mass at the end of the list.
 425    atoms_order = [
 426        "C",
 427        "H",
 428        "O",
 429        "N",
 430        "P",
 431        "S",  # CHONPS
 432        "F",
 433        "Cl",
 434        "Br",
 435        "I",
 436        "At",  # Halogens
 437        "Li",
 438        "Na",
 439        "K",
 440        "Rb",
 441        "Cs",
 442        "Fr",  # Alkali
 443        "He",
 444        "Ne",
 445        "Ar",
 446        "Kr",
 447        "Xe",
 448        "Rn",  # Noble gasses
 449        "Be",
 450        "B",  # Row 2
 451        "Mg",
 452        "Al",
 453        "Si",  # Row 3
 454        "Ca",
 455        "Sc",
 456        "Ti",
 457        "V",
 458        "Cr",
 459        "Mn",
 460        "Fe",
 461        "Co",
 462        "Ni",
 463        "Cu",
 464        "Zn",
 465        "Ga",
 466        "Ge",
 467        "As",
 468        "Se",  # Row 4
 469        "Sr",
 470        "Y",
 471        "Zr",
 472        "Nb",
 473        "Mo",
 474        "Tc",
 475        "Ru",
 476        "Rh",
 477        "Pd",
 478        "Ag",
 479        "Cd",
 480        "In",
 481        "Sn",
 482        "Sb",
 483        "Te",  # Row 5
 484        "Ba",
 485        "La",
 486        "Hf",
 487        "Ta",
 488        "W",
 489        "Re",
 490        "Os",
 491        "Ir",
 492        "Pt",
 493        "Au",
 494        "Hg",
 495        "Tl",
 496        "Pb",
 497        "Bi",
 498        "Po",  # Row 6
 499        "Ra",
 500        "Ac",
 501        "Rf",
 502        "Db",
 503        "Sg",
 504        "Bh",
 505        "Hs",
 506        "Mt",
 507        "Ds",
 508        "Rg",
 509        "Cn",
 510        "Nh",
 511        "Fl",
 512        "Mc",
 513        "Lv",
 514        "Ts",
 515        "Og",  # Row 7
 516        "Ce",
 517        "Pr",
 518        "Nd",
 519        "Pm",
 520        "Sm",
 521        "Eu",
 522        "Gd",
 523        "Tb",
 524        "Dy",
 525        "Ho",
 526        "Er",
 527        "Tm",
 528        "Yb",
 529        "Lu",  # Lanthanides
 530        "Th",
 531        "Pa",
 532        "U",
 533        "Np",
 534        "Pu",
 535        "Am",
 536        "Cm",
 537        "Bk",
 538        "Cf",
 539        "Es",
 540        "Fm",
 541        "Md",
 542        "No",
 543        "Lr",  # Actinides
 544        # Less abundant isotopes follow
 545        "D",
 546        "6Li",
 547        "10B",
 548        "13C",
 549        "15N",
 550        "17O",
 551        "18O",
 552        "22Ne",
 553        "25Mg",
 554        "26Mg",
 555        "29Si",
 556        "30Si",
 557        "33S",
 558        "34S",
 559        "36S",
 560        "37Cl",
 561        "40Ca",
 562        "41K",
 563        "44Ca",
 564        "46Ti",
 565        "47Ti",
 566        "49Ti",
 567        "50Cr",
 568        "50Ti",
 569        "50V",
 570        "53Cr",
 571        "54Cr",
 572        "54Fe",
 573        "57Fe",
 574        "58Fe",
 575        "60Ni",
 576        "61Ni",
 577        "62Ni",
 578        "65Cu",
 579        "66Zn",
 580        "67Zn",
 581        "68Zn",
 582        "70Ge",
 583        "71Ga",
 584        "72Ge",
 585        "73Ge",
 586        "76Ge",
 587        "76Se",
 588        "77Se",
 589        "78Se",
 590        "81Br",
 591        "80Kr",
 592        "82Kr",
 593        "82Se",
 594        "83Kr",
 595        "85Rb",
 596        "86Kr",
 597        "86Sr",
 598        "87Rb",
 599        "87Sr",
 600        "88Sr",
 601        "91Zr",
 602        "92Mo",
 603        "92Zr",
 604        "94Mo",
 605        "94Zr",
 606        "95Mo",
 607        "96Mo",
 608        "96Ru",
 609        "96Zr",
 610        "97Mo",
 611        "98Ru",
 612        "99Ru",
 613        "100Mo",
 614        "100Ru",
 615        "101Ru",
 616        "102Pd",
 617        "104Pd",
 618        "104Ru",
 619        "105Pd",
 620        "106Cd",
 621        "106Pd",
 622        "108Cd",
 623        "108Pd",
 624        "109Ag",
 625        "110Cd",
 626        "110Pd",
 627        "111Cd",
 628        "112Cd",
 629        "112Sn",
 630        "113Cd",
 631        "113In",
 632        "114Cd",
 633        "114Sn",
 634        "115In",
 635        "115Sn",
 636        "116Cd",
 637        "116Sn",
 638        "117Sn",
 639        "118Sn",
 640        "119Sn",
 641        "120Sn",
 642        "120Te",
 643        "121Sb",
 644        "122Sn",
 645        "122Te",
 646        "123Sb",
 647        "123Te",
 648        "124Sn",
 649        "124Te",
 650        "124Xe",
 651        "125Te",
 652        "126Te",
 653        "126Xe",
 654        "128Te",
 655        "128Xe",
 656        "129Xe",
 657        "130Ba",
 658        "130Te",
 659        "130Xe",
 660        "131Xe",
 661        "132Ba",
 662        "132Xe",
 663        "134Ba",
 664        "134Xe",
 665        "135Ba",
 666        "136Ba",
 667        "136Xe",
 668        "137Ba",
 669        "138Ba",
 670        "174Hf",
 671        "176Hf",
 672        "177Hf",
 673        "178Hf",
 674        "179Hf",
 675        "180Hf",
 676        "180W",
 677        "182W",
 678        "183W",
 679        "184Os",
 680        "184W",
 681        "185Re",
 682        "186Os",
 683        "186W",
 684        "187Os",
 685        "187Re",
 686        "188Os",
 687        "189Os",
 688        "190Os",
 689        "190Pt",
 690        "191Ir",
 691        "192Ir",
 692        "192Os",
 693        "192Pt",
 694        "194Pt",
 695        "195Pt",
 696        "196Hg",
 697        "196Pt",
 698        "198Hg",
 699        "198Pt",
 700        "199Hg",
 701        "200Hg",
 702        "201Hg",
 703        "202Hg",
 704        "203Tl",
 705        "204Hg",
 706        "204Pb",
 707        "205Tl",
 708        "206Pb",
 709        "207Pb",
 710        "208Pb",
 711    ]
 712
 713    atoms_covalence = {
 714        "C": (4),
 715        "13C": (4),
 716        "N": (3),
 717        "O": (2),
 718        "S": (2),
 719        "H": (1),
 720        "F": (1, 0),
 721        "Cl": (1, 0),
 722        "Br": (1, 0),
 723        "I": (1, 0),
 724        "At": (1),
 725        "Li": (1, 0),
 726        "Na": (1, 0),
 727        "K": (1, 0),
 728        "Rb": (1),
 729        "Cs": (1),
 730        "Fr": (1),
 731        "B": (4, 3, 2, 1),
 732        "In": (3, 2, 1),
 733        "Al": (3, 1, 2),
 734        "P": (3, 5, 4, 2, 1),
 735        "Ga": (3, 1, 2),
 736        "Mg": (2, 1),
 737        "Be": (2, 1),
 738        "Ca": (2, 1),
 739        "Sr": (2, 1),
 740        "Ba": (2),
 741        "Ra": (2),
 742        "V": (5, 4, 3, 2, 1),
 743        "Fe": (3, 2, 4, 5, 6),
 744        "Si": (4, 3, 2),
 745        "Sc": (3, 2, 1),
 746        "Ti": (4, 3, 2, 1),
 747        "Cr": (1, 2, 3, 4, 5, 6),
 748        "Mn": (1, 2, 3, 4, 5, 6, 7),
 749        "Co": (1, 2, 3, 4, 5),
 750        "Ni": (1, 2, 3, 4),
 751        "Cu": (2, 1, 3, 4),
 752        "Zn": (2, 1),
 753        "Ge": (4, 3, 2, 1),
 754        "As": (5, 3, 2, 1),
 755        "Se": (6, 4, 2, 1),
 756        "Y": (3, 2, 1),
 757        "Zr": (4, 3, 2, 1),
 758        "Nb": (5, 4, 3, 2, 1),
 759        "Mo": (6, 5, 4, 3, 2, 1),
 760        "Tc": (7, 6, 5, 4, 3, 2, 1),
 761        "Ru": (8, 7, 6, 5, 4, 3, 2, 1),
 762        "Rh": (6, 5, 4, 3, 2, 1),
 763        "Pd": (4, 2, 1),
 764        "Ag": (0, 1, 2, 3, 4),
 765        "Cd": (2, 1),
 766        "Sn": (4, 2),
 767        "Sb": (5, 3),
 768        "Te": (6, 5, 4, 2),
 769        "La": (3, 2),
 770        "Hf": (4, 3, 2),
 771        "Ta": (5, 4, 3, 2),
 772        "W": (6, 5, 4, 3, 2, 1),
 773        "Re": (4, 7, 6, 5, 3, 2, 1),
 774        "Os": (4, 8, 7, 6, 5, 3, 2, 1),
 775        "Ir": (4, 8, 6, 5, 3, 2, 1),
 776        "Pt": (4, 6, 5, 3, 2, 1),
 777        "Au": (3, 5, 2, 1),
 778        "Hg": (1, 2, 4),
 779        "Tl": (3, 1),
 780        "Pb": (4, 2),
 781        "Bi": (3, 1, 5),
 782        "Po": (2, 4, 6),
 783        "Ac": (3, 2),
 784    }
 785
 786    isotopic_abundance = {
 787        "H": 0.999885,
 788        "D": 0.000115,
 789        "T": 0,  # Consider removing.
 790        "3He": 0.00000134,
 791        "He": 0.99999866,
 792        "6Li": 0.0759,
 793        "Li": 0.9241,
 794        "Be": 1.0,
 795        "10B": 0.199,
 796        "B": 0.801,
 797        "C": 0.9893,
 798        "13C": 0.0107,
 799        "14C": 0,
 800        "N": 0.99636,
 801        "15N": 0.00364,
 802        "O": 0.99757,
 803        "17O": 0.00038,
 804        "18O": 0.00205,
 805        "F": 1.0,
 806        "Ne": 0.9048,
 807        "21Ne": 0.0027,
 808        "22Ne": 0.0925,
 809        "Na": 1.0,
 810        "Mg": 0.7899,
 811        "25Mg": 0.1000,
 812        "26Mg": 0.1101,
 813        "Al": 1.0,
 814        "Si": 0.92223,
 815        "29Si": 0.04685,
 816        "30Si": 0.03092,
 817        "P": 1.0,
 818        "S": 0.9499,
 819        "33S": 0.0075,
 820        "34S": 0.0425,
 821        "36S": 0.0001,
 822        "Cl": 0.7576,
 823        "37Cl": 0.2424,
 824        "36Ar": 0.003336,
 825        "38Ar": 0.000629,
 826        "Ar": 0.996035,
 827        "K": 0.932581,
 828        "40K": 0.000117,
 829        "41K": 0.067302,
 830        "Ca": 0.96941,
 831        "42Ca": 0.00647,
 832        "43Ca": 0.00135,
 833        "44Ca": 0.02086,
 834        "46Ca": 0.00004,
 835        "48Ca": 0.001872,
 836        "Sc": 1.0,
 837        "46Ti": 0.0825,
 838        "47Ti": 0.0744,
 839        "Ti": 0.7372,
 840        "49Ti": 0.0541,
 841        "50Ti": 0.0518,
 842        "50V": 0.00250,
 843        "V": 0.9975,
 844        "50Cr": 0.04345,
 845        "Cr": 0.83789,
 846        "53Cr": 0.09501,
 847        "54Cr": 0.02365,
 848        "Mn": 1.0,
 849        "54Fe": 0.05845,
 850        "Fe": 0.91754,
 851        "57Fe": 0.02119,
 852        "58Fe": 0.00282,
 853        "Co": 1.0,
 854        "Ni": 0.68077,
 855        "60Ni": 0.26223,
 856        "61Ni": 0.011399,
 857        "62Ni": 0.036346,
 858        "64Ni": 0.009255,
 859        "Cu": 0.6915,
 860        "65Cu": 0.3085,
 861        "Zn": 0.4917,
 862        "66Zn": 0.2773,
 863        "67Zn": 0.0404,
 864        "68Zn": 0.1845,
 865        "70Zn": 0.0061,
 866        "Ga": 0.60108,
 867        "71Ga": 0.39892,
 868        "70Ge": 0.2057,
 869        "72Ge": 0.2745,
 870        "73Ge": 0.0775,
 871        "Ge": 0.3650,
 872        "76Ge": 0.0773,
 873        "As": 1.0,
 874        "74Se": 0.0089,
 875        "76Se": 0.0937,
 876        "77Se": 0.0763,
 877        "78Se": 0.2377,
 878        "Se": 0.4961,
 879        "82Se": 0.0873,
 880        "Br": 0.5069,
 881        "81Br": 0.4931,
 882        "78Kr": 0.00355,
 883        "80Kr": 0.02286,
 884        "82Kr": 0.11593,
 885        "83Kr": 0.11500,
 886        "Kr": 0.56987,
 887        "86Kr": 0.17279,
 888        "Rb": 0.7217,
 889        "87Rb": 0.2783,
 890        "84Sr": 0.0056,
 891        "86Sr": 0.0986,
 892        "87Sr": 0.0700,
 893        "Sr": 0.8258,
 894        "Y": 1.0,
 895        "Zr": 0.5145,
 896        "91Zr": 0.1122,
 897        "92Zr": 0.1715,
 898        "94Zr": 0.1738,
 899        "96Zr": 0.0280,
 900        "Nb": 1.0,
 901        "92Mo": 0.1453,
 902        "94Mo": 0.0915,
 903        "95Mo": 0.1584,
 904        "96Mo": 0.1667,
 905        "97Mo": 0.0960,
 906        "Mo": 0.2439,
 907        "100Mo": 0.0982,
 908        "99Tc": 0,  # consider removing
 909        "96Ru": 0.0554,
 910        "98Ru": 0.0187,
 911        "99Ru": 0.1276,
 912        "100Ru": 0.1260,
 913        "101Ru": 0.1706,
 914        "Ru": 0.3155,
 915        "104Ru": 0.1862,
 916        "Rh": 1.0,
 917        "102Pd": 0.0102,
 918        "104Pd": 0.1114,
 919        "105Pd": 0.2233,
 920        "Pd": 0.2733,
 921        "108Pd": 0.2646,
 922        "110Pd": 0.1172,
 923        "Ag": 0.51839,
 924        "109Ag": 0.48161,
 925        "106Cd": 0.0125,
 926        "108Cd": 0.0089,
 927        "110Cd": 0.1249,
 928        "111Cd": 0.1280,
 929        "Cd": 0.2413,
 930        "113Cd": 0.1222,
 931        "114Cd": 0.2873,
 932        "116Cd": 0.0749,
 933        "113In": 0.0429,
 934        "In": 0.9571,
 935        "112Sn": 0.0097,
 936        "114Sn": 0.0066,
 937        "115Sn": 0.0034,
 938        "116Sn": 0.1454,
 939        "117Sn": 0.0768,
 940        "118Sn": 0.2422,
 941        "119Sn": 0.0859,
 942        "Sn": 0.3258,
 943        "122Sn": 0.0463,
 944        "124Sn": 0.0579,
 945        "Sb": 0.5721,
 946        "123Sb": 0.4279,
 947        "120Te": 0.0009,
 948        "122Te": 0.0255,
 949        "123Te": 0.0089,
 950        "124Te": 0.0474,
 951        "125Te": 0.0707,
 952        "126Te": 0.1884,
 953        "128Te": 0.3174,
 954        "Te": 0.3408,
 955        "I": 1.0,
 956        "124Xe": 0.000952,
 957        "126Xe": 0.000890,
 958        "128Xe": 0.019102,
 959        "129Xe": 0.264006,
 960        "130Xe": 0.040710,
 961        "131Xe": 0.212324,
 962        "Xe": 0.269086,
 963        "134Xe": 0.104357,
 964        "136Xe": 0.088573,
 965        "Cs": 1.0,
 966        "130Ba": 0.00106,
 967        "132Ba": 0.00101,
 968        "134Ba": 0.02417,
 969        "135Ba": 0.06592,
 970        "136Ba": 0.07854,
 971        "137Ba": 0.11232,
 972        "Ba": 0.71698,
 973        "138La": 0.0008881,
 974        "La": 0.9991119,
 975        "136Ce": 0.00185,
 976        "138Ce": 0.00251,
 977        "Ce": 0.88450,
 978        "142Ce": 0.11114,
 979        "Pr": 1.0,
 980        "Nd": 0.27152,
 981        "143Nd": 0.12174,
 982        "144Nd": 0.23798,
 983        "145Nd": 0.08293,
 984        "146Nd": 0.17189,
 985        "148Nd": 0.05756,
 986        "150Nd": 0.05638,
 987        "145Pm": 0,
 988        "147Pm": 0,
 989        "144Sm": 0.0307,
 990        "147Sm": 0.1499,
 991        "148Sm": 0.1124,
 992        "149Sm": 0.1382,
 993        "150Sm": 0.0738,
 994        "Sm": 0.2675,
 995        "154Sm": 0.2275,
 996        "151Eu": 0.4781,
 997        "Eu": 0.5219,
 998        "152Gd": 0.0020,
 999        "154Gd": 0.0218,
1000        "155Gd": 0.1480,
1001        "156Gd": 0.2047,
1002        "157Gd": 0.1565,
1003        "Gd": 0.2484,
1004        "160Gd": 0.2186,
1005        "Tb": 1.0,
1006        "156Dy": 0.00056,
1007        "158Dy": 0.00095,
1008        "160Dy": 0.02329,
1009        "161Dy": 0.18889,
1010        "162Dy": 0.25475,
1011        "163Dy": 0.24896,
1012        "Dy": 0.28260,
1013        "Ho": 1.0,
1014        "162Er": 0.00139,
1015        "164Er": 0.01601,
1016        "Er": 0.33503,
1017        "167Er": 0.22869,
1018        "168Er": 0.26978,
1019        "170Er": 0.14910,
1020        "Tm": 1.0,
1021        "168Yb": 0.00123,
1022        "170Yb": 0.02982,
1023        "171Yb": 0.1409,
1024        "172Yb": 0.2168,
1025        "173Yb": 0.16103,
1026        "Yb": 0.32026,
1027        "176Yb": 0.12996,
1028        "Lu": 0.97401,
1029        "176Lu": 0.02599,
1030        "174Hf": 0.0016,
1031        "176Hf": 0.0526,
1032        "177Hf": 0.1860,
1033        "178Hf": 0.2728,
1034        "179Hf": 0.1362,
1035        "Hf": 0.3508,
1036        "180Ta": 0.0001201,
1037        "Ta": 0.9998799,
1038        "180W": 0.0012,
1039        "182W": 0.2650,
1040        "183W": 0.1431,
1041        "W": 0.3064,
1042        "186W": 0.2843,
1043        "185Re": 0.3740,
1044        "Re": 0.6260,
1045        "184Os": 0.0002,
1046        "186Os": 0.0159,
1047        "187Os": 0.0196,
1048        "188Os": 0.1324,
1049        "189Os": 0.1615,
1050        "190Os": 0.2626,
1051        "Os": 0.4078,
1052        "191Ir": 0.373,
1053        "Ir": 0.627,
1054        "190Pt": 0.00012,
1055        "192Pt": 0.00782,
1056        "194Pt": 0.3286,
1057        "Pt": 0.3378,
1058        "196Pt": 0.2521,
1059        "198Pt": 0.07356,
1060        "Au": 1.0,
1061        "196Hg": 0.0015,
1062        "198Hg": 0.0997,
1063        "199Hg": 0.16872,
1064        "200Hg": 0.2310,
1065        "201Hg": 0.1318,
1066        "Hg": 0.2986,
1067        "204Hg": 0.0687,
1068        "203Tl": 0.2952,
1069        "Tl": 0.7048,
1070        "204Pb": 0.014,
1071        "206Pb": 0.241,
1072        "207Pb": 0.221,
1073        "Pb": 0.524,
1074        "Bi": 1.0,
1075        "209Po": 0,
1076        "210Po": 0,
1077        "210At": 0,
1078        "211At": 0,
1079        "211Rn": 0,
1080        "220Rn": 0,
1081        "222Rn": 0,
1082        "223Fr": 0,
1083        "223Ra": 0,
1084        "224Ra": 0,
1085        "226Ra": 0,
1086        "228Ra": 0,
1087        "227Ac": 0,
1088        "230Th": 0,
1089        "Th": 1.0,
1090        "Pa": 1.0,
1091        "233U": 0,
1092        "234U": 0.000054,
1093        "235U": 0.007204,
1094        "236U": 0,
1095        "U": 0.992742,
1096        "236Np": 0,
1097        "237Np": 0,
1098        "238Pu": 0,
1099        "239Pu": 0,
1100        "240Pu": 0,
1101        "241Pu": 0,
1102        "242Pu": 0,
1103        "244Pu": 0,
1104        "241Am": 0,
1105        "243Am": 0,
1106        "243Cm": 0,
1107        "244Cm": 0,
1108        "245Cm": 0,
1109        "246Cm": 0,
1110        "247Cm": 0,
1111        "248Cm": 0,
1112        "247Bk": 0,
1113        "249Bk": 0,
1114        "249Cf": 0,
1115        "250Cf": 0,
1116        "251Cf": 0,
1117        "252Cf": 0,
1118        "252Es": 0,
1119        "257Fm": 0,
1120        "258Md": 0,
1121        "260Md": 0,
1122        "259No": 0,
1123        "262Lr": 0,
1124        "267Rf": 0,
1125        "268Db": 0,
1126        "271Sg": 0,
1127        "272Bh": 0,
1128        "270Hs": 0,
1129        "276Mt": 0,
1130        "281Ds": 0,
1131        "280Rg": 0,
1132        "285Cn": 0,
1133        "284Nh": 0,
1134        "289Fl": 0,
1135        "288Mc": 0,
1136        "293Lv": 0,
1137        "292Ts": 0,
1138        "294Og": 0,
1139    }
1140
1141    # Isotopes here is a dictionary of symbol, including full name,
1142    # and then the isotopes which arent the most abundant one, sorted by abundance.
1143    # None indicates no stable isotopes/naturally occuring ones.
1144    # This has been manually checked as far as Iodine only.
1145    isotopes = {
1146        "H": ["Hydrogen", ["D", "T"]],
1147        "He": ["Helium", ["3He"]],
1148        "Li": ["Lithium", ["6Li"]],
1149        "Be": ["Beryllium", [None]],
1150        "B": ["Boron", ["10B"]],
1151        "C": ["Carbon", ["13C"]],
1152        "N": ["Nitrogen", ["15N"]],
1153        "O": ["Oxygen", ["18O", "17O"]],
1154        "F": ["Fluorine", [None]],
1155        "Ne": ["Neon", ["22Ne", "21Ne"]],
1156        "Na": ["Sodium", [None]],
1157        "Mg": ["Magnesium", ["26Mg", "25Mg"]],
1158        "Al": ["Aluminum", [None]],
1159        "Si": ["Silicon", ["29Si", "30Si"]],
1160        "P": ["Phosphorus", [None]],
1161        "S": ["Sulfur", ["34S", "33S", "36S"]],
1162        "Cl": ["Chlorine", ["37Cl"]],
1163        "Ar": ["Argon", ["36Ar", "38Ar"]],
1164        "K": ["Potassium", ["41K", "40K"]],
1165        "Ca": ["Calcium", ["44Ca", "48Ca", "43Ca", "42Ca", "46Ca"]],
1166        "Sc": ["Scandium", [None]],
1167        "Ti": ["Titanium", ["46Ti", "47Ti", "49Ti", "50Ti"]],
1168        "V": ["Vanadium", ["50V"]],
1169        "Cr": ["Chromium", ["53Cr", "50Cr", "54Cr"]],
1170        "Mn": ["Manganese", [None]],
1171        "Fe": ["Iron", ["54Fe", "57Fe", "58Fe"]],
1172        "Co": ["Cobalt", [None]],
1173        "Ni": ["Nickel", ["60Ni", "62Ni", "61Ni", "64Ni"]],
1174        "Cu": ["Copper", ["65Cu"]],
1175        "Zn": ["Zinc", ["66Zn", "68Zn", "67Zn", "70Zn"]],
1176        "Ga": ["Gallium", ["71Ga"]],
1177        "Ge": ["Germanium", ["72Ge", "70Ge", "73Ge", "76Ge"]],
1178        "As": ["Arsenic", [None]],
1179        "Se": ["Selenium", ["78Se", "76Se", "82Se", "77Se", "74Se"]],
1180        "Br": ["Bromine", ["81Br"]],
1181        "Kr": ["Krypton", ["86Kr", "82Kr", "83Kr", "80Kr"]],
1182        "Rb": ["Rubidium", ["87Rb"]],
1183        "Sr": ["Strontium", ["86Sr", "87Sr", "84Sr"]],
1184        "Y": ["Yttrium", [None]],
1185        "Zr": ["Zirconium", ["94Zr", "92Zr", "91Zr", "96Zr"]],
1186        "Nb": ["Niobium", [None]],
1187        "Mo": ["Molybdenum", ["96Mo", "95Mo", "92Mo", "100Mo", "97Mo", "94Mo"]],
1188        "Tc": ["Technetium", [None]],  # consider removing
1189        "Ru": ["Ruthenium", ["104Ru", "101Ru", "99Ru", "100Ru", "96Ru", "98Ru"]],
1190        "Rh": ["Rhodium", [None]],
1191        "Pd": ["Palladium", ["108Pd", "105Pd", "110Pd", "104Pd", "102Pd"]],
1192        "Ag": ["Silver", ["109Ag"]],
1193        "Cd": [
1194            "Cadmium",
1195            ["114Cd", "111Cd", "110Cd", "113Cd", "116Cd", "106Cd", "108Cd"],
1196        ],
1197        "In": ["Indium", ["113In"]],
1198        "Sn": [
1199            "Tin",
1200            [
1201                "118Sn",
1202                "116Sn",
1203                "119Sn",
1204                "117Sn",
1205                "124Sn",
1206                "122Sn",
1207                "112Sn",
1208                "114Sn",
1209                "115Sn",
1210            ],
1211        ],
1212        "Sb": ["Antimony", ["123Sb"]],
1213        "Te": [
1214            "Tellurium",
1215            ["128Te", "126Te", "125Te", "124Te", "122Te", "123Te", "120Te"],
1216        ],
1217        "I": ["Iodine", [None]],
1218        "Xe": ["Xenon", ["129Xe", "131Xe", "134Xe", "136Xe", "130Xe", "128Xe"]],
1219        "Cs": ["Cesium", [None]],
1220        "Ba": ["Barium", ["137Ba", "136Ba", "135Ba", "134Ba"]],
1221        "La": ["Lanthanum", ["138La"]],
1222        "Hf": ["Hafnium", ["178Hf", "177Hf", "179Hf", "176Hf"]],
1223        "Ta": ["Tantalum", ["180Ta"]],
1224        "W": ["Tungsten", ["186W", "182W", "183W"]],
1225        "Re": ["Rhenium", ["185Re"]],
1226        "Os": ["Osmium", ["190Os", "189Os", "188Os", "187Os", "186Os"]],
1227        "Ir": ["Iridium", ["191Ir"]],
1228        "Pt": ["Platinum", ["194Pt", "196Pt", "198Pt", "192Pt"]],
1229        "Au": ["Gold", [None]],
1230        "Hg": ["Mercury", ["200Hg", "199Hg", "201Hg", "198Hg", "204Hg"]],
1231        "Tl": ["Thallium", ["203Tl"]],
1232        "Pb": ["Lead", ["206Pb", "207Pb", "204Pb"]],
1233        "Bi": ["Bismuth", [None]],
1234        "Po": ["Polonium", [None]],
1235        "At": ["Astatine", [None]],
1236        "Rn": ["Radon", [None]],
1237        "Fr": ["Francium", [None]],
1238        "Ra": ["Radium", [None]],
1239        "Ac": ["Actinium", [None]],
1240        "Rf": ["Rutherfordium", [None]],
1241        "Db": ["Dubnium", [None]],
1242        "Sg": ["Seaborgium", [None]],
1243        "Bh": ["Bohrium", [None]],
1244        "Hs": ["Hassium", [None]],
1245        "Mt": ["Meitnerium", [None]],
1246        "Ds": ["Darmstadtium", [None]],
1247        "Rg": ["Roentgenium", [None]],
1248        "Cn": ["Copernicium", [None]],
1249        "Nh": ["Nihonium", [None]],
1250        "Fl": ["Flerovium", [None]],
1251        "Mc": ["Moscovium", [None]],
1252        "Lv": ["Livermorium", [None]],
1253        "Ts": ["Tennessine", [None]],
1254        "Og": ["Oganesson", [None]],
1255        "Ce": ["Cerium", ["142Ce", "138Ce" "136Ce"]],
1256        "Pr": ["Praseodymium", [None]],
1257        "Nd": ["Neodymium", [None]],
1258        "Pm": ["Promethium", [None]],
1259        "Sm": ["Samarium", [None]],
1260        "Eu": ["Europium", [None]],
1261        "Gd": ["Gadolinium", [None]],
1262        "Tb": ["Terbium", [None]],
1263        "Dy": ["Dysprosium", [None]],
1264        "Ho": ["Holmium", [None]],
1265        "Er": ["Erbium", [None]],
1266        "Tm": ["Thulium", [None]],
1267        "Yb": ["Ytterbium", [None]],
1268        "Lu": ["Lutetium", ["176Lu"]],
1269        "Th": ["Thorium", [None]],
1270        "Pa": ["Protactinium", [None]],
1271        "U": ["Uranium", ["235U", "234U"]],
1272        "Np": ["Neptunium", [None]],
1273        "Pu": ["Plutonium", [None]],
1274        "Am": ["Americium", [None]],
1275        "Cm": ["Curium", [None]],
1276        "Bk": ["Berkelium", [None]],
1277        "Cf": ["Californium", [None]],
1278        "Es": ["Einsteinium", [None]],
1279        "Fm": ["Fermium", [None]],
1280        "Md": ["Mendelevium", [None]],
1281        "No": ["Nobelium", [None]],
1282        "Lr": ["Lawrencium", [None]],
1283    }
class Labels:
 2class Labels:  # pragma: no cover
 3    """Class for Labels used in CoreMS
 4
 5    These labels are used to define:
 6    * types of columns in plaintext data inputs,
 7    * types of data/mass spectra
 8    * types of assignment for ions
 9
10    """
11
12    mz = "m/z"
13    abundance = "Peak Height"
14    rp = "Resolving Power"
15    s2n = "S/N"
16
17    label = "label"
18    bruker_profile = "Bruker_Profile"
19    thermo_profile = "Thermo_Profile"
20    simulated_profile = "Simulated Profile"
21    booster_profile = "Booster Profile"
22    bruker_frequency = "Bruker_Frequency"
23    midas_frequency = "Midas_Frequency"
24    thermo_centroid = "Thermo_Centroid"
25    corems_centroid = "CoreMS_Centroid"
26    gcms_centroid = "Thermo_Centroid"
27
28    unassigned = "unassigned"
29
30    radical_ion = "RADICAL"
31    protonated_de_ion = "DE_OR_PROTONATED"
32    protonated = "protonated"
33    de_protonated = "de-protonated"
34    adduct_ion = "ADDUCT"
35    neutral = "neutral"
36    ion_type = "IonType"
37
38    ion_type_translate = {
39        "protonated": "DE_OR_PROTONATED",
40        "de-protonated": "DE_OR_PROTONATED",
41        "radical": "RADICAL",
42        "adduct": "ADDUCT",
43        "ADDUCT": "ADDUCT",
44    }

Class for Labels used in CoreMS

These labels are used to define:

  • types of columns in plaintext data inputs,
  • types of data/mass spectra
  • types of assignment for ions
mz = 'm/z'
abundance = 'Peak Height'
rp = 'Resolving Power'
s2n = 'S/N'
label = 'label'
bruker_profile = 'Bruker_Profile'
thermo_profile = 'Thermo_Profile'
simulated_profile = 'Simulated Profile'
booster_profile = 'Booster Profile'
bruker_frequency = 'Bruker_Frequency'
midas_frequency = 'Midas_Frequency'
thermo_centroid = 'Thermo_Centroid'
corems_centroid = 'CoreMS_Centroid'
gcms_centroid = 'Thermo_Centroid'
unassigned = 'unassigned'
radical_ion = 'RADICAL'
protonated_de_ion = 'DE_OR_PROTONATED'
protonated = 'protonated'
de_protonated = 'de-protonated'
adduct_ion = 'ADDUCT'
neutral = 'neutral'
ion_type = 'IonType'
ion_type_translate = {'protonated': 'DE_OR_PROTONATED', 'de-protonated': 'DE_OR_PROTONATED', 'radical': 'RADICAL', 'adduct': 'ADDUCT', 'ADDUCT': 'ADDUCT'}
class Atoms:
  47class Atoms:  # pragma: no cover
  48    """Class for Atoms in CoreMS
  49
  50    This class includes key properties of atoms (and the electron) and isotopes, including their exact masses, relative abundances, and covalences.
  51    It also associates which isotopes are for the same element, and provides an ordering of elements.
  52
  53    IUPAC definition of monoisotopic mass is based on the most abundant isotopes of each element present.
  54    Here, we will use atom symbols with isotope numbers for all isotopes excluding the most abundant one.
  55    This list has been corrected up to Iodine.
  56
  57    References
  58    ----------
  59
  60    1. NIST - Last Accessed 2019-06-12
  61    https://www.nist.gov/pml/atomic-weights-and-isotopic-compositions-relative-atomic-masses
  62
  63    """
  64
  65    electron_mass = 0.0005_485_799_090_65  # NIST value
  66
  67    atomic_masses = {
  68        "H": 1.00782503223,
  69        "D": 2.01410177812,
  70        "T": 3.0160492779,  # consider removing
  71        "3He": 3.0160293201,
  72        "He": 4.00260325413,
  73        "6Li": 6.0151228874,
  74        "Li": 7.0160034366,
  75        "Be": 9.012183065,
  76        "10B": 10.01293695,
  77        "B": 11.00930536,
  78        "C": 12.0,
  79        "13C": 13.00335483507,
  80        "14C": 14.0032419884,
  81        "N": 14.00307400443,
  82        "15N": 15.00010889888,
  83        "O": 15.99491461957,
  84        "17O": 16.99913175650,
  85        "18O": 17.99915961286,
  86        "F": 18.99840316273,
  87        "Ne": 19.9924401762,
  88        "21Ne": 20.993846685,
  89        "22Ne": 21.991385114,
  90        "Na": 22.9897692820,
  91        "Mg": 23.985041697,
  92        "25Mg": 24.985836976,
  93        "26Mg": 25.982592968,
  94        "Al": 26.98153853,
  95        "Si": 27.97692653465,
  96        "29Si": 28.97649466490,
  97        "30Si": 29.973770136,
  98        "P": 30.97376199842,
  99        "S": 31.9720711744,
 100        "33S": 32.9714589098,
 101        "34S": 33.967867004,
 102        "36S": 35.96708071,
 103        "Cl": 34.968852682,
 104        "37Cl": 36.965902602,
 105        "36Ar": 35.967545105,
 106        "38Ar": 37.96273211,
 107        "Ar": 39.9623831237,
 108        "K": 38.9637064864,
 109        "40K": 39.963998166,
 110        "41K": 40.9618252579,
 111        "Ca": 39.962590863,
 112        "42Ca": 41.95861783,
 113        "43Ca": 42.95876644,
 114        "44Ca": 43.95548156,
 115        "46Ca": 45.9536890,
 116        "48Ca": 47.95252276,
 117        "Sc": 44.95590828,
 118        "46Ti": 45.95262772,
 119        "47Ti": 46.95175879,
 120        "Ti": 47.94794198,
 121        "49Ti": 48.94786568,
 122        "50Ti": 49.94478689,
 123        "50V": 49.94715601,
 124        "V": 50.94395704,
 125        "50Cr": 49.94604183,
 126        "Cr": 51.94050623,
 127        "53Cr": 52.94064815,
 128        "54Cr": 53.93887916,
 129        "Mn": 54.93804391,
 130        "54Fe": 53.93960899,
 131        "Fe": 55.93493633,
 132        "57Fe": 56.93539284,
 133        "58Fe": 57.93327443,
 134        "Co": 58.93319429,
 135        "Ni": 57.93534241,
 136        "60Ni": 59.93078588,
 137        "61Ni": 60.93105557,
 138        "62Ni": 61.92834537,
 139        "64Ni": 63.92796682,
 140        "Cu": 62.92959772,
 141        "65Cu": 64.92778970,
 142        "Zn": 63.92914201,
 143        "66Zn": 65.92603381,
 144        "67Zn": 66.92712775,
 145        "68Zn": 67.92484455,
 146        "70Zn": 69.9253192,
 147        "Ga": 68.9255735,
 148        "71Ga": 70.92470258,
 149        "70Ge": 69.92424875,
 150        "72Ge": 71.922075826,
 151        "73Ge": 72.923458956,
 152        "Ge": 73.921177761,
 153        "76Ge": 75.921402726,
 154        "As": 74.92159457,
 155        "74Se": 73.922475934,
 156        "76Se": 75.919213704,
 157        "77Se": 76.919914154,
 158        "78Se": 77.91730928,
 159        "Se": 79.9165218,
 160        "82Se": 81.9166995,
 161        "Br": 78.9183376,
 162        "81Br": 80.9162897,
 163        "78Kr": 77.92036494,
 164        "80Kr": 79.91637808,
 165        "82Kr": 81.91348273,
 166        "83Kr": 82.91412716,
 167        "Kr": 83.9114977282,
 168        "86Kr": 85.9106106269,
 169        "Rb": 84.9117897379,
 170        "87Rb": 86.9091805310,
 171        "84Sr": 83.9134191,
 172        "86Sr": 85.9092606,
 173        "87Sr": 86.9088775,
 174        "Sr": 87.9056125,
 175        "Y": 88.9058403,
 176        "Zr": 89.9046977,
 177        "91Zr": 90.9056396,
 178        "92Zr": 91.9050347,
 179        "94Zr": 93.9063108,
 180        "96Zr": 95.9082714,
 181        "Nb": 92.9063730,
 182        "92Mo": 91.90680796,
 183        "94Mo": 93.90508490,
 184        "95Mo": 94.90583877,
 185        "96Mo": 95.90467612,
 186        "97Mo": 96.90601812,
 187        "Mo": 97.90540482,
 188        "100Mo": 99.9074718,
 189        #'97Tc': 96.9063667,
 190        #'98Tc': 97.9072124,
 191        "Tc": 98.9062508,  # consider removing technetium as it is radioactive
 192        "96Ru": 95.90759025,
 193        "98Ru": 97.9052868,
 194        "99Ru": 98.9059341,
 195        "100Ru": 99.9042143,
 196        "101Ru": 100.9055769,
 197        "Ru": 101.9043441,
 198        "104Ru": 103.9054275,
 199        "Rh": 102.9054980,
 200        "102Pd": 101.9056022,
 201        "104Pd": 103.9040305,
 202        "105Pd": 104.9050796,
 203        "Pd": 105.9034804,
 204        "108Pd": 107.9038916,
 205        "110Pd": 109.9051722,
 206        "Ag": 106.9050916,
 207        "109Ag": 108.9047553,
 208        "106Cd": 105.9064599,
 209        "108Cd": 107.9041834,
 210        "110Cd": 109.90300661,
 211        "111Cd": 110.90418287,
 212        "Cd": 111.90276287,
 213        "113Cd": 112.90440813,
 214        "114Cd": 113.90336509,
 215        "116Cd": 115.90476315,
 216        "113In": 112.90406184,
 217        "In": 114.903878776,
 218        "112Sn": 111.90482387,
 219        "114Sn": 113.9027827,
 220        "115Sn": 114.903344699,
 221        "116Sn": 115.90174280,
 222        "117Sn": 116.90295398,
 223        "118Sn": 117.90160657,
 224        "119Sn": 118.90331117,
 225        "Sn": 119.90220163,
 226        "122Sn": 121.9034438,
 227        "124Sn": 123.9052766,
 228        "Sb": 120.9038120,
 229        "123Sb": 122.9042132,
 230        "120Te": 119.9040593,
 231        "122Te": 121.9030435,
 232        "123Te": 122.9042698,
 233        "124Te": 123.9028171,
 234        "125Te": 124.9044299,
 235        "126Te": 125.9033109,
 236        "128Te": 127.90446128,
 237        "Te": 129.906222748,
 238        "I": 126.9044719,
 239        "124Xe": 123.9058920,
 240        "126Xe": 125.9042983,
 241        "128Xe": 127.9035310,
 242        "129Xe": 128.9047808611,
 243        "130Xe": 129.903509349,
 244        "131Xe": 130.90508406,
 245        "Xe": 131.9041550856,
 246        "134Xe": 133.90539466,
 247        "136Xe": 135.907214484,
 248        "Cs": 132.9054519610,
 249        "130Ba": 129.9063207,
 250        "132Ba": 131.9050611,
 251        "134Ba": 133.90450818,
 252        "135Ba": 134.90568838,
 253        "136Ba": 135.90457573,
 254        "137Ba": 136.90582714,
 255        "Ba": 137.90524700,
 256        "138La": 137.9071149,
 257        "La": 138.9063563,
 258        "136Ce": 135.90712921,
 259        "138Ce": 137.905991,
 260        "Ce": 139.9054431,
 261        "142Ce": 141.9092504,
 262        "Pr": 140.9076576,
 263        "Nd": 141.9077290,
 264        "143Nd": 142.9098200,
 265        "144Nd": 143.9100930,
 266        "145Nd": 144.9125793,
 267        "146Nd": 145.9131226,
 268        "148Nd": 147.9168993,
 269        "150Nd": 149.9209022,
 270        "145Pm": 144.9127559,
 271        "147Pm": 146.9151450,
 272        "144Sm": 143.9120065,
 273        "147Sm": 146.9149044,
 274        "148Sm": 147.9148292,
 275        "149Sm": 148.9171921,
 276        "150Sm": 149.9172829,
 277        "Sm": 151.9197397,
 278        "154Sm": 153.9222169,
 279        "151Eu": 150.9198578,
 280        "Eu": 152.9212380,
 281        "152Gd": 151.9197995,
 282        "154Gd": 153.9208741,
 283        "155Gd": 154.9226305,
 284        "156Gd": 155.9221312,
 285        "157Gd": 156.9239686,
 286        "Gd": 157.9241123,
 287        "160Gd": 159.9270624,
 288        "Tb": 158.9253547,
 289        "156Dy": 155.9242847,
 290        "158Dy": 157.9244159,
 291        "160Dy": 159.9252046,
 292        "161Dy": 160.9269405,
 293        "162Dy": 161.9268056,
 294        "163Dy": 162.9287383,
 295        "Dy": 163.9291819,
 296        "Ho": 164.9303288,
 297        "162Er": 161.9287884,
 298        "164Er": 163.9292088,
 299        "Er": 165.9302995,
 300        "167Er": 166.9320546,
 301        "168Er": 167.9323767,
 302        "170Er": 169.9354702,
 303        "Tm": 168.9342179,
 304        "168Yb": 167.9338896,
 305        "170Yb": 169.9347664,
 306        "171Yb": 170.9363302,
 307        "172Yb": 171.9363859,
 308        "173Yb": 172.9382151,
 309        "Yb": 173.9388664,
 310        "176Yb": 175.9425764,
 311        "Lu": 174.9407752,
 312        "176Lu": 175.9426897,
 313        "174Hf": 173.9400461,
 314        "176Hf": 175.9414076,
 315        "177Hf": 176.9432277,
 316        "178Hf": 177.9437058,
 317        "179Hf": 178.9458232,
 318        "Hf": 179.9465570,
 319        "180Ta": 179.9474648,
 320        "Ta": 180.9479958,
 321        "180W": 179.9467108,
 322        "182W": 181.94820394,
 323        "183W": 182.95022275,
 324        "W": 183.95093092,
 325        "186W": 185.9543628,
 326        "185Re": 184.9529545,
 327        "Re": 186.9557501,
 328        "184Os": 183.9524885,
 329        "186Os": 185.9538350,
 330        "187Os": 186.9557474,
 331        "188Os": 187.9558352,
 332        "189Os": 188.9581442,
 333        "190Os": 189.9584437,
 334        "192Os": 191.9614770,
 335        "191Ir": 190.9605893,
 336        "Ir": 192.9629216,
 337        "190Pt": 189.9599297,
 338        "192Pt": 191.9610387,
 339        "194Pt": 193.9626809,
 340        "Pt": 194.9647917,
 341        "196Pt": 195.96495209,
 342        "198Pt": 197.9678949,
 343        "Au": 196.96656879,
 344        "196Hg": 195.9658326,
 345        "198Hg": 197.96676860,
 346        "199Hg": 198.96828064,
 347        "200Hg": 199.96832659,
 348        "201Hg": 200.97030284,
 349        "Hg": 201.97064340,
 350        "204Hg": 203.97349398,
 351        "203Tl": 202.9723446,
 352        "Tl": 204.9744278,
 353        "204Pb": 203.9730440,
 354        "206Pb": 205.9744657,
 355        "207Pb": 206.9758973,
 356        "Pb": 207.9766525,
 357        "Bi": 208.9803991,
 358        "209Po": 208.9824308,
 359        "210Po": 209.9828741,
 360        "210At": 209.9871479,
 361        "211At": 210.9874966,
 362        "211Rn": 210.9906011,
 363        "220Rn": 220.0113941,
 364        "222Rn": 222.0175782,
 365        "223Fr": 223.0197360,
 366        "223Ra": 223.0185023,
 367        "224Ra": 224.0202120,
 368        "226Ra": 226.0254103,
 369        "228Ra": 228.0310707,
 370        "227Ac": 227.0277523,
 371        "230Th": 230.0331341,
 372        "Th": 232.0380558,
 373        "Pa": 231.0358842,
 374        "233U": 233.0396355,
 375        "234U": 234.0409523,
 376        "235U": 235.0439301,
 377        "236U": 236.0455682,
 378        "U": 238.0507884,
 379        "236Np": 236.046570,
 380        "237Np": 237.0481736,
 381        "238Pu": 238.0495601,
 382        "239Pu": 239.0521636,
 383        "240Pu": 240.0538138,
 384        "241Pu": 241.0568517,
 385        "242Pu": 242.0587428,
 386        "244Pu": 244.0642053,
 387        "241Am": 241.0568293,
 388        "243Am": 243.0613813,
 389        "243Cm": 243.0613893,
 390        "244Cm": 244.0627528,
 391        "245Cm": 245.0654915,
 392        "246Cm": 246.0672238,
 393        "247Cm": 247.0703541,
 394        "248Cm": 248.0723499,
 395        "247Bk": 247.0703073,
 396        "249Bk": 249.0749877,
 397        "249Cf": 249.0748539,
 398        "250Cf": 250.0764062,
 399        "251Cf": 251.0795886,
 400        "252Cf": 252.0816272,
 401        "252Es": 252.082980,
 402        "257Fm": 257.0951061,
 403        "258Md": 258.0984315,
 404        "260Md": 260.10365,
 405        "259No": 259.10103,
 406        "262Lr": 262.10961,
 407        "267Rf": 267.12179,
 408        "268Db": 268.12567,
 409        "271Sg": 271.13393,
 410        "272Bh": 272.13826,
 411        "270Hs": 270.13429,
 412        "276Mt": 276.15159,
 413        "281Ds": 281.16451,
 414        "280Rg": 280.16514,
 415        "285Cn": 285.17712,
 416        "284Nh": 284.17873,
 417        "289Fl": 289.19042,
 418        "288Mc": 288.19274,
 419        "293Lv": 293.20449,
 420        "292Ts": 292.20746,
 421        "294Og": 294.21392,
 422    }
 423
 424    # This list orders atoms, starting with the most abundant isotopes first, ordered as described.
 425    # Less abundant isotopes are ordered by mass at the end of the list.
 426    atoms_order = [
 427        "C",
 428        "H",
 429        "O",
 430        "N",
 431        "P",
 432        "S",  # CHONPS
 433        "F",
 434        "Cl",
 435        "Br",
 436        "I",
 437        "At",  # Halogens
 438        "Li",
 439        "Na",
 440        "K",
 441        "Rb",
 442        "Cs",
 443        "Fr",  # Alkali
 444        "He",
 445        "Ne",
 446        "Ar",
 447        "Kr",
 448        "Xe",
 449        "Rn",  # Noble gasses
 450        "Be",
 451        "B",  # Row 2
 452        "Mg",
 453        "Al",
 454        "Si",  # Row 3
 455        "Ca",
 456        "Sc",
 457        "Ti",
 458        "V",
 459        "Cr",
 460        "Mn",
 461        "Fe",
 462        "Co",
 463        "Ni",
 464        "Cu",
 465        "Zn",
 466        "Ga",
 467        "Ge",
 468        "As",
 469        "Se",  # Row 4
 470        "Sr",
 471        "Y",
 472        "Zr",
 473        "Nb",
 474        "Mo",
 475        "Tc",
 476        "Ru",
 477        "Rh",
 478        "Pd",
 479        "Ag",
 480        "Cd",
 481        "In",
 482        "Sn",
 483        "Sb",
 484        "Te",  # Row 5
 485        "Ba",
 486        "La",
 487        "Hf",
 488        "Ta",
 489        "W",
 490        "Re",
 491        "Os",
 492        "Ir",
 493        "Pt",
 494        "Au",
 495        "Hg",
 496        "Tl",
 497        "Pb",
 498        "Bi",
 499        "Po",  # Row 6
 500        "Ra",
 501        "Ac",
 502        "Rf",
 503        "Db",
 504        "Sg",
 505        "Bh",
 506        "Hs",
 507        "Mt",
 508        "Ds",
 509        "Rg",
 510        "Cn",
 511        "Nh",
 512        "Fl",
 513        "Mc",
 514        "Lv",
 515        "Ts",
 516        "Og",  # Row 7
 517        "Ce",
 518        "Pr",
 519        "Nd",
 520        "Pm",
 521        "Sm",
 522        "Eu",
 523        "Gd",
 524        "Tb",
 525        "Dy",
 526        "Ho",
 527        "Er",
 528        "Tm",
 529        "Yb",
 530        "Lu",  # Lanthanides
 531        "Th",
 532        "Pa",
 533        "U",
 534        "Np",
 535        "Pu",
 536        "Am",
 537        "Cm",
 538        "Bk",
 539        "Cf",
 540        "Es",
 541        "Fm",
 542        "Md",
 543        "No",
 544        "Lr",  # Actinides
 545        # Less abundant isotopes follow
 546        "D",
 547        "6Li",
 548        "10B",
 549        "13C",
 550        "15N",
 551        "17O",
 552        "18O",
 553        "22Ne",
 554        "25Mg",
 555        "26Mg",
 556        "29Si",
 557        "30Si",
 558        "33S",
 559        "34S",
 560        "36S",
 561        "37Cl",
 562        "40Ca",
 563        "41K",
 564        "44Ca",
 565        "46Ti",
 566        "47Ti",
 567        "49Ti",
 568        "50Cr",
 569        "50Ti",
 570        "50V",
 571        "53Cr",
 572        "54Cr",
 573        "54Fe",
 574        "57Fe",
 575        "58Fe",
 576        "60Ni",
 577        "61Ni",
 578        "62Ni",
 579        "65Cu",
 580        "66Zn",
 581        "67Zn",
 582        "68Zn",
 583        "70Ge",
 584        "71Ga",
 585        "72Ge",
 586        "73Ge",
 587        "76Ge",
 588        "76Se",
 589        "77Se",
 590        "78Se",
 591        "81Br",
 592        "80Kr",
 593        "82Kr",
 594        "82Se",
 595        "83Kr",
 596        "85Rb",
 597        "86Kr",
 598        "86Sr",
 599        "87Rb",
 600        "87Sr",
 601        "88Sr",
 602        "91Zr",
 603        "92Mo",
 604        "92Zr",
 605        "94Mo",
 606        "94Zr",
 607        "95Mo",
 608        "96Mo",
 609        "96Ru",
 610        "96Zr",
 611        "97Mo",
 612        "98Ru",
 613        "99Ru",
 614        "100Mo",
 615        "100Ru",
 616        "101Ru",
 617        "102Pd",
 618        "104Pd",
 619        "104Ru",
 620        "105Pd",
 621        "106Cd",
 622        "106Pd",
 623        "108Cd",
 624        "108Pd",
 625        "109Ag",
 626        "110Cd",
 627        "110Pd",
 628        "111Cd",
 629        "112Cd",
 630        "112Sn",
 631        "113Cd",
 632        "113In",
 633        "114Cd",
 634        "114Sn",
 635        "115In",
 636        "115Sn",
 637        "116Cd",
 638        "116Sn",
 639        "117Sn",
 640        "118Sn",
 641        "119Sn",
 642        "120Sn",
 643        "120Te",
 644        "121Sb",
 645        "122Sn",
 646        "122Te",
 647        "123Sb",
 648        "123Te",
 649        "124Sn",
 650        "124Te",
 651        "124Xe",
 652        "125Te",
 653        "126Te",
 654        "126Xe",
 655        "128Te",
 656        "128Xe",
 657        "129Xe",
 658        "130Ba",
 659        "130Te",
 660        "130Xe",
 661        "131Xe",
 662        "132Ba",
 663        "132Xe",
 664        "134Ba",
 665        "134Xe",
 666        "135Ba",
 667        "136Ba",
 668        "136Xe",
 669        "137Ba",
 670        "138Ba",
 671        "174Hf",
 672        "176Hf",
 673        "177Hf",
 674        "178Hf",
 675        "179Hf",
 676        "180Hf",
 677        "180W",
 678        "182W",
 679        "183W",
 680        "184Os",
 681        "184W",
 682        "185Re",
 683        "186Os",
 684        "186W",
 685        "187Os",
 686        "187Re",
 687        "188Os",
 688        "189Os",
 689        "190Os",
 690        "190Pt",
 691        "191Ir",
 692        "192Ir",
 693        "192Os",
 694        "192Pt",
 695        "194Pt",
 696        "195Pt",
 697        "196Hg",
 698        "196Pt",
 699        "198Hg",
 700        "198Pt",
 701        "199Hg",
 702        "200Hg",
 703        "201Hg",
 704        "202Hg",
 705        "203Tl",
 706        "204Hg",
 707        "204Pb",
 708        "205Tl",
 709        "206Pb",
 710        "207Pb",
 711        "208Pb",
 712    ]
 713
 714    atoms_covalence = {
 715        "C": (4),
 716        "13C": (4),
 717        "N": (3),
 718        "O": (2),
 719        "S": (2),
 720        "H": (1),
 721        "F": (1, 0),
 722        "Cl": (1, 0),
 723        "Br": (1, 0),
 724        "I": (1, 0),
 725        "At": (1),
 726        "Li": (1, 0),
 727        "Na": (1, 0),
 728        "K": (1, 0),
 729        "Rb": (1),
 730        "Cs": (1),
 731        "Fr": (1),
 732        "B": (4, 3, 2, 1),
 733        "In": (3, 2, 1),
 734        "Al": (3, 1, 2),
 735        "P": (3, 5, 4, 2, 1),
 736        "Ga": (3, 1, 2),
 737        "Mg": (2, 1),
 738        "Be": (2, 1),
 739        "Ca": (2, 1),
 740        "Sr": (2, 1),
 741        "Ba": (2),
 742        "Ra": (2),
 743        "V": (5, 4, 3, 2, 1),
 744        "Fe": (3, 2, 4, 5, 6),
 745        "Si": (4, 3, 2),
 746        "Sc": (3, 2, 1),
 747        "Ti": (4, 3, 2, 1),
 748        "Cr": (1, 2, 3, 4, 5, 6),
 749        "Mn": (1, 2, 3, 4, 5, 6, 7),
 750        "Co": (1, 2, 3, 4, 5),
 751        "Ni": (1, 2, 3, 4),
 752        "Cu": (2, 1, 3, 4),
 753        "Zn": (2, 1),
 754        "Ge": (4, 3, 2, 1),
 755        "As": (5, 3, 2, 1),
 756        "Se": (6, 4, 2, 1),
 757        "Y": (3, 2, 1),
 758        "Zr": (4, 3, 2, 1),
 759        "Nb": (5, 4, 3, 2, 1),
 760        "Mo": (6, 5, 4, 3, 2, 1),
 761        "Tc": (7, 6, 5, 4, 3, 2, 1),
 762        "Ru": (8, 7, 6, 5, 4, 3, 2, 1),
 763        "Rh": (6, 5, 4, 3, 2, 1),
 764        "Pd": (4, 2, 1),
 765        "Ag": (0, 1, 2, 3, 4),
 766        "Cd": (2, 1),
 767        "Sn": (4, 2),
 768        "Sb": (5, 3),
 769        "Te": (6, 5, 4, 2),
 770        "La": (3, 2),
 771        "Hf": (4, 3, 2),
 772        "Ta": (5, 4, 3, 2),
 773        "W": (6, 5, 4, 3, 2, 1),
 774        "Re": (4, 7, 6, 5, 3, 2, 1),
 775        "Os": (4, 8, 7, 6, 5, 3, 2, 1),
 776        "Ir": (4, 8, 6, 5, 3, 2, 1),
 777        "Pt": (4, 6, 5, 3, 2, 1),
 778        "Au": (3, 5, 2, 1),
 779        "Hg": (1, 2, 4),
 780        "Tl": (3, 1),
 781        "Pb": (4, 2),
 782        "Bi": (3, 1, 5),
 783        "Po": (2, 4, 6),
 784        "Ac": (3, 2),
 785    }
 786
 787    isotopic_abundance = {
 788        "H": 0.999885,
 789        "D": 0.000115,
 790        "T": 0,  # Consider removing.
 791        "3He": 0.00000134,
 792        "He": 0.99999866,
 793        "6Li": 0.0759,
 794        "Li": 0.9241,
 795        "Be": 1.0,
 796        "10B": 0.199,
 797        "B": 0.801,
 798        "C": 0.9893,
 799        "13C": 0.0107,
 800        "14C": 0,
 801        "N": 0.99636,
 802        "15N": 0.00364,
 803        "O": 0.99757,
 804        "17O": 0.00038,
 805        "18O": 0.00205,
 806        "F": 1.0,
 807        "Ne": 0.9048,
 808        "21Ne": 0.0027,
 809        "22Ne": 0.0925,
 810        "Na": 1.0,
 811        "Mg": 0.7899,
 812        "25Mg": 0.1000,
 813        "26Mg": 0.1101,
 814        "Al": 1.0,
 815        "Si": 0.92223,
 816        "29Si": 0.04685,
 817        "30Si": 0.03092,
 818        "P": 1.0,
 819        "S": 0.9499,
 820        "33S": 0.0075,
 821        "34S": 0.0425,
 822        "36S": 0.0001,
 823        "Cl": 0.7576,
 824        "37Cl": 0.2424,
 825        "36Ar": 0.003336,
 826        "38Ar": 0.000629,
 827        "Ar": 0.996035,
 828        "K": 0.932581,
 829        "40K": 0.000117,
 830        "41K": 0.067302,
 831        "Ca": 0.96941,
 832        "42Ca": 0.00647,
 833        "43Ca": 0.00135,
 834        "44Ca": 0.02086,
 835        "46Ca": 0.00004,
 836        "48Ca": 0.001872,
 837        "Sc": 1.0,
 838        "46Ti": 0.0825,
 839        "47Ti": 0.0744,
 840        "Ti": 0.7372,
 841        "49Ti": 0.0541,
 842        "50Ti": 0.0518,
 843        "50V": 0.00250,
 844        "V": 0.9975,
 845        "50Cr": 0.04345,
 846        "Cr": 0.83789,
 847        "53Cr": 0.09501,
 848        "54Cr": 0.02365,
 849        "Mn": 1.0,
 850        "54Fe": 0.05845,
 851        "Fe": 0.91754,
 852        "57Fe": 0.02119,
 853        "58Fe": 0.00282,
 854        "Co": 1.0,
 855        "Ni": 0.68077,
 856        "60Ni": 0.26223,
 857        "61Ni": 0.011399,
 858        "62Ni": 0.036346,
 859        "64Ni": 0.009255,
 860        "Cu": 0.6915,
 861        "65Cu": 0.3085,
 862        "Zn": 0.4917,
 863        "66Zn": 0.2773,
 864        "67Zn": 0.0404,
 865        "68Zn": 0.1845,
 866        "70Zn": 0.0061,
 867        "Ga": 0.60108,
 868        "71Ga": 0.39892,
 869        "70Ge": 0.2057,
 870        "72Ge": 0.2745,
 871        "73Ge": 0.0775,
 872        "Ge": 0.3650,
 873        "76Ge": 0.0773,
 874        "As": 1.0,
 875        "74Se": 0.0089,
 876        "76Se": 0.0937,
 877        "77Se": 0.0763,
 878        "78Se": 0.2377,
 879        "Se": 0.4961,
 880        "82Se": 0.0873,
 881        "Br": 0.5069,
 882        "81Br": 0.4931,
 883        "78Kr": 0.00355,
 884        "80Kr": 0.02286,
 885        "82Kr": 0.11593,
 886        "83Kr": 0.11500,
 887        "Kr": 0.56987,
 888        "86Kr": 0.17279,
 889        "Rb": 0.7217,
 890        "87Rb": 0.2783,
 891        "84Sr": 0.0056,
 892        "86Sr": 0.0986,
 893        "87Sr": 0.0700,
 894        "Sr": 0.8258,
 895        "Y": 1.0,
 896        "Zr": 0.5145,
 897        "91Zr": 0.1122,
 898        "92Zr": 0.1715,
 899        "94Zr": 0.1738,
 900        "96Zr": 0.0280,
 901        "Nb": 1.0,
 902        "92Mo": 0.1453,
 903        "94Mo": 0.0915,
 904        "95Mo": 0.1584,
 905        "96Mo": 0.1667,
 906        "97Mo": 0.0960,
 907        "Mo": 0.2439,
 908        "100Mo": 0.0982,
 909        "99Tc": 0,  # consider removing
 910        "96Ru": 0.0554,
 911        "98Ru": 0.0187,
 912        "99Ru": 0.1276,
 913        "100Ru": 0.1260,
 914        "101Ru": 0.1706,
 915        "Ru": 0.3155,
 916        "104Ru": 0.1862,
 917        "Rh": 1.0,
 918        "102Pd": 0.0102,
 919        "104Pd": 0.1114,
 920        "105Pd": 0.2233,
 921        "Pd": 0.2733,
 922        "108Pd": 0.2646,
 923        "110Pd": 0.1172,
 924        "Ag": 0.51839,
 925        "109Ag": 0.48161,
 926        "106Cd": 0.0125,
 927        "108Cd": 0.0089,
 928        "110Cd": 0.1249,
 929        "111Cd": 0.1280,
 930        "Cd": 0.2413,
 931        "113Cd": 0.1222,
 932        "114Cd": 0.2873,
 933        "116Cd": 0.0749,
 934        "113In": 0.0429,
 935        "In": 0.9571,
 936        "112Sn": 0.0097,
 937        "114Sn": 0.0066,
 938        "115Sn": 0.0034,
 939        "116Sn": 0.1454,
 940        "117Sn": 0.0768,
 941        "118Sn": 0.2422,
 942        "119Sn": 0.0859,
 943        "Sn": 0.3258,
 944        "122Sn": 0.0463,
 945        "124Sn": 0.0579,
 946        "Sb": 0.5721,
 947        "123Sb": 0.4279,
 948        "120Te": 0.0009,
 949        "122Te": 0.0255,
 950        "123Te": 0.0089,
 951        "124Te": 0.0474,
 952        "125Te": 0.0707,
 953        "126Te": 0.1884,
 954        "128Te": 0.3174,
 955        "Te": 0.3408,
 956        "I": 1.0,
 957        "124Xe": 0.000952,
 958        "126Xe": 0.000890,
 959        "128Xe": 0.019102,
 960        "129Xe": 0.264006,
 961        "130Xe": 0.040710,
 962        "131Xe": 0.212324,
 963        "Xe": 0.269086,
 964        "134Xe": 0.104357,
 965        "136Xe": 0.088573,
 966        "Cs": 1.0,
 967        "130Ba": 0.00106,
 968        "132Ba": 0.00101,
 969        "134Ba": 0.02417,
 970        "135Ba": 0.06592,
 971        "136Ba": 0.07854,
 972        "137Ba": 0.11232,
 973        "Ba": 0.71698,
 974        "138La": 0.0008881,
 975        "La": 0.9991119,
 976        "136Ce": 0.00185,
 977        "138Ce": 0.00251,
 978        "Ce": 0.88450,
 979        "142Ce": 0.11114,
 980        "Pr": 1.0,
 981        "Nd": 0.27152,
 982        "143Nd": 0.12174,
 983        "144Nd": 0.23798,
 984        "145Nd": 0.08293,
 985        "146Nd": 0.17189,
 986        "148Nd": 0.05756,
 987        "150Nd": 0.05638,
 988        "145Pm": 0,
 989        "147Pm": 0,
 990        "144Sm": 0.0307,
 991        "147Sm": 0.1499,
 992        "148Sm": 0.1124,
 993        "149Sm": 0.1382,
 994        "150Sm": 0.0738,
 995        "Sm": 0.2675,
 996        "154Sm": 0.2275,
 997        "151Eu": 0.4781,
 998        "Eu": 0.5219,
 999        "152Gd": 0.0020,
1000        "154Gd": 0.0218,
1001        "155Gd": 0.1480,
1002        "156Gd": 0.2047,
1003        "157Gd": 0.1565,
1004        "Gd": 0.2484,
1005        "160Gd": 0.2186,
1006        "Tb": 1.0,
1007        "156Dy": 0.00056,
1008        "158Dy": 0.00095,
1009        "160Dy": 0.02329,
1010        "161Dy": 0.18889,
1011        "162Dy": 0.25475,
1012        "163Dy": 0.24896,
1013        "Dy": 0.28260,
1014        "Ho": 1.0,
1015        "162Er": 0.00139,
1016        "164Er": 0.01601,
1017        "Er": 0.33503,
1018        "167Er": 0.22869,
1019        "168Er": 0.26978,
1020        "170Er": 0.14910,
1021        "Tm": 1.0,
1022        "168Yb": 0.00123,
1023        "170Yb": 0.02982,
1024        "171Yb": 0.1409,
1025        "172Yb": 0.2168,
1026        "173Yb": 0.16103,
1027        "Yb": 0.32026,
1028        "176Yb": 0.12996,
1029        "Lu": 0.97401,
1030        "176Lu": 0.02599,
1031        "174Hf": 0.0016,
1032        "176Hf": 0.0526,
1033        "177Hf": 0.1860,
1034        "178Hf": 0.2728,
1035        "179Hf": 0.1362,
1036        "Hf": 0.3508,
1037        "180Ta": 0.0001201,
1038        "Ta": 0.9998799,
1039        "180W": 0.0012,
1040        "182W": 0.2650,
1041        "183W": 0.1431,
1042        "W": 0.3064,
1043        "186W": 0.2843,
1044        "185Re": 0.3740,
1045        "Re": 0.6260,
1046        "184Os": 0.0002,
1047        "186Os": 0.0159,
1048        "187Os": 0.0196,
1049        "188Os": 0.1324,
1050        "189Os": 0.1615,
1051        "190Os": 0.2626,
1052        "Os": 0.4078,
1053        "191Ir": 0.373,
1054        "Ir": 0.627,
1055        "190Pt": 0.00012,
1056        "192Pt": 0.00782,
1057        "194Pt": 0.3286,
1058        "Pt": 0.3378,
1059        "196Pt": 0.2521,
1060        "198Pt": 0.07356,
1061        "Au": 1.0,
1062        "196Hg": 0.0015,
1063        "198Hg": 0.0997,
1064        "199Hg": 0.16872,
1065        "200Hg": 0.2310,
1066        "201Hg": 0.1318,
1067        "Hg": 0.2986,
1068        "204Hg": 0.0687,
1069        "203Tl": 0.2952,
1070        "Tl": 0.7048,
1071        "204Pb": 0.014,
1072        "206Pb": 0.241,
1073        "207Pb": 0.221,
1074        "Pb": 0.524,
1075        "Bi": 1.0,
1076        "209Po": 0,
1077        "210Po": 0,
1078        "210At": 0,
1079        "211At": 0,
1080        "211Rn": 0,
1081        "220Rn": 0,
1082        "222Rn": 0,
1083        "223Fr": 0,
1084        "223Ra": 0,
1085        "224Ra": 0,
1086        "226Ra": 0,
1087        "228Ra": 0,
1088        "227Ac": 0,
1089        "230Th": 0,
1090        "Th": 1.0,
1091        "Pa": 1.0,
1092        "233U": 0,
1093        "234U": 0.000054,
1094        "235U": 0.007204,
1095        "236U": 0,
1096        "U": 0.992742,
1097        "236Np": 0,
1098        "237Np": 0,
1099        "238Pu": 0,
1100        "239Pu": 0,
1101        "240Pu": 0,
1102        "241Pu": 0,
1103        "242Pu": 0,
1104        "244Pu": 0,
1105        "241Am": 0,
1106        "243Am": 0,
1107        "243Cm": 0,
1108        "244Cm": 0,
1109        "245Cm": 0,
1110        "246Cm": 0,
1111        "247Cm": 0,
1112        "248Cm": 0,
1113        "247Bk": 0,
1114        "249Bk": 0,
1115        "249Cf": 0,
1116        "250Cf": 0,
1117        "251Cf": 0,
1118        "252Cf": 0,
1119        "252Es": 0,
1120        "257Fm": 0,
1121        "258Md": 0,
1122        "260Md": 0,
1123        "259No": 0,
1124        "262Lr": 0,
1125        "267Rf": 0,
1126        "268Db": 0,
1127        "271Sg": 0,
1128        "272Bh": 0,
1129        "270Hs": 0,
1130        "276Mt": 0,
1131        "281Ds": 0,
1132        "280Rg": 0,
1133        "285Cn": 0,
1134        "284Nh": 0,
1135        "289Fl": 0,
1136        "288Mc": 0,
1137        "293Lv": 0,
1138        "292Ts": 0,
1139        "294Og": 0,
1140    }
1141
1142    # Isotopes here is a dictionary of symbol, including full name,
1143    # and then the isotopes which arent the most abundant one, sorted by abundance.
1144    # None indicates no stable isotopes/naturally occuring ones.
1145    # This has been manually checked as far as Iodine only.
1146    isotopes = {
1147        "H": ["Hydrogen", ["D", "T"]],
1148        "He": ["Helium", ["3He"]],
1149        "Li": ["Lithium", ["6Li"]],
1150        "Be": ["Beryllium", [None]],
1151        "B": ["Boron", ["10B"]],
1152        "C": ["Carbon", ["13C"]],
1153        "N": ["Nitrogen", ["15N"]],
1154        "O": ["Oxygen", ["18O", "17O"]],
1155        "F": ["Fluorine", [None]],
1156        "Ne": ["Neon", ["22Ne", "21Ne"]],
1157        "Na": ["Sodium", [None]],
1158        "Mg": ["Magnesium", ["26Mg", "25Mg"]],
1159        "Al": ["Aluminum", [None]],
1160        "Si": ["Silicon", ["29Si", "30Si"]],
1161        "P": ["Phosphorus", [None]],
1162        "S": ["Sulfur", ["34S", "33S", "36S"]],
1163        "Cl": ["Chlorine", ["37Cl"]],
1164        "Ar": ["Argon", ["36Ar", "38Ar"]],
1165        "K": ["Potassium", ["41K", "40K"]],
1166        "Ca": ["Calcium", ["44Ca", "48Ca", "43Ca", "42Ca", "46Ca"]],
1167        "Sc": ["Scandium", [None]],
1168        "Ti": ["Titanium", ["46Ti", "47Ti", "49Ti", "50Ti"]],
1169        "V": ["Vanadium", ["50V"]],
1170        "Cr": ["Chromium", ["53Cr", "50Cr", "54Cr"]],
1171        "Mn": ["Manganese", [None]],
1172        "Fe": ["Iron", ["54Fe", "57Fe", "58Fe"]],
1173        "Co": ["Cobalt", [None]],
1174        "Ni": ["Nickel", ["60Ni", "62Ni", "61Ni", "64Ni"]],
1175        "Cu": ["Copper", ["65Cu"]],
1176        "Zn": ["Zinc", ["66Zn", "68Zn", "67Zn", "70Zn"]],
1177        "Ga": ["Gallium", ["71Ga"]],
1178        "Ge": ["Germanium", ["72Ge", "70Ge", "73Ge", "76Ge"]],
1179        "As": ["Arsenic", [None]],
1180        "Se": ["Selenium", ["78Se", "76Se", "82Se", "77Se", "74Se"]],
1181        "Br": ["Bromine", ["81Br"]],
1182        "Kr": ["Krypton", ["86Kr", "82Kr", "83Kr", "80Kr"]],
1183        "Rb": ["Rubidium", ["87Rb"]],
1184        "Sr": ["Strontium", ["86Sr", "87Sr", "84Sr"]],
1185        "Y": ["Yttrium", [None]],
1186        "Zr": ["Zirconium", ["94Zr", "92Zr", "91Zr", "96Zr"]],
1187        "Nb": ["Niobium", [None]],
1188        "Mo": ["Molybdenum", ["96Mo", "95Mo", "92Mo", "100Mo", "97Mo", "94Mo"]],
1189        "Tc": ["Technetium", [None]],  # consider removing
1190        "Ru": ["Ruthenium", ["104Ru", "101Ru", "99Ru", "100Ru", "96Ru", "98Ru"]],
1191        "Rh": ["Rhodium", [None]],
1192        "Pd": ["Palladium", ["108Pd", "105Pd", "110Pd", "104Pd", "102Pd"]],
1193        "Ag": ["Silver", ["109Ag"]],
1194        "Cd": [
1195            "Cadmium",
1196            ["114Cd", "111Cd", "110Cd", "113Cd", "116Cd", "106Cd", "108Cd"],
1197        ],
1198        "In": ["Indium", ["113In"]],
1199        "Sn": [
1200            "Tin",
1201            [
1202                "118Sn",
1203                "116Sn",
1204                "119Sn",
1205                "117Sn",
1206                "124Sn",
1207                "122Sn",
1208                "112Sn",
1209                "114Sn",
1210                "115Sn",
1211            ],
1212        ],
1213        "Sb": ["Antimony", ["123Sb"]],
1214        "Te": [
1215            "Tellurium",
1216            ["128Te", "126Te", "125Te", "124Te", "122Te", "123Te", "120Te"],
1217        ],
1218        "I": ["Iodine", [None]],
1219        "Xe": ["Xenon", ["129Xe", "131Xe", "134Xe", "136Xe", "130Xe", "128Xe"]],
1220        "Cs": ["Cesium", [None]],
1221        "Ba": ["Barium", ["137Ba", "136Ba", "135Ba", "134Ba"]],
1222        "La": ["Lanthanum", ["138La"]],
1223        "Hf": ["Hafnium", ["178Hf", "177Hf", "179Hf", "176Hf"]],
1224        "Ta": ["Tantalum", ["180Ta"]],
1225        "W": ["Tungsten", ["186W", "182W", "183W"]],
1226        "Re": ["Rhenium", ["185Re"]],
1227        "Os": ["Osmium", ["190Os", "189Os", "188Os", "187Os", "186Os"]],
1228        "Ir": ["Iridium", ["191Ir"]],
1229        "Pt": ["Platinum", ["194Pt", "196Pt", "198Pt", "192Pt"]],
1230        "Au": ["Gold", [None]],
1231        "Hg": ["Mercury", ["200Hg", "199Hg", "201Hg", "198Hg", "204Hg"]],
1232        "Tl": ["Thallium", ["203Tl"]],
1233        "Pb": ["Lead", ["206Pb", "207Pb", "204Pb"]],
1234        "Bi": ["Bismuth", [None]],
1235        "Po": ["Polonium", [None]],
1236        "At": ["Astatine", [None]],
1237        "Rn": ["Radon", [None]],
1238        "Fr": ["Francium", [None]],
1239        "Ra": ["Radium", [None]],
1240        "Ac": ["Actinium", [None]],
1241        "Rf": ["Rutherfordium", [None]],
1242        "Db": ["Dubnium", [None]],
1243        "Sg": ["Seaborgium", [None]],
1244        "Bh": ["Bohrium", [None]],
1245        "Hs": ["Hassium", [None]],
1246        "Mt": ["Meitnerium", [None]],
1247        "Ds": ["Darmstadtium", [None]],
1248        "Rg": ["Roentgenium", [None]],
1249        "Cn": ["Copernicium", [None]],
1250        "Nh": ["Nihonium", [None]],
1251        "Fl": ["Flerovium", [None]],
1252        "Mc": ["Moscovium", [None]],
1253        "Lv": ["Livermorium", [None]],
1254        "Ts": ["Tennessine", [None]],
1255        "Og": ["Oganesson", [None]],
1256        "Ce": ["Cerium", ["142Ce", "138Ce" "136Ce"]],
1257        "Pr": ["Praseodymium", [None]],
1258        "Nd": ["Neodymium", [None]],
1259        "Pm": ["Promethium", [None]],
1260        "Sm": ["Samarium", [None]],
1261        "Eu": ["Europium", [None]],
1262        "Gd": ["Gadolinium", [None]],
1263        "Tb": ["Terbium", [None]],
1264        "Dy": ["Dysprosium", [None]],
1265        "Ho": ["Holmium", [None]],
1266        "Er": ["Erbium", [None]],
1267        "Tm": ["Thulium", [None]],
1268        "Yb": ["Ytterbium", [None]],
1269        "Lu": ["Lutetium", ["176Lu"]],
1270        "Th": ["Thorium", [None]],
1271        "Pa": ["Protactinium", [None]],
1272        "U": ["Uranium", ["235U", "234U"]],
1273        "Np": ["Neptunium", [None]],
1274        "Pu": ["Plutonium", [None]],
1275        "Am": ["Americium", [None]],
1276        "Cm": ["Curium", [None]],
1277        "Bk": ["Berkelium", [None]],
1278        "Cf": ["Californium", [None]],
1279        "Es": ["Einsteinium", [None]],
1280        "Fm": ["Fermium", [None]],
1281        "Md": ["Mendelevium", [None]],
1282        "No": ["Nobelium", [None]],
1283        "Lr": ["Lawrencium", [None]],
1284    }

Class for Atoms in CoreMS

This class includes key properties of atoms (and the electron) and isotopes, including their exact masses, relative abundances, and covalences. It also associates which isotopes are for the same element, and provides an ordering of elements.

IUPAC definition of monoisotopic mass is based on the most abundant isotopes of each element present. Here, we will use atom symbols with isotope numbers for all isotopes excluding the most abundant one. This list has been corrected up to Iodine.

References
  1. NIST - Last Accessed 2019-06-12 https://www.nist.gov/pml/atomic-weights-and-isotopic-compositions-relative-atomic-masses
electron_mass = 0.000548579909065
atomic_masses = {'H': 1.00782503223, 'D': 2.01410177812, 'T': 3.0160492779, '3He': 3.0160293201, 'He': 4.00260325413, '6Li': 6.0151228874, 'Li': 7.0160034366, 'Be': 9.012183065, '10B': 10.01293695, 'B': 11.00930536, 'C': 12.0, '13C': 13.00335483507, '14C': 14.0032419884, 'N': 14.00307400443, '15N': 15.00010889888, 'O': 15.99491461957, '17O': 16.9991317565, '18O': 17.99915961286, 'F': 18.99840316273, 'Ne': 19.9924401762, '21Ne': 20.993846685, '22Ne': 21.991385114, 'Na': 22.989769282, 'Mg': 23.985041697, '25Mg': 24.985836976, '26Mg': 25.982592968, 'Al': 26.98153853, 'Si': 27.97692653465, '29Si': 28.9764946649, '30Si': 29.973770136, 'P': 30.97376199842, 'S': 31.9720711744, '33S': 32.9714589098, '34S': 33.967867004, '36S': 35.96708071, 'Cl': 34.968852682, '37Cl': 36.965902602, '36Ar': 35.967545105, '38Ar': 37.96273211, 'Ar': 39.9623831237, 'K': 38.9637064864, '40K': 39.963998166, '41K': 40.9618252579, 'Ca': 39.962590863, '42Ca': 41.95861783, '43Ca': 42.95876644, '44Ca': 43.95548156, '46Ca': 45.953689, '48Ca': 47.95252276, 'Sc': 44.95590828, '46Ti': 45.95262772, '47Ti': 46.95175879, 'Ti': 47.94794198, '49Ti': 48.94786568, '50Ti': 49.94478689, '50V': 49.94715601, 'V': 50.94395704, '50Cr': 49.94604183, 'Cr': 51.94050623, '53Cr': 52.94064815, '54Cr': 53.93887916, 'Mn': 54.93804391, '54Fe': 53.93960899, 'Fe': 55.93493633, '57Fe': 56.93539284, '58Fe': 57.93327443, 'Co': 58.93319429, 'Ni': 57.93534241, '60Ni': 59.93078588, '61Ni': 60.93105557, '62Ni': 61.92834537, '64Ni': 63.92796682, 'Cu': 62.92959772, '65Cu': 64.9277897, 'Zn': 63.92914201, '66Zn': 65.92603381, '67Zn': 66.92712775, '68Zn': 67.92484455, '70Zn': 69.9253192, 'Ga': 68.9255735, '71Ga': 70.92470258, '70Ge': 69.92424875, '72Ge': 71.922075826, '73Ge': 72.923458956, 'Ge': 73.921177761, '76Ge': 75.921402726, 'As': 74.92159457, '74Se': 73.922475934, '76Se': 75.919213704, '77Se': 76.919914154, '78Se': 77.91730928, 'Se': 79.9165218, '82Se': 81.9166995, 'Br': 78.9183376, '81Br': 80.9162897, '78Kr': 77.92036494, '80Kr': 79.91637808, '82Kr': 81.91348273, '83Kr': 82.91412716, 'Kr': 83.9114977282, '86Kr': 85.9106106269, 'Rb': 84.9117897379, '87Rb': 86.909180531, '84Sr': 83.9134191, '86Sr': 85.9092606, '87Sr': 86.9088775, 'Sr': 87.9056125, 'Y': 88.9058403, 'Zr': 89.9046977, '91Zr': 90.9056396, '92Zr': 91.9050347, '94Zr': 93.9063108, '96Zr': 95.9082714, 'Nb': 92.906373, '92Mo': 91.90680796, '94Mo': 93.9050849, '95Mo': 94.90583877, '96Mo': 95.90467612, '97Mo': 96.90601812, 'Mo': 97.90540482, '100Mo': 99.9074718, 'Tc': 98.9062508, '96Ru': 95.90759025, '98Ru': 97.9052868, '99Ru': 98.9059341, '100Ru': 99.9042143, '101Ru': 100.9055769, 'Ru': 101.9043441, '104Ru': 103.9054275, 'Rh': 102.905498, '102Pd': 101.9056022, '104Pd': 103.9040305, '105Pd': 104.9050796, 'Pd': 105.9034804, '108Pd': 107.9038916, '110Pd': 109.9051722, 'Ag': 106.9050916, '109Ag': 108.9047553, '106Cd': 105.9064599, '108Cd': 107.9041834, '110Cd': 109.90300661, '111Cd': 110.90418287, 'Cd': 111.90276287, '113Cd': 112.90440813, '114Cd': 113.90336509, '116Cd': 115.90476315, '113In': 112.90406184, 'In': 114.903878776, '112Sn': 111.90482387, '114Sn': 113.9027827, '115Sn': 114.903344699, '116Sn': 115.9017428, '117Sn': 116.90295398, '118Sn': 117.90160657, '119Sn': 118.90331117, 'Sn': 119.90220163, '122Sn': 121.9034438, '124Sn': 123.9052766, 'Sb': 120.903812, '123Sb': 122.9042132, '120Te': 119.9040593, '122Te': 121.9030435, '123Te': 122.9042698, '124Te': 123.9028171, '125Te': 124.9044299, '126Te': 125.9033109, '128Te': 127.90446128, 'Te': 129.906222748, 'I': 126.9044719, '124Xe': 123.905892, '126Xe': 125.9042983, '128Xe': 127.903531, '129Xe': 128.9047808611, '130Xe': 129.903509349, '131Xe': 130.90508406, 'Xe': 131.9041550856, '134Xe': 133.90539466, '136Xe': 135.907214484, 'Cs': 132.905451961, '130Ba': 129.9063207, '132Ba': 131.9050611, '134Ba': 133.90450818, '135Ba': 134.90568838, '136Ba': 135.90457573, '137Ba': 136.90582714, 'Ba': 137.905247, '138La': 137.9071149, 'La': 138.9063563, '136Ce': 135.90712921, '138Ce': 137.905991, 'Ce': 139.9054431, '142Ce': 141.9092504, 'Pr': 140.9076576, 'Nd': 141.907729, '143Nd': 142.90982, '144Nd': 143.910093, '145Nd': 144.9125793, '146Nd': 145.9131226, '148Nd': 147.9168993, '150Nd': 149.9209022, '145Pm': 144.9127559, '147Pm': 146.915145, '144Sm': 143.9120065, '147Sm': 146.9149044, '148Sm': 147.9148292, '149Sm': 148.9171921, '150Sm': 149.9172829, 'Sm': 151.9197397, '154Sm': 153.9222169, '151Eu': 150.9198578, 'Eu': 152.921238, '152Gd': 151.9197995, '154Gd': 153.9208741, '155Gd': 154.9226305, '156Gd': 155.9221312, '157Gd': 156.9239686, 'Gd': 157.9241123, '160Gd': 159.9270624, 'Tb': 158.9253547, '156Dy': 155.9242847, '158Dy': 157.9244159, '160Dy': 159.9252046, '161Dy': 160.9269405, '162Dy': 161.9268056, '163Dy': 162.9287383, 'Dy': 163.9291819, 'Ho': 164.9303288, '162Er': 161.9287884, '164Er': 163.9292088, 'Er': 165.9302995, '167Er': 166.9320546, '168Er': 167.9323767, '170Er': 169.9354702, 'Tm': 168.9342179, '168Yb': 167.9338896, '170Yb': 169.9347664, '171Yb': 170.9363302, '172Yb': 171.9363859, '173Yb': 172.9382151, 'Yb': 173.9388664, '176Yb': 175.9425764, 'Lu': 174.9407752, '176Lu': 175.9426897, '174Hf': 173.9400461, '176Hf': 175.9414076, '177Hf': 176.9432277, '178Hf': 177.9437058, '179Hf': 178.9458232, 'Hf': 179.946557, '180Ta': 179.9474648, 'Ta': 180.9479958, '180W': 179.9467108, '182W': 181.94820394, '183W': 182.95022275, 'W': 183.95093092, '186W': 185.9543628, '185Re': 184.9529545, 'Re': 186.9557501, '184Os': 183.9524885, '186Os': 185.953835, '187Os': 186.9557474, '188Os': 187.9558352, '189Os': 188.9581442, '190Os': 189.9584437, '192Os': 191.961477, '191Ir': 190.9605893, 'Ir': 192.9629216, '190Pt': 189.9599297, '192Pt': 191.9610387, '194Pt': 193.9626809, 'Pt': 194.9647917, '196Pt': 195.96495209, '198Pt': 197.9678949, 'Au': 196.96656879, '196Hg': 195.9658326, '198Hg': 197.9667686, '199Hg': 198.96828064, '200Hg': 199.96832659, '201Hg': 200.97030284, 'Hg': 201.9706434, '204Hg': 203.97349398, '203Tl': 202.9723446, 'Tl': 204.9744278, '204Pb': 203.973044, '206Pb': 205.9744657, '207Pb': 206.9758973, 'Pb': 207.9766525, 'Bi': 208.9803991, '209Po': 208.9824308, '210Po': 209.9828741, '210At': 209.9871479, '211At': 210.9874966, '211Rn': 210.9906011, '220Rn': 220.0113941, '222Rn': 222.0175782, '223Fr': 223.019736, '223Ra': 223.0185023, '224Ra': 224.020212, '226Ra': 226.0254103, '228Ra': 228.0310707, '227Ac': 227.0277523, '230Th': 230.0331341, 'Th': 232.0380558, 'Pa': 231.0358842, '233U': 233.0396355, '234U': 234.0409523, '235U': 235.0439301, '236U': 236.0455682, 'U': 238.0507884, '236Np': 236.04657, '237Np': 237.0481736, '238Pu': 238.0495601, '239Pu': 239.0521636, '240Pu': 240.0538138, '241Pu': 241.0568517, '242Pu': 242.0587428, '244Pu': 244.0642053, '241Am': 241.0568293, '243Am': 243.0613813, '243Cm': 243.0613893, '244Cm': 244.0627528, '245Cm': 245.0654915, '246Cm': 246.0672238, '247Cm': 247.0703541, '248Cm': 248.0723499, '247Bk': 247.0703073, '249Bk': 249.0749877, '249Cf': 249.0748539, '250Cf': 250.0764062, '251Cf': 251.0795886, '252Cf': 252.0816272, '252Es': 252.08298, '257Fm': 257.0951061, '258Md': 258.0984315, '260Md': 260.10365, '259No': 259.10103, '262Lr': 262.10961, '267Rf': 267.12179, '268Db': 268.12567, '271Sg': 271.13393, '272Bh': 272.13826, '270Hs': 270.13429, '276Mt': 276.15159, '281Ds': 281.16451, '280Rg': 280.16514, '285Cn': 285.17712, '284Nh': 284.17873, '289Fl': 289.19042, '288Mc': 288.19274, '293Lv': 293.20449, '292Ts': 292.20746, '294Og': 294.21392}
atoms_order = ['C', 'H', 'O', 'N', 'P', 'S', 'F', 'Cl', 'Br', 'I', 'At', 'Li', 'Na', 'K', 'Rb', 'Cs', 'Fr', 'He', 'Ne', 'Ar', 'Kr', 'Xe', 'Rn', 'Be', 'B', 'Mg', 'Al', 'Si', 'Ca', 'Sc', 'Ti', 'V', 'Cr', 'Mn', 'Fe', 'Co', 'Ni', 'Cu', 'Zn', 'Ga', 'Ge', 'As', 'Se', 'Sr', 'Y', 'Zr', 'Nb', 'Mo', 'Tc', 'Ru', 'Rh', 'Pd', 'Ag', 'Cd', 'In', 'Sn', 'Sb', 'Te', 'Ba', 'La', 'Hf', 'Ta', 'W', 'Re', 'Os', 'Ir', 'Pt', 'Au', 'Hg', 'Tl', 'Pb', 'Bi', 'Po', 'Ra', 'Ac', 'Rf', 'Db', 'Sg', 'Bh', 'Hs', 'Mt', 'Ds', 'Rg', 'Cn', 'Nh', 'Fl', 'Mc', 'Lv', 'Ts', 'Og', 'Ce', 'Pr', 'Nd', 'Pm', 'Sm', 'Eu', 'Gd', 'Tb', 'Dy', 'Ho', 'Er', 'Tm', 'Yb', 'Lu', 'Th', 'Pa', 'U', 'Np', 'Pu', 'Am', 'Cm', 'Bk', 'Cf', 'Es', 'Fm', 'Md', 'No', 'Lr', 'D', '6Li', '10B', '13C', '15N', '17O', '18O', '22Ne', '25Mg', '26Mg', '29Si', '30Si', '33S', '34S', '36S', '37Cl', '40Ca', '41K', '44Ca', '46Ti', '47Ti', '49Ti', '50Cr', '50Ti', '50V', '53Cr', '54Cr', '54Fe', '57Fe', '58Fe', '60Ni', '61Ni', '62Ni', '65Cu', '66Zn', '67Zn', '68Zn', '70Ge', '71Ga', '72Ge', '73Ge', '76Ge', '76Se', '77Se', '78Se', '81Br', '80Kr', '82Kr', '82Se', '83Kr', '85Rb', '86Kr', '86Sr', '87Rb', '87Sr', '88Sr', '91Zr', '92Mo', '92Zr', '94Mo', '94Zr', '95Mo', '96Mo', '96Ru', '96Zr', '97Mo', '98Ru', '99Ru', '100Mo', '100Ru', '101Ru', '102Pd', '104Pd', '104Ru', '105Pd', '106Cd', '106Pd', '108Cd', '108Pd', '109Ag', '110Cd', '110Pd', '111Cd', '112Cd', '112Sn', '113Cd', '113In', '114Cd', '114Sn', '115In', '115Sn', '116Cd', '116Sn', '117Sn', '118Sn', '119Sn', '120Sn', '120Te', '121Sb', '122Sn', '122Te', '123Sb', '123Te', '124Sn', '124Te', '124Xe', '125Te', '126Te', '126Xe', '128Te', '128Xe', '129Xe', '130Ba', '130Te', '130Xe', '131Xe', '132Ba', '132Xe', '134Ba', '134Xe', '135Ba', '136Ba', '136Xe', '137Ba', '138Ba', '174Hf', '176Hf', '177Hf', '178Hf', '179Hf', '180Hf', '180W', '182W', '183W', '184Os', '184W', '185Re', '186Os', '186W', '187Os', '187Re', '188Os', '189Os', '190Os', '190Pt', '191Ir', '192Ir', '192Os', '192Pt', '194Pt', '195Pt', '196Hg', '196Pt', '198Hg', '198Pt', '199Hg', '200Hg', '201Hg', '202Hg', '203Tl', '204Hg', '204Pb', '205Tl', '206Pb', '207Pb', '208Pb']
atoms_covalence = {'C': 4, '13C': 4, 'N': 3, 'O': 2, 'S': 2, 'H': 1, 'F': (1, 0), 'Cl': (1, 0), 'Br': (1, 0), 'I': (1, 0), 'At': 1, 'Li': (1, 0), 'Na': (1, 0), 'K': (1, 0), 'Rb': 1, 'Cs': 1, 'Fr': 1, 'B': (4, 3, 2, 1), 'In': (3, 2, 1), 'Al': (3, 1, 2), 'P': (3, 5, 4, 2, 1), 'Ga': (3, 1, 2), 'Mg': (2, 1), 'Be': (2, 1), 'Ca': (2, 1), 'Sr': (2, 1), 'Ba': 2, 'Ra': 2, 'V': (5, 4, 3, 2, 1), 'Fe': (3, 2, 4, 5, 6), 'Si': (4, 3, 2), 'Sc': (3, 2, 1), 'Ti': (4, 3, 2, 1), 'Cr': (1, 2, 3, 4, 5, 6), 'Mn': (1, 2, 3, 4, 5, 6, 7), 'Co': (1, 2, 3, 4, 5), 'Ni': (1, 2, 3, 4), 'Cu': (2, 1, 3, 4), 'Zn': (2, 1), 'Ge': (4, 3, 2, 1), 'As': (5, 3, 2, 1), 'Se': (6, 4, 2, 1), 'Y': (3, 2, 1), 'Zr': (4, 3, 2, 1), 'Nb': (5, 4, 3, 2, 1), 'Mo': (6, 5, 4, 3, 2, 1), 'Tc': (7, 6, 5, 4, 3, 2, 1), 'Ru': (8, 7, 6, 5, 4, 3, 2, 1), 'Rh': (6, 5, 4, 3, 2, 1), 'Pd': (4, 2, 1), 'Ag': (0, 1, 2, 3, 4), 'Cd': (2, 1), 'Sn': (4, 2), 'Sb': (5, 3), 'Te': (6, 5, 4, 2), 'La': (3, 2), 'Hf': (4, 3, 2), 'Ta': (5, 4, 3, 2), 'W': (6, 5, 4, 3, 2, 1), 'Re': (4, 7, 6, 5, 3, 2, 1), 'Os': (4, 8, 7, 6, 5, 3, 2, 1), 'Ir': (4, 8, 6, 5, 3, 2, 1), 'Pt': (4, 6, 5, 3, 2, 1), 'Au': (3, 5, 2, 1), 'Hg': (1, 2, 4), 'Tl': (3, 1), 'Pb': (4, 2), 'Bi': (3, 1, 5), 'Po': (2, 4, 6), 'Ac': (3, 2)}
isotopic_abundance = {'H': 0.999885, 'D': 0.000115, 'T': 0, '3He': 1.34e-06, 'He': 0.99999866, '6Li': 0.0759, 'Li': 0.9241, 'Be': 1.0, '10B': 0.199, 'B': 0.801, 'C': 0.9893, '13C': 0.0107, '14C': 0, 'N': 0.99636, '15N': 0.00364, 'O': 0.99757, '17O': 0.00038, '18O': 0.00205, 'F': 1.0, 'Ne': 0.9048, '21Ne': 0.0027, '22Ne': 0.0925, 'Na': 1.0, 'Mg': 0.7899, '25Mg': 0.1, '26Mg': 0.1101, 'Al': 1.0, 'Si': 0.92223, '29Si': 0.04685, '30Si': 0.03092, 'P': 1.0, 'S': 0.9499, '33S': 0.0075, '34S': 0.0425, '36S': 0.0001, 'Cl': 0.7576, '37Cl': 0.2424, '36Ar': 0.003336, '38Ar': 0.000629, 'Ar': 0.996035, 'K': 0.932581, '40K': 0.000117, '41K': 0.067302, 'Ca': 0.96941, '42Ca': 0.00647, '43Ca': 0.00135, '44Ca': 0.02086, '46Ca': 4e-05, '48Ca': 0.001872, 'Sc': 1.0, '46Ti': 0.0825, '47Ti': 0.0744, 'Ti': 0.7372, '49Ti': 0.0541, '50Ti': 0.0518, '50V': 0.0025, 'V': 0.9975, '50Cr': 0.04345, 'Cr': 0.83789, '53Cr': 0.09501, '54Cr': 0.02365, 'Mn': 1.0, '54Fe': 0.05845, 'Fe': 0.91754, '57Fe': 0.02119, '58Fe': 0.00282, 'Co': 1.0, 'Ni': 0.68077, '60Ni': 0.26223, '61Ni': 0.011399, '62Ni': 0.036346, '64Ni': 0.009255, 'Cu': 0.6915, '65Cu': 0.3085, 'Zn': 0.4917, '66Zn': 0.2773, '67Zn': 0.0404, '68Zn': 0.1845, '70Zn': 0.0061, 'Ga': 0.60108, '71Ga': 0.39892, '70Ge': 0.2057, '72Ge': 0.2745, '73Ge': 0.0775, 'Ge': 0.365, '76Ge': 0.0773, 'As': 1.0, '74Se': 0.0089, '76Se': 0.0937, '77Se': 0.0763, '78Se': 0.2377, 'Se': 0.4961, '82Se': 0.0873, 'Br': 0.5069, '81Br': 0.4931, '78Kr': 0.00355, '80Kr': 0.02286, '82Kr': 0.11593, '83Kr': 0.115, 'Kr': 0.56987, '86Kr': 0.17279, 'Rb': 0.7217, '87Rb': 0.2783, '84Sr': 0.0056, '86Sr': 0.0986, '87Sr': 0.07, 'Sr': 0.8258, 'Y': 1.0, 'Zr': 0.5145, '91Zr': 0.1122, '92Zr': 0.1715, '94Zr': 0.1738, '96Zr': 0.028, 'Nb': 1.0, '92Mo': 0.1453, '94Mo': 0.0915, '95Mo': 0.1584, '96Mo': 0.1667, '97Mo': 0.096, 'Mo': 0.2439, '100Mo': 0.0982, '99Tc': 0, '96Ru': 0.0554, '98Ru': 0.0187, '99Ru': 0.1276, '100Ru': 0.126, '101Ru': 0.1706, 'Ru': 0.3155, '104Ru': 0.1862, 'Rh': 1.0, '102Pd': 0.0102, '104Pd': 0.1114, '105Pd': 0.2233, 'Pd': 0.2733, '108Pd': 0.2646, '110Pd': 0.1172, 'Ag': 0.51839, '109Ag': 0.48161, '106Cd': 0.0125, '108Cd': 0.0089, '110Cd': 0.1249, '111Cd': 0.128, 'Cd': 0.2413, '113Cd': 0.1222, '114Cd': 0.2873, '116Cd': 0.0749, '113In': 0.0429, 'In': 0.9571, '112Sn': 0.0097, '114Sn': 0.0066, '115Sn': 0.0034, '116Sn': 0.1454, '117Sn': 0.0768, '118Sn': 0.2422, '119Sn': 0.0859, 'Sn': 0.3258, '122Sn': 0.0463, '124Sn': 0.0579, 'Sb': 0.5721, '123Sb': 0.4279, '120Te': 0.0009, '122Te': 0.0255, '123Te': 0.0089, '124Te': 0.0474, '125Te': 0.0707, '126Te': 0.1884, '128Te': 0.3174, 'Te': 0.3408, 'I': 1.0, '124Xe': 0.000952, '126Xe': 0.00089, '128Xe': 0.019102, '129Xe': 0.264006, '130Xe': 0.04071, '131Xe': 0.212324, 'Xe': 0.269086, '134Xe': 0.104357, '136Xe': 0.088573, 'Cs': 1.0, '130Ba': 0.00106, '132Ba': 0.00101, '134Ba': 0.02417, '135Ba': 0.06592, '136Ba': 0.07854, '137Ba': 0.11232, 'Ba': 0.71698, '138La': 0.0008881, 'La': 0.9991119, '136Ce': 0.00185, '138Ce': 0.00251, 'Ce': 0.8845, '142Ce': 0.11114, 'Pr': 1.0, 'Nd': 0.27152, '143Nd': 0.12174, '144Nd': 0.23798, '145Nd': 0.08293, '146Nd': 0.17189, '148Nd': 0.05756, '150Nd': 0.05638, '145Pm': 0, '147Pm': 0, '144Sm': 0.0307, '147Sm': 0.1499, '148Sm': 0.1124, '149Sm': 0.1382, '150Sm': 0.0738, 'Sm': 0.2675, '154Sm': 0.2275, '151Eu': 0.4781, 'Eu': 0.5219, '152Gd': 0.002, '154Gd': 0.0218, '155Gd': 0.148, '156Gd': 0.2047, '157Gd': 0.1565, 'Gd': 0.2484, '160Gd': 0.2186, 'Tb': 1.0, '156Dy': 0.00056, '158Dy': 0.00095, '160Dy': 0.02329, '161Dy': 0.18889, '162Dy': 0.25475, '163Dy': 0.24896, 'Dy': 0.2826, 'Ho': 1.0, '162Er': 0.00139, '164Er': 0.01601, 'Er': 0.33503, '167Er': 0.22869, '168Er': 0.26978, '170Er': 0.1491, 'Tm': 1.0, '168Yb': 0.00123, '170Yb': 0.02982, '171Yb': 0.1409, '172Yb': 0.2168, '173Yb': 0.16103, 'Yb': 0.32026, '176Yb': 0.12996, 'Lu': 0.97401, '176Lu': 0.02599, '174Hf': 0.0016, '176Hf': 0.0526, '177Hf': 0.186, '178Hf': 0.2728, '179Hf': 0.1362, 'Hf': 0.3508, '180Ta': 0.0001201, 'Ta': 0.9998799, '180W': 0.0012, '182W': 0.265, '183W': 0.1431, 'W': 0.3064, '186W': 0.2843, '185Re': 0.374, 'Re': 0.626, '184Os': 0.0002, '186Os': 0.0159, '187Os': 0.0196, '188Os': 0.1324, '189Os': 0.1615, '190Os': 0.2626, 'Os': 0.4078, '191Ir': 0.373, 'Ir': 0.627, '190Pt': 0.00012, '192Pt': 0.00782, '194Pt': 0.3286, 'Pt': 0.3378, '196Pt': 0.2521, '198Pt': 0.07356, 'Au': 1.0, '196Hg': 0.0015, '198Hg': 0.0997, '199Hg': 0.16872, '200Hg': 0.231, '201Hg': 0.1318, 'Hg': 0.2986, '204Hg': 0.0687, '203Tl': 0.2952, 'Tl': 0.7048, '204Pb': 0.014, '206Pb': 0.241, '207Pb': 0.221, 'Pb': 0.524, 'Bi': 1.0, '209Po': 0, '210Po': 0, '210At': 0, '211At': 0, '211Rn': 0, '220Rn': 0, '222Rn': 0, '223Fr': 0, '223Ra': 0, '224Ra': 0, '226Ra': 0, '228Ra': 0, '227Ac': 0, '230Th': 0, 'Th': 1.0, 'Pa': 1.0, '233U': 0, '234U': 5.4e-05, '235U': 0.007204, '236U': 0, 'U': 0.992742, '236Np': 0, '237Np': 0, '238Pu': 0, '239Pu': 0, '240Pu': 0, '241Pu': 0, '242Pu': 0, '244Pu': 0, '241Am': 0, '243Am': 0, '243Cm': 0, '244Cm': 0, '245Cm': 0, '246Cm': 0, '247Cm': 0, '248Cm': 0, '247Bk': 0, '249Bk': 0, '249Cf': 0, '250Cf': 0, '251Cf': 0, '252Cf': 0, '252Es': 0, '257Fm': 0, '258Md': 0, '260Md': 0, '259No': 0, '262Lr': 0, '267Rf': 0, '268Db': 0, '271Sg': 0, '272Bh': 0, '270Hs': 0, '276Mt': 0, '281Ds': 0, '280Rg': 0, '285Cn': 0, '284Nh': 0, '289Fl': 0, '288Mc': 0, '293Lv': 0, '292Ts': 0, '294Og': 0}
isotopes = {'H': ['Hydrogen', ['D', 'T']], 'He': ['Helium', ['3He']], 'Li': ['Lithium', ['6Li']], 'Be': ['Beryllium', [None]], 'B': ['Boron', ['10B']], 'C': ['Carbon', ['13C']], 'N': ['Nitrogen', ['15N']], 'O': ['Oxygen', ['18O', '17O']], 'F': ['Fluorine', [None]], 'Ne': ['Neon', ['22Ne', '21Ne']], 'Na': ['Sodium', [None]], 'Mg': ['Magnesium', ['26Mg', '25Mg']], 'Al': ['Aluminum', [None]], 'Si': ['Silicon', ['29Si', '30Si']], 'P': ['Phosphorus', [None]], 'S': ['Sulfur', ['34S', '33S', '36S']], 'Cl': ['Chlorine', ['37Cl']], 'Ar': ['Argon', ['36Ar', '38Ar']], 'K': ['Potassium', ['41K', '40K']], 'Ca': ['Calcium', ['44Ca', '48Ca', '43Ca', '42Ca', '46Ca']], 'Sc': ['Scandium', [None]], 'Ti': ['Titanium', ['46Ti', '47Ti', '49Ti', '50Ti']], 'V': ['Vanadium', ['50V']], 'Cr': ['Chromium', ['53Cr', '50Cr', '54Cr']], 'Mn': ['Manganese', [None]], 'Fe': ['Iron', ['54Fe', '57Fe', '58Fe']], 'Co': ['Cobalt', [None]], 'Ni': ['Nickel', ['60Ni', '62Ni', '61Ni', '64Ni']], 'Cu': ['Copper', ['65Cu']], 'Zn': ['Zinc', ['66Zn', '68Zn', '67Zn', '70Zn']], 'Ga': ['Gallium', ['71Ga']], 'Ge': ['Germanium', ['72Ge', '70Ge', '73Ge', '76Ge']], 'As': ['Arsenic', [None]], 'Se': ['Selenium', ['78Se', '76Se', '82Se', '77Se', '74Se']], 'Br': ['Bromine', ['81Br']], 'Kr': ['Krypton', ['86Kr', '82Kr', '83Kr', '80Kr']], 'Rb': ['Rubidium', ['87Rb']], 'Sr': ['Strontium', ['86Sr', '87Sr', '84Sr']], 'Y': ['Yttrium', [None]], 'Zr': ['Zirconium', ['94Zr', '92Zr', '91Zr', '96Zr']], 'Nb': ['Niobium', [None]], 'Mo': ['Molybdenum', ['96Mo', '95Mo', '92Mo', '100Mo', '97Mo', '94Mo']], 'Tc': ['Technetium', [None]], 'Ru': ['Ruthenium', ['104Ru', '101Ru', '99Ru', '100Ru', '96Ru', '98Ru']], 'Rh': ['Rhodium', [None]], 'Pd': ['Palladium', ['108Pd', '105Pd', '110Pd', '104Pd', '102Pd']], 'Ag': ['Silver', ['109Ag']], 'Cd': ['Cadmium', ['114Cd', '111Cd', '110Cd', '113Cd', '116Cd', '106Cd', '108Cd']], 'In': ['Indium', ['113In']], 'Sn': ['Tin', ['118Sn', '116Sn', '119Sn', '117Sn', '124Sn', '122Sn', '112Sn', '114Sn', '115Sn']], 'Sb': ['Antimony', ['123Sb']], 'Te': ['Tellurium', ['128Te', '126Te', '125Te', '124Te', '122Te', '123Te', '120Te']], 'I': ['Iodine', [None]], 'Xe': ['Xenon', ['129Xe', '131Xe', '134Xe', '136Xe', '130Xe', '128Xe']], 'Cs': ['Cesium', [None]], 'Ba': ['Barium', ['137Ba', '136Ba', '135Ba', '134Ba']], 'La': ['Lanthanum', ['138La']], 'Hf': ['Hafnium', ['178Hf', '177Hf', '179Hf', '176Hf']], 'Ta': ['Tantalum', ['180Ta']], 'W': ['Tungsten', ['186W', '182W', '183W']], 'Re': ['Rhenium', ['185Re']], 'Os': ['Osmium', ['190Os', '189Os', '188Os', '187Os', '186Os']], 'Ir': ['Iridium', ['191Ir']], 'Pt': ['Platinum', ['194Pt', '196Pt', '198Pt', '192Pt']], 'Au': ['Gold', [None]], 'Hg': ['Mercury', ['200Hg', '199Hg', '201Hg', '198Hg', '204Hg']], 'Tl': ['Thallium', ['203Tl']], 'Pb': ['Lead', ['206Pb', '207Pb', '204Pb']], 'Bi': ['Bismuth', [None]], 'Po': ['Polonium', [None]], 'At': ['Astatine', [None]], 'Rn': ['Radon', [None]], 'Fr': ['Francium', [None]], 'Ra': ['Radium', [None]], 'Ac': ['Actinium', [None]], 'Rf': ['Rutherfordium', [None]], 'Db': ['Dubnium', [None]], 'Sg': ['Seaborgium', [None]], 'Bh': ['Bohrium', [None]], 'Hs': ['Hassium', [None]], 'Mt': ['Meitnerium', [None]], 'Ds': ['Darmstadtium', [None]], 'Rg': ['Roentgenium', [None]], 'Cn': ['Copernicium', [None]], 'Nh': ['Nihonium', [None]], 'Fl': ['Flerovium', [None]], 'Mc': ['Moscovium', [None]], 'Lv': ['Livermorium', [None]], 'Ts': ['Tennessine', [None]], 'Og': ['Oganesson', [None]], 'Ce': ['Cerium', ['142Ce', '138Ce136Ce']], 'Pr': ['Praseodymium', [None]], 'Nd': ['Neodymium', [None]], 'Pm': ['Promethium', [None]], 'Sm': ['Samarium', [None]], 'Eu': ['Europium', [None]], 'Gd': ['Gadolinium', [None]], 'Tb': ['Terbium', [None]], 'Dy': ['Dysprosium', [None]], 'Ho': ['Holmium', [None]], 'Er': ['Erbium', [None]], 'Tm': ['Thulium', [None]], 'Yb': ['Ytterbium', [None]], 'Lu': ['Lutetium', ['176Lu']], 'Th': ['Thorium', [None]], 'Pa': ['Protactinium', [None]], 'U': ['Uranium', ['235U', '234U']], 'Np': ['Neptunium', [None]], 'Pu': ['Plutonium', [None]], 'Am': ['Americium', [None]], 'Cm': ['Curium', [None]], 'Bk': ['Berkelium', [None]], 'Cf': ['Californium', [None]], 'Es': ['Einsteinium', [None]], 'Fm': ['Fermium', [None]], 'Md': ['Mendelevium', [None]], 'No': ['Nobelium', [None]], 'Lr': ['Lawrencium', [None]]}