https://github.com/laurentrdc/crystals

Data structures, algorithms, and parsing for crystallography

https://github.com/laurentrdc/crystals

Science Score: 49.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 14 DOI reference(s) in README
  • Academic publication links
    Links to: arxiv.org
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (14.8%) to scientific vocabulary

Keywords

bioinformatics crystal-structure crystallography indexing-algorithms materials-science python3

Keywords from Contributors

transformation
Last synced: 6 months ago · JSON representation

Repository

Data structures, algorithms, and parsing for crystallography

Basic Info
Statistics
  • Stars: 50
  • Watchers: 7
  • Forks: 11
  • Open Issues: 0
  • Releases: 14
Topics
bioinformatics crystal-structure crystallography indexing-algorithms materials-science python3
Created over 7 years ago · Last pushed about 1 year ago
Metadata Files
Readme Changelog License

README.md

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

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

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

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.

Owner

  • Name: Laurent P. René de Cotret
  • Login: LaurentRDC
  • Kind: user
  • Location: Montréal
  • Company: @bitnomial

Scientific computing, functional programming, and hardtech innovation. Board member of the @haskellfoundation

GitHub Events

Total
  • Release event: 1
  • Watch event: 7
  • Delete event: 1
  • Issue comment event: 1
  • Push event: 18
  • Pull request event: 1
  • Create event: 1
Last Year
  • Release event: 1
  • Watch event: 7
  • Delete event: 1
  • Issue comment event: 1
  • Push event: 18
  • Pull request event: 1
  • Create event: 1

Committers

Last synced: 9 months ago

All Time
  • Total Commits: 496
  • Total Committers: 4
  • Avg Commits per committer: 124.0
  • Development Distribution Score (DDS): 0.016
Past Year
  • Commits: 13
  • Committers: 1
  • Avg Commits per committer: 13.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
Laurent P. René de Cotret l****t@o****m 488
Chazeon c****o@g****m 5
GitHub Actions 2
Sebastian Hammer 1****b 1

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 16
  • Total pull requests: 5
  • Average time to close issues: 6 days
  • Average time to close pull requests: 10 days
  • Total issue authors: 10
  • Total pull request authors: 5
  • Average comments per issue: 4.0
  • Average comments per pull request: 2.8
  • Merged pull requests: 3
  • Bot issues: 0
  • Bot pull requests: 1
Past Year
  • Issues: 0
  • Pull requests: 1
  • Average time to close issues: N/A
  • Average time to close pull requests: about 2 months
  • Issue authors: 0
  • Pull request authors: 1
  • Average comments per issue: 0
  • Average comments per pull request: 1.0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 1
Top Authors
Issue Authors
  • errhernandez (4)
  • eggplants (2)
  • StarostinV (2)
  • Cs137 (2)
  • pllim (1)
  • azkhadiev (1)
  • craldaz (1)
  • KeysBit (1)
  • patquem (1)
  • bokertof (1)
Pull Request Authors
  • dependabot[bot] (2)
  • chazeon (1)
  • subangstrom (1)
  • LaurentRDC (1)
  • HammerSeb (1)
Top Labels
Issue Labels
enhancement (2) good first issue (1)
Pull Request Labels
dependencies (2)

Packages

  • Total packages: 2
  • Total downloads:
    • pypi 1,435 last-month
  • Total docker downloads: 30
  • Total dependent packages: 5
    (may contain duplicates)
  • Total dependent repositories: 9
    (may contain duplicates)
  • Total versions: 53
  • Total maintainers: 1
pypi.org: crystals

Data structures for crystallography

  • Versions: 31
  • Dependent Packages: 3
  • Dependent Repositories: 9
  • Downloads: 1,435 Last month
  • Docker Downloads: 30
Rankings
Dependent packages count: 2.3%
Docker downloads count: 3.9%
Dependent repos count: 4.9%
Average: 7.3%
Stargazers count: 10.9%
Forks count: 10.9%
Downloads: 11.0%
Maintainers (1)
Last synced: 7 months ago
conda-forge.org: crystals

crystals provides data structure to manipulate crystal structures, including parsing crystal files, determining symmetries, and accessing atomic information.

  • Versions: 22
  • Dependent Packages: 2
  • Dependent Repositories: 0
Rankings
Dependent packages count: 19.5%
Dependent repos count: 34.0%
Average: 35.8%
Stargazers count: 42.0%
Forks count: 47.7%
Last synced: 7 months ago

Dependencies

dev-requirements.txt pypi
  • ase >=3,<4 development
  • biopython >=1,<2 development
  • pytest >=6 development
  • sphinx >=3 development
  • sphinx_rtd_theme >=0.4 development
  • wheel * development
requirements.txt pypi
  • numpy >=1.20,<2
  • pycifrw >=4.4.1,<5
  • requests >=2,<3
  • spglib >=1.15,<2
.github/workflows/ci.yml actions
  • actions/cache v2 composite
  • actions/checkout v2 composite
  • actions/download-artifact v2 composite
  • actions/setup-python v2 composite
  • actions/upload-artifact v2 composite
  • pypa/gh-action-pypi-publish release/v1 composite
  • softprops/action-gh-release v1 composite
.github/workflows/cifs.yml actions
  • actions/checkout v2 composite
setup.py pypi