diff --git a/paper.bib b/paper.bib index 25775f63e..925ab6390 100644 --- a/paper.bib +++ b/paper.bib @@ -1,21 +1,20 @@ @article{davies_computational_2016, - title = {Computational {Screening} of {All} {Stoichiometric} {Inorganic} {Materials}}, - volume = {1}, - issn = {24519294}, - url = {http://www.cell.com/chem/abstract/S2451-9294(16)30155-3}, - doi = {10.1016/j.chempr.2016.09.010}, - abstract = {Forming a four-component compound from the first 103 elements of the periodic table results in more than 1012 combinations. Such a materials space is intractable to high-throughput experiment or first-principle computation. We introduce a framework to address this problem and quantify how many materials can exist. We apply principles of valency and electronegativity to filter chemically implausible compositions, which reduces the inorganic quaternary space to 1010 combinations. We demonstrate that estimates of band gaps and absolute electron energies can be made simply on the basis of the chemical composition and apply this to the search for new semiconducting materials to support the photoelectrochemical splitting of water. We show the applicability to predicting crystal structure by analogy with known compounds, including exploration of the phase space for ternary combinations that form a perovskite lattice. Computer screening reproduces known perovskite materials and predicts the feasibility of thousands more. Given the simplicity of the approach, large-scale searches can be performed on a single workstation.}, - number = {4}, - journal = {Chem}, - author = {Davies, Daniel W. and Butler, Keith T. and Jackson, Adam J. and Morris, Andrew and Frost, Jarvist M. and Skelton, Jonathan M. and Walsh, Aron}, - year = {2016}, - keywords = {Perovskites, Data, Materials Design, Screening, Water splitting}, - pages = {617--627} +title = {Computational Screening of All Stoichiometric Inorganic Materials}, +volume = {1}, +issn = {24519294}, +url = {http://www.cell.com/chem/abstract/S2451-9294(16)30155-3}, +doi = {10.1016/j.chempr.2016.09.010}, +abstract = {Forming a four-component compound from the first 103 elements of the periodic table results in more than 1012 combinations. Such a materials space is intractable to high-throughput experiment or first-principle computation. We introduce a framework to address this problem and quantify how many materials can exist. We apply principles of valency and electronegativity to filter chemically implausible compositions, which reduces the inorganic quaternary space to 1010 combinations. We demonstrate that estimates of band gaps and absolute electron energies can be made simply on the basis of the chemical composition and apply this to the search for new semiconducting materials to support the photoelectrochemical splitting of water. We show the applicability to predicting crystal structure by analogy with known compounds, including exploration of the phase space for ternary combinations that form a perovskite lattice. Computer screening reproduces known perovskite materials and predicts the feasibility of thousands more. Given the simplicity of the approach, large-scale searches can be performed on a single workstation.}, +number = {4}, +journal = {Chem}, +author = {Davies, Daniel W. and Butler, Keith T. and Jackson, Adam J. and Morris, Andrew and Frost, Jarvist M. and Skelton, Jonathan M. and Walsh, Aron}, +year = {2016}, +pages = {617--627} } @article{pamplin1964, title = "A systematic method of deriving new semiconducting compounds by structural analogy", -journal = "Journal of Physics and Chemistry of Solids", +journal = "J. Phys. Chem. Solids", volume = "25", number = "7", pages = "675 - 684", @@ -29,7 +28,7 @@ @article{pamplin1964 @article{goodman1958, title = "The prediction of semiconducting properties in inorganic compounds", -journal = "Journal of Physics and Chemistry of Solids", +journal = "J. Phys. Chem. Solids", volume = "6", number = "4", pages = "305 - 314", @@ -44,38 +43,28 @@ @article{goodman1958 @article{gaultois2013, author = {Gaultois, Michael W. and Sparks, Taylor D. and Borg, Christopher K. H. and Seshadri, Ram and Bonificio, William D. and Clarke, David R.}, title = {Data-Driven Review of Thermoelectric Materials: Performance and Resource Considerations}, -journal = {Chemistry of Materials}, +journal = {Chem. Mater.}, volume = {25}, number = {15}, pages = {2911-2920}, year = {2013}, doi = {10.1021/cm400893e}, - -URL = { - https://doi.org/10.1021/cm400893e -}, -eprint = { - https://doi.org/10.1021/cm400893e} - +URL = {https://doi.org/10.1021/cm400893e}, +eprint = {https://doi.org/10.1021/cm400893e} } @article{pelatt2011, author = {Pelatt, Brian D. and Ravichandran, Ram and Wager, John F. and Keszler, Douglas A.}, title = {Atomic Solid State Energy Scale}, -journal = {Journal of the American Chemical Society}, +journal = {J. Am. Chem. Soc.}, volume = {133}, number = {42}, pages = {16852-16860}, year = {2011}, doi = {10.1021/ja204670s}, - note ={PMID: 21861503}, - -URL = { - https://doi.org/10.1021/ja204670s -}, -eprint = { - https://doi.org/10.1021/ja204670s -} +note ={PMID: 21861503}, +URL = {https://doi.org/10.1021/ja204670s}, +eprint = {https://doi.org/10.1021/ja204670s} } @Article{davies2018, @@ -86,7 +75,6 @@ @Article{davies2018 volume ="211", issue ="0", pages ="553-568", -publisher ="The Royal Society of Chemistry", doi ="10.1039/C8FD00032H", url ="http://dx.doi.org/10.1039/C8FD00032H", abstract ="The likelihiood of an element to adopt a specific oxidation state in a solid{,} given a certain set of neighbours{,} might often be obvious to a trained chemist. However{,} encoding this information for use in high-throughput searches presents a significant challenge. We carry out a statistical analysis of the occurrence of oxidation states in 16 735 ordered{,} inorganic compounds and show that a large number of cations are only likely to exhibit certain oxidation states in combination with particular anions. We use this data to build a model that ascribes probabilities to the formation of hypothetical compounds{,} given the proposed oxidation states of their constituent species. The model is then used as part of a high-throughput materials design process{,} which significantly narrows down the vast compositional search space for new ternary metal halide compounds. Finally{,} we employ a machine learning analysis of existing compounds to suggest likely structures for a small subset of the candidate compositions. We predict two new compounds{,} MnZnBr4 and YSnF7{,} that are thermodynamically stable according to density functional theory{,} as well as four compounds{,} MnCdBr4{,} MnRu2Br8{,} ScZnF5 and ZnCoBr4{,} which lie within the window of metastability." @@ -100,29 +88,27 @@ @Article{goldschmidt1929 volume ="25", issue ="0", pages ="253-283", -publisher ="The Royal Society of Chemistry", doi ="10.1039/TF9292500253", url ="http://dx.doi.org/10.1039/TF9292500253", abstract =""} @article{nethercot1974, - title = {Prediction of Fermi Energies and Photoelectric Thresholds Based on Electronegativity Concepts}, - author = {Nethercot, Arthur H.}, - journal = {Phys. Rev. Lett.}, - volume = {33}, - issue = {18}, - pages = {1088--1091}, - numpages = {0}, - year = {1974}, - month = {Oct}, - publisher = {American Physical Society}, - doi = {10.1103/PhysRevLett.33.1088}, - url = {https://link.aps.org/doi/10.1103/PhysRevLett.33.1088} +title = {Prediction of Fermi Energies and Photoelectric Thresholds Based on Electronegativity Concepts}, +author = {Nethercot, Arthur H.}, +journal = {Phys. Rev. Lett.}, +volume = {33}, +issue = {18}, +pages = {1088--1091}, +numpages = {0}, +year = {1974}, +month = {Oct}, +doi = {10.1103/PhysRevLett.33.1088}, +url = {https://link.aps.org/doi/10.1103/PhysRevLett.33.1088} } @article{ward2018, title = "Matminer: An open source toolkit for materials data mining", -journal = "Computational Materials Science", +journal = "Comp. Mater. Sci.", volume = "152", pages = "60 - 69", year = "2018", @@ -130,13 +116,12 @@ @article{ward2018 doi = "https://doi.org/10.1016/j.commatsci.2018.05.018", url = "http://www.sciencedirect.com/science/article/pii/S0927025618303252", author = "Logan Ward and Alexander Dunn and Alireza Faghaninia and Nils E.R. Zimmermann and Saurabh Bajaj and Qi Wang and Joseph Montoya and Jiming Chen and Kyle Bystrom and Maxwell Dylla and Kyle Chard and Mark Asta and Kristin A. Persson and G. Jeffrey Snyder and Ian Foster and Anubhav Jain", -keywords = "Data mining, Open source software, Machine learning, Materials informatics", abstract = "As materials data sets grow in size and scope, the role of data mining and statistical learning methods to analyze these materials data sets and build predictive models is becoming more important. This manuscript introduces matminer, an open-source, Python-based software platform to facilitate data-driven methods of analyzing and predicting materials properties. Matminer provides modules for retrieving large data sets from external databases such as the Materials Project, Citrination, Materials Data Facility, and Materials Platform for Data Science. It also provides implementations for an extensive library of feature extraction routines developed by the materials community, with 47 featurization classes that can generate thousands of individual descriptors and combine them into mathematical functions. Finally, matminer provides a visualization module for producing interactive, shareable plots. These functions are designed in a way that integrates closely with machine learning and data analysis packages already developed and in use by the Python data science community. We explain the structure and logic of matminer, provide a description of its various modules, and showcase several examples of how matminer can be used to collect data, reproduce data mining studies reported in the literature, and test new methodologies." } @article{ong2013, title = "Python Materials Genomics (pymatgen): A robust, open-source python library for materials analysis", -journal = "Computational Materials Science", +journal = "Comp. Mater. Sci.", volume = "68", pages = "314 - 319", year = "2013", @@ -144,7 +129,6 @@ @article{ong2013 doi = "https://doi.org/10.1016/j.commatsci.2012.10.028", url = "http://www.sciencedirect.com/science/article/pii/S0927025612006295", author = "Shyue Ping Ong and William Davidson Richards and Anubhav Jain and Geoffroy Hautier and Michael Kocher and Shreyas Cholia and Dan Gunter and Vincent L. Chevrier and Kristin A. Persson and Gerbrand Ceder", -keywords = "Materials, Project, Design, Thermodynamics, High-throughput", abstract = "We present the Python Materials Genomics (pymatgen) library, a robust, open-source Python library for materials analysis. A key enabler in high-throughput computational materials science efforts is a robust set of software tools to perform initial setup for the calculations (e.g., generation of structures and necessary input files) and post-calculation analysis to derive useful material properties from raw calculated data. The pymatgen library aims to meet these needs by (1) defining core Python objects for materials data representation, (2) providing a well-tested set of structure and thermodynamic analyses relevant to many applications, and (3) establishing an open platform for researchers to collaboratively develop sophisticated analyses of materials data obtained both from first principles calculations and experiments. The pymatgen library also provides convenient tools to obtain useful materials data via the Materials Project’s REpresentational State Transfer (REST) Application Programming Interface (API). As an example, using pymatgen’s interface to the Materials Project’s RESTful API and phasediagram package, we demonstrate how the phase and electrochemical stability of a recently synthesized material, Li4SnS4, can be analyzed using a minimum of computing resources. We find that Li4SnS4 is a stable phase in the Li–Sn–S phase diagram (consistent with the fact that it can be synthesized), but the narrow range of lithium chemical potentials for which it is predicted to be stable would suggest that it is not intrinsically stable against typical electrodes used in lithium-ion batteries." } @@ -170,7 +154,7 @@ @Article{oboyle2011 and Vandermeersch, Tim and Hutchison, Geoffrey R.", title="Open Babel: An open chemical toolbox", -journal="Journal of Cheminformatics", +journal="J. Cheminf.", year="2011", month="Oct", day="07", @@ -191,11 +175,11 @@ @article{ase-paper Peterson and Carsten Rostgaard and Jakob Schiøtz and Ole Schütt and Mikkel Strange and Kristian S Thygesen and Tejs Vegge and Lasse Vilhelmsen and Michael Walter and Zhenhua Zeng and Karsten W Jacobsen}, title={The atomic simulation environment—a Python library for working with atoms}, - journal={Journal of Physics: Condensed Matter}, + journal={J. Condens. Matter Phys.}, volume={29}, number={27}, pages={273002}, url={http://stacks.iop.org/0953-8984/29/i=27/a=273002}, year={2017}, abstract={The atomic simulation environment (ASE) is a software package written in the Python programming language with the aim of setting up, steering, and analyzing atomistic simulations. In ASE, tasks are fully scripted in Python. The powerful syntax of Python combined with the NumPy array library make it possible to perform very complex simulation tasks. For example, a sequence of calculations may be performed with the use of a simple ‘for-loop’ construction. Calculations of energy, forces, stresses and other quantities are performed through interfaces to many external electronic structure codes or force fields using a uniform interface. On top of this calculator interface, ASE provides modules for performing many standard simulation tasks such as structure optimization, molecular dynamics, handling of constraints and performing nudged elastic band calculations.} -} +} diff --git a/smact/__init__.py b/smact/__init__.py index 1413e0490..7a8d22f8a 100644 --- a/smact/__init__.py +++ b/smact/__init__.py @@ -70,6 +70,8 @@ class Element: Element.oxidation_states_custom (list | None ): List of oxidation states that appear in the custom data file supplied (if any) + Element.oxidation_states_icsd24 (list): List of oxidation states that appear in the 2024 version of the ICSD + Element.coord_envs (list): The allowed coordination environments for the ion Element.covalent_radius (float) : Covalent radius of the element @@ -195,6 +197,10 @@ def __init__(self, symbol: str, oxi_states_custom_filepath: str | None = None): "oxidation_states_wiki", data_loader.lookup_element_oxidation_states_wiki(symbol), ), + ( + "oxidation_states_icsd24", + data_loader.lookup_element_oxidation_states_icsd24(symbol), + ), ("dipol", dataset["dipol"]), ("pauling_eneg", dataset["el_neg"]), ("SSE", sse), diff --git a/smact/data/HHIs.txt b/smact/data/hhi.txt similarity index 100% rename from smact/data/HHIs.txt rename to smact/data/hhi.txt diff --git a/smact/data/oxidation_states.txt b/smact/data/oxidation_states.txt index 122f9ee09..4ff8add34 100644 --- a/smact/data/oxidation_states.txt +++ b/smact/data/oxidation_states.txt @@ -1,3 +1,7 @@ +# +# Oxidation state set +# Source: Original SMACT set manually compiled (2014) +# H -1 +1 He Li +1 diff --git a/smact/data/oxidation_states_SP.txt b/smact/data/oxidation_states_SP.txt index 697bd41c1..4713e62dd 100644 --- a/smact/data/oxidation_states_SP.txt +++ b/smact/data/oxidation_states_SP.txt @@ -1,3 +1,7 @@ +# +# Oxidation state set +# Source: Pymatgen structure predictor (2017) +# H 1 He Li 1 diff --git a/smact/data/oxidation_states_icsd.txt b/smact/data/oxidation_states_icsd.txt index f7fcca86c..b575d52e4 100644 --- a/smact/data/oxidation_states_icsd.txt +++ b/smact/data/oxidation_states_icsd.txt @@ -1,3 +1,7 @@ +# +# Oxidation state set +# Source: ICSD (2016) +# H -1 1 He Li 1 diff --git a/smact/data/oxidation_states_icsd24_common.txt b/smact/data/oxidation_states_icsd24_common.txt new file mode 100644 index 000000000..4c2f90974 --- /dev/null +++ b/smact/data/oxidation_states_icsd24_common.txt @@ -0,0 +1,107 @@ +# +# Oxidation state set +# Source: ICSD (2024, V2), most common non-zero values +# +H 1 +He +Li 1 +Be 2 +B 3 +C 4 +N -3 +O -2 +F -1 +Ne +Na 1 +Mg 2 +Al 3 +Si 4 +P 5 +S -2 +Cl -1 +Ar +K 1 +Ca 2 +Sc 3 +Ti 4 +V 5 +Cr 3 +Mn 2 +Fe 3 +Co 2 +Ni 2 +Cu 2 +Zn 2 +Ga 3 +Ge 4 +As 5 +Se -2 +Br -1 +Kr 2 +Rb 1 +Sr 2 +Y 3 +Zr 4 +Nb 5 +Mo 6 +Tc 7 +Ru 4 +Rh 3 +Pd 2 +Ag 1 +Cd 2 +In 3 +Sn 4 +Sb 3 +Te -2 +I -1 +Xe 6 +Cs 1 +Ba 2 +La 3 +Ce 3 +Pr 3 +Nd 3 +Pm 3 +Sm 3 +Eu 3 +Gd 3 +Tb 3 +Dy 3 +Ho 3 +Er 3 +Tm 3 +Yb 3 +Lu 3 +Hf 4 +Ta 5 +W 6 +Re 7 +Os 5 +Ir 4 +Pt 4 +Au 1 +Hg 2 +Tl 1 +Pb 2 +Bi 3 +Po 4 +At +Rn +Fr +Ra 2 +Ac 3 +Th 4 +Pa 5 +U 6 +Np 6 +Pu 3 +Am 3 +Cm 3 +Bk 3 +Cf 3 +Es 3 +Fm +Md +No +Lr diff --git a/smact/data/oxidation_states_icsd24_counts.json b/smact/data/oxidation_states_icsd24_counts.json new file mode 100644 index 000000000..38f217864 --- /dev/null +++ b/smact/data/oxidation_states_icsd24_counts.json @@ -0,0 +1,1856 @@ +[ + { "element": "H", "oxidation_state": -9, "results_count": 0 }, + { "element": "H", "oxidation_state": -8, "results_count": 0 }, + { "element": "H", "oxidation_state": -7, "results_count": 0 }, + { "element": "H", "oxidation_state": -6, "results_count": 0 }, + { "element": "H", "oxidation_state": -5, "results_count": 0 }, + { "element": "H", "oxidation_state": -4, "results_count": 0 }, + { "element": "H", "oxidation_state": -3, "results_count": 0 }, + { "element": "H", "oxidation_state": -2, "results_count": 0 }, + { "element": "H", "oxidation_state": -1, "results_count": 3442 }, + { "element": "H", "oxidation_state": 0, "results_count": 2738 }, + { "element": "H", "oxidation_state": 1, "results_count": 34232 }, + { "element": "H", "oxidation_state": 2, "results_count": 2 }, + { "element": "H", "oxidation_state": 3, "results_count": 1 }, + { "element": "H", "oxidation_state": 4, "results_count": 0 }, + { "element": "H", "oxidation_state": 5, "results_count": 0 }, + { "element": "H", "oxidation_state": 6, "results_count": 0 }, + { "element": "H", "oxidation_state": 7, "results_count": 0 }, + { "element": "H", "oxidation_state": 8, "results_count": 0 }, + { "element": "He", "oxidation_state": -9, "results_count": 0 }, + { "element": "He", "oxidation_state": -8, "results_count": 0 }, + { "element": "He", "oxidation_state": -7, "results_count": 0 }, + { "element": "He", "oxidation_state": -6, "results_count": 0 }, + { "element": "He", "oxidation_state": -5, "results_count": 0 }, + { "element": "He", "oxidation_state": -4, "results_count": 0 }, + { "element": "He", "oxidation_state": -3, "results_count": 0 }, + { "element": "He", "oxidation_state": -2, "results_count": 0 }, + { "element": "He", "oxidation_state": -1, "results_count": 0 }, + { "element": "He", "oxidation_state": 0, "results_count": 29 }, + { "element": "He", "oxidation_state": 1, "results_count": 0 }, + { "element": "He", "oxidation_state": 2, "results_count": 0 }, + { "element": "He", "oxidation_state": 3, "results_count": 0 }, + { "element": "He", "oxidation_state": 4, "results_count": 0 }, + { "element": "He", "oxidation_state": 5, "results_count": 0 }, + { "element": "He", "oxidation_state": 6, "results_count": 0 }, + { "element": "He", "oxidation_state": 7, "results_count": 0 }, + { "element": "He", "oxidation_state": 8, "results_count": 0 }, + { "element": "Li", "oxidation_state": -9, "results_count": 0 }, + { "element": "Li", "oxidation_state": -8, "results_count": 0 }, + { "element": "Li", "oxidation_state": -7, "results_count": 0 }, + { "element": "Li", "oxidation_state": -6, "results_count": 0 }, + { "element": "Li", "oxidation_state": -5, "results_count": 0 }, + { "element": "Li", "oxidation_state": -4, "results_count": 0 }, + { "element": "Li", "oxidation_state": -3, "results_count": 0 }, + { "element": "Li", "oxidation_state": -2, "results_count": 0 }, + { "element": "Li", "oxidation_state": -1, "results_count": 0 }, + { "element": "Li", "oxidation_state": 0, "results_count": 1164 }, + { "element": "Li", "oxidation_state": 1, "results_count": 10513 }, + { "element": "Li", "oxidation_state": 2, "results_count": 0 }, + { "element": "Li", "oxidation_state": 3, "results_count": 0 }, + { "element": "Li", "oxidation_state": 4, "results_count": 0 }, + { "element": "Li", "oxidation_state": 5, "results_count": 0 }, + { "element": "Li", "oxidation_state": 6, "results_count": 0 }, + { "element": "Li", "oxidation_state": 7, "results_count": 0 }, + { "element": "Li", "oxidation_state": 8, "results_count": 0 }, + { "element": "Be", "oxidation_state": -9, "results_count": 0 }, + { "element": "Be", "oxidation_state": -8, "results_count": 0 }, + { "element": "Be", "oxidation_state": -7, "results_count": 0 }, + { "element": "Be", "oxidation_state": -6, "results_count": 0 }, + { "element": "Be", "oxidation_state": -5, "results_count": 0 }, + { "element": "Be", "oxidation_state": -4, "results_count": 0 }, + { "element": "Be", "oxidation_state": -3, "results_count": 0 }, + { "element": "Be", "oxidation_state": -2, "results_count": 0 }, + { "element": "Be", "oxidation_state": -1, "results_count": 0 }, + { "element": "Be", "oxidation_state": 0, "results_count": 376 }, + { "element": "Be", "oxidation_state": 1, "results_count": 0 }, + { "element": "Be", "oxidation_state": 2, "results_count": 1131 }, + { "element": "Be", "oxidation_state": 3, "results_count": 0 }, + { "element": "Be", "oxidation_state": 4, "results_count": 0 }, + { "element": "Be", "oxidation_state": 5, "results_count": 0 }, + { "element": "Be", "oxidation_state": 6, "results_count": 0 }, + { "element": "Be", "oxidation_state": 7, "results_count": 0 }, + { "element": "Be", "oxidation_state": 8, "results_count": 0 }, + { "element": "B", "oxidation_state": -9, "results_count": 0 }, + { "element": "B", "oxidation_state": -8, "results_count": 0 }, + { "element": "B", "oxidation_state": -7, "results_count": 0 }, + { "element": "B", "oxidation_state": -6, "results_count": 0 }, + { "element": "B", "oxidation_state": -5, "results_count": 3 }, + { "element": "B", "oxidation_state": -4, "results_count": 0 }, + { "element": "B", "oxidation_state": -3, "results_count": 232 }, + { "element": "B", "oxidation_state": -2, "results_count": 37 }, + { "element": "B", "oxidation_state": -1, "results_count": 38 }, + { "element": "B", "oxidation_state": 0, "results_count": 4547 }, + { "element": "B", "oxidation_state": 1, "results_count": 35 }, + { "element": "B", "oxidation_state": 2, "results_count": 28 }, + { "element": "B", "oxidation_state": 3, "results_count": 5853 }, + { "element": "B", "oxidation_state": 4, "results_count": 0 }, + { "element": "B", "oxidation_state": 5, "results_count": 0 }, + { "element": "B", "oxidation_state": 6, "results_count": 0 }, + { "element": "B", "oxidation_state": 7, "results_count": 0 }, + { "element": "B", "oxidation_state": 8, "results_count": 0 }, + { "element": "C", "oxidation_state": -9, "results_count": 0 }, + { "element": "C", "oxidation_state": -8, "results_count": 0 }, + { "element": "C", "oxidation_state": -7, "results_count": 0 }, + { "element": "C", "oxidation_state": -6, "results_count": 0 }, + { "element": "C", "oxidation_state": -5, "results_count": 0 }, + { "element": "C", "oxidation_state": -4, "results_count": 758 }, + { "element": "C", "oxidation_state": -3, "results_count": 157 }, + { "element": "C", "oxidation_state": -2, "results_count": 1233 }, + { "element": "C", "oxidation_state": -1, "results_count": 275 }, + { "element": "C", "oxidation_state": 0, "results_count": 5787 }, + { "element": "C", "oxidation_state": 1, "results_count": 222 }, + { "element": "C", "oxidation_state": 2, "results_count": 2993 }, + { "element": "C", "oxidation_state": 3, "results_count": 1340 }, + { "element": "C", "oxidation_state": 4, "results_count": 6271 }, + { "element": "C", "oxidation_state": 5, "results_count": 0 }, + { "element": "C", "oxidation_state": 6, "results_count": 0 }, + { "element": "C", "oxidation_state": 7, "results_count": 0 }, + { "element": "C", "oxidation_state": 8, "results_count": 0 }, + { "element": "N", "oxidation_state": -9, "results_count": 0 }, + { "element": "N", "oxidation_state": -8, "results_count": 0 }, + { "element": "N", "oxidation_state": -7, "results_count": 0 }, + { "element": "N", "oxidation_state": -6, "results_count": 0 }, + { "element": "N", "oxidation_state": -5, "results_count": 10 }, + { "element": "N", "oxidation_state": -4, "results_count": 7 }, + { "element": "N", "oxidation_state": -3, "results_count": 13983 }, + { "element": "N", "oxidation_state": -2, "results_count": 431 }, + { "element": "N", "oxidation_state": -1, "results_count": 647 }, + { "element": "N", "oxidation_state": 0, "results_count": 2223 }, + { "element": "N", "oxidation_state": 1, "results_count": 374 }, + { "element": "N", "oxidation_state": 2, "results_count": 120 }, + { "element": "N", "oxidation_state": 3, "results_count": 741 }, + { "element": "N", "oxidation_state": 4, "results_count": 22 }, + { "element": "N", "oxidation_state": 5, "results_count": 1291 }, + { "element": "N", "oxidation_state": 6, "results_count": 0 }, + { "element": "N", "oxidation_state": 7, "results_count": 0 }, + { "element": "N", "oxidation_state": 8, "results_count": 0 }, + { "element": "O", "oxidation_state": -9, "results_count": 0 }, + { "element": "O", "oxidation_state": -8, "results_count": 0 }, + { "element": "O", "oxidation_state": -7, "results_count": 0 }, + { "element": "O", "oxidation_state": -6, "results_count": 0 }, + { "element": "O", "oxidation_state": -5, "results_count": 0 }, + { "element": "O", "oxidation_state": -4, "results_count": 0 }, + { "element": "O", "oxidation_state": -3, "results_count": 1 }, + { "element": "O", "oxidation_state": -2, "results_count": 116910 }, + { "element": "O", "oxidation_state": -1, "results_count": 517 }, + { "element": "O", "oxidation_state": 0, "results_count": 1689 }, + { "element": "O", "oxidation_state": 1, "results_count": 2 }, + { "element": "O", "oxidation_state": 2, "results_count": 3 }, + { "element": "O", "oxidation_state": 3, "results_count": 0 }, + { "element": "O", "oxidation_state": 4, "results_count": 0 }, + { "element": "O", "oxidation_state": 5, "results_count": 0 }, + { "element": "O", "oxidation_state": 6, "results_count": 0 }, + { "element": "O", "oxidation_state": 7, "results_count": 0 }, + { "element": "O", "oxidation_state": 8, "results_count": 0 }, + { "element": "F", "oxidation_state": -9, "results_count": 0 }, + { "element": "F", "oxidation_state": -8, "results_count": 0 }, + { "element": "F", "oxidation_state": -7, "results_count": 0 }, + { "element": "F", "oxidation_state": -6, "results_count": 0 }, + { "element": "F", "oxidation_state": -5, "results_count": 0 }, + { "element": "F", "oxidation_state": -4, "results_count": 0 }, + { "element": "F", "oxidation_state": -3, "results_count": 0 }, + { "element": "F", "oxidation_state": -2, "results_count": 0 }, + { "element": "F", "oxidation_state": -1, "results_count": 11626 }, + { "element": "F", "oxidation_state": 0, "results_count": 201 }, + { "element": "F", "oxidation_state": 1, "results_count": 1 }, + { "element": "F", "oxidation_state": 2, "results_count": 1 }, + { "element": "F", "oxidation_state": 3, "results_count": 0 }, + { "element": "F", "oxidation_state": 4, "results_count": 0 }, + { "element": "F", "oxidation_state": 5, "results_count": 0 }, + { "element": "F", "oxidation_state": 6, "results_count": 0 }, + { "element": "F", "oxidation_state": 7, "results_count": 0 }, + { "element": "F", "oxidation_state": 8, "results_count": 0 }, + { "element": "Ne", "oxidation_state": -9, "results_count": 0 }, + { "element": "Ne", "oxidation_state": -8, "results_count": 0 }, + { "element": "Ne", "oxidation_state": -7, "results_count": 0 }, + { "element": "Ne", "oxidation_state": -6, "results_count": 0 }, + { "element": "Ne", "oxidation_state": -5, "results_count": 0 }, + { "element": "Ne", "oxidation_state": -4, "results_count": 0 }, + { "element": "Ne", "oxidation_state": -3, "results_count": 0 }, + { "element": "Ne", "oxidation_state": -2, "results_count": 0 }, + { "element": "Ne", "oxidation_state": -1, "results_count": 0 }, + { "element": "Ne", "oxidation_state": 0, "results_count": 48 }, + { "element": "Ne", "oxidation_state": 1, "results_count": 0 }, + { "element": "Ne", "oxidation_state": 2, "results_count": 0 }, + { "element": "Ne", "oxidation_state": 3, "results_count": 0 }, + { "element": "Ne", "oxidation_state": 4, "results_count": 0 }, + { "element": "Ne", "oxidation_state": 5, "results_count": 0 }, + { "element": "Ne", "oxidation_state": 6, "results_count": 0 }, + { "element": "Ne", "oxidation_state": 7, "results_count": 0 }, + { "element": "Ne", "oxidation_state": 8, "results_count": 0 }, + { "element": "Na", "oxidation_state": -9, "results_count": 0 }, + { "element": "Na", "oxidation_state": -8, "results_count": 0 }, + { "element": "Na", "oxidation_state": -7, "results_count": 0 }, + { "element": "Na", "oxidation_state": -6, "results_count": 0 }, + { "element": "Na", "oxidation_state": -5, "results_count": 0 }, + { "element": "Na", "oxidation_state": -4, "results_count": 0 }, + { "element": "Na", "oxidation_state": -3, "results_count": 0 }, + { "element": "Na", "oxidation_state": -2, "results_count": 0 }, + { "element": "Na", "oxidation_state": -1, "results_count": 2 }, + { "element": "Na", "oxidation_state": 0, "results_count": 707 }, + { "element": "Na", "oxidation_state": 1, "results_count": 17539 }, + { "element": "Na", "oxidation_state": 2, "results_count": 0 }, + { "element": "Na", "oxidation_state": 3, "results_count": 0 }, + { "element": "Na", "oxidation_state": 4, "results_count": 0 }, + { "element": "Na", "oxidation_state": 5, "results_count": 0 }, + { "element": "Na", "oxidation_state": 6, "results_count": 0 }, + { "element": "Na", "oxidation_state": 7, "results_count": 0 }, + { "element": "Na", "oxidation_state": 8, "results_count": 0 }, + { "element": "Mg", "oxidation_state": -9, "results_count": 0 }, + { "element": "Mg", "oxidation_state": -8, "results_count": 0 }, + { "element": "Mg", "oxidation_state": -7, "results_count": 0 }, + { "element": "Mg", "oxidation_state": -6, "results_count": 0 }, + { "element": "Mg", "oxidation_state": -5, "results_count": 0 }, + { "element": "Mg", "oxidation_state": -4, "results_count": 0 }, + { "element": "Mg", "oxidation_state": -3, "results_count": 0 }, + { "element": "Mg", "oxidation_state": -2, "results_count": 0 }, + { "element": "Mg", "oxidation_state": -1, "results_count": 0 }, + { "element": "Mg", "oxidation_state": 0, "results_count": 2203 }, + { "element": "Mg", "oxidation_state": 1, "results_count": 0 }, + { "element": "Mg", "oxidation_state": 2, "results_count": 11318 }, + { "element": "Mg", "oxidation_state": 3, "results_count": 2 }, + { "element": "Mg", "oxidation_state": 4, "results_count": 0 }, + { "element": "Mg", "oxidation_state": 5, "results_count": 0 }, + { "element": "Mg", "oxidation_state": 6, "results_count": 0 }, + { "element": "Mg", "oxidation_state": 7, "results_count": 0 }, + { "element": "Mg", "oxidation_state": 8, "results_count": 0 }, + { "element": "Al", "oxidation_state": -9, "results_count": 0 }, + { "element": "Al", "oxidation_state": -8, "results_count": 0 }, + { "element": "Al", "oxidation_state": -7, "results_count": 0 }, + { "element": "Al", "oxidation_state": -6, "results_count": 0 }, + { "element": "Al", "oxidation_state": -5, "results_count": 0 }, + { "element": "Al", "oxidation_state": -4, "results_count": 0 }, + { "element": "Al", "oxidation_state": -3, "results_count": 3 }, + { "element": "Al", "oxidation_state": -2, "results_count": 0 }, + { "element": "Al", "oxidation_state": -1, "results_count": 0 }, + { "element": "Al", "oxidation_state": 0, "results_count": 6660 }, + { "element": "Al", "oxidation_state": 1, "results_count": 1 }, + { "element": "Al", "oxidation_state": 2, "results_count": 2 }, + { "element": "Al", "oxidation_state": 3, "results_count": 15020 }, + { "element": "Al", "oxidation_state": 4, "results_count": 0 }, + { "element": "Al", "oxidation_state": 5, "results_count": 0 }, + { "element": "Al", "oxidation_state": 6, "results_count": 0 }, + { "element": "Al", "oxidation_state": 7, "results_count": 0 }, + { "element": "Al", "oxidation_state": 8, "results_count": 0 }, + { "element": "Si", "oxidation_state": -9, "results_count": 0 }, + { "element": "Si", "oxidation_state": -8, "results_count": 0 }, + { "element": "Si", "oxidation_state": -7, "results_count": 0 }, + { "element": "Si", "oxidation_state": -6, "results_count": 0 }, + { "element": "Si", "oxidation_state": -5, "results_count": 0 }, + { "element": "Si", "oxidation_state": -4, "results_count": 221 }, + { "element": "Si", "oxidation_state": -3, "results_count": 19 }, + { "element": "Si", "oxidation_state": -2, "results_count": 17 }, + { "element": "Si", "oxidation_state": -1, "results_count": 41 }, + { "element": "Si", "oxidation_state": 0, "results_count": 7775 }, + { "element": "Si", "oxidation_state": 1, "results_count": 3 }, + { "element": "Si", "oxidation_state": 2, "results_count": 73 }, + { "element": "Si", "oxidation_state": 3, "results_count": 39 }, + { "element": "Si", "oxidation_state": 4, "results_count": 18248 }, + { "element": "Si", "oxidation_state": 5, "results_count": 0 }, + { "element": "Si", "oxidation_state": 6, "results_count": 0 }, + { "element": "Si", "oxidation_state": 7, "results_count": 0 }, + { "element": "Si", "oxidation_state": 8, "results_count": 0 }, + { "element": "P", "oxidation_state": -9, "results_count": 0 }, + { "element": "P", "oxidation_state": -8, "results_count": 0 }, + { "element": "P", "oxidation_state": -7, "results_count": 0 }, + { "element": "P", "oxidation_state": -6, "results_count": 0 }, + { "element": "P", "oxidation_state": -5, "results_count": 0 }, + { "element": "P", "oxidation_state": -4, "results_count": 5 }, + { "element": "P", "oxidation_state": -3, "results_count": 1298 }, + { "element": "P", "oxidation_state": -2, "results_count": 166 }, + { "element": "P", "oxidation_state": -1, "results_count": 179 }, + { "element": "P", "oxidation_state": 0, "results_count": 2103 }, + { "element": "P", "oxidation_state": 1, "results_count": 69 }, + { "element": "P", "oxidation_state": 2, "results_count": 26 }, + { "element": "P", "oxidation_state": 3, "results_count": 546 }, + { "element": "P", "oxidation_state": 4, "results_count": 455 }, + { "element": "P", "oxidation_state": 5, "results_count": 12418 }, + { "element": "P", "oxidation_state": 6, "results_count": 2 }, + { "element": "P", "oxidation_state": 7, "results_count": 0 }, + { "element": "P", "oxidation_state": 8, "results_count": 0 }, + { "element": "S", "oxidation_state": -9, "results_count": 0 }, + { "element": "S", "oxidation_state": -8, "results_count": 0 }, + { "element": "S", "oxidation_state": -7, "results_count": 0 }, + { "element": "S", "oxidation_state": -6, "results_count": 0 }, + { "element": "S", "oxidation_state": -5, "results_count": 0 }, + { "element": "S", "oxidation_state": -4, "results_count": 0 }, + { "element": "S", "oxidation_state": -3, "results_count": 1 }, + { "element": "S", "oxidation_state": -2, "results_count": 13417 }, + { "element": "S", "oxidation_state": -1, "results_count": 610 }, + { "element": "S", "oxidation_state": 0, "results_count": 1580 }, + { "element": "S", "oxidation_state": 1, "results_count": 32 }, + { "element": "S", "oxidation_state": 2, "results_count": 140 }, + { "element": "S", "oxidation_state": 3, "results_count": 42 }, + { "element": "S", "oxidation_state": 4, "results_count": 702 }, + { "element": "S", "oxidation_state": 5, "results_count": 62 }, + { "element": "S", "oxidation_state": 6, "results_count": 4908 }, + { "element": "S", "oxidation_state": 7, "results_count": 0 }, + { "element": "S", "oxidation_state": 8, "results_count": 0 }, + { "element": "Cl", "oxidation_state": -9, "results_count": 0 }, + { "element": "Cl", "oxidation_state": -8, "results_count": 0 }, + { "element": "Cl", "oxidation_state": -7, "results_count": 0 }, + { "element": "Cl", "oxidation_state": -6, "results_count": 0 }, + { "element": "Cl", "oxidation_state": -5, "results_count": 0 }, + { "element": "Cl", "oxidation_state": -4, "results_count": 1 }, + { "element": "Cl", "oxidation_state": -3, "results_count": 0 }, + { "element": "Cl", "oxidation_state": -2, "results_count": 0 }, + { "element": "Cl", "oxidation_state": -1, "results_count": 8890 }, + { "element": "Cl", "oxidation_state": 0, "results_count": 414 }, + { "element": "Cl", "oxidation_state": 1, "results_count": 7 }, + { "element": "Cl", "oxidation_state": 2, "results_count": 2 }, + { "element": "Cl", "oxidation_state": 3, "results_count": 47 }, + { "element": "Cl", "oxidation_state": 4, "results_count": 5 }, + { "element": "Cl", "oxidation_state": 5, "results_count": 113 }, + { "element": "Cl", "oxidation_state": 6, "results_count": 0 }, + { "element": "Cl", "oxidation_state": 7, "results_count": 353 }, + { "element": "Cl", "oxidation_state": 8, "results_count": 0 }, + { "element": "Ar", "oxidation_state": -9, "results_count": 0 }, + { "element": "Ar", "oxidation_state": -8, "results_count": 0 }, + { "element": "Ar", "oxidation_state": -7, "results_count": 0 }, + { "element": "Ar", "oxidation_state": -6, "results_count": 0 }, + { "element": "Ar", "oxidation_state": -5, "results_count": 0 }, + { "element": "Ar", "oxidation_state": -4, "results_count": 0 }, + { "element": "Ar", "oxidation_state": -3, "results_count": 0 }, + { "element": "Ar", "oxidation_state": -2, "results_count": 0 }, + { "element": "Ar", "oxidation_state": -1, "results_count": 0 }, + { "element": "Ar", "oxidation_state": 0, "results_count": 22 }, + { "element": "Ar", "oxidation_state": 1, "results_count": 0 }, + { "element": "Ar", "oxidation_state": 2, "results_count": 0 }, + { "element": "Ar", "oxidation_state": 3, "results_count": 0 }, + { "element": "Ar", "oxidation_state": 4, "results_count": 0 }, + { "element": "Ar", "oxidation_state": 5, "results_count": 0 }, + { "element": "Ar", "oxidation_state": 6, "results_count": 0 }, + { "element": "Ar", "oxidation_state": 7, "results_count": 0 }, + { "element": "Ar", "oxidation_state": 8, "results_count": 0 }, + { "element": "K", "oxidation_state": -9, "results_count": 0 }, + { "element": "K", "oxidation_state": -8, "results_count": 0 }, + { "element": "K", "oxidation_state": -7, "results_count": 0 }, + { "element": "K", "oxidation_state": -6, "results_count": 0 }, + { "element": "K", "oxidation_state": -5, "results_count": 0 }, + { "element": "K", "oxidation_state": -4, "results_count": 0 }, + { "element": "K", "oxidation_state": -3, "results_count": 0 }, + { "element": "K", "oxidation_state": -2, "results_count": 0 }, + { "element": "K", "oxidation_state": -1, "results_count": 0 }, + { "element": "K", "oxidation_state": 0, "results_count": 500 }, + { "element": "K", "oxidation_state": 1, "results_count": 13748 }, + { "element": "K", "oxidation_state": 2, "results_count": 0 }, + { "element": "K", "oxidation_state": 3, "results_count": 0 }, + { "element": "K", "oxidation_state": 4, "results_count": 0 }, + { "element": "K", "oxidation_state": 5, "results_count": 0 }, + { "element": "K", "oxidation_state": 6, "results_count": 0 }, + { "element": "K", "oxidation_state": 7, "results_count": 0 }, + { "element": "K", "oxidation_state": 8, "results_count": 0 }, + { "element": "Ca", "oxidation_state": -9, "results_count": 0 }, + { "element": "Ca", "oxidation_state": -8, "results_count": 0 }, + { "element": "Ca", "oxidation_state": -7, "results_count": 0 }, + { "element": "Ca", "oxidation_state": -6, "results_count": 0 }, + { "element": "Ca", "oxidation_state": -5, "results_count": 0 }, + { "element": "Ca", "oxidation_state": -4, "results_count": 0 }, + { "element": "Ca", "oxidation_state": -3, "results_count": 0 }, + { "element": "Ca", "oxidation_state": -2, "results_count": 0 }, + { "element": "Ca", "oxidation_state": -1, "results_count": 1 }, + { "element": "Ca", "oxidation_state": 0, "results_count": 1593 }, + { "element": "Ca", "oxidation_state": 1, "results_count": 3 }, + { "element": "Ca", "oxidation_state": 2, "results_count": 16605 }, + { "element": "Ca", "oxidation_state": 3, "results_count": 0 }, + { "element": "Ca", "oxidation_state": 4, "results_count": 0 }, + { "element": "Ca", "oxidation_state": 5, "results_count": 0 }, + { "element": "Ca", "oxidation_state": 6, "results_count": 0 }, + { "element": "Ca", "oxidation_state": 7, "results_count": 0 }, + { "element": "Ca", "oxidation_state": 8, "results_count": 0 }, + { "element": "Sc", "oxidation_state": -9, "results_count": 0 }, + { "element": "Sc", "oxidation_state": -8, "results_count": 0 }, + { "element": "Sc", "oxidation_state": -7, "results_count": 0 }, + { "element": "Sc", "oxidation_state": -6, "results_count": 0 }, + { "element": "Sc", "oxidation_state": -5, "results_count": 0 }, + { "element": "Sc", "oxidation_state": -4, "results_count": 0 }, + { "element": "Sc", "oxidation_state": -3, "results_count": 0 }, + { "element": "Sc", "oxidation_state": -2, "results_count": 0 }, + { "element": "Sc", "oxidation_state": -1, "results_count": 0 }, + { "element": "Sc", "oxidation_state": 0, "results_count": 1326 }, + { "element": "Sc", "oxidation_state": 1, "results_count": 8 }, + { "element": "Sc", "oxidation_state": 2, "results_count": 22 }, + { "element": "Sc", "oxidation_state": 3, "results_count": 1775 }, + { "element": "Sc", "oxidation_state": 4, "results_count": 0 }, + { "element": "Sc", "oxidation_state": 5, "results_count": 1 }, + { "element": "Sc", "oxidation_state": 6, "results_count": 1 }, + { "element": "Sc", "oxidation_state": 7, "results_count": 0 }, + { "element": "Sc", "oxidation_state": 8, "results_count": 0 }, + { "element": "Ti", "oxidation_state": -9, "results_count": 0 }, + { "element": "Ti", "oxidation_state": -8, "results_count": 0 }, + { "element": "Ti", "oxidation_state": -7, "results_count": 0 }, + { "element": "Ti", "oxidation_state": -6, "results_count": 0 }, + { "element": "Ti", "oxidation_state": -5, "results_count": 0 }, + { "element": "Ti", "oxidation_state": -4, "results_count": 0 }, + { "element": "Ti", "oxidation_state": -3, "results_count": 0 }, + { "element": "Ti", "oxidation_state": -2, "results_count": 0 }, + { "element": "Ti", "oxidation_state": -1, "results_count": 0 }, + { "element": "Ti", "oxidation_state": 0, "results_count": 2867 }, + { "element": "Ti", "oxidation_state": 1, "results_count": 5 }, + { "element": "Ti", "oxidation_state": 2, "results_count": 160 }, + { "element": "Ti", "oxidation_state": 3, "results_count": 680 }, + { "element": "Ti", "oxidation_state": 4, "results_count": 10080 }, + { "element": "Ti", "oxidation_state": 5, "results_count": 2 }, + { "element": "Ti", "oxidation_state": 6, "results_count": 1 }, + { "element": "Ti", "oxidation_state": 7, "results_count": 0 }, + { "element": "Ti", "oxidation_state": 8, "results_count": 0 }, + { "element": "V", "oxidation_state": -9, "results_count": 0 }, + { "element": "V", "oxidation_state": -8, "results_count": 0 }, + { "element": "V", "oxidation_state": -7, "results_count": 0 }, + { "element": "V", "oxidation_state": -6, "results_count": 0 }, + { "element": "V", "oxidation_state": -5, "results_count": 0 }, + { "element": "V", "oxidation_state": -4, "results_count": 0 }, + { "element": "V", "oxidation_state": -3, "results_count": 0 }, + { "element": "V", "oxidation_state": -2, "results_count": 0 }, + { "element": "V", "oxidation_state": -1, "results_count": 0 }, + { "element": "V", "oxidation_state": 0, "results_count": 1795 }, + { "element": "V", "oxidation_state": 1, "results_count": 17 }, + { "element": "V", "oxidation_state": 2, "results_count": 174 }, + { "element": "V", "oxidation_state": 3, "results_count": 1267 }, + { "element": "V", "oxidation_state": 4, "results_count": 1214 }, + { "element": "V", "oxidation_state": 5, "results_count": 2949 }, + { "element": "V", "oxidation_state": 6, "results_count": 1 }, + { "element": "V", "oxidation_state": 7, "results_count": 0 }, + { "element": "V", "oxidation_state": 8, "results_count": 0 }, + { "element": "Cr", "oxidation_state": -9, "results_count": 0 }, + { "element": "Cr", "oxidation_state": -8, "results_count": 0 }, + { "element": "Cr", "oxidation_state": -7, "results_count": 0 }, + { "element": "Cr", "oxidation_state": -6, "results_count": 0 }, + { "element": "Cr", "oxidation_state": -5, "results_count": 0 }, + { "element": "Cr", "oxidation_state": -4, "results_count": 0 }, + { "element": "Cr", "oxidation_state": -3, "results_count": 0 }, + { "element": "Cr", "oxidation_state": -2, "results_count": 0 }, + { "element": "Cr", "oxidation_state": -1, "results_count": 0 }, + { "element": "Cr", "oxidation_state": 0, "results_count": 1905 }, + { "element": "Cr", "oxidation_state": 1, "results_count": 9 }, + { "element": "Cr", "oxidation_state": 2, "results_count": 504 }, + { "element": "Cr", "oxidation_state": 3, "results_count": 4166 }, + { "element": "Cr", "oxidation_state": 4, "results_count": 200 }, + { "element": "Cr", "oxidation_state": 5, "results_count": 126 }, + { "element": "Cr", "oxidation_state": 6, "results_count": 590 }, + { "element": "Cr", "oxidation_state": 7, "results_count": 0 }, + { "element": "Cr", "oxidation_state": 8, "results_count": 0 }, + { "element": "Mn", "oxidation_state": -9, "results_count": 0 }, + { "element": "Mn", "oxidation_state": -8, "results_count": 0 }, + { "element": "Mn", "oxidation_state": -7, "results_count": 0 }, + { "element": "Mn", "oxidation_state": -6, "results_count": 0 }, + { "element": "Mn", "oxidation_state": -5, "results_count": 0 }, + { "element": "Mn", "oxidation_state": -4, "results_count": 0 }, + { "element": "Mn", "oxidation_state": -3, "results_count": 0 }, + { "element": "Mn", "oxidation_state": -2, "results_count": 0 }, + { "element": "Mn", "oxidation_state": -1, "results_count": 8 }, + { "element": "Mn", "oxidation_state": 0, "results_count": 4920 }, + { "element": "Mn", "oxidation_state": 1, "results_count": 75 }, + { "element": "Mn", "oxidation_state": 2, "results_count": 7110 }, + { "element": "Mn", "oxidation_state": 3, "results_count": 3051 }, + { "element": "Mn", "oxidation_state": 4, "results_count": 1628 }, + { "element": "Mn", "oxidation_state": 5, "results_count": 59 }, + { "element": "Mn", "oxidation_state": 6, "results_count": 18 }, + { "element": "Mn", "oxidation_state": 7, "results_count": 84 }, + { "element": "Mn", "oxidation_state": 8, "results_count": 0 }, + { "element": "Fe", "oxidation_state": -9, "results_count": 0 }, + { "element": "Fe", "oxidation_state": -8, "results_count": 0 }, + { "element": "Fe", "oxidation_state": -7, "results_count": 0 }, + { "element": "Fe", "oxidation_state": -6, "results_count": 0 }, + { "element": "Fe", "oxidation_state": -5, "results_count": 0 }, + { "element": "Fe", "oxidation_state": -4, "results_count": 3 }, + { "element": "Fe", "oxidation_state": -3, "results_count": 0 }, + { "element": "Fe", "oxidation_state": -2, "results_count": 1 }, + { "element": "Fe", "oxidation_state": -1, "results_count": 2 }, + { "element": "Fe", "oxidation_state": 0, "results_count": 8030 }, + { "element": "Fe", "oxidation_state": 1, "results_count": 63 }, + { "element": "Fe", "oxidation_state": 2, "results_count": 7276 }, + { "element": "Fe", "oxidation_state": 3, "results_count": 11917 }, + { "element": "Fe", "oxidation_state": 4, "results_count": 230 }, + { "element": "Fe", "oxidation_state": 5, "results_count": 15 }, + { "element": "Fe", "oxidation_state": 6, "results_count": 7 }, + { "element": "Fe", "oxidation_state": 7, "results_count": 0 }, + { "element": "Fe", "oxidation_state": 8, "results_count": 0 }, + { "element": "Co", "oxidation_state": -9, "results_count": 0 }, + { "element": "Co", "oxidation_state": -8, "results_count": 0 }, + { "element": "Co", "oxidation_state": -7, "results_count": 0 }, + { "element": "Co", "oxidation_state": -6, "results_count": 0 }, + { "element": "Co", "oxidation_state": -5, "results_count": 0 }, + { "element": "Co", "oxidation_state": -4, "results_count": 0 }, + { "element": "Co", "oxidation_state": -3, "results_count": 0 }, + { "element": "Co", "oxidation_state": -2, "results_count": 0 }, + { "element": "Co", "oxidation_state": -1, "results_count": 20 }, + { "element": "Co", "oxidation_state": 0, "results_count": 6247 }, + { "element": "Co", "oxidation_state": 1, "results_count": 58 }, + { "element": "Co", "oxidation_state": 2, "results_count": 4456 }, + { "element": "Co", "oxidation_state": 3, "results_count": 2408 }, + { "element": "Co", "oxidation_state": 4, "results_count": 119 }, + { "element": "Co", "oxidation_state": 5, "results_count": 5 }, + { "element": "Co", "oxidation_state": 6, "results_count": 0 }, + { "element": "Co", "oxidation_state": 7, "results_count": 0 }, + { "element": "Co", "oxidation_state": 8, "results_count": 0 }, + { "element": "Ni", "oxidation_state": -9, "results_count": 0 }, + { "element": "Ni", "oxidation_state": -8, "results_count": 0 }, + { "element": "Ni", "oxidation_state": -7, "results_count": 0 }, + { "element": "Ni", "oxidation_state": -6, "results_count": 0 }, + { "element": "Ni", "oxidation_state": -5, "results_count": 0 }, + { "element": "Ni", "oxidation_state": -4, "results_count": 0 }, + { "element": "Ni", "oxidation_state": -3, "results_count": 0 }, + { "element": "Ni", "oxidation_state": -2, "results_count": 1 }, + { "element": "Ni", "oxidation_state": -1, "results_count": 0 }, + { "element": "Ni", "oxidation_state": 0, "results_count": 8004 }, + { "element": "Ni", "oxidation_state": 1, "results_count": 166 }, + { "element": "Ni", "oxidation_state": 2, "results_count": 4724 }, + { "element": "Ni", "oxidation_state": 3, "results_count": 879 }, + { "element": "Ni", "oxidation_state": 4, "results_count": 69 }, + { "element": "Ni", "oxidation_state": 5, "results_count": 0 }, + { "element": "Ni", "oxidation_state": 6, "results_count": 0 }, + { "element": "Ni", "oxidation_state": 7, "results_count": 0 }, + { "element": "Ni", "oxidation_state": 8, "results_count": 0 }, + { "element": "Cu", "oxidation_state": -9, "results_count": 0 }, + { "element": "Cu", "oxidation_state": -8, "results_count": 0 }, + { "element": "Cu", "oxidation_state": -7, "results_count": 0 }, + { "element": "Cu", "oxidation_state": -6, "results_count": 0 }, + { "element": "Cu", "oxidation_state": -5, "results_count": 0 }, + { "element": "Cu", "oxidation_state": -4, "results_count": 0 }, + { "element": "Cu", "oxidation_state": -3, "results_count": 0 }, + { "element": "Cu", "oxidation_state": -2, "results_count": 0 }, + { "element": "Cu", "oxidation_state": -1, "results_count": 0 }, + { "element": "Cu", "oxidation_state": 0, "results_count": 3911 }, + { "element": "Cu", "oxidation_state": 1, "results_count": 4451 }, + { "element": "Cu", "oxidation_state": 2, "results_count": 6180 }, + { "element": "Cu", "oxidation_state": 3, "results_count": 325 }, + { "element": "Cu", "oxidation_state": 4, "results_count": 4 }, + { "element": "Cu", "oxidation_state": 5, "results_count": 0 }, + { "element": "Cu", "oxidation_state": 6, "results_count": 0 }, + { "element": "Cu", "oxidation_state": 7, "results_count": 0 }, + { "element": "Cu", "oxidation_state": 8, "results_count": 0 }, + { "element": "Zn", "oxidation_state": -9, "results_count": 0 }, + { "element": "Zn", "oxidation_state": -8, "results_count": 0 }, + { "element": "Zn", "oxidation_state": -7, "results_count": 0 }, + { "element": "Zn", "oxidation_state": -6, "results_count": 0 }, + { "element": "Zn", "oxidation_state": -5, "results_count": 0 }, + { "element": "Zn", "oxidation_state": -4, "results_count": 0 }, + { "element": "Zn", "oxidation_state": -3, "results_count": 0 }, + { "element": "Zn", "oxidation_state": -2, "results_count": 0 }, + { "element": "Zn", "oxidation_state": -1, "results_count": 0 }, + { "element": "Zn", "oxidation_state": 0, "results_count": 2140 }, + { "element": "Zn", "oxidation_state": 1, "results_count": 3 }, + { "element": "Zn", "oxidation_state": 2, "results_count": 7106 }, + { "element": "Zn", "oxidation_state": 3, "results_count": 12 }, + { "element": "Zn", "oxidation_state": 4, "results_count": 4 }, + { "element": "Zn", "oxidation_state": 5, "results_count": 0 }, + { "element": "Zn", "oxidation_state": 6, "results_count": 0 }, + { "element": "Zn", "oxidation_state": 7, "results_count": 0 }, + { "element": "Zn", "oxidation_state": 8, "results_count": 0 }, + { "element": "Ga", "oxidation_state": -9, "results_count": 0 }, + { "element": "Ga", "oxidation_state": -8, "results_count": 0 }, + { "element": "Ga", "oxidation_state": -7, "results_count": 0 }, + { "element": "Ga", "oxidation_state": -6, "results_count": 0 }, + { "element": "Ga", "oxidation_state": -5, "results_count": 0 }, + { "element": "Ga", "oxidation_state": -4, "results_count": 4 }, + { "element": "Ga", "oxidation_state": -3, "results_count": 10 }, + { "element": "Ga", "oxidation_state": -2, "results_count": 1 }, + { "element": "Ga", "oxidation_state": -1, "results_count": 2 }, + { "element": "Ga", "oxidation_state": 0, "results_count": 4729 }, + { "element": "Ga", "oxidation_state": 1, "results_count": 23 }, + { "element": "Ga", "oxidation_state": 2, "results_count": 66 }, + { "element": "Ga", "oxidation_state": 3, "results_count": 4469 }, + { "element": "Ga", "oxidation_state": 4, "results_count": 15 }, + { "element": "Ga", "oxidation_state": 5, "results_count": 0 }, + { "element": "Ga", "oxidation_state": 6, "results_count": 0 }, + { "element": "Ga", "oxidation_state": 7, "results_count": 0 }, + { "element": "Ga", "oxidation_state": 8, "results_count": 0 }, + { "element": "Ge", "oxidation_state": -9, "results_count": 0 }, + { "element": "Ge", "oxidation_state": -8, "results_count": 0 }, + { "element": "Ge", "oxidation_state": -7, "results_count": 0 }, + { "element": "Ge", "oxidation_state": -6, "results_count": 0 }, + { "element": "Ge", "oxidation_state": -5, "results_count": 0 }, + { "element": "Ge", "oxidation_state": -4, "results_count": 149 }, + { "element": "Ge", "oxidation_state": -3, "results_count": 47 }, + { "element": "Ge", "oxidation_state": -2, "results_count": 38 }, + { "element": "Ge", "oxidation_state": -1, "results_count": 26 }, + { "element": "Ge", "oxidation_state": 0, "results_count": 6617 }, + { "element": "Ge", "oxidation_state": 1, "results_count": 4 }, + { "element": "Ge", "oxidation_state": 2, "results_count": 262 }, + { "element": "Ge", "oxidation_state": 3, "results_count": 68 }, + { "element": "Ge", "oxidation_state": 4, "results_count": 3802 }, + { "element": "Ge", "oxidation_state": 5, "results_count": 1 }, + { "element": "Ge", "oxidation_state": 6, "results_count": 0 }, + { "element": "Ge", "oxidation_state": 7, "results_count": 0 }, + { "element": "Ge", "oxidation_state": 8, "results_count": 0 }, + { "element": "As", "oxidation_state": -9, "results_count": 0 }, + { "element": "As", "oxidation_state": -8, "results_count": 0 }, + { "element": "As", "oxidation_state": -7, "results_count": 0 }, + { "element": "As", "oxidation_state": -6, "results_count": 0 }, + { "element": "As", "oxidation_state": -5, "results_count": 1 }, + { "element": "As", "oxidation_state": -4, "results_count": 0 }, + { "element": "As", "oxidation_state": -3, "results_count": 1941 }, + { "element": "As", "oxidation_state": -2, "results_count": 164 }, + { "element": "As", "oxidation_state": -1, "results_count": 195 }, + { "element": "As", "oxidation_state": 0, "results_count": 1294 }, + { "element": "As", "oxidation_state": 1, "results_count": 16 }, + { "element": "As", "oxidation_state": 2, "results_count": 127 }, + { "element": "As", "oxidation_state": 3, "results_count": 1002 }, + { "element": "As", "oxidation_state": 4, "results_count": 8 }, + { "element": "As", "oxidation_state": 5, "results_count": 2372 }, + { "element": "As", "oxidation_state": 6, "results_count": 0 }, + { "element": "As", "oxidation_state": 7, "results_count": 0 }, + { "element": "As", "oxidation_state": 8, "results_count": 0 }, + { "element": "Se", "oxidation_state": -9, "results_count": 0 }, + { "element": "Se", "oxidation_state": -8, "results_count": 0 }, + { "element": "Se", "oxidation_state": -7, "results_count": 0 }, + { "element": "Se", "oxidation_state": -6, "results_count": 0 }, + { "element": "Se", "oxidation_state": -5, "results_count": 0 }, + { "element": "Se", "oxidation_state": -4, "results_count": 0 }, + { "element": "Se", "oxidation_state": -3, "results_count": 0 }, + { "element": "Se", "oxidation_state": -2, "results_count": 7462 }, + { "element": "Se", "oxidation_state": -1, "results_count": 453 }, + { "element": "Se", "oxidation_state": 0, "results_count": 1004 }, + { "element": "Se", "oxidation_state": 1, "results_count": 16 }, + { "element": "Se", "oxidation_state": 2, "results_count": 51 }, + { "element": "Se", "oxidation_state": 3, "results_count": 5 }, + { "element": "Se", "oxidation_state": 4, "results_count": 1130 }, + { "element": "Se", "oxidation_state": 5, "results_count": 4 }, + { "element": "Se", "oxidation_state": 6, "results_count": 864 }, + { "element": "Se", "oxidation_state": 7, "results_count": 0 }, + { "element": "Se", "oxidation_state": 8, "results_count": 1 }, + { "element": "Br", "oxidation_state": -9, "results_count": 0 }, + { "element": "Br", "oxidation_state": -8, "results_count": 0 }, + { "element": "Br", "oxidation_state": -7, "results_count": 0 }, + { "element": "Br", "oxidation_state": -6, "results_count": 0 }, + { "element": "Br", "oxidation_state": -5, "results_count": 0 }, + { "element": "Br", "oxidation_state": -4, "results_count": 0 }, + { "element": "Br", "oxidation_state": -3, "results_count": 0 }, + { "element": "Br", "oxidation_state": -2, "results_count": 0 }, + { "element": "Br", "oxidation_state": -1, "results_count": 3513 }, + { "element": "Br", "oxidation_state": 0, "results_count": 252 }, + { "element": "Br", "oxidation_state": 1, "results_count": 12 }, + { "element": "Br", "oxidation_state": 2, "results_count": 0 }, + { "element": "Br", "oxidation_state": 3, "results_count": 33 }, + { "element": "Br", "oxidation_state": 4, "results_count": 1 }, + { "element": "Br", "oxidation_state": 5, "results_count": 110 }, + { "element": "Br", "oxidation_state": 6, "results_count": 0 }, + { "element": "Br", "oxidation_state": 7, "results_count": 16 }, + { "element": "Br", "oxidation_state": 8, "results_count": 0 }, + { "element": "Kr", "oxidation_state": -9, "results_count": 0 }, + { "element": "Kr", "oxidation_state": -8, "results_count": 0 }, + { "element": "Kr", "oxidation_state": -7, "results_count": 0 }, + { "element": "Kr", "oxidation_state": -6, "results_count": 0 }, + { "element": "Kr", "oxidation_state": -5, "results_count": 0 }, + { "element": "Kr", "oxidation_state": -4, "results_count": 0 }, + { "element": "Kr", "oxidation_state": -3, "results_count": 0 }, + { "element": "Kr", "oxidation_state": -2, "results_count": 0 }, + { "element": "Kr", "oxidation_state": -1, "results_count": 0 }, + { "element": "Kr", "oxidation_state": 0, "results_count": 7 }, + { "element": "Kr", "oxidation_state": 1, "results_count": 0 }, + { "element": "Kr", "oxidation_state": 2, "results_count": 18 }, + { "element": "Kr", "oxidation_state": 3, "results_count": 0 }, + { "element": "Kr", "oxidation_state": 4, "results_count": 0 }, + { "element": "Kr", "oxidation_state": 5, "results_count": 0 }, + { "element": "Kr", "oxidation_state": 6, "results_count": 0 }, + { "element": "Kr", "oxidation_state": 7, "results_count": 0 }, + { "element": "Kr", "oxidation_state": 8, "results_count": 0 }, + { "element": "Rb", "oxidation_state": -9, "results_count": 0 }, + { "element": "Rb", "oxidation_state": -8, "results_count": 0 }, + { "element": "Rb", "oxidation_state": -7, "results_count": 0 }, + { "element": "Rb", "oxidation_state": -6, "results_count": 0 }, + { "element": "Rb", "oxidation_state": -5, "results_count": 0 }, + { "element": "Rb", "oxidation_state": -4, "results_count": 0 }, + { "element": "Rb", "oxidation_state": -3, "results_count": 0 }, + { "element": "Rb", "oxidation_state": -2, "results_count": 0 }, + { "element": "Rb", "oxidation_state": -1, "results_count": 2 }, + { "element": "Rb", "oxidation_state": 0, "results_count": 298 }, + { "element": "Rb", "oxidation_state": 1, "results_count": 4364 }, + { "element": "Rb", "oxidation_state": 2, "results_count": 1 }, + { "element": "Rb", "oxidation_state": 3, "results_count": 0 }, + { "element": "Rb", "oxidation_state": 4, "results_count": 0 }, + { "element": "Rb", "oxidation_state": 5, "results_count": 0 }, + { "element": "Rb", "oxidation_state": 6, "results_count": 0 }, + { "element": "Rb", "oxidation_state": 7, "results_count": 0 }, + { "element": "Rb", "oxidation_state": 8, "results_count": 0 }, + { "element": "Sr", "oxidation_state": -9, "results_count": 0 }, + { "element": "Sr", "oxidation_state": -8, "results_count": 0 }, + { "element": "Sr", "oxidation_state": -7, "results_count": 0 }, + { "element": "Sr", "oxidation_state": -6, "results_count": 0 }, + { "element": "Sr", "oxidation_state": -5, "results_count": 0 }, + { "element": "Sr", "oxidation_state": -4, "results_count": 0 }, + { "element": "Sr", "oxidation_state": -3, "results_count": 0 }, + { "element": "Sr", "oxidation_state": -2, "results_count": 1 }, + { "element": "Sr", "oxidation_state": -1, "results_count": 0 }, + { "element": "Sr", "oxidation_state": 0, "results_count": 1071 }, + { "element": "Sr", "oxidation_state": 1, "results_count": 0 }, + { "element": "Sr", "oxidation_state": 2, "results_count": 13104 }, + { "element": "Sr", "oxidation_state": 3, "results_count": 0 }, + { "element": "Sr", "oxidation_state": 4, "results_count": 7 }, + { "element": "Sr", "oxidation_state": 5, "results_count": 0 }, + { "element": "Sr", "oxidation_state": 6, "results_count": 0 }, + { "element": "Sr", "oxidation_state": 7, "results_count": 0 }, + { "element": "Sr", "oxidation_state": 8, "results_count": 0 }, + { "element": "Y", "oxidation_state": -9, "results_count": 0 }, + { "element": "Y", "oxidation_state": -8, "results_count": 0 }, + { "element": "Y", "oxidation_state": -7, "results_count": 0 }, + { "element": "Y", "oxidation_state": -6, "results_count": 0 }, + { "element": "Y", "oxidation_state": -5, "results_count": 0 }, + { "element": "Y", "oxidation_state": -4, "results_count": 0 }, + { "element": "Y", "oxidation_state": -3, "results_count": 0 }, + { "element": "Y", "oxidation_state": -2, "results_count": 0 }, + { "element": "Y", "oxidation_state": -1, "results_count": 0 }, + { "element": "Y", "oxidation_state": 0, "results_count": 2805 }, + { "element": "Y", "oxidation_state": 1, "results_count": 6 }, + { "element": "Y", "oxidation_state": 2, "results_count": 48 }, + { "element": "Y", "oxidation_state": 3, "results_count": 5129 }, + { "element": "Y", "oxidation_state": 4, "results_count": 39 }, + { "element": "Y", "oxidation_state": 5, "results_count": 0 }, + { "element": "Y", "oxidation_state": 6, "results_count": 0 }, + { "element": "Y", "oxidation_state": 7, "results_count": 0 }, + { "element": "Y", "oxidation_state": 8, "results_count": 0 }, + { "element": "Zr", "oxidation_state": -9, "results_count": 0 }, + { "element": "Zr", "oxidation_state": -8, "results_count": 0 }, + { "element": "Zr", "oxidation_state": -7, "results_count": 0 }, + { "element": "Zr", "oxidation_state": -6, "results_count": 0 }, + { "element": "Zr", "oxidation_state": -5, "results_count": 0 }, + { "element": "Zr", "oxidation_state": -4, "results_count": 0 }, + { "element": "Zr", "oxidation_state": -3, "results_count": 0 }, + { "element": "Zr", "oxidation_state": -2, "results_count": 0 }, + { "element": "Zr", "oxidation_state": -1, "results_count": 0 }, + { "element": "Zr", "oxidation_state": 0, "results_count": 2770 }, + { "element": "Zr", "oxidation_state": 1, "results_count": 11 }, + { "element": "Zr", "oxidation_state": 2, "results_count": 76 }, + { "element": "Zr", "oxidation_state": 3, "results_count": 87 }, + { "element": "Zr", "oxidation_state": 4, "results_count": 4154 }, + { "element": "Zr", "oxidation_state": 5, "results_count": 0 }, + { "element": "Zr", "oxidation_state": 6, "results_count": 1 }, + { "element": "Zr", "oxidation_state": 7, "results_count": 0 }, + { "element": "Zr", "oxidation_state": 8, "results_count": 0 }, + { "element": "Nb", "oxidation_state": -9, "results_count": 0 }, + { "element": "Nb", "oxidation_state": -8, "results_count": 0 }, + { "element": "Nb", "oxidation_state": -7, "results_count": 0 }, + { "element": "Nb", "oxidation_state": -6, "results_count": 0 }, + { "element": "Nb", "oxidation_state": -5, "results_count": 0 }, + { "element": "Nb", "oxidation_state": -4, "results_count": 0 }, + { "element": "Nb", "oxidation_state": -3, "results_count": 0 }, + { "element": "Nb", "oxidation_state": -2, "results_count": 0 }, + { "element": "Nb", "oxidation_state": -1, "results_count": 0 }, + { "element": "Nb", "oxidation_state": 0, "results_count": 1681 }, + { "element": "Nb", "oxidation_state": 1, "results_count": 8 }, + { "element": "Nb", "oxidation_state": 2, "results_count": 55 }, + { "element": "Nb", "oxidation_state": 3, "results_count": 183 }, + { "element": "Nb", "oxidation_state": 4, "results_count": 413 }, + { "element": "Nb", "oxidation_state": 5, "results_count": 4838 }, + { "element": "Nb", "oxidation_state": 6, "results_count": 6 }, + { "element": "Nb", "oxidation_state": 7, "results_count": 0 }, + { "element": "Nb", "oxidation_state": 8, "results_count": 0 }, + { "element": "Mo", "oxidation_state": -9, "results_count": 0 }, + { "element": "Mo", "oxidation_state": -8, "results_count": 0 }, + { "element": "Mo", "oxidation_state": -7, "results_count": 0 }, + { "element": "Mo", "oxidation_state": -6, "results_count": 0 }, + { "element": "Mo", "oxidation_state": -5, "results_count": 0 }, + { "element": "Mo", "oxidation_state": -4, "results_count": 0 }, + { "element": "Mo", "oxidation_state": -3, "results_count": 0 }, + { "element": "Mo", "oxidation_state": -2, "results_count": 0 }, + { "element": "Mo", "oxidation_state": -1, "results_count": 6 }, + { "element": "Mo", "oxidation_state": 0, "results_count": 1588 }, + { "element": "Mo", "oxidation_state": 1, "results_count": 17 }, + { "element": "Mo", "oxidation_state": 2, "results_count": 150 }, + { "element": "Mo", "oxidation_state": 3, "results_count": 211 }, + { "element": "Mo", "oxidation_state": 4, "results_count": 427 }, + { "element": "Mo", "oxidation_state": 5, "results_count": 607 }, + { "element": "Mo", "oxidation_state": 6, "results_count": 3458 }, + { "element": "Mo", "oxidation_state": 7, "results_count": 3 }, + { "element": "Mo", "oxidation_state": 8, "results_count": 0 }, + { "element": "Tc", "oxidation_state": -9, "results_count": 0 }, + { "element": "Tc", "oxidation_state": -8, "results_count": 0 }, + { "element": "Tc", "oxidation_state": -7, "results_count": 0 }, + { "element": "Tc", "oxidation_state": -6, "results_count": 0 }, + { "element": "Tc", "oxidation_state": -5, "results_count": 0 }, + { "element": "Tc", "oxidation_state": -4, "results_count": 0 }, + { "element": "Tc", "oxidation_state": -3, "results_count": 0 }, + { "element": "Tc", "oxidation_state": -2, "results_count": 0 }, + { "element": "Tc", "oxidation_state": -1, "results_count": 0 }, + { "element": "Tc", "oxidation_state": 0, "results_count": 127 }, + { "element": "Tc", "oxidation_state": 1, "results_count": 10 }, + { "element": "Tc", "oxidation_state": 2, "results_count": 11 }, + { "element": "Tc", "oxidation_state": 3, "results_count": 21 }, + { "element": "Tc", "oxidation_state": 4, "results_count": 52 }, + { "element": "Tc", "oxidation_state": 5, "results_count": 7 }, + { "element": "Tc", "oxidation_state": 6, "results_count": 3 }, + { "element": "Tc", "oxidation_state": 7, "results_count": 61 }, + { "element": "Tc", "oxidation_state": 8, "results_count": 0 }, + { "element": "Ru", "oxidation_state": -9, "results_count": 0 }, + { "element": "Ru", "oxidation_state": -8, "results_count": 0 }, + { "element": "Ru", "oxidation_state": -7, "results_count": 0 }, + { "element": "Ru", "oxidation_state": -6, "results_count": 0 }, + { "element": "Ru", "oxidation_state": -5, "results_count": 0 }, + { "element": "Ru", "oxidation_state": -4, "results_count": 2 }, + { "element": "Ru", "oxidation_state": -3, "results_count": 1 }, + { "element": "Ru", "oxidation_state": -2, "results_count": 1 }, + { "element": "Ru", "oxidation_state": -1, "results_count": 3 }, + { "element": "Ru", "oxidation_state": 0, "results_count": 1745 }, + { "element": "Ru", "oxidation_state": 1, "results_count": 9 }, + { "element": "Ru", "oxidation_state": 2, "results_count": 279 }, + { "element": "Ru", "oxidation_state": 3, "results_count": 244 }, + { "element": "Ru", "oxidation_state": 4, "results_count": 737 }, + { "element": "Ru", "oxidation_state": 5, "results_count": 486 }, + { "element": "Ru", "oxidation_state": 6, "results_count": 73 }, + { "element": "Ru", "oxidation_state": 7, "results_count": 10 }, + { "element": "Ru", "oxidation_state": 8, "results_count": 2 }, + { "element": "Rh", "oxidation_state": -9, "results_count": 0 }, + { "element": "Rh", "oxidation_state": -8, "results_count": 0 }, + { "element": "Rh", "oxidation_state": -7, "results_count": 0 }, + { "element": "Rh", "oxidation_state": -6, "results_count": 0 }, + { "element": "Rh", "oxidation_state": -5, "results_count": 0 }, + { "element": "Rh", "oxidation_state": -4, "results_count": 0 }, + { "element": "Rh", "oxidation_state": -3, "results_count": 0 }, + { "element": "Rh", "oxidation_state": -2, "results_count": 0 }, + { "element": "Rh", "oxidation_state": -1, "results_count": 6 }, + { "element": "Rh", "oxidation_state": 0, "results_count": 2229 }, + { "element": "Rh", "oxidation_state": 1, "results_count": 19 }, + { "element": "Rh", "oxidation_state": 2, "results_count": 65 }, + { "element": "Rh", "oxidation_state": 3, "results_count": 431 }, + { "element": "Rh", "oxidation_state": 4, "results_count": 107 }, + { "element": "Rh", "oxidation_state": 5, "results_count": 6 }, + { "element": "Rh", "oxidation_state": 6, "results_count": 2 }, + { "element": "Rh", "oxidation_state": 7, "results_count": 0 }, + { "element": "Rh", "oxidation_state": 8, "results_count": 0 }, + { "element": "Pd", "oxidation_state": -9, "results_count": 0 }, + { "element": "Pd", "oxidation_state": -8, "results_count": 0 }, + { "element": "Pd", "oxidation_state": -7, "results_count": 0 }, + { "element": "Pd", "oxidation_state": -6, "results_count": 0 }, + { "element": "Pd", "oxidation_state": -5, "results_count": 0 }, + { "element": "Pd", "oxidation_state": -4, "results_count": 0 }, + { "element": "Pd", "oxidation_state": -3, "results_count": 0 }, + { "element": "Pd", "oxidation_state": -2, "results_count": 0 }, + { "element": "Pd", "oxidation_state": -1, "results_count": 0 }, + { "element": "Pd", "oxidation_state": 0, "results_count": 3138 }, + { "element": "Pd", "oxidation_state": 1, "results_count": 39 }, + { "element": "Pd", "oxidation_state": 2, "results_count": 760 }, + { "element": "Pd", "oxidation_state": 3, "results_count": 12 }, + { "element": "Pd", "oxidation_state": 4, "results_count": 152 }, + { "element": "Pd", "oxidation_state": 5, "results_count": 0 }, + { "element": "Pd", "oxidation_state": 6, "results_count": 0 }, + { "element": "Pd", "oxidation_state": 7, "results_count": 0 }, + { "element": "Pd", "oxidation_state": 8, "results_count": 0 }, + { "element": "Ag", "oxidation_state": -9, "results_count": 0 }, + { "element": "Ag", "oxidation_state": -8, "results_count": 0 }, + { "element": "Ag", "oxidation_state": -7, "results_count": 0 }, + { "element": "Ag", "oxidation_state": -6, "results_count": 0 }, + { "element": "Ag", "oxidation_state": -5, "results_count": 0 }, + { "element": "Ag", "oxidation_state": -4, "results_count": 0 }, + { "element": "Ag", "oxidation_state": -3, "results_count": 0 }, + { "element": "Ag", "oxidation_state": -2, "results_count": 0 }, + { "element": "Ag", "oxidation_state": -1, "results_count": 0 }, + { "element": "Ag", "oxidation_state": 0, "results_count": 1445 }, + { "element": "Ag", "oxidation_state": 1, "results_count": 3680 }, + { "element": "Ag", "oxidation_state": 2, "results_count": 104 }, + { "element": "Ag", "oxidation_state": 3, "results_count": 27 }, + { "element": "Ag", "oxidation_state": 4, "results_count": 1 }, + { "element": "Ag", "oxidation_state": 5, "results_count": 0 }, + { "element": "Ag", "oxidation_state": 6, "results_count": 0 }, + { "element": "Ag", "oxidation_state": 7, "results_count": 0 }, + { "element": "Ag", "oxidation_state": 8, "results_count": 0 }, + { "element": "Cd", "oxidation_state": -9, "results_count": 0 }, + { "element": "Cd", "oxidation_state": -8, "results_count": 0 }, + { "element": "Cd", "oxidation_state": -7, "results_count": 0 }, + { "element": "Cd", "oxidation_state": -6, "results_count": 0 }, + { "element": "Cd", "oxidation_state": -5, "results_count": 0 }, + { "element": "Cd", "oxidation_state": -4, "results_count": 0 }, + { "element": "Cd", "oxidation_state": -3, "results_count": 0 }, + { "element": "Cd", "oxidation_state": -2, "results_count": 0 }, + { "element": "Cd", "oxidation_state": -1, "results_count": 0 }, + { "element": "Cd", "oxidation_state": 0, "results_count": 1088 }, + { "element": "Cd", "oxidation_state": 1, "results_count": 4 }, + { "element": "Cd", "oxidation_state": 2, "results_count": 3248 }, + { "element": "Cd", "oxidation_state": 3, "results_count": 0 }, + { "element": "Cd", "oxidation_state": 4, "results_count": 0 }, + { "element": "Cd", "oxidation_state": 5, "results_count": 0 }, + { "element": "Cd", "oxidation_state": 6, "results_count": 0 }, + { "element": "Cd", "oxidation_state": 7, "results_count": 0 }, + { "element": "Cd", "oxidation_state": 8, "results_count": 0 }, + { "element": "In", "oxidation_state": -9, "results_count": 0 }, + { "element": "In", "oxidation_state": -8, "results_count": 0 }, + { "element": "In", "oxidation_state": -7, "results_count": 0 }, + { "element": "In", "oxidation_state": -6, "results_count": 0 }, + { "element": "In", "oxidation_state": -5, "results_count": 0 }, + { "element": "In", "oxidation_state": -4, "results_count": 0 }, + { "element": "In", "oxidation_state": -3, "results_count": 8 }, + { "element": "In", "oxidation_state": -2, "results_count": 3 }, + { "element": "In", "oxidation_state": -1, "results_count": 17 }, + { "element": "In", "oxidation_state": 0, "results_count": 3166 }, + { "element": "In", "oxidation_state": 1, "results_count": 195 }, + { "element": "In", "oxidation_state": 2, "results_count": 127 }, + { "element": "In", "oxidation_state": 3, "results_count": 3371 }, + { "element": "In", "oxidation_state": 4, "results_count": 2 }, + { "element": "In", "oxidation_state": 5, "results_count": 0 }, + { "element": "In", "oxidation_state": 6, "results_count": 0 }, + { "element": "In", "oxidation_state": 7, "results_count": 0 }, + { "element": "In", "oxidation_state": 8, "results_count": 0 }, + { "element": "Sn", "oxidation_state": -9, "results_count": 0 }, + { "element": "Sn", "oxidation_state": -8, "results_count": 0 }, + { "element": "Sn", "oxidation_state": -7, "results_count": 0 }, + { "element": "Sn", "oxidation_state": -6, "results_count": 0 }, + { "element": "Sn", "oxidation_state": -5, "results_count": 0 }, + { "element": "Sn", "oxidation_state": -4, "results_count": 50 }, + { "element": "Sn", "oxidation_state": -3, "results_count": 4 }, + { "element": "Sn", "oxidation_state": -2, "results_count": 8 }, + { "element": "Sn", "oxidation_state": -1, "results_count": 26 }, + { "element": "Sn", "oxidation_state": 0, "results_count": 4375 }, + { "element": "Sn", "oxidation_state": 1, "results_count": 3 }, + { "element": "Sn", "oxidation_state": 2, "results_count": 1026 }, + { "element": "Sn", "oxidation_state": 3, "results_count": 47 }, + { "element": "Sn", "oxidation_state": 4, "results_count": 2895 }, + { "element": "Sn", "oxidation_state": 5, "results_count": 0 }, + { "element": "Sn", "oxidation_state": 6, "results_count": 0 }, + { "element": "Sn", "oxidation_state": 7, "results_count": 0 }, + { "element": "Sn", "oxidation_state": 8, "results_count": 0 }, + { "element": "Sb", "oxidation_state": -9, "results_count": 0 }, + { "element": "Sb", "oxidation_state": -8, "results_count": 0 }, + { "element": "Sb", "oxidation_state": -7, "results_count": 0 }, + { "element": "Sb", "oxidation_state": -6, "results_count": 0 }, + { "element": "Sb", "oxidation_state": -5, "results_count": 0 }, + { "element": "Sb", "oxidation_state": -4, "results_count": 0 }, + { "element": "Sb", "oxidation_state": -3, "results_count": 924 }, + { "element": "Sb", "oxidation_state": -2, "results_count": 134 }, + { "element": "Sb", "oxidation_state": -1, "results_count": 115 }, + { "element": "Sb", "oxidation_state": 0, "results_count": 2952 }, + { "element": "Sb", "oxidation_state": 1, "results_count": 5 }, + { "element": "Sb", "oxidation_state": 2, "results_count": 17 }, + { "element": "Sb", "oxidation_state": 3, "results_count": 2350 }, + { "element": "Sb", "oxidation_state": 4, "results_count": 52 }, + { "element": "Sb", "oxidation_state": 5, "results_count": 2019 }, + { "element": "Sb", "oxidation_state": 6, "results_count": 1 }, + { "element": "Sb", "oxidation_state": 7, "results_count": 0 }, + { "element": "Sb", "oxidation_state": 8, "results_count": 0 }, + { "element": "Te", "oxidation_state": -9, "results_count": 0 }, + { "element": "Te", "oxidation_state": -8, "results_count": 0 }, + { "element": "Te", "oxidation_state": -7, "results_count": 0 }, + { "element": "Te", "oxidation_state": -6, "results_count": 0 }, + { "element": "Te", "oxidation_state": -5, "results_count": 0 }, + { "element": "Te", "oxidation_state": -4, "results_count": 0 }, + { "element": "Te", "oxidation_state": -3, "results_count": 6 }, + { "element": "Te", "oxidation_state": -2, "results_count": 3242 }, + { "element": "Te", "oxidation_state": -1, "results_count": 291 }, + { "element": "Te", "oxidation_state": 0, "results_count": 1257 }, + { "element": "Te", "oxidation_state": 1, "results_count": 14 }, + { "element": "Te", "oxidation_state": 2, "results_count": 51 }, + { "element": "Te", "oxidation_state": 3, "results_count": 4 }, + { "element": "Te", "oxidation_state": 4, "results_count": 1193 }, + { "element": "Te", "oxidation_state": 5, "results_count": 11 }, + { "element": "Te", "oxidation_state": 6, "results_count": 1000 }, + { "element": "Te", "oxidation_state": 7, "results_count": 0 }, + { "element": "Te", "oxidation_state": 8, "results_count": 0 }, + { "element": "I", "oxidation_state": -9, "results_count": 0 }, + { "element": "I", "oxidation_state": -8, "results_count": 0 }, + { "element": "I", "oxidation_state": -7, "results_count": 0 }, + { "element": "I", "oxidation_state": -6, "results_count": 0 }, + { "element": "I", "oxidation_state": -5, "results_count": 0 }, + { "element": "I", "oxidation_state": -4, "results_count": 0 }, + { "element": "I", "oxidation_state": -3, "results_count": 0 }, + { "element": "I", "oxidation_state": -2, "results_count": 2 }, + { "element": "I", "oxidation_state": -1, "results_count": 2971 }, + { "element": "I", "oxidation_state": 0, "results_count": 392 }, + { "element": "I", "oxidation_state": 1, "results_count": 35 }, + { "element": "I", "oxidation_state": 2, "results_count": 0 }, + { "element": "I", "oxidation_state": 3, "results_count": 33 }, + { "element": "I", "oxidation_state": 4, "results_count": 0 }, + { "element": "I", "oxidation_state": 5, "results_count": 639 }, + { "element": "I", "oxidation_state": 6, "results_count": 0 }, + { "element": "I", "oxidation_state": 7, "results_count": 152 }, + { "element": "I", "oxidation_state": 8, "results_count": 0 }, + { "element": "Xe", "oxidation_state": -9, "results_count": 0 }, + { "element": "Xe", "oxidation_state": -8, "results_count": 0 }, + { "element": "Xe", "oxidation_state": -7, "results_count": 0 }, + { "element": "Xe", "oxidation_state": -6, "results_count": 0 }, + { "element": "Xe", "oxidation_state": -5, "results_count": 0 }, + { "element": "Xe", "oxidation_state": -4, "results_count": 0 }, + { "element": "Xe", "oxidation_state": -3, "results_count": 0 }, + { "element": "Xe", "oxidation_state": -2, "results_count": 0 }, + { "element": "Xe", "oxidation_state": -1, "results_count": 0 }, + { "element": "Xe", "oxidation_state": 0, "results_count": 40 }, + { "element": "Xe", "oxidation_state": 1, "results_count": 0 }, + { "element": "Xe", "oxidation_state": 2, "results_count": 93 }, + { "element": "Xe", "oxidation_state": 3, "results_count": 1 }, + { "element": "Xe", "oxidation_state": 4, "results_count": 21 }, + { "element": "Xe", "oxidation_state": 5, "results_count": 0 }, + { "element": "Xe", "oxidation_state": 6, "results_count": 99 }, + { "element": "Xe", "oxidation_state": 7, "results_count": 0 }, + { "element": "Xe", "oxidation_state": 8, "results_count": 7 }, + { "element": "Cs", "oxidation_state": -9, "results_count": 0 }, + { "element": "Cs", "oxidation_state": -8, "results_count": 0 }, + { "element": "Cs", "oxidation_state": -7, "results_count": 0 }, + { "element": "Cs", "oxidation_state": -6, "results_count": 0 }, + { "element": "Cs", "oxidation_state": -5, "results_count": 0 }, + { "element": "Cs", "oxidation_state": -4, "results_count": 0 }, + { "element": "Cs", "oxidation_state": -3, "results_count": 0 }, + { "element": "Cs", "oxidation_state": -2, "results_count": 0 }, + { "element": "Cs", "oxidation_state": -1, "results_count": 0 }, + { "element": "Cs", "oxidation_state": 0, "results_count": 317 }, + { "element": "Cs", "oxidation_state": 1, "results_count": 6266 }, + { "element": "Cs", "oxidation_state": 2, "results_count": 0 }, + { "element": "Cs", "oxidation_state": 3, "results_count": 0 }, + { "element": "Cs", "oxidation_state": 4, "results_count": 0 }, + { "element": "Cs", "oxidation_state": 5, "results_count": 0 }, + { "element": "Cs", "oxidation_state": 6, "results_count": 0 }, + { "element": "Cs", "oxidation_state": 7, "results_count": 0 }, + { "element": "Cs", "oxidation_state": 8, "results_count": 0 }, + { "element": "Ba", "oxidation_state": -9, "results_count": 0 }, + { "element": "Ba", "oxidation_state": -8, "results_count": 0 }, + { "element": "Ba", "oxidation_state": -7, "results_count": 0 }, + { "element": "Ba", "oxidation_state": -6, "results_count": 0 }, + { "element": "Ba", "oxidation_state": -5, "results_count": 0 }, + { "element": "Ba", "oxidation_state": -4, "results_count": 0 }, + { "element": "Ba", "oxidation_state": -3, "results_count": 0 }, + { "element": "Ba", "oxidation_state": -2, "results_count": 0 }, + { "element": "Ba", "oxidation_state": -1, "results_count": 0 }, + { "element": "Ba", "oxidation_state": 0, "results_count": 1443 }, + { "element": "Ba", "oxidation_state": 1, "results_count": 1 }, + { "element": "Ba", "oxidation_state": 2, "results_count": 14917 }, + { "element": "Ba", "oxidation_state": 3, "results_count": 0 }, + { "element": "Ba", "oxidation_state": 4, "results_count": 0 }, + { "element": "Ba", "oxidation_state": 5, "results_count": 0 }, + { "element": "Ba", "oxidation_state": 6, "results_count": 0 }, + { "element": "Ba", "oxidation_state": 7, "results_count": 0 }, + { "element": "Ba", "oxidation_state": 8, "results_count": 0 }, + { "element": "La", "oxidation_state": -9, "results_count": 0 }, + { "element": "La", "oxidation_state": -8, "results_count": 0 }, + { "element": "La", "oxidation_state": -7, "results_count": 0 }, + { "element": "La", "oxidation_state": -6, "results_count": 0 }, + { "element": "La", "oxidation_state": -5, "results_count": 0 }, + { "element": "La", "oxidation_state": -4, "results_count": 0 }, + { "element": "La", "oxidation_state": -3, "results_count": 0 }, + { "element": "La", "oxidation_state": -2, "results_count": 0 }, + { "element": "La", "oxidation_state": -1, "results_count": 0 }, + { "element": "La", "oxidation_state": 0, "results_count": 2975 }, + { "element": "La", "oxidation_state": 1, "results_count": 7 }, + { "element": "La", "oxidation_state": 2, "results_count": 74 }, + { "element": "La", "oxidation_state": 3, "results_count": 11447 }, + { "element": "La", "oxidation_state": 4, "results_count": 13 }, + { "element": "La", "oxidation_state": 5, "results_count": 0 }, + { "element": "La", "oxidation_state": 6, "results_count": 0 }, + { "element": "La", "oxidation_state": 7, "results_count": 0 }, + { "element": "La", "oxidation_state": 8, "results_count": 0 }, + { "element": "Ce", "oxidation_state": -9, "results_count": 0 }, + { "element": "Ce", "oxidation_state": -8, "results_count": 0 }, + { "element": "Ce", "oxidation_state": -7, "results_count": 0 }, + { "element": "Ce", "oxidation_state": -6, "results_count": 0 }, + { "element": "Ce", "oxidation_state": -5, "results_count": 0 }, + { "element": "Ce", "oxidation_state": -4, "results_count": 0 }, + { "element": "Ce", "oxidation_state": -3, "results_count": 0 }, + { "element": "Ce", "oxidation_state": -2, "results_count": 0 }, + { "element": "Ce", "oxidation_state": -1, "results_count": 1 }, + { "element": "Ce", "oxidation_state": 0, "results_count": 3536 }, + { "element": "Ce", "oxidation_state": 1, "results_count": 1 }, + { "element": "Ce", "oxidation_state": 2, "results_count": 80 }, + { "element": "Ce", "oxidation_state": 3, "results_count": 2318 }, + { "element": "Ce", "oxidation_state": 4, "results_count": 1343 }, + { "element": "Ce", "oxidation_state": 5, "results_count": 0 }, + { "element": "Ce", "oxidation_state": 6, "results_count": 0 }, + { "element": "Ce", "oxidation_state": 7, "results_count": 0 }, + { "element": "Ce", "oxidation_state": 8, "results_count": 0 }, + { "element": "Pr", "oxidation_state": -9, "results_count": 0 }, + { "element": "Pr", "oxidation_state": -8, "results_count": 0 }, + { "element": "Pr", "oxidation_state": -7, "results_count": 0 }, + { "element": "Pr", "oxidation_state": -6, "results_count": 0 }, + { "element": "Pr", "oxidation_state": -5, "results_count": 0 }, + { "element": "Pr", "oxidation_state": -4, "results_count": 0 }, + { "element": "Pr", "oxidation_state": -3, "results_count": 0 }, + { "element": "Pr", "oxidation_state": -2, "results_count": 0 }, + { "element": "Pr", "oxidation_state": -1, "results_count": 0 }, + { "element": "Pr", "oxidation_state": 0, "results_count": 2021 }, + { "element": "Pr", "oxidation_state": 1, "results_count": 1 }, + { "element": "Pr", "oxidation_state": 2, "results_count": 62 }, + { "element": "Pr", "oxidation_state": 3, "results_count": 2631 }, + { "element": "Pr", "oxidation_state": 4, "results_count": 138 }, + { "element": "Pr", "oxidation_state": 5, "results_count": 0 }, + { "element": "Pr", "oxidation_state": 6, "results_count": 0 }, + { "element": "Pr", "oxidation_state": 7, "results_count": 0 }, + { "element": "Pr", "oxidation_state": 8, "results_count": 0 }, + { "element": "Nd", "oxidation_state": -9, "results_count": 0 }, + { "element": "Nd", "oxidation_state": -8, "results_count": 0 }, + { "element": "Nd", "oxidation_state": -7, "results_count": 0 }, + { "element": "Nd", "oxidation_state": -6, "results_count": 0 }, + { "element": "Nd", "oxidation_state": -5, "results_count": 0 }, + { "element": "Nd", "oxidation_state": -4, "results_count": 0 }, + { "element": "Nd", "oxidation_state": -3, "results_count": 0 }, + { "element": "Nd", "oxidation_state": -2, "results_count": 0 }, + { "element": "Nd", "oxidation_state": -1, "results_count": 0 }, + { "element": "Nd", "oxidation_state": 0, "results_count": 2615 }, + { "element": "Nd", "oxidation_state": 1, "results_count": 1 }, + { "element": "Nd", "oxidation_state": 2, "results_count": 63 }, + { "element": "Nd", "oxidation_state": 3, "results_count": 4124 }, + { "element": "Nd", "oxidation_state": 4, "results_count": 25 }, + { "element": "Nd", "oxidation_state": 5, "results_count": 4 }, + { "element": "Nd", "oxidation_state": 6, "results_count": 0 }, + { "element": "Nd", "oxidation_state": 7, "results_count": 0 }, + { "element": "Nd", "oxidation_state": 8, "results_count": 0 }, + { "element": "Pm", "oxidation_state": -9, "results_count": 0 }, + { "element": "Pm", "oxidation_state": -8, "results_count": 0 }, + { "element": "Pm", "oxidation_state": -7, "results_count": 0 }, + { "element": "Pm", "oxidation_state": -6, "results_count": 0 }, + { "element": "Pm", "oxidation_state": -5, "results_count": 0 }, + { "element": "Pm", "oxidation_state": -4, "results_count": 0 }, + { "element": "Pm", "oxidation_state": -3, "results_count": 0 }, + { "element": "Pm", "oxidation_state": -2, "results_count": 0 }, + { "element": "Pm", "oxidation_state": -1, "results_count": 0 }, + { "element": "Pm", "oxidation_state": 0, "results_count": 1 }, + { "element": "Pm", "oxidation_state": 1, "results_count": 0 }, + { "element": "Pm", "oxidation_state": 2, "results_count": 0 }, + { "element": "Pm", "oxidation_state": 3, "results_count": 3 }, + { "element": "Pm", "oxidation_state": 4, "results_count": 0 }, + { "element": "Pm", "oxidation_state": 5, "results_count": 0 }, + { "element": "Pm", "oxidation_state": 6, "results_count": 0 }, + { "element": "Pm", "oxidation_state": 7, "results_count": 0 }, + { "element": "Pm", "oxidation_state": 8, "results_count": 0 }, + { "element": "Sm", "oxidation_state": -9, "results_count": 0 }, + { "element": "Sm", "oxidation_state": -8, "results_count": 0 }, + { "element": "Sm", "oxidation_state": -7, "results_count": 0 }, + { "element": "Sm", "oxidation_state": -6, "results_count": 0 }, + { "element": "Sm", "oxidation_state": -5, "results_count": 0 }, + { "element": "Sm", "oxidation_state": -4, "results_count": 0 }, + { "element": "Sm", "oxidation_state": -3, "results_count": 0 }, + { "element": "Sm", "oxidation_state": -2, "results_count": 0 }, + { "element": "Sm", "oxidation_state": -1, "results_count": 0 }, + { "element": "Sm", "oxidation_state": 0, "results_count": 1814 }, + { "element": "Sm", "oxidation_state": 1, "results_count": 2 }, + { "element": "Sm", "oxidation_state": 2, "results_count": 129 }, + { "element": "Sm", "oxidation_state": 3, "results_count": 2169 }, + { "element": "Sm", "oxidation_state": 4, "results_count": 5 }, + { "element": "Sm", "oxidation_state": 5, "results_count": 0 }, + { "element": "Sm", "oxidation_state": 6, "results_count": 0 }, + { "element": "Sm", "oxidation_state": 7, "results_count": 0 }, + { "element": "Sm", "oxidation_state": 8, "results_count": 0 }, + { "element": "Eu", "oxidation_state": -9, "results_count": 0 }, + { "element": "Eu", "oxidation_state": -8, "results_count": 0 }, + { "element": "Eu", "oxidation_state": -7, "results_count": 0 }, + { "element": "Eu", "oxidation_state": -6, "results_count": 0 }, + { "element": "Eu", "oxidation_state": -5, "results_count": 0 }, + { "element": "Eu", "oxidation_state": -4, "results_count": 0 }, + { "element": "Eu", "oxidation_state": -3, "results_count": 0 }, + { "element": "Eu", "oxidation_state": -2, "results_count": 0 }, + { "element": "Eu", "oxidation_state": -1, "results_count": 0 }, + { "element": "Eu", "oxidation_state": 0, "results_count": 1188 }, + { "element": "Eu", "oxidation_state": 1, "results_count": 1 }, + { "element": "Eu", "oxidation_state": 2, "results_count": 951 }, + { "element": "Eu", "oxidation_state": 3, "results_count": 1801 }, + { "element": "Eu", "oxidation_state": 4, "results_count": 9 }, + { "element": "Eu", "oxidation_state": 5, "results_count": 1 }, + { "element": "Eu", "oxidation_state": 6, "results_count": 4 }, + { "element": "Eu", "oxidation_state": 7, "results_count": 0 }, + { "element": "Eu", "oxidation_state": 8, "results_count": 0 }, + { "element": "Gd", "oxidation_state": -9, "results_count": 0 }, + { "element": "Gd", "oxidation_state": -8, "results_count": 0 }, + { "element": "Gd", "oxidation_state": -7, "results_count": 0 }, + { "element": "Gd", "oxidation_state": -6, "results_count": 0 }, + { "element": "Gd", "oxidation_state": -5, "results_count": 0 }, + { "element": "Gd", "oxidation_state": -4, "results_count": 0 }, + { "element": "Gd", "oxidation_state": -3, "results_count": 0 }, + { "element": "Gd", "oxidation_state": -2, "results_count": 0 }, + { "element": "Gd", "oxidation_state": -1, "results_count": 0 }, + { "element": "Gd", "oxidation_state": 0, "results_count": 2734 }, + { "element": "Gd", "oxidation_state": 1, "results_count": 2 }, + { "element": "Gd", "oxidation_state": 2, "results_count": 34 }, + { "element": "Gd", "oxidation_state": 3, "results_count": 2659 }, + { "element": "Gd", "oxidation_state": 4, "results_count": 9 }, + { "element": "Gd", "oxidation_state": 5, "results_count": 0 }, + { "element": "Gd", "oxidation_state": 6, "results_count": 0 }, + { "element": "Gd", "oxidation_state": 7, "results_count": 0 }, + { "element": "Gd", "oxidation_state": 8, "results_count": 0 }, + { "element": "Tb", "oxidation_state": -9, "results_count": 0 }, + { "element": "Tb", "oxidation_state": -8, "results_count": 0 }, + { "element": "Tb", "oxidation_state": -7, "results_count": 0 }, + { "element": "Tb", "oxidation_state": -6, "results_count": 0 }, + { "element": "Tb", "oxidation_state": -5, "results_count": 0 }, + { "element": "Tb", "oxidation_state": -4, "results_count": 0 }, + { "element": "Tb", "oxidation_state": -3, "results_count": 0 }, + { "element": "Tb", "oxidation_state": -2, "results_count": 0 }, + { "element": "Tb", "oxidation_state": -1, "results_count": 0 }, + { "element": "Tb", "oxidation_state": 0, "results_count": 2172 }, + { "element": "Tb", "oxidation_state": 1, "results_count": 5 }, + { "element": "Tb", "oxidation_state": 2, "results_count": 29 }, + { "element": "Tb", "oxidation_state": 3, "results_count": 1411 }, + { "element": "Tb", "oxidation_state": 4, "results_count": 113 }, + { "element": "Tb", "oxidation_state": 5, "results_count": 1 }, + { "element": "Tb", "oxidation_state": 6, "results_count": 0 }, + { "element": "Tb", "oxidation_state": 7, "results_count": 0 }, + { "element": "Tb", "oxidation_state": 8, "results_count": 0 }, + { "element": "Dy", "oxidation_state": -9, "results_count": 0 }, + { "element": "Dy", "oxidation_state": -8, "results_count": 0 }, + { "element": "Dy", "oxidation_state": -7, "results_count": 0 }, + { "element": "Dy", "oxidation_state": -6, "results_count": 0 }, + { "element": "Dy", "oxidation_state": -5, "results_count": 0 }, + { "element": "Dy", "oxidation_state": -4, "results_count": 0 }, + { "element": "Dy", "oxidation_state": -3, "results_count": 0 }, + { "element": "Dy", "oxidation_state": -2, "results_count": 0 }, + { "element": "Dy", "oxidation_state": -1, "results_count": 0 }, + { "element": "Dy", "oxidation_state": 0, "results_count": 2020 }, + { "element": "Dy", "oxidation_state": 1, "results_count": 0 }, + { "element": "Dy", "oxidation_state": 2, "results_count": 36 }, + { "element": "Dy", "oxidation_state": 3, "results_count": 1396 }, + { "element": "Dy", "oxidation_state": 4, "results_count": 6 }, + { "element": "Dy", "oxidation_state": 5, "results_count": 1 }, + { "element": "Dy", "oxidation_state": 6, "results_count": 1 }, + { "element": "Dy", "oxidation_state": 7, "results_count": 0 }, + { "element": "Dy", "oxidation_state": 8, "results_count": 0 }, + { "element": "Ho", "oxidation_state": -9, "results_count": 0 }, + { "element": "Ho", "oxidation_state": -8, "results_count": 0 }, + { "element": "Ho", "oxidation_state": -7, "results_count": 0 }, + { "element": "Ho", "oxidation_state": -6, "results_count": 0 }, + { "element": "Ho", "oxidation_state": -5, "results_count": 0 }, + { "element": "Ho", "oxidation_state": -4, "results_count": 0 }, + { "element": "Ho", "oxidation_state": -3, "results_count": 0 }, + { "element": "Ho", "oxidation_state": -2, "results_count": 0 }, + { "element": "Ho", "oxidation_state": -1, "results_count": 0 }, + { "element": "Ho", "oxidation_state": 0, "results_count": 1958 }, + { "element": "Ho", "oxidation_state": 1, "results_count": 0 }, + { "element": "Ho", "oxidation_state": 2, "results_count": 15 }, + { "element": "Ho", "oxidation_state": 3, "results_count": 1329 }, + { "element": "Ho", "oxidation_state": 4, "results_count": 2 }, + { "element": "Ho", "oxidation_state": 5, "results_count": 1 }, + { "element": "Ho", "oxidation_state": 6, "results_count": 1 }, + { "element": "Ho", "oxidation_state": 7, "results_count": 0 }, + { "element": "Ho", "oxidation_state": 8, "results_count": 0 }, + { "element": "Er", "oxidation_state": -9, "results_count": 0 }, + { "element": "Er", "oxidation_state": -8, "results_count": 0 }, + { "element": "Er", "oxidation_state": -7, "results_count": 0 }, + { "element": "Er", "oxidation_state": -6, "results_count": 0 }, + { "element": "Er", "oxidation_state": -5, "results_count": 0 }, + { "element": "Er", "oxidation_state": -4, "results_count": 0 }, + { "element": "Er", "oxidation_state": -3, "results_count": 0 }, + { "element": "Er", "oxidation_state": -2, "results_count": 0 }, + { "element": "Er", "oxidation_state": -1, "results_count": 0 }, + { "element": "Er", "oxidation_state": 0, "results_count": 2141 }, + { "element": "Er", "oxidation_state": 1, "results_count": 0 }, + { "element": "Er", "oxidation_state": 2, "results_count": 37 }, + { "element": "Er", "oxidation_state": 3, "results_count": 1400 }, + { "element": "Er", "oxidation_state": 4, "results_count": 14 }, + { "element": "Er", "oxidation_state": 5, "results_count": 1 }, + { "element": "Er", "oxidation_state": 6, "results_count": 1 }, + { "element": "Er", "oxidation_state": 7, "results_count": 0 }, + { "element": "Er", "oxidation_state": 8, "results_count": 0 }, + { "element": "Tm", "oxidation_state": -9, "results_count": 0 }, + { "element": "Tm", "oxidation_state": -8, "results_count": 0 }, + { "element": "Tm", "oxidation_state": -7, "results_count": 0 }, + { "element": "Tm", "oxidation_state": -6, "results_count": 0 }, + { "element": "Tm", "oxidation_state": -5, "results_count": 0 }, + { "element": "Tm", "oxidation_state": -4, "results_count": 0 }, + { "element": "Tm", "oxidation_state": -3, "results_count": 0 }, + { "element": "Tm", "oxidation_state": -2, "results_count": 0 }, + { "element": "Tm", "oxidation_state": -1, "results_count": 0 }, + { "element": "Tm", "oxidation_state": 0, "results_count": 1041 }, + { "element": "Tm", "oxidation_state": 1, "results_count": 0 }, + { "element": "Tm", "oxidation_state": 2, "results_count": 35 }, + { "element": "Tm", "oxidation_state": 3, "results_count": 655 }, + { "element": "Tm", "oxidation_state": 4, "results_count": 2 }, + { "element": "Tm", "oxidation_state": 5, "results_count": 0 }, + { "element": "Tm", "oxidation_state": 6, "results_count": 0 }, + { "element": "Tm", "oxidation_state": 7, "results_count": 0 }, + { "element": "Tm", "oxidation_state": 8, "results_count": 0 }, + { "element": "Yb", "oxidation_state": -9, "results_count": 0 }, + { "element": "Yb", "oxidation_state": -8, "results_count": 0 }, + { "element": "Yb", "oxidation_state": -7, "results_count": 0 }, + { "element": "Yb", "oxidation_state": -6, "results_count": 0 }, + { "element": "Yb", "oxidation_state": -5, "results_count": 0 }, + { "element": "Yb", "oxidation_state": -4, "results_count": 0 }, + { "element": "Yb", "oxidation_state": -3, "results_count": 0 }, + { "element": "Yb", "oxidation_state": -2, "results_count": 0 }, + { "element": "Yb", "oxidation_state": -1, "results_count": 0 }, + { "element": "Yb", "oxidation_state": 0, "results_count": 1430 }, + { "element": "Yb", "oxidation_state": 1, "results_count": 0 }, + { "element": "Yb", "oxidation_state": 2, "results_count": 264 }, + { "element": "Yb", "oxidation_state": 3, "results_count": 1471 }, + { "element": "Yb", "oxidation_state": 4, "results_count": 4 }, + { "element": "Yb", "oxidation_state": 5, "results_count": 0 }, + { "element": "Yb", "oxidation_state": 6, "results_count": 0 }, + { "element": "Yb", "oxidation_state": 7, "results_count": 0 }, + { "element": "Yb", "oxidation_state": 8, "results_count": 0 }, + { "element": "Lu", "oxidation_state": -9, "results_count": 0 }, + { "element": "Lu", "oxidation_state": -8, "results_count": 0 }, + { "element": "Lu", "oxidation_state": -7, "results_count": 0 }, + { "element": "Lu", "oxidation_state": -6, "results_count": 0 }, + { "element": "Lu", "oxidation_state": -5, "results_count": 0 }, + { "element": "Lu", "oxidation_state": -4, "results_count": 0 }, + { "element": "Lu", "oxidation_state": -3, "results_count": 0 }, + { "element": "Lu", "oxidation_state": -2, "results_count": 0 }, + { "element": "Lu", "oxidation_state": -1, "results_count": 0 }, + { "element": "Lu", "oxidation_state": 0, "results_count": 983 }, + { "element": "Lu", "oxidation_state": 1, "results_count": 0 }, + { "element": "Lu", "oxidation_state": 2, "results_count": 8 }, + { "element": "Lu", "oxidation_state": 3, "results_count": 987 }, + { "element": "Lu", "oxidation_state": 4, "results_count": 2 }, + { "element": "Lu", "oxidation_state": 5, "results_count": 0 }, + { "element": "Lu", "oxidation_state": 6, "results_count": 0 }, + { "element": "Lu", "oxidation_state": 7, "results_count": 0 }, + { "element": "Lu", "oxidation_state": 8, "results_count": 0 }, + { "element": "Hf", "oxidation_state": -9, "results_count": 0 }, + { "element": "Hf", "oxidation_state": -8, "results_count": 0 }, + { "element": "Hf", "oxidation_state": -7, "results_count": 0 }, + { "element": "Hf", "oxidation_state": -6, "results_count": 0 }, + { "element": "Hf", "oxidation_state": -5, "results_count": 0 }, + { "element": "Hf", "oxidation_state": -4, "results_count": 0 }, + { "element": "Hf", "oxidation_state": -3, "results_count": 0 }, + { "element": "Hf", "oxidation_state": -2, "results_count": 0 }, + { "element": "Hf", "oxidation_state": -1, "results_count": 0 }, + { "element": "Hf", "oxidation_state": 0, "results_count": 1270 }, + { "element": "Hf", "oxidation_state": 1, "results_count": 2 }, + { "element": "Hf", "oxidation_state": 2, "results_count": 14 }, + { "element": "Hf", "oxidation_state": 3, "results_count": 42 }, + { "element": "Hf", "oxidation_state": 4, "results_count": 709 }, + { "element": "Hf", "oxidation_state": 5, "results_count": 0 }, + { "element": "Hf", "oxidation_state": 6, "results_count": 0 }, + { "element": "Hf", "oxidation_state": 7, "results_count": 0 }, + { "element": "Hf", "oxidation_state": 8, "results_count": 0 }, + { "element": "Ta", "oxidation_state": -9, "results_count": 0 }, + { "element": "Ta", "oxidation_state": -8, "results_count": 0 }, + { "element": "Ta", "oxidation_state": -7, "results_count": 0 }, + { "element": "Ta", "oxidation_state": -6, "results_count": 0 }, + { "element": "Ta", "oxidation_state": -5, "results_count": 0 }, + { "element": "Ta", "oxidation_state": -4, "results_count": 0 }, + { "element": "Ta", "oxidation_state": -3, "results_count": 0 }, + { "element": "Ta", "oxidation_state": -2, "results_count": 0 }, + { "element": "Ta", "oxidation_state": -1, "results_count": 0 }, + { "element": "Ta", "oxidation_state": 0, "results_count": 1083 }, + { "element": "Ta", "oxidation_state": 1, "results_count": 24 }, + { "element": "Ta", "oxidation_state": 2, "results_count": 40 }, + { "element": "Ta", "oxidation_state": 3, "results_count": 81 }, + { "element": "Ta", "oxidation_state": 4, "results_count": 181 }, + { "element": "Ta", "oxidation_state": 5, "results_count": 2451 }, + { "element": "Ta", "oxidation_state": 6, "results_count": 3 }, + { "element": "Ta", "oxidation_state": 7, "results_count": 1 }, + { "element": "Ta", "oxidation_state": 8, "results_count": 0 }, + { "element": "W", "oxidation_state": -9, "results_count": 0 }, + { "element": "W", "oxidation_state": -8, "results_count": 0 }, + { "element": "W", "oxidation_state": -7, "results_count": 0 }, + { "element": "W", "oxidation_state": -6, "results_count": 0 }, + { "element": "W", "oxidation_state": -5, "results_count": 0 }, + { "element": "W", "oxidation_state": -4, "results_count": 0 }, + { "element": "W", "oxidation_state": -3, "results_count": 0 }, + { "element": "W", "oxidation_state": -2, "results_count": 0 }, + { "element": "W", "oxidation_state": -1, "results_count": 0 }, + { "element": "W", "oxidation_state": 0, "results_count": 773 }, + { "element": "W", "oxidation_state": 1, "results_count": 1 }, + { "element": "W", "oxidation_state": 2, "results_count": 58 }, + { "element": "W", "oxidation_state": 3, "results_count": 38 }, + { "element": "W", "oxidation_state": 4, "results_count": 148 }, + { "element": "W", "oxidation_state": 5, "results_count": 123 }, + { "element": "W", "oxidation_state": 6, "results_count": 4551 }, + { "element": "W", "oxidation_state": 7, "results_count": 1 }, + { "element": "W", "oxidation_state": 8, "results_count": 0 }, + { "element": "Re", "oxidation_state": -9, "results_count": 0 }, + { "element": "Re", "oxidation_state": -8, "results_count": 0 }, + { "element": "Re", "oxidation_state": -7, "results_count": 0 }, + { "element": "Re", "oxidation_state": -6, "results_count": 0 }, + { "element": "Re", "oxidation_state": -5, "results_count": 0 }, + { "element": "Re", "oxidation_state": -4, "results_count": 0 }, + { "element": "Re", "oxidation_state": -3, "results_count": 0 }, + { "element": "Re", "oxidation_state": -2, "results_count": 0 }, + { "element": "Re", "oxidation_state": -1, "results_count": 1 }, + { "element": "Re", "oxidation_state": 0, "results_count": 754 }, + { "element": "Re", "oxidation_state": 1, "results_count": 39 }, + { "element": "Re", "oxidation_state": 2, "results_count": 12 }, + { "element": "Re", "oxidation_state": 3, "results_count": 272 }, + { "element": "Re", "oxidation_state": 4, "results_count": 176 }, + { "element": "Re", "oxidation_state": 5, "results_count": 186 }, + { "element": "Re", "oxidation_state": 6, "results_count": 154 }, + { "element": "Re", "oxidation_state": 7, "results_count": 366 }, + { "element": "Re", "oxidation_state": 8, "results_count": 0 }, + { "element": "Os", "oxidation_state": -9, "results_count": 0 }, + { "element": "Os", "oxidation_state": -8, "results_count": 0 }, + { "element": "Os", "oxidation_state": -7, "results_count": 0 }, + { "element": "Os", "oxidation_state": -6, "results_count": 0 }, + { "element": "Os", "oxidation_state": -5, "results_count": 0 }, + { "element": "Os", "oxidation_state": -4, "results_count": 0 }, + { "element": "Os", "oxidation_state": -3, "results_count": 0 }, + { "element": "Os", "oxidation_state": -2, "results_count": 0 }, + { "element": "Os", "oxidation_state": -1, "results_count": 0 }, + { "element": "Os", "oxidation_state": 0, "results_count": 723 }, + { "element": "Os", "oxidation_state": 1, "results_count": 10 }, + { "element": "Os", "oxidation_state": 2, "results_count": 74 }, + { "element": "Os", "oxidation_state": 3, "results_count": 46 }, + { "element": "Os", "oxidation_state": 4, "results_count": 90 }, + { "element": "Os", "oxidation_state": 5, "results_count": 163 }, + { "element": "Os", "oxidation_state": 6, "results_count": 97 }, + { "element": "Os", "oxidation_state": 7, "results_count": 28 }, + { "element": "Os", "oxidation_state": 8, "results_count": 34 }, + { "element": "Ir", "oxidation_state": -9, "results_count": 0 }, + { "element": "Ir", "oxidation_state": -8, "results_count": 0 }, + { "element": "Ir", "oxidation_state": -7, "results_count": 0 }, + { "element": "Ir", "oxidation_state": -6, "results_count": 0 }, + { "element": "Ir", "oxidation_state": -5, "results_count": 0 }, + { "element": "Ir", "oxidation_state": -4, "results_count": 0 }, + { "element": "Ir", "oxidation_state": -3, "results_count": 0 }, + { "element": "Ir", "oxidation_state": -2, "results_count": 0 }, + { "element": "Ir", "oxidation_state": -1, "results_count": 2 }, + { "element": "Ir", "oxidation_state": 0, "results_count": 1469 }, + { "element": "Ir", "oxidation_state": 1, "results_count": 8 }, + { "element": "Ir", "oxidation_state": 2, "results_count": 47 }, + { "element": "Ir", "oxidation_state": 3, "results_count": 224 }, + { "element": "Ir", "oxidation_state": 4, "results_count": 334 }, + { "element": "Ir", "oxidation_state": 5, "results_count": 159 }, + { "element": "Ir", "oxidation_state": 6, "results_count": 23 }, + { "element": "Ir", "oxidation_state": 7, "results_count": 0 }, + { "element": "Ir", "oxidation_state": 8, "results_count": 0 }, + { "element": "Pt", "oxidation_state": -9, "results_count": 0 }, + { "element": "Pt", "oxidation_state": -8, "results_count": 0 }, + { "element": "Pt", "oxidation_state": -7, "results_count": 0 }, + { "element": "Pt", "oxidation_state": -6, "results_count": 0 }, + { "element": "Pt", "oxidation_state": -5, "results_count": 0 }, + { "element": "Pt", "oxidation_state": -4, "results_count": 0 }, + { "element": "Pt", "oxidation_state": -3, "results_count": 0 }, + { "element": "Pt", "oxidation_state": -2, "results_count": 4 }, + { "element": "Pt", "oxidation_state": -1, "results_count": 0 }, + { "element": "Pt", "oxidation_state": 0, "results_count": 2365 }, + { "element": "Pt", "oxidation_state": 1, "results_count": 4 }, + { "element": "Pt", "oxidation_state": 2, "results_count": 417 }, + { "element": "Pt", "oxidation_state": 3, "results_count": 48 }, + { "element": "Pt", "oxidation_state": 4, "results_count": 505 }, + { "element": "Pt", "oxidation_state": 5, "results_count": 7 }, + { "element": "Pt", "oxidation_state": 6, "results_count": 3 }, + { "element": "Pt", "oxidation_state": 7, "results_count": 0 }, + { "element": "Pt", "oxidation_state": 8, "results_count": 0 }, + { "element": "Au", "oxidation_state": -9, "results_count": 0 }, + { "element": "Au", "oxidation_state": -8, "results_count": 0 }, + { "element": "Au", "oxidation_state": -7, "results_count": 0 }, + { "element": "Au", "oxidation_state": -6, "results_count": 0 }, + { "element": "Au", "oxidation_state": -5, "results_count": 0 }, + { "element": "Au", "oxidation_state": -4, "results_count": 0 }, + { "element": "Au", "oxidation_state": -3, "results_count": 0 }, + { "element": "Au", "oxidation_state": -2, "results_count": 0 }, + { "element": "Au", "oxidation_state": -1, "results_count": 23 }, + { "element": "Au", "oxidation_state": 0, "results_count": 1926 }, + { "element": "Au", "oxidation_state": 1, "results_count": 370 }, + { "element": "Au", "oxidation_state": 2, "results_count": 27 }, + { "element": "Au", "oxidation_state": 3, "results_count": 315 }, + { "element": "Au", "oxidation_state": 4, "results_count": 1 }, + { "element": "Au", "oxidation_state": 5, "results_count": 27 }, + { "element": "Au", "oxidation_state": 6, "results_count": 0 }, + { "element": "Au", "oxidation_state": 7, "results_count": 0 }, + { "element": "Au", "oxidation_state": 8, "results_count": 0 }, + { "element": "Hg", "oxidation_state": -9, "results_count": 0 }, + { "element": "Hg", "oxidation_state": -8, "results_count": 0 }, + { "element": "Hg", "oxidation_state": -7, "results_count": 0 }, + { "element": "Hg", "oxidation_state": -6, "results_count": 0 }, + { "element": "Hg", "oxidation_state": -5, "results_count": 0 }, + { "element": "Hg", "oxidation_state": -4, "results_count": 0 }, + { "element": "Hg", "oxidation_state": -3, "results_count": 0 }, + { "element": "Hg", "oxidation_state": -2, "results_count": 0 }, + { "element": "Hg", "oxidation_state": -1, "results_count": 0 }, + { "element": "Hg", "oxidation_state": 0, "results_count": 458 }, + { "element": "Hg", "oxidation_state": 1, "results_count": 161 }, + { "element": "Hg", "oxidation_state": 2, "results_count": 1756 }, + { "element": "Hg", "oxidation_state": 3, "results_count": 0 }, + { "element": "Hg", "oxidation_state": 4, "results_count": 1 }, + { "element": "Hg", "oxidation_state": 5, "results_count": 0 }, + { "element": "Hg", "oxidation_state": 6, "results_count": 0 }, + { "element": "Hg", "oxidation_state": 7, "results_count": 0 }, + { "element": "Hg", "oxidation_state": 8, "results_count": 0 }, + { "element": "Tl", "oxidation_state": -9, "results_count": 0 }, + { "element": "Tl", "oxidation_state": -8, "results_count": 0 }, + { "element": "Tl", "oxidation_state": -7, "results_count": 0 }, + { "element": "Tl", "oxidation_state": -6, "results_count": 0 }, + { "element": "Tl", "oxidation_state": -5, "results_count": 0 }, + { "element": "Tl", "oxidation_state": -4, "results_count": 0 }, + { "element": "Tl", "oxidation_state": -3, "results_count": 0 }, + { "element": "Tl", "oxidation_state": -2, "results_count": 3 }, + { "element": "Tl", "oxidation_state": -1, "results_count": 9 }, + { "element": "Tl", "oxidation_state": 0, "results_count": 553 }, + { "element": "Tl", "oxidation_state": 1, "results_count": 1737 }, + { "element": "Tl", "oxidation_state": 2, "results_count": 9 }, + { "element": "Tl", "oxidation_state": 3, "results_count": 723 }, + { "element": "Tl", "oxidation_state": 4, "results_count": 0 }, + { "element": "Tl", "oxidation_state": 5, "results_count": 1 }, + { "element": "Tl", "oxidation_state": 6, "results_count": 0 }, + { "element": "Tl", "oxidation_state": 7, "results_count": 0 }, + { "element": "Tl", "oxidation_state": 8, "results_count": 0 }, + { "element": "Pb", "oxidation_state": -9, "results_count": 0 }, + { "element": "Pb", "oxidation_state": -8, "results_count": 0 }, + { "element": "Pb", "oxidation_state": -7, "results_count": 0 }, + { "element": "Pb", "oxidation_state": -6, "results_count": 0 }, + { "element": "Pb", "oxidation_state": -5, "results_count": 0 }, + { "element": "Pb", "oxidation_state": -4, "results_count": 7 }, + { "element": "Pb", "oxidation_state": -3, "results_count": 0 }, + { "element": "Pb", "oxidation_state": -2, "results_count": 0 }, + { "element": "Pb", "oxidation_state": -1, "results_count": 6 }, + { "element": "Pb", "oxidation_state": 0, "results_count": 882 }, + { "element": "Pb", "oxidation_state": 1, "results_count": 4 }, + { "element": "Pb", "oxidation_state": 2, "results_count": 5690 }, + { "element": "Pb", "oxidation_state": 3, "results_count": 19 }, + { "element": "Pb", "oxidation_state": 4, "results_count": 382 }, + { "element": "Pb", "oxidation_state": 5, "results_count": 0 }, + { "element": "Pb", "oxidation_state": 6, "results_count": 0 }, + { "element": "Pb", "oxidation_state": 7, "results_count": 0 }, + { "element": "Pb", "oxidation_state": 8, "results_count": 0 }, + { "element": "Bi", "oxidation_state": -9, "results_count": 0 }, + { "element": "Bi", "oxidation_state": -8, "results_count": 0 }, + { "element": "Bi", "oxidation_state": -7, "results_count": 0 }, + { "element": "Bi", "oxidation_state": -6, "results_count": 0 }, + { "element": "Bi", "oxidation_state": -5, "results_count": 0 }, + { "element": "Bi", "oxidation_state": -4, "results_count": 0 }, + { "element": "Bi", "oxidation_state": -3, "results_count": 184 }, + { "element": "Bi", "oxidation_state": -2, "results_count": 36 }, + { "element": "Bi", "oxidation_state": -1, "results_count": 16 }, + { "element": "Bi", "oxidation_state": 0, "results_count": 1160 }, + { "element": "Bi", "oxidation_state": 1, "results_count": 35 }, + { "element": "Bi", "oxidation_state": 2, "results_count": 76 }, + { "element": "Bi", "oxidation_state": 3, "results_count": 6486 }, + { "element": "Bi", "oxidation_state": 4, "results_count": 85 }, + { "element": "Bi", "oxidation_state": 5, "results_count": 261 }, + { "element": "Bi", "oxidation_state": 6, "results_count": 0 }, + { "element": "Bi", "oxidation_state": 7, "results_count": 0 }, + { "element": "Bi", "oxidation_state": 8, "results_count": 0 }, + { "element": "Po", "oxidation_state": -9, "results_count": 0 }, + { "element": "Po", "oxidation_state": -8, "results_count": 0 }, + { "element": "Po", "oxidation_state": -7, "results_count": 0 }, + { "element": "Po", "oxidation_state": -6, "results_count": 0 }, + { "element": "Po", "oxidation_state": -5, "results_count": 0 }, + { "element": "Po", "oxidation_state": -4, "results_count": 0 }, + { "element": "Po", "oxidation_state": -3, "results_count": 0 }, + { "element": "Po", "oxidation_state": -2, "results_count": 1 }, + { "element": "Po", "oxidation_state": -1, "results_count": 0 }, + { "element": "Po", "oxidation_state": 0, "results_count": 30 }, + { "element": "Po", "oxidation_state": 1, "results_count": 0 }, + { "element": "Po", "oxidation_state": 2, "results_count": 1 }, + { "element": "Po", "oxidation_state": 3, "results_count": 0 }, + { "element": "Po", "oxidation_state": 4, "results_count": 6 }, + { "element": "Po", "oxidation_state": 5, "results_count": 0 }, + { "element": "Po", "oxidation_state": 6, "results_count": 0 }, + { "element": "Po", "oxidation_state": 7, "results_count": 0 }, + { "element": "Po", "oxidation_state": 8, "results_count": 0 }, + { "element": "At", "oxidation_state": -9, "results_count": 0 }, + { "element": "At", "oxidation_state": -8, "results_count": 0 }, + { "element": "At", "oxidation_state": -7, "results_count": 0 }, + { "element": "At", "oxidation_state": -6, "results_count": 0 }, + { "element": "At", "oxidation_state": -5, "results_count": 0 }, + { "element": "At", "oxidation_state": -4, "results_count": 0 }, + { "element": "At", "oxidation_state": -3, "results_count": 0 }, + { "element": "At", "oxidation_state": -2, "results_count": 0 }, + { "element": "At", "oxidation_state": -1, "results_count": 0 }, + { "element": "At", "oxidation_state": 0, "results_count": 0 }, + { "element": "At", "oxidation_state": 1, "results_count": 0 }, + { "element": "At", "oxidation_state": 2, "results_count": 0 }, + { "element": "At", "oxidation_state": 3, "results_count": 0 }, + { "element": "At", "oxidation_state": 4, "results_count": 0 }, + { "element": "At", "oxidation_state": 5, "results_count": 0 }, + { "element": "At", "oxidation_state": 6, "results_count": 0 }, + { "element": "At", "oxidation_state": 7, "results_count": 0 }, + { "element": "At", "oxidation_state": 8, "results_count": 0 }, + { "element": "Rn", "oxidation_state": -9, "results_count": 0 }, + { "element": "Rn", "oxidation_state": -8, "results_count": 0 }, + { "element": "Rn", "oxidation_state": -7, "results_count": 0 }, + { "element": "Rn", "oxidation_state": -6, "results_count": 0 }, + { "element": "Rn", "oxidation_state": -5, "results_count": 0 }, + { "element": "Rn", "oxidation_state": -4, "results_count": 0 }, + { "element": "Rn", "oxidation_state": -3, "results_count": 0 }, + { "element": "Rn", "oxidation_state": -2, "results_count": 0 }, + { "element": "Rn", "oxidation_state": -1, "results_count": 0 }, + { "element": "Rn", "oxidation_state": 0, "results_count": 0 }, + { "element": "Rn", "oxidation_state": 1, "results_count": 0 }, + { "element": "Rn", "oxidation_state": 2, "results_count": 0 }, + { "element": "Rn", "oxidation_state": 3, "results_count": 0 }, + { "element": "Rn", "oxidation_state": 4, "results_count": 0 }, + { "element": "Rn", "oxidation_state": 5, "results_count": 0 }, + { "element": "Rn", "oxidation_state": 6, "results_count": 0 }, + { "element": "Rn", "oxidation_state": 7, "results_count": 0 }, + { "element": "Rn", "oxidation_state": 8, "results_count": 0 }, + { "element": "Fr", "oxidation_state": -9, "results_count": 0 }, + { "element": "Fr", "oxidation_state": -8, "results_count": 0 }, + { "element": "Fr", "oxidation_state": -7, "results_count": 0 }, + { "element": "Fr", "oxidation_state": -6, "results_count": 0 }, + { "element": "Fr", "oxidation_state": -5, "results_count": 0 }, + { "element": "Fr", "oxidation_state": -4, "results_count": 0 }, + { "element": "Fr", "oxidation_state": -3, "results_count": 0 }, + { "element": "Fr", "oxidation_state": -2, "results_count": 0 }, + { "element": "Fr", "oxidation_state": -1, "results_count": 0 }, + { "element": "Fr", "oxidation_state": 0, "results_count": 0 }, + { "element": "Fr", "oxidation_state": 1, "results_count": 0 }, + { "element": "Fr", "oxidation_state": 2, "results_count": 0 }, + { "element": "Fr", "oxidation_state": 3, "results_count": 0 }, + { "element": "Fr", "oxidation_state": 4, "results_count": 0 }, + { "element": "Fr", "oxidation_state": 5, "results_count": 0 }, + { "element": "Fr", "oxidation_state": 6, "results_count": 0 }, + { "element": "Fr", "oxidation_state": 7, "results_count": 0 }, + { "element": "Fr", "oxidation_state": 8, "results_count": 0 }, + { "element": "Ra", "oxidation_state": -9, "results_count": 0 }, + { "element": "Ra", "oxidation_state": -8, "results_count": 0 }, + { "element": "Ra", "oxidation_state": -7, "results_count": 0 }, + { "element": "Ra", "oxidation_state": -6, "results_count": 0 }, + { "element": "Ra", "oxidation_state": -5, "results_count": 0 }, + { "element": "Ra", "oxidation_state": -4, "results_count": 0 }, + { "element": "Ra", "oxidation_state": -3, "results_count": 0 }, + { "element": "Ra", "oxidation_state": -2, "results_count": 0 }, + { "element": "Ra", "oxidation_state": -1, "results_count": 0 }, + { "element": "Ra", "oxidation_state": 0, "results_count": 1 }, + { "element": "Ra", "oxidation_state": 1, "results_count": 0 }, + { "element": "Ra", "oxidation_state": 2, "results_count": 5 }, + { "element": "Ra", "oxidation_state": 3, "results_count": 0 }, + { "element": "Ra", "oxidation_state": 4, "results_count": 0 }, + { "element": "Ra", "oxidation_state": 5, "results_count": 0 }, + { "element": "Ra", "oxidation_state": 6, "results_count": 0 }, + { "element": "Ra", "oxidation_state": 7, "results_count": 0 }, + { "element": "Ra", "oxidation_state": 8, "results_count": 0 }, + { "element": "Ac", "oxidation_state": -9, "results_count": 0 }, + { "element": "Ac", "oxidation_state": -8, "results_count": 0 }, + { "element": "Ac", "oxidation_state": -7, "results_count": 0 }, + { "element": "Ac", "oxidation_state": -6, "results_count": 0 }, + { "element": "Ac", "oxidation_state": -5, "results_count": 0 }, + { "element": "Ac", "oxidation_state": -4, "results_count": 0 }, + { "element": "Ac", "oxidation_state": -3, "results_count": 0 }, + { "element": "Ac", "oxidation_state": -2, "results_count": 0 }, + { "element": "Ac", "oxidation_state": -1, "results_count": 0 }, + { "element": "Ac", "oxidation_state": 0, "results_count": 2 }, + { "element": "Ac", "oxidation_state": 1, "results_count": 0 }, + { "element": "Ac", "oxidation_state": 2, "results_count": 0 }, + { "element": "Ac", "oxidation_state": 3, "results_count": 7 }, + { "element": "Ac", "oxidation_state": 4, "results_count": 0 }, + { "element": "Ac", "oxidation_state": 5, "results_count": 0 }, + { "element": "Ac", "oxidation_state": 6, "results_count": 0 }, + { "element": "Ac", "oxidation_state": 7, "results_count": 0 }, + { "element": "Ac", "oxidation_state": 8, "results_count": 0 }, + { "element": "Th", "oxidation_state": -9, "results_count": 0 }, + { "element": "Th", "oxidation_state": -8, "results_count": 0 }, + { "element": "Th", "oxidation_state": -7, "results_count": 0 }, + { "element": "Th", "oxidation_state": -6, "results_count": 0 }, + { "element": "Th", "oxidation_state": -5, "results_count": 0 }, + { "element": "Th", "oxidation_state": -4, "results_count": 0 }, + { "element": "Th", "oxidation_state": -3, "results_count": 0 }, + { "element": "Th", "oxidation_state": -2, "results_count": 0 }, + { "element": "Th", "oxidation_state": -1, "results_count": 0 }, + { "element": "Th", "oxidation_state": 0, "results_count": 994 }, + { "element": "Th", "oxidation_state": 1, "results_count": 0 }, + { "element": "Th", "oxidation_state": 2, "results_count": 26 }, + { "element": "Th", "oxidation_state": 3, "results_count": 64 }, + { "element": "Th", "oxidation_state": 4, "results_count": 816 }, + { "element": "Th", "oxidation_state": 5, "results_count": 4 }, + { "element": "Th", "oxidation_state": 6, "results_count": 1 }, + { "element": "Th", "oxidation_state": 7, "results_count": 0 }, + { "element": "Th", "oxidation_state": 8, "results_count": 0 }, + { "element": "Pa", "oxidation_state": -9, "results_count": 0 }, + { "element": "Pa", "oxidation_state": -8, "results_count": 0 }, + { "element": "Pa", "oxidation_state": -7, "results_count": 0 }, + { "element": "Pa", "oxidation_state": -6, "results_count": 0 }, + { "element": "Pa", "oxidation_state": -5, "results_count": 0 }, + { "element": "Pa", "oxidation_state": -4, "results_count": 0 }, + { "element": "Pa", "oxidation_state": -3, "results_count": 0 }, + { "element": "Pa", "oxidation_state": -2, "results_count": 0 }, + { "element": "Pa", "oxidation_state": -1, "results_count": 0 }, + { "element": "Pa", "oxidation_state": 0, "results_count": 21 }, + { "element": "Pa", "oxidation_state": 1, "results_count": 0 }, + { "element": "Pa", "oxidation_state": 2, "results_count": 1 }, + { "element": "Pa", "oxidation_state": 3, "results_count": 3 }, + { "element": "Pa", "oxidation_state": 4, "results_count": 13 }, + { "element": "Pa", "oxidation_state": 5, "results_count": 35 }, + { "element": "Pa", "oxidation_state": 6, "results_count": 0 }, + { "element": "Pa", "oxidation_state": 7, "results_count": 0 }, + { "element": "Pa", "oxidation_state": 8, "results_count": 0 }, + { "element": "U", "oxidation_state": -9, "results_count": 0 }, + { "element": "U", "oxidation_state": -8, "results_count": 0 }, + { "element": "U", "oxidation_state": -7, "results_count": 0 }, + { "element": "U", "oxidation_state": -6, "results_count": 0 }, + { "element": "U", "oxidation_state": -5, "results_count": 0 }, + { "element": "U", "oxidation_state": -4, "results_count": 0 }, + { "element": "U", "oxidation_state": -3, "results_count": 1 }, + { "element": "U", "oxidation_state": -2, "results_count": 0 }, + { "element": "U", "oxidation_state": -1, "results_count": 0 }, + { "element": "U", "oxidation_state": 0, "results_count": 1892 }, + { "element": "U", "oxidation_state": 1, "results_count": 1 }, + { "element": "U", "oxidation_state": 2, "results_count": 74 }, + { "element": "U", "oxidation_state": 3, "results_count": 280 }, + { "element": "U", "oxidation_state": 4, "results_count": 944 }, + { "element": "U", "oxidation_state": 5, "results_count": 135 }, + { "element": "U", "oxidation_state": 6, "results_count": 1868 }, + { "element": "U", "oxidation_state": 7, "results_count": 0 }, + { "element": "U", "oxidation_state": 8, "results_count": 0 }, + { "element": "Np", "oxidation_state": -9, "results_count": 0 }, + { "element": "Np", "oxidation_state": -8, "results_count": 0 }, + { "element": "Np", "oxidation_state": -7, "results_count": 0 }, + { "element": "Np", "oxidation_state": -6, "results_count": 0 }, + { "element": "Np", "oxidation_state": -5, "results_count": 0 }, + { "element": "Np", "oxidation_state": -4, "results_count": 0 }, + { "element": "Np", "oxidation_state": -3, "results_count": 0 }, + { "element": "Np", "oxidation_state": -2, "results_count": 0 }, + { "element": "Np", "oxidation_state": -1, "results_count": 1 }, + { "element": "Np", "oxidation_state": 0, "results_count": 165 }, + { "element": "Np", "oxidation_state": 1, "results_count": 0 }, + { "element": "Np", "oxidation_state": 2, "results_count": 6 }, + { "element": "Np", "oxidation_state": 3, "results_count": 41 }, + { "element": "Np", "oxidation_state": 4, "results_count": 87 }, + { "element": "Np", "oxidation_state": 5, "results_count": 99 }, + { "element": "Np", "oxidation_state": 6, "results_count": 102 }, + { "element": "Np", "oxidation_state": 7, "results_count": 24 }, + { "element": "Np", "oxidation_state": 8, "results_count": 0 }, + { "element": "Pu", "oxidation_state": -9, "results_count": 0 }, + { "element": "Pu", "oxidation_state": -8, "results_count": 0 }, + { "element": "Pu", "oxidation_state": -7, "results_count": 0 }, + { "element": "Pu", "oxidation_state": -6, "results_count": 0 }, + { "element": "Pu", "oxidation_state": -5, "results_count": 0 }, + { "element": "Pu", "oxidation_state": -4, "results_count": 0 }, + { "element": "Pu", "oxidation_state": -3, "results_count": 0 }, + { "element": "Pu", "oxidation_state": -2, "results_count": 0 }, + { "element": "Pu", "oxidation_state": -1, "results_count": 0 }, + { "element": "Pu", "oxidation_state": 0, "results_count": 420 }, + { "element": "Pu", "oxidation_state": 1, "results_count": 0 }, + { "element": "Pu", "oxidation_state": 2, "results_count": 15 }, + { "element": "Pu", "oxidation_state": 3, "results_count": 83 }, + { "element": "Pu", "oxidation_state": 4, "results_count": 71 }, + { "element": "Pu", "oxidation_state": 5, "results_count": 5 }, + { "element": "Pu", "oxidation_state": 6, "results_count": 33 }, + { "element": "Pu", "oxidation_state": 7, "results_count": 12 }, + { "element": "Pu", "oxidation_state": 8, "results_count": 0 }, + { "element": "Am", "oxidation_state": -9, "results_count": 0 }, + { "element": "Am", "oxidation_state": -8, "results_count": 0 }, + { "element": "Am", "oxidation_state": -7, "results_count": 0 }, + { "element": "Am", "oxidation_state": -6, "results_count": 0 }, + { "element": "Am", "oxidation_state": -5, "results_count": 0 }, + { "element": "Am", "oxidation_state": -4, "results_count": 0 }, + { "element": "Am", "oxidation_state": -3, "results_count": 0 }, + { "element": "Am", "oxidation_state": -2, "results_count": 0 }, + { "element": "Am", "oxidation_state": -1, "results_count": 0 }, + { "element": "Am", "oxidation_state": 0, "results_count": 64 }, + { "element": "Am", "oxidation_state": 1, "results_count": 1 }, + { "element": "Am", "oxidation_state": 2, "results_count": 6 }, + { "element": "Am", "oxidation_state": 3, "results_count": 54 }, + { "element": "Am", "oxidation_state": 4, "results_count": 11 }, + { "element": "Am", "oxidation_state": 5, "results_count": 4 }, + { "element": "Am", "oxidation_state": 6, "results_count": 3 }, + { "element": "Am", "oxidation_state": 7, "results_count": 0 }, + { "element": "Am", "oxidation_state": 8, "results_count": 0 }, + { "element": "Cm", "oxidation_state": -9, "results_count": 0 }, + { "element": "Cm", "oxidation_state": -8, "results_count": 0 }, + { "element": "Cm", "oxidation_state": -7, "results_count": 0 }, + { "element": "Cm", "oxidation_state": -6, "results_count": 0 }, + { "element": "Cm", "oxidation_state": -5, "results_count": 0 }, + { "element": "Cm", "oxidation_state": -4, "results_count": 0 }, + { "element": "Cm", "oxidation_state": -3, "results_count": 0 }, + { "element": "Cm", "oxidation_state": -2, "results_count": 0 }, + { "element": "Cm", "oxidation_state": -1, "results_count": 0 }, + { "element": "Cm", "oxidation_state": 0, "results_count": 39 }, + { "element": "Cm", "oxidation_state": 1, "results_count": 0 }, + { "element": "Cm", "oxidation_state": 2, "results_count": 1 }, + { "element": "Cm", "oxidation_state": 3, "results_count": 33 }, + { "element": "Cm", "oxidation_state": 4, "results_count": 5 }, + { "element": "Cm", "oxidation_state": 5, "results_count": 0 }, + { "element": "Cm", "oxidation_state": 6, "results_count": 0 }, + { "element": "Cm", "oxidation_state": 7, "results_count": 0 }, + { "element": "Cm", "oxidation_state": 8, "results_count": 0 }, + { "element": "Bk", "oxidation_state": -9, "results_count": 0 }, + { "element": "Bk", "oxidation_state": -8, "results_count": 0 }, + { "element": "Bk", "oxidation_state": -7, "results_count": 0 }, + { "element": "Bk", "oxidation_state": -6, "results_count": 0 }, + { "element": "Bk", "oxidation_state": -5, "results_count": 0 }, + { "element": "Bk", "oxidation_state": -4, "results_count": 0 }, + { "element": "Bk", "oxidation_state": -3, "results_count": 0 }, + { "element": "Bk", "oxidation_state": -2, "results_count": 0 }, + { "element": "Bk", "oxidation_state": -1, "results_count": 0 }, + { "element": "Bk", "oxidation_state": 0, "results_count": 16 }, + { "element": "Bk", "oxidation_state": 1, "results_count": 0 }, + { "element": "Bk", "oxidation_state": 2, "results_count": 1 }, + { "element": "Bk", "oxidation_state": 3, "results_count": 10 }, + { "element": "Bk", "oxidation_state": 4, "results_count": 4 }, + { "element": "Bk", "oxidation_state": 5, "results_count": 0 }, + { "element": "Bk", "oxidation_state": 6, "results_count": 0 }, + { "element": "Bk", "oxidation_state": 7, "results_count": 0 }, + { "element": "Bk", "oxidation_state": 8, "results_count": 0 }, + { "element": "Cf", "oxidation_state": -9, "results_count": 0 }, + { "element": "Cf", "oxidation_state": -8, "results_count": 0 }, + { "element": "Cf", "oxidation_state": -7, "results_count": 0 }, + { "element": "Cf", "oxidation_state": -6, "results_count": 0 }, + { "element": "Cf", "oxidation_state": -5, "results_count": 0 }, + { "element": "Cf", "oxidation_state": -4, "results_count": 0 }, + { "element": "Cf", "oxidation_state": -3, "results_count": 0 }, + { "element": "Cf", "oxidation_state": -2, "results_count": 0 }, + { "element": "Cf", "oxidation_state": -1, "results_count": 0 }, + { "element": "Cf", "oxidation_state": 0, "results_count": 12 }, + { "element": "Cf", "oxidation_state": 1, "results_count": 0 }, + { "element": "Cf", "oxidation_state": 2, "results_count": 1 }, + { "element": "Cf", "oxidation_state": 3, "results_count": 17 }, + { "element": "Cf", "oxidation_state": 4, "results_count": 1 }, + { "element": "Cf", "oxidation_state": 5, "results_count": 1 }, + { "element": "Cf", "oxidation_state": 6, "results_count": 1 }, + { "element": "Cf", "oxidation_state": 7, "results_count": 0 }, + { "element": "Cf", "oxidation_state": 8, "results_count": 0 }, + { "element": "Es", "oxidation_state": -9, "results_count": 0 }, + { "element": "Es", "oxidation_state": -8, "results_count": 0 }, + { "element": "Es", "oxidation_state": -7, "results_count": 0 }, + { "element": "Es", "oxidation_state": -6, "results_count": 0 }, + { "element": "Es", "oxidation_state": -5, "results_count": 0 }, + { "element": "Es", "oxidation_state": -4, "results_count": 0 }, + { "element": "Es", "oxidation_state": -3, "results_count": 0 }, + { "element": "Es", "oxidation_state": -2, "results_count": 0 }, + { "element": "Es", "oxidation_state": -1, "results_count": 0 }, + { "element": "Es", "oxidation_state": 0, "results_count": 0 }, + { "element": "Es", "oxidation_state": 1, "results_count": 0 }, + { "element": "Es", "oxidation_state": 2, "results_count": 0 }, + { "element": "Es", "oxidation_state": 3, "results_count": 3 }, + { "element": "Es", "oxidation_state": 4, "results_count": 0 }, + { "element": "Es", "oxidation_state": 5, "results_count": 0 }, + { "element": "Es", "oxidation_state": 6, "results_count": 0 }, + { "element": "Es", "oxidation_state": 7, "results_count": 0 }, + { "element": "Es", "oxidation_state": 8, "results_count": 0 }, + { "element": "Fm", "oxidation_state": -9, "results_count": 0 }, + { "element": "Fm", "oxidation_state": -8, "results_count": 0 }, + { "element": "Fm", "oxidation_state": -7, "results_count": 0 }, + { "element": "Fm", "oxidation_state": -6, "results_count": 0 }, + { "element": "Fm", "oxidation_state": -5, "results_count": 0 }, + { "element": "Fm", "oxidation_state": -4, "results_count": 0 }, + { "element": "Fm", "oxidation_state": -3, "results_count": 0 }, + { "element": "Fm", "oxidation_state": -2, "results_count": 0 }, + { "element": "Fm", "oxidation_state": -1, "results_count": 0 }, + { "element": "Fm", "oxidation_state": 0, "results_count": 0 }, + { "element": "Fm", "oxidation_state": 1, "results_count": 0 }, + { "element": "Fm", "oxidation_state": 2, "results_count": 0 }, + { "element": "Fm", "oxidation_state": 3, "results_count": 0 }, + { "element": "Fm", "oxidation_state": 4, "results_count": 0 }, + { "element": "Fm", "oxidation_state": 5, "results_count": 0 }, + { "element": "Fm", "oxidation_state": 6, "results_count": 0 }, + { "element": "Fm", "oxidation_state": 7, "results_count": 0 }, + { "element": "Fm", "oxidation_state": 8, "results_count": 0 }, + { "element": "Md", "oxidation_state": -9, "results_count": 0 }, + { "element": "Md", "oxidation_state": -8, "results_count": 0 }, + { "element": "Md", "oxidation_state": -7, "results_count": 0 }, + { "element": "Md", "oxidation_state": -6, "results_count": 0 }, + { "element": "Md", "oxidation_state": -5, "results_count": 0 }, + { "element": "Md", "oxidation_state": -4, "results_count": 0 }, + { "element": "Md", "oxidation_state": -3, "results_count": 0 }, + { "element": "Md", "oxidation_state": -2, "results_count": 0 }, + { "element": "Md", "oxidation_state": -1, "results_count": 0 }, + { "element": "Md", "oxidation_state": 0, "results_count": 0 }, + { "element": "Md", "oxidation_state": 1, "results_count": 0 }, + { "element": "Md", "oxidation_state": 2, "results_count": 0 }, + { "element": "Md", "oxidation_state": 3, "results_count": 0 }, + { "element": "Md", "oxidation_state": 4, "results_count": 0 }, + { "element": "Md", "oxidation_state": 5, "results_count": 0 }, + { "element": "Md", "oxidation_state": 6, "results_count": 0 }, + { "element": "Md", "oxidation_state": 7, "results_count": 0 }, + { "element": "Md", "oxidation_state": 8, "results_count": 0 }, + { "element": "No", "oxidation_state": -9, "results_count": 0 }, + { "element": "No", "oxidation_state": -8, "results_count": 0 }, + { "element": "No", "oxidation_state": -7, "results_count": 0 }, + { "element": "No", "oxidation_state": -6, "results_count": 0 }, + { "element": "No", "oxidation_state": -5, "results_count": 0 }, + { "element": "No", "oxidation_state": -4, "results_count": 0 }, + { "element": "No", "oxidation_state": -3, "results_count": 0 }, + { "element": "No", "oxidation_state": -2, "results_count": 0 }, + { "element": "No", "oxidation_state": -1, "results_count": 0 }, + { "element": "No", "oxidation_state": 0, "results_count": 0 }, + { "element": "No", "oxidation_state": 1, "results_count": 0 }, + { "element": "No", "oxidation_state": 2, "results_count": 0 }, + { "element": "No", "oxidation_state": 3, "results_count": 0 }, + { "element": "No", "oxidation_state": 4, "results_count": 0 }, + { "element": "No", "oxidation_state": 5, "results_count": 0 }, + { "element": "No", "oxidation_state": 6, "results_count": 0 }, + { "element": "No", "oxidation_state": 7, "results_count": 0 }, + { "element": "No", "oxidation_state": 8, "results_count": 0 }, + { "element": "Lr", "oxidation_state": -9, "results_count": 0 }, + { "element": "Lr", "oxidation_state": -8, "results_count": 0 }, + { "element": "Lr", "oxidation_state": -7, "results_count": 0 }, + { "element": "Lr", "oxidation_state": -6, "results_count": 0 }, + { "element": "Lr", "oxidation_state": -5, "results_count": 0 }, + { "element": "Lr", "oxidation_state": -4, "results_count": 0 }, + { "element": "Lr", "oxidation_state": -3, "results_count": 0 }, + { "element": "Lr", "oxidation_state": -2, "results_count": 0 }, + { "element": "Lr", "oxidation_state": -1, "results_count": 0 }, + { "element": "Lr", "oxidation_state": 0, "results_count": 0 }, + { "element": "Lr", "oxidation_state": 1, "results_count": 0 }, + { "element": "Lr", "oxidation_state": 2, "results_count": 0 }, + { "element": "Lr", "oxidation_state": 3, "results_count": 0 }, + { "element": "Lr", "oxidation_state": 4, "results_count": 0 }, + { "element": "Lr", "oxidation_state": 5, "results_count": 0 }, + { "element": "Lr", "oxidation_state": 6, "results_count": 0 }, + { "element": "Lr", "oxidation_state": 7, "results_count": 0 }, + { "element": "Lr", "oxidation_state": 8, "results_count": 0 } +] diff --git a/smact/data/oxidation_states_icsd24_filtered.txt b/smact/data/oxidation_states_icsd24_filtered.txt new file mode 100644 index 000000000..0c6e6ff3f --- /dev/null +++ b/smact/data/oxidation_states_icsd24_filtered.txt @@ -0,0 +1,107 @@ +# +# Oxidation state set +# Source: ICSD (2024, V2), filtered for > 5 reports +# +H -1 1 +He +Li 1 +Be 2 +B -3 -2 -1 1 2 3 +C -4 -3 -2 -1 1 2 3 4 +N -5 -4 -3 -2 -1 1 2 3 4 5 +O -2 -1 +F -1 +Ne +Na 1 +Mg 2 +Al 3 +Si -4 -3 -2 -1 2 3 4 +P -3 -2 -1 1 2 3 4 5 +S -2 -1 1 2 3 4 5 6 +Cl -1 1 3 5 7 +Ar +K 1 +Ca 2 +Sc 1 2 3 +Ti 2 3 4 +V 1 2 3 4 5 +Cr 1 2 3 4 5 6 +Mn -1 1 2 3 4 5 6 7 +Fe 1 2 3 4 5 6 +Co -1 1 2 3 4 +Ni 1 2 3 4 +Cu 1 2 3 +Zn 2 3 +Ga -3 1 2 3 4 +Ge -4 -3 -2 -1 2 3 4 +As -3 -2 -1 1 2 3 4 5 +Se -2 -1 1 2 4 6 +Br -1 1 3 5 7 +Kr 2 +Rb 1 +Sr 2 4 +Y 1 2 3 4 +Zr 1 2 3 4 +Nb 1 2 3 4 5 6 +Mo -1 1 2 3 4 5 6 +Tc 1 2 3 4 5 7 +Ru 1 2 3 4 5 6 7 +Rh -1 1 2 3 4 5 +Pd 1 2 3 4 +Ag 1 2 3 +Cd 2 +In -3 -1 1 2 3 +Sn -4 -2 -1 2 3 4 +Sb -3 -2 -1 2 3 4 5 +Te -3 -2 -1 1 2 4 5 6 +I -1 1 3 5 7 +Xe 2 4 6 8 +Cs 1 +Ba 2 +La 1 2 3 4 +Ce 2 3 4 +Pr 2 3 4 +Nd 2 3 4 +Pm +Sm 2 3 +Eu 2 3 4 +Gd 2 3 4 +Tb 2 3 4 +Dy 2 3 4 +Ho 2 3 +Er 2 3 4 +Tm 2 3 +Yb 2 3 +Lu 2 3 +Hf 2 3 4 +Ta 1 2 3 4 5 +W 2 3 4 5 6 +Re 1 2 3 4 5 6 7 +Os 1 2 3 4 5 6 7 8 +Ir 1 2 3 4 5 6 +Pt 2 3 4 5 +Au -1 1 2 3 5 +Hg 1 2 +Tl -1 1 2 3 +Pb -4 -1 2 3 4 +Bi -3 -2 -1 1 2 3 4 5 +Po 4 +At +Rn +Fr +Ra +Ac 3 +Th 2 3 4 +Pa 4 5 +U 2 3 4 5 6 +Np 2 3 4 5 6 7 +Pu 2 3 4 6 7 +Am 2 3 4 +Cm 3 +Bk 3 +Cf 3 +Es +Fm +Md +No +Lr diff --git a/smact/data/oxidation_states_icsd24_raw.txt b/smact/data/oxidation_states_icsd24_raw.txt new file mode 100644 index 000000000..bd9bddad8 --- /dev/null +++ b/smact/data/oxidation_states_icsd24_raw.txt @@ -0,0 +1,107 @@ +# +# Oxidation state set +# Source: ICSD (2024, V2) +# +H -1 1 2 3 +He +Li 1 +Be 2 +B -5 -3 -2 -1 1 2 3 +C -4 -3 -2 -1 1 2 3 4 +N -5 -4 -3 -2 -1 1 2 3 4 5 +O -3 -2 -1 1 2 +F -1 1 2 +Ne +Na -1 1 +Mg 2 3 +Al -3 1 2 3 +Si -4 -3 -2 -1 1 2 3 4 +P -4 -3 -2 -1 1 2 3 4 5 6 +S -3 -2 -1 1 2 3 4 5 6 +Cl -4 -1 1 2 3 4 5 7 +Ar +K 1 +Ca -1 1 2 +Sc 1 2 3 5 6 +Ti 1 2 3 4 5 6 +V 1 2 3 4 5 6 +Cr 1 2 3 4 5 6 +Mn -1 1 2 3 4 5 6 7 +Fe -4 -2 -1 1 2 3 4 5 6 +Co -1 1 2 3 4 5 +Ni -2 1 2 3 4 +Cu 1 2 3 4 +Zn 1 2 3 4 +Ga -4 -3 -2 -1 1 2 3 4 +Ge -4 -3 -2 -1 1 2 3 4 5 +As -5 -3 -2 -1 1 2 3 4 5 +Se -2 -1 1 2 3 4 5 6 8 +Br -1 1 3 4 5 7 +Kr 2 +Rb -1 1 2 +Sr -2 2 4 +Y 1 2 3 4 +Zr 1 2 3 4 6 +Nb 1 2 3 4 5 6 +Mo -1 1 2 3 4 5 6 7 +Tc 1 2 3 4 5 6 7 +Ru -4 -3 -2 -1 1 2 3 4 5 6 7 8 +Rh -1 1 2 3 4 5 6 +Pd 1 2 3 4 +Ag 1 2 3 4 +Cd 1 2 +In -3 -2 -1 1 2 3 4 +Sn -4 -3 -2 -1 1 2 3 4 +Sb -3 -2 -1 1 2 3 4 5 6 +Te -3 -2 -1 1 2 3 4 5 6 +I -2 -1 1 3 5 7 +Xe 2 3 4 6 8 +Cs 1 +Ba 1 2 +La 1 2 3 4 +Ce -1 1 2 3 4 +Pr 1 2 3 4 +Nd 1 2 3 4 5 +Pm 3 +Sm 1 2 3 4 +Eu 1 2 3 4 5 6 +Gd 1 2 3 4 +Tb 1 2 3 4 5 +Dy 2 3 4 5 6 +Ho 2 3 4 5 6 +Er 2 3 4 5 6 +Tm 2 3 4 +Yb 2 3 4 +Lu 2 3 4 +Hf 1 2 3 4 +Ta 1 2 3 4 5 6 7 +W 1 2 3 4 5 6 7 +Re -1 1 2 3 4 5 6 7 +Os 1 2 3 4 5 6 7 8 +Ir -1 1 2 3 4 5 6 +Pt -2 1 2 3 4 5 6 +Au -1 1 2 3 4 5 +Hg 1 2 4 +Tl -2 -1 1 2 3 5 +Pb -4 -1 1 2 3 4 +Bi -3 -2 -1 1 2 3 4 5 +Po -2 2 4 +At +Rn +Fr +Ra 2 +Ac 3 +Th 2 3 4 5 6 +Pa 2 3 4 5 +U -3 1 2 3 4 5 6 +Np -1 2 3 4 5 6 7 +Pu 2 3 4 5 6 7 +Am 1 2 3 4 5 6 +Cm 2 3 4 +Bk 2 3 4 +Cf 2 3 4 5 6 +Es 3 +Fm +Md +No +Lr diff --git a/smact/data/oxidation_states_pmg.txt b/smact/data/oxidation_states_pmg.txt index ee82221be..36a42f711 100644 --- a/smact/data/oxidation_states_pmg.txt +++ b/smact/data/oxidation_states_pmg.txt @@ -1,3 +1,7 @@ +# +# Oxidation state set +# Source: Pymatgen (2017) +# H -1 1 He Li 1 diff --git a/smact/data/oxidation_states_wiki.txt b/smact/data/oxidation_states_wiki.txt index 1da2e1528..615cee37d 100644 --- a/smact/data/oxidation_states_wiki.txt +++ b/smact/data/oxidation_states_wiki.txt @@ -1,3 +1,7 @@ +# +# Oxidation state set +# Source: Wikipedia (2022) +# H -1 1 He Li 0 1 diff --git a/smact/data/oxidationstates.data b/smact/data/oxidationstates.data deleted file mode 100644 index ff0180d9e..000000000 --- a/smact/data/oxidationstates.data +++ /dev/null @@ -1,135 +0,0 @@ -H-1 -1 -He 0 -Li1 1 -Be2 2 -B3 3 -C-4 -4 -C-3 -3 -C-2 -2 -C-1 -1 -C1 1 -C2 2 -C3 3 -N-3 -3 -N3 3 -N5 5 -O-2 -2 -F-1 -1 -Ne 0 -Na1 1 -Mg2 2 -Al3 3 -Si-4 -4 -Si4 4 -P-3 -3 -P3 3 -P5 5 -S-2 -2 -S2 2 -S4 4 -S6 6 -Cl-1 -1 -Ar 0 -K1 1 -Ca2 2 -Sc3 3 -Ti4 4 -V5 5 -Cr3 3 -Cr6 6 -Mn2 2 -Mn4 4 -Mn7 7 -Fe2 2 -Fe3 3 -Fe6 6 -Co2 2 -Co3 3 -Ni2 2 -Cu2 2 -Zn2 2 -Ga3 3 -Ge-4 -4 -Ge2 2 -Ge4 4 -As-3 -3 -As3 3 -As5 5 -Se-2 -2 -Se2 2 -Se4 4 -Se6 6 -Br-1 -1 -Kr 0 -Rb1 1 -Sr2 2 -Y3 3 -Zr4 4 -Nb5 5 -Mo4 4 -Mo6 6 -Tc4 4 -Tc7 7 -Ru3 3 -Ru4 4 -Rh3 3 -Pd2 2 -Pd4 4 -Ag1 1 -Cd2 2 -In3 3 -Sn-4 -4 -Sn2 2 -Sn4 4 -Sb-3 -3 -Sb3 3 -Sb5 5 -Te-2 -2 -Te2 2 -Te4 4 -Te6 6 -I-1 -1 -Cs1 1 -Ba2 2 -La3 3 -Ce3 3 -Ce4 4 -Pr3 3 -Nd3 3 -Pm3 3 -Sm3 3 -Eu2 2 -Eu3 3 -Gd3 3 -Tb3 3 -Dy3 3 -Ho3 3 -Er3 3 -Tm3 3 -Yb3 3 -Lu3 3 -Hf4 4 -Ta5 5 -W4 4 -W6 6 -Re4 4 -Os4 4 -Ir3 3 -Ir4 4 -Pt2 2 -Pt3 3 -Pt4 4 -Au3 3 -Hg1 1 -Hg2 2 -Tl1 1 -Tl3 3 -Pb-4 -4 -Pb2 2 -Bi-3 -3 -Bi3 3 -Po-2 -2 -Po2 2 -Po4 4 -At-1 -1 -At1 1 diff --git a/smact/data_loader.py b/smact/data_loader.py index c8fd8f4bc..f69e4c94a 100644 --- a/smact/data_loader.py +++ b/smact/data_loader.py @@ -298,6 +298,51 @@ def lookup_element_oxidation_states_custom(symbol, filepath, copy=True): return None +_el_ox_states_icsd24 = None + + +def lookup_element_oxidation_states_icsd24(symbol, copy=True): + """ + Retrieve a list of known oxidation states for an element. + The oxidation states list used contains only those found + in the 2024 version of the ICSD (and has >=5 reports). + + Args: + symbol (str) : the atomic symbol of the element to look up. + copy (Optional(bool)): if True (default), return a copy of the + oxidation-state list, rather than a reference to the cached + data -- only use copy=False in performance-sensitive code + and where the list will not be modified! + + Returns: + list: List of known oxidation states for the element. + + Returns None if oxidation states for the Element were not + found in the external data. + """ + global _el_ox_states_icsd24 + + if _el_ox_states_icsd24 is None: + _el_ox_states_icsd24 = {} + + for items in _get_data_rows(os.path.join(data_directory, "oxidation_states_icsd24_filtered.txt")): + _el_ox_states_icsd24[items[0]] = [int(oxidationState) for oxidationState in items[1:]] + + if symbol in _el_ox_states_icsd24: + if copy: + # _el_ox_states_icsd24 stores lists -> if copy is set, make an implicit + # deep copy. The elements of the lists are integers, which are + # "value types" in Python. + + return list(_el_ox_states_icsd24[symbol]) + else: + return _el_ox_states_icsd24[symbol] + else: + if _print_warnings: + print(f"WARNING: Oxidation states for element {symbol} " "not found.") + return None + + # Loader and cache for the element HHI scores. _element_hhis = None @@ -324,7 +369,7 @@ def lookup_element_hhis(symbol): if _element_hhis is None: _element_hhis = {} - with open(os.path.join(data_directory, "HHIs.txt")) as file: + with open(os.path.join(data_directory, "hhi.txt")) as file: for line in file: line = line.strip() diff --git a/smact/structure_prediction/utilities.py b/smact/structure_prediction/utilities.py index f7f68ae72..006cb611b 100644 --- a/smact/structure_prediction/utilities.py +++ b/smact/structure_prediction/utilities.py @@ -8,7 +8,7 @@ from . import logger if TYPE_CHECKING: - import pymatgen + from pymatgen.core.structure import Structure def parse_spec(species: str) -> tuple[str, int]: @@ -43,15 +43,16 @@ def parse_spec(species: str) -> tuple[str, int]: return ele, charge -def unparse_spec(species: tuple[str, int]) -> str: - """ - Unparse a species into a string representation. +def unparse_spec(species: tuple[str, int], include_one: bool = True) -> str: + """Unparse a species into a string representation. + The analogue of :func:`parse_spec`. Args: - ---- - species (tuple): A tuple of (element, signed_charge). + species (tuple[str,int]): A tuple of (element, signed_charge). + include_one (bool): If True, include charge of 1 in the output if charge is 1 or -1. + Returns: ------- @@ -65,7 +66,10 @@ def unparse_spec(species: tuple[str, int]) -> str: 'O2-' """ - return f"{species[0]}{abs(species[1])}{get_sign(species[1])}" + if include_one or abs(species[1]) != 1: + return f"{species[0]}{abs(species[1])}{get_sign(species[1])}" + else: + return f"{species[0]}{get_sign(species[1])}" def get_sign(charge: int) -> str: @@ -91,9 +95,8 @@ def get_sign(charge: int) -> str: def convert_next_gen_mprest_data( doc, -) -> dict[str, pymatgen.core.Structure | str | None]: - """ - Converts the `MPDataDoc` object returned by a next-gen MP query to a dictionary. +) -> dict[str, Structure | str | None]: + """Converts the `MPDataDoc` object returned by a next-gen MP query to a dictionary. Args: ---- diff --git a/smact/tests/files/test_icsd_oxidation_states_filter_1000.txt b/smact/tests/files/test_icsd_oxidation_states_filter_1000.txt new file mode 100644 index 000000000..57ebddab0 --- /dev/null +++ b/smact/tests/files/test_icsd_oxidation_states_filter_1000.txt @@ -0,0 +1,109 @@ +# +# Oxidation state set +# Source: ICSD (2024), filtered for > 1000 reports +# +# Testing writing of ICSD 24 oxidation states list. +# +H -1 1 +He +Li 1 +Be 2 +B 3 +C -2 2 3 4 +N -3 5 +O -2 +F -1 +Ne +Na 1 +Mg 2 +Al 3 +Si 4 +P -3 5 +S -2 6 +Cl -1 +Ar +K 1 +Ca 2 +Sc 3 +Ti 4 +V 3 4 5 +Cr 3 +Mn 2 3 4 +Fe 2 3 +Co 2 3 +Ni 2 +Cu 1 2 +Zn 2 +Ga 3 +Ge 4 +As -3 3 5 +Se -2 4 +Br -1 +Kr +Rb 1 +Sr 2 +Y 3 +Zr 4 +Nb 5 +Mo 6 +Tc +Ru +Rh +Pd +Ag 1 +Cd 2 +In 3 +Sn 2 4 +Sb 3 5 +Te -2 4 +I -1 +Xe +Cs 1 +Ba 2 +La 3 +Ce 3 4 +Pr 3 +Nd 3 +Pm +Sm 3 +Eu 3 +Gd 3 +Tb 3 +Dy 3 +Ho 3 +Er 3 +Tm +Yb 3 +Lu +Hf +Ta 5 +W 6 +Re +Os +Ir +Pt +Au +Hg 2 +Tl 1 +Pb 2 +Bi 3 +Po +At +Rn +Fr +Ra +Ac +Th +Pa +U 6 +Np +Pu +Am +Cm +Bk +Cf +Es +Fm +Md +No +Lr diff --git a/smact/tests/files/test_icsd_oxidation_states_filter_1000_w_0_ox_state.txt b/smact/tests/files/test_icsd_oxidation_states_filter_1000_w_0_ox_state.txt new file mode 100644 index 000000000..9f9dde802 --- /dev/null +++ b/smact/tests/files/test_icsd_oxidation_states_filter_1000_w_0_ox_state.txt @@ -0,0 +1,111 @@ +# +# Oxidation state set +# Source: ICSD (2024), filtered for > 1000 reports +# +# Testing writing of ICSD 24 oxidation states list. +# +# Includes oxidation state 0 +# +H -1 0 1 +He +Li 0 1 +Be 2 +B 0 3 +C -2 0 2 3 4 +N -3 0 5 +O -2 0 +F -1 +Ne +Na 1 +Mg 0 2 +Al 0 3 +Si 0 4 +P -3 0 5 +S -2 0 6 +Cl -1 +Ar +K 1 +Ca 0 2 +Sc 0 3 +Ti 0 4 +V 0 3 4 5 +Cr 0 3 +Mn 0 2 3 4 +Fe 0 2 3 +Co 0 2 3 +Ni 0 2 +Cu 0 1 2 +Zn 0 2 +Ga 0 3 +Ge 0 4 +As -3 0 3 5 +Se -2 0 4 +Br -1 +Kr +Rb 1 +Sr 0 2 +Y 0 3 +Zr 0 4 +Nb 0 5 +Mo 0 6 +Tc +Ru 0 +Rh 0 +Pd 0 +Ag 0 1 +Cd 0 2 +In 0 3 +Sn 0 2 4 +Sb 0 3 5 +Te -2 0 4 +I -1 +Xe +Cs 1 +Ba 0 2 +La 0 3 +Ce 0 3 4 +Pr 0 3 +Nd 0 3 +Pm +Sm 0 3 +Eu 0 3 +Gd 0 3 +Tb 0 3 +Dy 0 3 +Ho 0 3 +Er 0 3 +Tm 0 +Yb 0 3 +Lu +Hf 0 +Ta 0 5 +W 6 +Re +Os +Ir 0 +Pt 0 +Au 0 +Hg 2 +Tl 1 +Pb 2 +Bi 0 3 +Po +At +Rn +Fr +Ra +Ac +Th +Pa +U 0 6 +Np +Pu +Am +Cm +Bk +Cf +Es +Fm +Md +No +Lr diff --git a/smact/tests/test_utils.py b/smact/tests/test_utils.py index dc18f1f6e..c54a9081e 100644 --- a/smact/tests/test_utils.py +++ b/smact/tests/test_utils.py @@ -3,12 +3,14 @@ import os import unittest +import pandas as pd from pymatgen.core import Composition from smact import Element from smact.screening import smact_filter from smact.utils.composition import comp_maker, formula_maker, parse_formula from smact.utils.crystal_space import generate_composition_with_smact +from smact.utils.oxidation import ICSD24OxStatesFilter class TestComposition(unittest.TestCase): @@ -92,3 +94,61 @@ def test_convert_formula(self): @unittest.skipUnless(os.environ.get("MP_API_KEY"), "requires MP_API key to be set.") def test_download_compounds_with_mp_api(self): pass + + +files_dir = os.path.join(os.path.dirname(os.path.realpath(__file__)), "files") +TEST_ICSD_OX_STATES = os.path.join(files_dir, "test_icsd_oxidation_states_filter_1000.txt") +TEST_ICSD_OX_STATES_W_ZERO = os.path.join(files_dir, "test_icsd_oxidation_states_filter_1000_w_0_ox_state.txt") + + +class OxidationStatesTest(unittest.TestCase): + def setUp(self): + self.ox_filter = ICSD24OxStatesFilter() + with open(TEST_ICSD_OX_STATES) as f: + self.test_ox_states = f.read() + with open(TEST_ICSD_OX_STATES_W_ZERO) as f: + self.test_ox_states_w_zero = f.read() + + def test_oxidation_states_filter(self): + self.assertIsInstance(self.ox_filter.ox_states_df, pd.DataFrame) + threshold = 10 + filtered_df = self.ox_filter.filter(threshold) + + self.assertIsInstance(filtered_df, pd.DataFrame) + self.assertEqual(filtered_df.columns.tolist(), ["element", "oxidation_state"]) + # self.assertEqual(filtered_df.loc[""]) + + def test_oxidation_states_write(self): + threshold = 1000 + filename = "test_ox_states" + filename_w_zero = "test_ox_states_w_zero" + comment = "Testing writing of ICSD 24 oxidation states list." + self.ox_filter.write(filename, threshold, comment=comment) + self.ox_filter.write(filename_w_zero, threshold, include_zero=True, comment=comment) + self.assertTrue(os.path.exists(f"{filename}.txt")) + with open(f"{filename}.txt") as f: + self.assertEqual(f.read(), self.test_ox_states) + + self.assertTrue(os.path.exists(f"{filename}_w_zero.txt")) + with open(f"{filename}_w_zero.txt") as f: + self.assertEqual(f.read(), self.test_ox_states_w_zero) + # Clean up + os.remove(f"{filename}.txt") + os.remove(f"{filename}_w_zero.txt") + + def test_oxidation_states_filter_species_list(self): + for threshold, length in [(0, 490), (5, 358), (50, 227)]: + species_list = self.ox_filter.get_species_list(threshold) + self.assertIsInstance(species_list, list) + self.assertEqual(len(species_list), length) + + def test_oxidation_states_filter_species_occurrences(self): + species_occurrences_df = self.ox_filter.get_species_occurrences_df() + self.assertIsInstance(species_occurrences_df, pd.DataFrame) + self.assertEqual( + species_occurrences_df.columns.tolist(), + ["species", "results_count"], + ) + self.assertEqual(species_occurrences_df.shape, (490, 2)) + self.assertEqual(species_occurrences_df.iloc[0]["species"], "O2-") + self.assertEqual(species_occurrences_df.iloc[0]["results_count"], 116910) diff --git a/smact/utils/oxidation.py b/smact/utils/oxidation.py new file mode 100644 index 000000000..09d285887 --- /dev/null +++ b/smact/utils/oxidation.py @@ -0,0 +1,154 @@ +"""Utility functions for handling oxidation states.""" + +from __future__ import annotations + +import os +from os import path + +import pandas as pd + +from smact import Element, data_directory, ordered_elements +from smact.structure_prediction.utilities import unparse_spec + + +class ICSD24OxStatesFilter: + """Class to handle filtering the ICSD 24 oxidation states list. + + The ICSD 24 oxidation states list is a list of oxidation states for each element in the ICSD 24 database. + + Attributes: + ox_states_df (pd.DataFrame): The ICSD 24 oxidation states list as a DataFrame. + """ + + def __init__(self): + """Initialise the ICSD 24 oxidation states list.""" + self.ox_states_df = pd.read_json(path.join(data_directory, "oxidation_states_icsd24_counts.json")) + + def filter(self, threshold: int, include_zero: bool = False): + """Filter the ICSD 24 oxidation states list by a threshold. + + Args: + threshold (int): The threshold for filtering the oxidation states list. + include_zero (bool): Include oxidation state of zero in the filtered list. Default is False. + + Returns: + pd.DataFrame: The filtered oxidation states list as a DataFrame. + """ + if not include_zero: + filtered_df = self.ox_states_df[self.ox_states_df["oxidation_state"] != 0].reset_index(drop=True) + else: + filtered_df = self.ox_states_df + summary_df = ( + filtered_df[(filtered_df["results_count"] > 0)] + .groupby("element") + .apply(self._filter_oxidation_states, threshold, include_groups=False) + .reset_index() + ) + summary_df.columns = ["element", "oxidation_state"] + # Sort the elements by atomic number + summary_df["atomic_number"] = summary_df["element"].apply(lambda x: Element(x).number) + return summary_df.sort_values("atomic_number").drop(columns="atomic_number").reset_index(drop=True) + + def get_species_list( + self, + threshold: int, + include_zero: bool = False, + include_one_oxidation_state: bool = False, + ): + """Get the filtered ICSD 24 oxidation states list as a list of species. + + Args: + threshold (int): The threshold for filtering the oxidation states list. + include_zero (bool): Include oxidation state of zero in the filtered list. Default is False. + include_one_oxidation_state (bool): Include oxidation states +1 and -1 in the filtered list or include as + and - signs. Default is False. + + Returns: + list: The filtered oxidation states list as a list of species. + """ + filtered_df = self.filter(threshold, include_zero) + species_list = [] + for _, row in filtered_df.iterrows(): + ox_states = row["oxidation_state"].split(" ") + for ox_state in ox_states: + try: + species_list.append( + unparse_spec( + (row["element"], int(ox_state)), + include_one=include_one_oxidation_state, + ) + ) + except ValueError: + continue + return species_list + + def get_species_occurrences_df( + self, + include_one_oxidation_state: bool = False, + ): + """Get the ICSD 24 oxidation states list as a dataframe of species with their occurrences. + + Args: + include_one_oxidation_state (bool): Include oxidation states +1 and -1 in the species or include as + and - signs. Default is False. + + Returns: + dataframe: The species list as a dataframe of species with their occurrences. + """ + species_occurrences_df = self.ox_states_df[ + (self.ox_states_df.results_count > 0) & (self.ox_states_df.oxidation_state != 0) + ].reset_index(drop=True) + species_occurrences_df["species"] = species_occurrences_df.apply( + lambda x: unparse_spec( + (x["element"], x["oxidation_state"]), + include_one=include_one_oxidation_state, + ), + axis=1, + ) + species_occurrences_df = species_occurrences_df[["species", "results_count"]] + return species_occurrences_df.sort_values("results_count", ascending=False).reset_index(drop=True) + + def write( + self, + filename: str | os.PathLike, + threshold: int, + include_zero: bool = False, + comment: str | None = None, + ): + """Write the filtered ICSD 24 oxidation states list to a SMACT-compatible oxidation states txt file. + + Args: + filename (str | os.PathLike): The filename to write the filtered oxidation states list to. + threshold (int): The threshold for filtering the oxidation states list. + include_zero (bool): Include oxidation state of zero in the filtered list. Default is False. + comment (str): A comment to include in the txt file. Default is None. + """ + filtered_df = self.filter(threshold, include_zero) + # Convert the DataFrame to the require format + summary_dict = filtered_df.set_index("element")["oxidation_state"].to_dict() + all_elements = ordered_elements(1, 103) + final_summary = [] + + for element in all_elements: + oxidation_states = summary_dict.get(element, "") + + if oxidation_states: + final_summary.append(f"{element} {oxidation_states}".strip()) + else: + final_summary.append(element) + + # Write the filtered oxidation states list to a txt file + if not filename.endswith(".txt"): + filename += ".txt" + with open(filename, "w") as f: + f.write(f"#\n# Oxidation state set\n# Source: ICSD (2024), filtered for > {threshold} reports\n#\n") + if comment: + f.write(f"# {comment}\n#\n") + if include_zero: + f.write("# Includes oxidation state 0\n#\n") + for line in final_summary: + f.write(line + "\n") + + def _filter_oxidation_states(self, group: pd.DataFrame.groupby, threshold: int): + """Filter the oxidation states list by a threshold.""" + filtered_states = group[group["results_count"] > threshold] + + return " ".join(map(str, sorted(filtered_states["oxidation_state"])))