Cargando…

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

BACKGROUND: Software for nuclear magnetic resonance (NMR) spectrometers offer general functionality of instrument control and data processing; these applications are often developed with non-scripting languages. NMR users need to flexibly integrate rapidly developing NMR applications with emerging t...

Descripción completa

Detalles Bibliográficos
Autores principales: Liu, Zao, Chen, Zhiwei, Song, Kan
Formato: Online Artículo Texto
Lenguaje:English
Publicado: BioMed Central 2021
Materias:
Acceso en línea:https://www.ncbi.nlm.nih.gov/pmc/articles/PMC8650269/
https://www.ncbi.nlm.nih.gov/pubmed/34875998
http://dx.doi.org/10.1186/s12859-021-04492-y
_version_ 1784611164589654016
author Liu, Zao
Chen, Zhiwei
Song, Kan
author_facet Liu, Zao
Chen, Zhiwei
Song, Kan
author_sort Liu, Zao
collection PubMed
description BACKGROUND: Software for nuclear magnetic resonance (NMR) spectrometers offer general functionality of instrument control and data processing; these applications are often developed with non-scripting languages. NMR users need to flexibly integrate rapidly developing NMR applications with emerging technologies. Scripting systems offer open environments for NMR users to write custom programs. However, existing scripting systems have limited capabilities for both extending the functionality of NMR software’s non-script main program and using advanced native script libraries to support specialized application domains (e.g., biomacromolecules and metabolomics). Therefore, it is essential to design a novel scripting system to address both of these needs. RESULT: Here, a novel NMR scripting system named SpinSPJ is proposed. It works as a plug-in in the Java based NMR spectrometer software SpinStudioJ. In the scripting system, both Java based NMR methods and original CPython based libraries are supported. A module has been developed as a bridge to integrate the runtime environments of Java and CPython. The module works as an extension in the CPython environment and interacts with Java via the Java Native Interface. Leveraging this bridge, Java based instrument control and data processing methods of SpinStudioJ can be called with the CPython style. Compared with traditional scripting systems, SpinSPJ better supports both extending the non-script main program and implementing advanced NMR applications with a rich variety of script libraries. NMR researchers can easily call functions of instrument control and data processing as well as developing complex functionality (such as multivariate statistical analysis, deep learning, etc.) with CPython native libraries. CONCLUSION: SpinSPJ 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/spinspj. SUPPLEMENTARY INFORMATION: The online version contains supplementary material available at 10.1186/s12859-021-04492-y.
format Online
Article
Text
id pubmed-8650269
institution National Center for Biotechnology Information
language English
publishDate 2021
publisher BioMed Central
record_format MEDLINE/PubMed
spelling pubmed-86502692021-12-07 SpinSPJ: a novel NMR scripting system to implement artificial intelligence and advanced applications Liu, Zao Chen, Zhiwei Song, Kan BMC Bioinformatics Software BACKGROUND: Software for nuclear magnetic resonance (NMR) spectrometers offer general functionality of instrument control and data processing; these applications are often developed with non-scripting languages. NMR users need to flexibly integrate rapidly developing NMR applications with emerging technologies. Scripting systems offer open environments for NMR users to write custom programs. However, existing scripting systems have limited capabilities for both extending the functionality of NMR software’s non-script main program and using advanced native script libraries to support specialized application domains (e.g., biomacromolecules and metabolomics). Therefore, it is essential to design a novel scripting system to address both of these needs. RESULT: Here, a novel NMR scripting system named SpinSPJ is proposed. It works as a plug-in in the Java based NMR spectrometer software SpinStudioJ. In the scripting system, both Java based NMR methods and original CPython based libraries are supported. A module has been developed as a bridge to integrate the runtime environments of Java and CPython. The module works as an extension in the CPython environment and interacts with Java via the Java Native Interface. Leveraging this bridge, Java based instrument control and data processing methods of SpinStudioJ can be called with the CPython style. Compared with traditional scripting systems, SpinSPJ better supports both extending the non-script main program and implementing advanced NMR applications with a rich variety of script libraries. NMR researchers can easily call functions of instrument control and data processing as well as developing complex functionality (such as multivariate statistical analysis, deep learning, etc.) with CPython native libraries. CONCLUSION: SpinSPJ 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/spinspj. SUPPLEMENTARY INFORMATION: The online version contains supplementary material available at 10.1186/s12859-021-04492-y. BioMed Central 2021-12-07 /pmc/articles/PMC8650269/ /pubmed/34875998 http://dx.doi.org/10.1186/s12859-021-04492-y Text en © The Author(s) 2021 https://creativecommons.org/licenses/by/4.0/Open AccessThis article is licensed under a Creative Commons Attribution 4.0 International License, which permits use, sharing, adaptation, distribution and reproduction in any medium or format, as long as you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons licence, and indicate if changes were made. The images or other third party material in this article are included in the article's Creative Commons licence, unless indicated otherwise in a credit line to the material. If material is not included in the article's Creative Commons licence and your intended use is not permitted by statutory regulation or exceeds the permitted use, you will need to obtain permission directly from the copyright holder. To view a copy of this licence, visit http://creativecommons.org/licenses/by/4.0/ (https://creativecommons.org/licenses/by/4.0/) . The Creative Commons Public Domain Dedication waiver (http://creativecommons.org/publicdomain/zero/1.0/ (https://creativecommons.org/publicdomain/zero/1.0/) ) applies to the data made available in this article, unless otherwise stated in a credit line to the data.
spellingShingle Software
Liu, Zao
Chen, Zhiwei
Song, Kan
SpinSPJ: a novel NMR scripting system to implement artificial intelligence and advanced applications
title SpinSPJ: a novel NMR scripting system to implement artificial intelligence and advanced applications
title_full SpinSPJ: a novel NMR scripting system to implement artificial intelligence and advanced applications
title_fullStr SpinSPJ: a novel NMR scripting system to implement artificial intelligence and advanced applications
title_full_unstemmed SpinSPJ: a novel NMR scripting system to implement artificial intelligence and advanced applications
title_short SpinSPJ: a novel NMR scripting system to implement artificial intelligence and advanced applications
title_sort spinspj: a novel nmr scripting system to implement artificial intelligence and advanced applications
topic Software
url https://www.ncbi.nlm.nih.gov/pmc/articles/PMC8650269/
https://www.ncbi.nlm.nih.gov/pubmed/34875998
http://dx.doi.org/10.1186/s12859-021-04492-y
work_keys_str_mv AT liuzao spinspjanovelnmrscriptingsystemtoimplementartificialintelligenceandadvancedapplications
AT chenzhiwei spinspjanovelnmrscriptingsystemtoimplementartificialintelligenceandadvancedapplications
AT songkan spinspjanovelnmrscriptingsystemtoimplementartificialintelligenceandadvancedapplications