Skip to main content

A python toolbox for simulating fast real-time solid-state NMR spectra.

Project description

The Mrsimulator project

Deployment PyPI version PyPI - Python Version
Build Status GitHub Workflow Status Read the Docs
License License
Metrics Total alerts Language grade: Python codecov CodeFactor
Citation DOI

mrsimulator is an open-source python package for fast computation/analysis of solid-state magnetic resonance (NMR) spectra of both crystalline and amorphous materials. The core of the mrsimulator library is written in C, wrapped, and made available in python.

:warning: The package is currently under development. We advice using with caution. Bug report are greatly appreciated.

Why use mrsimulator?

  • It is open-source and free.
  • It is a fast and versatile solid-state NMR simulator of one-dimensional static, MAS, and VAS spectra of nuclei experiencing chemical shift (nuclear shielding) and quadrupolar coupling interactions.
  • Include simulations of weakly coupled nuclei experiencing J and dipolar couplings.
  • It is fully documented with a stable and simple API and is easily incorporated into your python scripts and web apps.
  • It is compatible with modern python packages, such as scikit-learn, Keras, etc.
  • Packages using mrsimulator -

View our example gallery

Simulation

Fitting

Features

The mrsimulator package currently offers the following

  • Fast simulation of one-dimensional solid-state NMR spectra. See our benchmark results.

  • Simulation of coupled and uncoupled spin system

    • for spin I=1/2, and quadrupole I>1/2 nuclei,
    • at arbitrary macroscopic magnetic flux density,
    • at arbitrary rotor angles, and
    • at arbitrary spinning frequency.
  • The library includes the following NMR methods,

    • 1D Bloch decay spectrum,
    • 1D Bloch decay central transition spectrum,
    • 2D Multi-Quantum Variable Angle Spinning (MQ-VAS),
    • 2D Satellite-transition Variable Angle Spinning (MQ-VAS), and
    • 2D Dynamic Angle Spinning (DAS),
    • 2D isotropic/anisotropic sideband correlation spectrum (e.g. PASS and MAT), and
    • 2D Magic Angle Flipping (MAF).
  • Models for tensor parameter distribution in amorphous materials.

    • Czjzek
    • Extended Czjzek

For more information, refer to the documentation.

Installation

$ pip install mrsimulator

Please read our installation document for details.

Check your build

If the installation is successful, you should be able to run the following test file in your terminal.

$ python test_file.py

This should produce the following figure.

alt text

Reporting Bugs

The preferred location for submitting feature requests and bug reports is the Github issue tracker. Reports are also welcomed by directly contacting Deepansh Srivastava.

Discussions are welcome on Github discussion

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

mrsimulator-0.6.0rc5.tar.gz (331.2 kB view hashes)

Uploaded Source

Built Distributions

mrsimulator-0.6.0rc5-cp39-cp39-win_amd64.whl (8.7 MB view hashes)

Uploaded CPython 3.9 Windows x86-64

mrsimulator-0.6.0rc5-cp39-cp39-manylinux2010_x86_64.whl (11.0 MB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.12+ x86-64

mrsimulator-0.6.0rc5-cp39-cp39-manylinux2010_i686.whl (7.9 MB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.12+ i686

mrsimulator-0.6.0rc5-cp39-cp39-manylinux1_x86_64.whl (11.0 MB view hashes)

Uploaded CPython 3.9

mrsimulator-0.6.0rc5-cp39-cp39-manylinux1_i686.whl (7.9 MB view hashes)

Uploaded CPython 3.9

mrsimulator-0.6.0rc5-cp39-cp39-macosx_11_0_arm64.whl (307.6 kB view hashes)

Uploaded CPython 3.9 macOS 11.0+ ARM64

mrsimulator-0.6.0rc5-cp39-cp39-macosx_10_9_x86_64.whl (11.1 MB view hashes)

Uploaded CPython 3.9 macOS 10.9+ x86-64

mrsimulator-0.6.0rc5-cp38-cp38-win_amd64.whl (8.7 MB view hashes)

Uploaded CPython 3.8 Windows x86-64

mrsimulator-0.6.0rc5-cp38-cp38-manylinux2010_x86_64.whl (11.3 MB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.12+ x86-64

mrsimulator-0.6.0rc5-cp38-cp38-manylinux2010_i686.whl (8.1 MB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.12+ i686

mrsimulator-0.6.0rc5-cp38-cp38-manylinux1_x86_64.whl (11.3 MB view hashes)

Uploaded CPython 3.8

mrsimulator-0.6.0rc5-cp38-cp38-manylinux1_i686.whl (8.1 MB view hashes)

Uploaded CPython 3.8

mrsimulator-0.6.0rc5-cp38-cp38-macosx_10_9_x86_64.whl (11.0 MB view hashes)

Uploaded CPython 3.8 macOS 10.9+ x86-64

mrsimulator-0.6.0rc5-cp37-cp37m-win_amd64.whl (8.7 MB view hashes)

Uploaded CPython 3.7m Windows x86-64

mrsimulator-0.6.0rc5-cp37-cp37m-manylinux2010_x86_64.whl (10.9 MB view hashes)

Uploaded CPython 3.7m manylinux: glibc 2.12+ x86-64

mrsimulator-0.6.0rc5-cp37-cp37m-manylinux2010_i686.whl (7.9 MB view hashes)

Uploaded CPython 3.7m manylinux: glibc 2.12+ i686

mrsimulator-0.6.0rc5-cp37-cp37m-manylinux1_x86_64.whl (10.9 MB view hashes)

Uploaded CPython 3.7m

mrsimulator-0.6.0rc5-cp37-cp37m-manylinux1_i686.whl (7.9 MB view hashes)

Uploaded CPython 3.7m

mrsimulator-0.6.0rc5-cp37-cp37m-macosx_10_9_x86_64.whl (11.0 MB view hashes)

Uploaded CPython 3.7m macOS 10.9+ x86-64

mrsimulator-0.6.0rc5-cp36-cp36m-win_amd64.whl (8.7 MB view hashes)

Uploaded CPython 3.6m Windows x86-64

mrsimulator-0.6.0rc5-cp36-cp36m-manylinux2010_x86_64.whl (10.9 MB view hashes)

Uploaded CPython 3.6m manylinux: glibc 2.12+ x86-64

mrsimulator-0.6.0rc5-cp36-cp36m-manylinux2010_i686.whl (7.9 MB view hashes)

Uploaded CPython 3.6m manylinux: glibc 2.12+ i686

mrsimulator-0.6.0rc5-cp36-cp36m-manylinux1_x86_64.whl (10.9 MB view hashes)

Uploaded CPython 3.6m

mrsimulator-0.6.0rc5-cp36-cp36m-manylinux1_i686.whl (7.9 MB view hashes)

Uploaded CPython 3.6m

mrsimulator-0.6.0rc5-cp36-cp36m-macosx_10_9_x86_64.whl (11.0 MB view hashes)

Uploaded CPython 3.6m macOS 10.9+ x86-64

Supported by

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