Giter VIP home page Giter VIP logo

mrinversion's Introduction

Mrinversion

Deployment PyPI version PyPI - Python Version
Build Status GitHub Workflow Status Read the Docs
License License
Metrics codecov

The mrinversion python package is based on the statistical learning technique for determining the underlying distribution of the magnetic resonance (NMR) parameters.

The library utilizes the mrsimulator package for generating solid-state NMR spectra and scikit-learn package for statistical learning.


Features

The mrinversion package includes

  • Spectral Inversion: Two-dimensional solid-state NMR spectrum of dilute spin-systems correlating the isotropic to anisotropic frequencies to a three-dimensional distribution of NMR tensor parameters. Presently, we support the inversion of

    • Magic angle turning (MAT), Phase adjusted spinning sidebands (PASS), and similar spectra correlating the isotropic chemical shift resonances to pure anisotropic spinning sideband resonances into a three-dimensional distribution of nuclear shielding tensor parameters---isotropic chemical shift, shielding anisotropy and asymmetry parameters---defined using the Haeberlen convention.

    • Magic angle flipping (MAF) spectra correlating the isotropic chemical shift resonances to pure anisotropic resonances into a three-dimensional distribution of nuclear shielding tensor parameters---isotropic chemical shift, shielding anisotropy and asymmetry parameters---defined using the Haeberlen convention.

  • Relaxometry Inversion: Inversion of NMR relaxometry measurements to the distribution of relaxation parameters (T1, T2).

For more information, refer to the documentation.

View our example gallery

Installation

$ pip install mrinversion

Please read our installation document for details.

How to cite

If you use this work in your publication, please cite the following.

  • Srivastava, D. J.; Grandinetti P. J., Statistical learning of NMR tensors from 2D isotropic/anisotropic correlation nuclear magnetic resonance spectra, J. Chem. Phys. 153, 134201 (2020). DOI:10.1063/5.0023345.

  • Deepansh J. Srivastava, Maxwell Venetos, Philip J. Grandinetti, Shyam Dwaraknath, & Alexis McCarthy. (2021, May 26). mrsimulator: v0.6.0 (Version v0.6.0). Zenodo. http://doi.org/10.5281/zenodo.4814638

Additionally, if you use the CSDM data model, please consider citing

  • Srivastava DJ, Vosegaard T, Massiot D, Grandinetti PJ (2020) Core Scientific Dataset Model: A lightweight and portable model and file format for multi-dimensional scientific data. PLOS ONE 15(1): e0225953. https://doi.org/10.1371/journal.pone.0225953

mrinversion's People

Contributors

deepanshs avatar dependabot[bot] avatar mgiammar avatar pjgrandinetti avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

mrinversion's Issues

Creating a Kernel fails if csdf has ppm as unit or one line of the simulation "amp" contains only zeros.

When i was altering the input file for the MAF example, the line
K = sidebands.kernel(supersampling=1)
returned an array of NaN values.

When investigating, I found the
https://github.com/DeepanshS/mrinversion/blob/785002052b064d5d50235ab6b6f46a40240ad7f2/mrinversion/kernel/csa_aniso.py#L107 to return zeros, if the .csdf data file contains ppm instead of frequency units.

After fixing that issue by presenting my data in the .csdf data file as Hz, i still got the return values of nan and inf in K, which stems from one vector inside the amp values that only contains zeros,
https://github.com/DeepanshS/mrinversion/blob/785002052b064d5d50235ab6b6f46a40240ad7f2/mrinversion/kernel/base.py#L72 divides then by those zeros.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.