diff --git a/reports/paper.bib b/reports/paper.bib index 1ad34bc..7bd2f76 100644 --- a/reports/paper.bib +++ b/reports/paper.bib @@ -41,6 +41,22 @@ @misc{kipfSemisupervisedClassificationGraph2016 keywords = {FOS: Computer and information sciences,Machine Learning (cs.LG),Machine Learning (stat.ML)} } +@article{ongPythonMaterialsGenomics2013, + title = {Python {{Materials Genomics}} (Pymatgen): {{A}} Robust, Open-Source Python Library for Materials Analysis}, + shorttitle = {Python {{Materials Genomics}} (Pymatgen)}, + author = {Ong, Shyue Ping and Richards, William Davidson and Jain, Anubhav and Hautier, Geoffroy and Kocher, Michael and Cholia, Shreyas and Gunter, Dan and Chevrier, Vincent L. and Persson, Kristin A. and Ceder, Gerbrand}, + year = {2013}, + month = feb, + journal = {Computational Materials Science}, + volume = {68}, + pages = {314--319}, + issn = {09270256}, + doi = {10.1016/j.commatsci.2012.10.028}, + 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\textendash Sn\textendash 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.}, + langid = {english}, + file = {C\:\\Users\\sterg\\Zotero\\storage\\GUGQ4GNV\\Ong et al. - 2013 - Python Materials Genomics (pymatgen) A robust, op.pdf} +} + @misc{Pythonista2021, title = {Pythonista}, year = {2021}, diff --git a/reports/paper.md b/reports/paper.md index 8de8e10..e82a1f0 100644 --- a/reports/paper.md +++ b/reports/paper.md @@ -85,19 +85,19 @@ be run without error. "[Pythonistas](https://en.wiktionary.org/wiki/Pythonista)" and entry-level coders alike. `xtal2png` provides a straightforward Python application programming interface (API) and command line interface (CLI). `xtal2png` relies on `pymatgen.core.structure.Structure` -objects for representing crystal structures and also supports reading crystallographic -information files (CIFs) from directories. `xtal2png` encodes crystallographic -information related to the unit cell, crystallographic symmetry, and atomic elements and -coordinates which are each scaled individually according to the information type. An -upscaled version of the PNG image and a legend of the representation are given in -\autoref{fig:example-and-legend}. Due to the encoding of numerical values as grayscale -PNG images (allowable values are integers between 0 and 255), a small round-off error is -present during a single round of encoding and decoding. An example comparing an original -vs. decoded structure is given in \autoref{fig:original-decoded}. +[@ongPythonMaterialsGenomics2013] objects for representing crystal structures and also +supports reading crystallographic information files (CIFs) from directories. `xtal2png` +encodes crystallographic information related to the unit cell, crystallographic +symmetry, and atomic elements and coordinates which are each scaled individually +according to the information type. An upscaled version of the PNG image and a legend of +the representation are given in \autoref{fig:example-and-legend}. Due to the encoding of +numerical values as grayscale PNG images (allowable values are integers between 0 and +255), a small round-off error is present during a single round of encoding and decoding. +An example comparing an original vs. decoded structure is given in +\autoref{fig:original-decoded}. ![(a) Original and (b) `xtal2png` decoded visualizations of -[`mp-560471`](https://materialsproject.org/materials/mp-560471/) / $𝑍𝑛_2 𝐵_2 𝑃𝑏 -𝑂_6$. Images were generated via [`pymatviz`](https://github.com/janosh/pymatviz) [@riebesellPymatviz2022] \label{fig:original-decoded}](figures/original-decoded.png){ width=50% } +[`mp-560471`](https://materialsproject.org/materials/mp-560471/) / $𝑍𝑛_2𝐵_2𝑃𝑏𝑂_6$. Images were generated via [`pymatviz`](https://github.com/janosh/pymatviz) [@riebesellPymatviz2022] \label{fig:original-decoded}](figures/original-decoded.png){ width=50% } The significance of the representation lies in being able to directly use the PNG representation with image-based models which often do not directly support custom