Software:Spinach

From HandWiki
Spinach software
Spinach package logo.png
Developer(s)Ilya Kuprov (lead developer)
Initial release17 November 2011; 12 years ago (2011-11-17)
Stable release
2.8 / 6 August 2023; 6 months ago (2023-08-06)
Written inMatlab
Operating systemWindows, Linux, macOS
Available inEnglish
TypeMagnetic resonance
LicenseMIT License
Websitespindynamics.org

Spinach is an open-source magnetic resonance simulation package initially released in 2011[1] and continuously updated since.[2] The package is written in Matlab and makes use of the built-in parallel computing and GPU interfaces of Matlab.[3]

The name of the package whimsically refers to the physical concept of spin and to Popeye the Sailor who, in the eponymous comic books, becomes stronger after consuming spinach.[4]

250 MHz ECOSY NMR spectrum of strychnine alkaloid simulated using Spinach.

Overview

Spinach implements magnetic resonance simulations by solving the equation of motion for the density matrix [math]\displaystyle{ \mathbf{\rho }\left( t \right) }[/math] in the time domain[1]:

[math]\displaystyle{ \frac{\partial }{\partial t}\mathbf{\rho }\left( t \right)=-i\mathbf{L}\left( t \right)\mathbf{\rho }\left( t \right)\text{ }\Rightarrow \text{ }\mathbf{\rho }\left( t+dt \right)=\exp \left[ -i\mathbf{L}\left( t \right)dt \right]\mathbf{\rho }\left( t \right) }[/math]

where the Liouvillian superoperator [math]\displaystyle{ \mathbf{L}\left( t \right) }[/math] is a sum of the Hamiltonian commutation superoperator [math]\displaystyle{ \mathbf{H}\left( t \right) }[/math], relaxation superoperator [math]\displaystyle{ \mathbf{R} }[/math], kinetics superoperator [math]\displaystyle{ \mathbf{K} }[/math], and potentially other terms that govern spatial dynamics and coupling to other degrees of freedom[2]:

[math]\displaystyle{ \mathbf{L}\left( t \right)=\mathbf{H}\left( t \right)+i\mathbf{R}+i\mathbf{K}+... }[/math]

Computational efficiency is achieved through the use of reduced state spaces, sparse matrix arithmetic, on-the-fly trajectory analysis, and dynamic parallelization.[5]

Standard functionality

As of 2023, Spinach is cited in over 300 academic publications.[1] According to the documentation[2] and academic papers citing its features, the most recent version 2.8 of the package can perform:

Common models of spin relaxation (Redfield theory, stochastic Liouville equation, Lindblad theory) and chemical kinetics are supported, and a library of powder averaging grids is included with the package.[2]

Optimal control module

Spinach contains an implementation the gradient ascent pulse engineering (GRAPE) algorithm[16] for quantum optimal control. The documentation[2] and the book describing the optimal control module of the package[17] list the following features:

  • L-BFGS quasi-Newton and Newton-Raphson GRAPE optimizers.
  • Spin system trajectory analysis by coherence and correlation order.
  • Spectrogram analysis of the pulse waveform.
  • Prefixes, suffixes, keyholes, and freeze masks.
  • Optimization of cooperative pulses and phase cycles.
  • Waveform penalty functionals and instrument response.

Dissipative background evolution generators and control operators are supported, as well as ensemble control over distributions in common instrument calibration parameters, such as control channel power and offset.[2]

