NMRAspecds documentation
Welcome! This is the documentation for NMRAspecds, a Python package for reading in, manipulating and plotting NMR spectra with the ultimate goal to document all steps and make the history of the processed spectrum fully reproducible. The NMRAspecds package is based on the ASpecD framework, hence all data generated with the NMRAspecds package are completely reproducible and have a complete history.
What is even better: Actual data processing and analysis no longer requires programming skills, but is as simple as writing a text file summarising all the steps you want to have been performed on your dataset(s) in an organised way. Curious? Have a look at the following example:
1format:
2 type: ASpecD recipe
3 version: '0.2'
4
5settings:
6 default_package: nmraspecds
7
8datasets:
9 - /path/to/first/dataset
10 - /path/to/second/dataset
11
12tasks:
13 - kind: processing
14 type: Normalisation
15 parameters:
16 properties:
17 kind: scan_number
18 - kind: singleplot
19 type: SinglePlotter1D
20 properties:
21 filename:
22 - first_dataset.pdf
23 - second_dataset.pdf
Interested in more real-live examples? Check out the growing list of examples providing complete recipes for different needs.
Features
A list of features:
Fully reproducible processing and analysis of NMR data.
Gap-less record of each processing/analysis step, including explicit and implicit parameters.
Import of Bruker NMR data
Generic representation of NMR data, independent of the original format.
Datasets contain both, numerical data and all crucial metadata, a prerequisite for FAIR data.
Generic plotting capabilities, easily extendable
Report generation using pre-defined templates
Recipe-driven data analysis, allowing tasks to be performed fully unattended in the background
And to make it even more convenient for users and future-proof:
Open source project written in Python (>= 3.7)
Developed mostly test-driven
Extensive user and API documentation
Note
NMRAspecds is currently under active development and still considered in Beta development state. Therefore, expect frequent changes in features and public APIs that may break your own code. Nevertheless, feedback as well as feature requests are highly welcome.
Requirements
The NMRAspecds package comes with a rather minimal set of requirements:
Python >= 3.7 with aspecd, spindata, numpy, scipy and matplotlib packages
command-line access for recipe-driven data analysis
NMR data in readable formats (details in the
nmraspecds.io
module)
How to cite
NMRAspecds is free software. However, if you use NMRAspecds for your own research, please cite the software:
Mirjam Schröder. NMRAspecds (2024). doi:10.5281/zenodo.13293054
To make things easier, NMRAspecds has a DOI provided by Zenodo, and you may click on the badge below to directly access the record associated with it. Note that this DOI refers to the package as such and always forwards to the most current version.
Installation
To install the NMRAspecds package on your computer (sensibly within a Python virtual environment), open a terminal (activate your virtual environment), and type in the following:
pip install nmraspecds
License
This program is free software: you can redistribute it and/or modify it under the terms of the BSD License. However, if you use NMRAspecds for your own research, please cite it appropriately. See How to cite for details.