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...
Autores principales: | , , |
---|---|
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 |