Skip to main content

Data structures for crystallography

Project description

crystals

Documentation Status PyPI Package latest release Conda-forge Version DOI badge

crystals is a library of data structure and algorithms to manipulate abstract crystals in a Pythonic way. crystals helps with reading crystallographic files (like .cif and .pdb), provides access to atomic positions, scattering utilities, allows for symmetry determination, and indexing of diffraction peaks. Although crystals can be used on its own, it was made to be integrated into larger projects (like scikit-ued).

Take a look at the documentation for more information and examples.

Installation

crystals is available on the Python Package Index:

pip install crystals

For users of the conda package manager, crystals is also available from the conda-forge channel:

conda install -c conda-forge crystals

From source

crystals can also be installed from source:

git clone https://github.com/LaurentRDC/crystals.git
cd crystals
python setup.py install

You can install the latest development version using pip as well:

python -m pip install git+git://github.com/LaurentRDC/crystals.git

To build documentation, you will need a few more packages, listed in dev-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_sphinx

Documentation

The documentation, including user guides as well as detailed reference, is available here: https://crystals.readthedocs.io/

Development

Tests can be run with the pytest package:

python -m pytest --pyargs crystals

Some optional tests might be skipped if dependencies are not installed, e.g. ASE.

Citations

As this package is a spinoff from scikit-ued, please consider citing the following publication if you find crystals useful:

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 by spglib are 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.013

Structure parsing from PDB files has been tested for correctness against Bio.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-0305

Covalent 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/B801115j

Support / Report Issues

All support requests and issue reports should be filed on Github as an issue.

License

crystals is made available under the GPLv3 license. For more details, see LICENSE.

Related projects

  • Streaming operations on NumPy arrays are available in the npstreams package.
  • Interactive exploration of ultrafast electron diffraction data with the iris-ued package.
  • Data structures and algorithms to handle ultrafast electron scattering data in the scikit-ued package.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

crystals-1.5.0.tar.gz (157.4 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

crystals-1.5.0-py3.9.egg (359.3 kB view details)

Uploaded Egg

crystals-1.5.0-py3.8.egg (358.8 kB view details)

Uploaded Egg

crystals-1.5.0-py3.7.egg (356.6 kB view details)

Uploaded Egg

crystals-1.5.0-py3-none-any.whl (256.2 kB view details)

Uploaded Python 3

File details

Details for the file crystals-1.5.0.tar.gz.

File metadata

  • Download URL: crystals-1.5.0.tar.gz
  • Upload date:
  • Size: 157.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.13

File hashes

Hashes for crystals-1.5.0.tar.gz
Algorithm Hash digest
SHA256 f26881e789c7b927d41695e381798df2070ff018c4b928df6ca84eb42cf8c17f
MD5 cf703d8d47b1f3d6b102c0c18124791b
BLAKE2b-256 d6c53535a31ae5c64c1e9f735d335a2a132004b65130d241c72d86479a97d495

See more details on using hashes here.

File details

Details for the file crystals-1.5.0-py3.9.egg.

File metadata

  • Download URL: crystals-1.5.0-py3.9.egg
  • Upload date:
  • Size: 359.3 kB
  • Tags: Egg
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.13

File hashes

Hashes for crystals-1.5.0-py3.9.egg
Algorithm Hash digest
SHA256 e512b6f325b9231a824cd692e2f142baa39e9d6a44224620c54a4acd7a3f159e
MD5 3529db0ab7431e63fd7573fadeab4973
BLAKE2b-256 0ed0f906f2cc345b695e4c7544bf8cac74d67adf79525b7d38296788bb15aefb

See more details on using hashes here.

File details

Details for the file crystals-1.5.0-py3.8.egg.

File metadata

  • Download URL: crystals-1.5.0-py3.8.egg
  • Upload date:
  • Size: 358.8 kB
  • Tags: Egg
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.13

File hashes

Hashes for crystals-1.5.0-py3.8.egg
Algorithm Hash digest
SHA256 85af6756634fd7ddf9314c1b93495dd0d9ad8d82dcdfd38644de3393b0278963
MD5 c71acb2fce2a05c72b918a0204036f00
BLAKE2b-256 3733446a951b1bb392da14daf7675a8ee09b6277c6f28a7da3be6e2dd54e8a2d

See more details on using hashes here.

File details

Details for the file crystals-1.5.0-py3.7.egg.

File metadata

  • Download URL: crystals-1.5.0-py3.7.egg
  • Upload date:
  • Size: 356.6 kB
  • Tags: Egg
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.13

File hashes

Hashes for crystals-1.5.0-py3.7.egg
Algorithm Hash digest
SHA256 14a9403aaff7fc32c135c313c8663a54c3eb5639e0fdfdb795bb833923baefb4
MD5 72e5242f18093fec2b0e770c95e88ee2
BLAKE2b-256 5aa1846659dfad421dcd5ae13f079b15f209eb53b63d58a5827ad6702cfb5da2

See more details on using hashes here.

File details

Details for the file crystals-1.5.0-py3-none-any.whl.

File metadata

  • Download URL: crystals-1.5.0-py3-none-any.whl
  • Upload date:
  • Size: 256.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.13

File hashes

Hashes for crystals-1.5.0-py3-none-any.whl
Algorithm Hash digest
SHA256 a399769259fc6d9a1d985c3d623459072f6fc933c767fb94e31e7f3918a6a49f
MD5 5420437b3192f53c2fc40013ed841e95
BLAKE2b-256 6c68a063b71aba5621feb9f45cfbfd6963e27e88d37ef0576f6029d2789ea76f

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page