Package: crystals
crystalscrystalsis a library of data structure and algorithms to manipulate
abstract crystals in a Pythonic way.crystalshelps with reading
crystallographic files (like .cif and .pdb), provides access to atomic
positions, scattering utilities, allows for symmetry determination, and
indexing of diffraction peaks. Althoughcrystalscan be used on its own,
it was made to be integrated into larger projects (likescikit-ued).Take a look at thedocumentationfor
more information and examples.Installationcrystalsis available on the Python Package Index:pip install crystalsFor users of the conda package manager,crystalsis also available
from the conda-forge channel:conda install -c conda-forge crystalsFrom sourcecrystalscan also be installed from source:git clone https://github.com/LaurentRDC/crystals.git
cd crystals
python setup.py installYou can install the latest development version usingpipas well:python -m pip install git+git://github.com/LaurentRDC/crystals.gitTo build documentation, you will need a few more packages, listed indev-requirements.txt. For example, to build documentation from source:git clone https://github.com/LaurentRDC/crystals.git
cd crystals
pip install -r dev-requirements.txt
python setup.py build_sphinxDocumentationThe documentation, including user guides as well as detailed reference,
is available here:https://crystals.readthedocs.io/DevelopmentTests can be run with thepytestpackage:python -m pytest --pyargs crystalsSome optional tests might be skipped if dependencies are not installed,
e.g.ASE.CitationsAs this package is a spinoff fromscikit-ued, please consider citing
the following publication if you findcrystalsuseful:L. P. René de Cotret, M. R. Otto, M. J. Stern. and B. J. Siwick,An open-source software ecosystem for the interactive exploration of ultrafast electron scattering data, Advanced Structural and Chemical Imaging 4:11 (2018)DOI: 10.1186/s40679-018-0060-y.Underlying algorithms provided byspglibare described in the
following publication:A. Togo and I. Tanaka,spglib: a software library for crystal symmetry search.https://arxiv.org/abs/1808.01590(written at version 1.10.4).Structure parsing from CIF files has been tested for correctness against
CIF2CELL, detailed here:Torbjorn Bjorkman,CIF2Cell: Generating geometries for electronic structure programs, Computer Physics Communications 182, 1183-1186 (2011)DOI: 10.1016/j.cpc.2011.01.013Structure parsing from PDB files has been tested for correctness againstBio.PDB, detailed here:Hamelryck, T., Manderick, B.PDB parser and structure class implemented in Python. Bioinformatics 19: 2308–2310 (2003)Atomic weights are reported in the following publication:Meija, J., Coplen, T., Berglund, M., et al. (2016).Atomic weights of the elements 2013(IUPAC Technical Report). Pure and Applied Chemistry, 88(3), pp. 265-291. Retrieved 30 Nov. 2016,DOI:10.1515/pac-2015-0305Covalent radii are reported in the following article:Cordero, B. et al. (2008).Covalent radii revisited. Dalton Transactions, issue 21, pp. 2832-2838. The Royal Society of Chemistry.DOI: 10.1039/B801115jSupport / Report IssuesAll support requests and issue reports should befiled on Github as an
issue.Licensecrystalsis made available under the GPLv3 license. For more
details, seeLICENSE.Related projectsStreaming operations on NumPy arrays are available in thenpstreams
package.Interactive exploration of ultrafast electron diffraction data with
theiris-ued package.Data structures and algorithms to handle ultrafast electron
scattering data in thescikit-ued
package.