References

  1. 1.0 1.1 1.2 Hogben, H.J.; Krzystyniak, M.; Charnock, G.T.P.; Hore, P.J.; Kuprov, I. (2011). "Spinach – a software library for simulation of spin dynamics in large spin systems". Journal of Magnetic Resonance 208 (2): 179-194. doi:10.1016/j.jmr.2010.11.008. ISSN 1090-7807. 
  2. 2.0 2.1 2.2 2.3 2.4 2.5 2.6 "Spinach Documentation Wiki". 28 July 2023. https://spindynamics.org/wiki/index.php?title=Main_Page. 
  3. Kuprov, I. (2023). "Notes on software engineering". Spin: from basic symmetries to quantum optimal control. Springer. p. 351-373. doi:10.1007/978-3-031-05607-9_9. ISBN 978-3-031-05606-2. 
  4. "Spinach - a fast and general spin dynamics simulation library". https://spindynamics.org/documents/spinach_history.pdf. 
  5. Kuprov, I. (2023). "Incomplete basis sets". Spin: from basic symmetries to quantum optimal control. Springer. p. 291–312. doi:10.1007/978-3-031-05607-9_7. ISBN 978-3-031-05606-2. 
  6. Concilio, M.G. (2020). "Large‐scale magnetic resonance simulations: a tutorial". Magnetic Resonance in Chemistry 58 (8): 691-717. doi:10.1002/mrc.5018. ISSN 0749-1581. 
  7. Krushelnitsky, A.; Hempel, G.; Jurack, H.; Ferreira, T.M. (2023). "Rocking motion in solid proteins studied by the 15N proton-decoupled R relaxometry". Physical Chemistry Chemical Physics 25 (23): 15885–15896. doi:10.1039/d3cp00444a. ISSN 1463-9076. 
  8. Gutmann, T.; Groszewicz, P.B.; Buntkowsky, G. (2019). "Solid-state NMR of nanocrystals". Annual Reports on NMR Spectroscopy. p. 1-82. doi:10.1016/bs.arnmr.2018.12.001. 
  9. Williams, R.V.; Yang, J.-Y.; Moremen, K.W.; Amster, I.J.; Prestegard, J.H. (2019). "Measurement of residual dipolar couplings in methyl groups via carbon detection". Journal of Biomolecular NMR 73 (3-4): 191-198. doi:10.1007/s10858-019-00245-5. ISSN 0925-2738. 
  10. Kaseman, D.C.; Malone, M.W.; Tondreau, A.; Espy, M.A.; Williams, R.F. (2021). "Quantitation of nuclear magnetic resonance spectra at Earth’s magnetic field". Analytical Chemistry 93 (46): 15349-15357. doi:10.1021/acs.analchem.1c02910. ISSN 0003-2700. 
  11. Haies, I.M.; Jarvis, J.A.; Bentley, H.; Heinmaa, I.; Kuprov, I.; Williamson, P.T.F.; Carravetta, M. (2015). "14N overtone NMR under MAS: signal enhancement using symmetry-based sequences and novel simulation strategies". Physical Chemistry Chemical Physics 17 (9): 6577–6587. doi:10.1039/c4cp03994g. ISSN 1463-9076. 
  12. Guduff, L.; Kuprov, I.; van Heijenoort, C.; Dumez, J.-N. (2017). "Spatially encoded 2D and 3D diffusion-ordered NMR spectroscopy". Chemical Communications 53 (4): 701-704. doi:10.1039/c6cc09028a. ISSN 1359-7345. 
  13. Allami, A.J.; Concilio, M.G.; Lally, P.; Kuprov, I. (2019-07-05). "Quantum mechanical MRI simulations: solving the matrix dimension problem". Science Advances 5 (7). doi:10.1126/sciadv.aaw8962. ISSN 2375-2548. 
  14. Dumez, J.-N. (2021). "Frequency-swept pulses for ultrafast spatially encoded NMR". Journal of Magnetic Resonance 323: 106817. doi:10.1016/j.jmr.2020.106817. ISSN 1090-7807. 
  15. Redrouthu, V.S.; Mathies, G. (2022). "Efficient pulsed dynamic nuclear polarization with the X-inverse-X sequence". Journal of the American Chemical Society 144 (4): 1513-1516. doi:10.1021/jacs.1c09900. ISSN 0002-7863. 
  16. Khaneja, N.; Reiss, T.; Kehlet, C.; Schulte-Herbrüggen, T.; Glaser, S.J. (2005). "Optimal control of coupled spin dynamics: design of NMR pulse sequences by gradient ascent algorithms". Journal of Magnetic Resonance 172 (2): 296-305. doi:10.1016/j.jmr.2004.11.004. ISSN 1090-7807. 
  17. Kuprov, I. (2023). "Optimal control of spin systems". Spin: from basic symmetries to quantum optimal control. Springer. p. 313-349. doi:10.1007/978-3-031-05607-9_8. ISBN 978-3-031-05606-2.