NMRPy: a novel NMR scripting system to implement artificial intelligence and advanced applications

27 Mar 2021  ·  Zao Liu, Kan Song, Zhiwei Chen ·

Background: Software is an important windows to offer a variety of complex instrument control and data processing for nuclear magnetic resonance (NMR) spectrometer. NMR software should allow researchers to flexibly implement various functionality according to the requirement of applications. Scripting system can offer an open environment for NMR users to write custom programs with basic libraries. Emerging technologies, especially multivariate statistical analysis and artificial intelligence, have been successfully applied to NMR applications such as metabolomics and biomacromolecules. Scripting system should support more complex NMR libraries, which will enable the emerging technologies to be easily implemented in the scripting environment. Result: Here, a novel NMR scripting system named "NMRPy" is introduced. In the scripting system, both Java based NMR methods and original CPython based libraries are supported. A module was built as a bridge to integrate the runtime environment of Java and CPython. It works as an extension in CPython environment, as well as interacts with Java part by Java Native Interface. Leveraging the bridge, Java based instrument control and data processing methods can be called as a CPython style. Compared with traditional scripting system, NMRPy is easier for NMR researchers to develop complex functionality with fast numerical computation, multivariate statistical analysis, deep learning etc. Non-uniform sampling and protein structure prediction methods based on deep learning can be conveniently integrated into NMRPy. Conclusion: NMRPy offers a user-friendly environment to implement custom functionality leveraging its powerful basic NMR and rich CPython libraries. NMR applications with emerging technologies can be easily integrated. The scripting system is free of charge and can be downloaded by visiting http://www.spinstudioj.net/nmrpy.

PDF Abstract
No code implementations yet. Submit your code now

Datasets


  Add Datasets introduced or used in this paper

Results from the Paper


  Submit results from this paper to get state-of-the-art GitHub badges and help the community compare results to other papers.

Methods


No methods listed for this paper. Add relevant methods here