Skip to content

Commit 56cb494

Browse files
committed
change section order and move API architecture out of software design section
1 parent f629d89 commit 56cb494

File tree

1 file changed

+33
-33
lines changed

1 file changed

+33
-33
lines changed

joss/paper.md

Lines changed: 33 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -104,7 +104,7 @@ results on demand or selectively perform (re-)computations with new parameters.
104104
Python and R dominate metabolomic data analysis, backed by libraries like
105105
*pyOpenMS* [@roest14pyopenms], *matchms* [@huber20matchms], and the RforMassSpectrometry initiative including
106106
*Spectra* and *Metabonaut* [@louail25metabonaut].
107-
*PySirius* and *RSirius* bring SIRIUS into these established ecosystems, enabling
107+
*PySirius* and *RSirius* bring SIRIUS into these established ecosystems for the first time, enabling
108108
seamless workflows alongside statistical analyses, visualizations, and machine learning models.
109109

110110
SIRIUS integrations for multiple widely used mass spectrometry tools such
@@ -119,7 +119,7 @@ programmatic access to SIRIUS.
119119
The SIRIUS Application Programming Interface (API), initially released with SIRIUS version 6.0.0, is a major
120120
architectural update that offers several strategic advantages:
121121

122-
### Comprehensive programmatic access to functionality
122+
## Comprehensive programmatic access to functionality
123123

124124
The API exposes the complete spectrum of SIRIUS analytical
125125
capabilities through programmatic interfaces, encompassing spectral library searching,
@@ -132,28 +132,28 @@ and additional methods.
132132
This avoids the need to parse command-line interface outputs or manipulate
133133
intermediate file formats.
134134

135-
### Fine-grained and direct data retrieval
135+
## Fine-grained and direct data retrieval
136136

137137
The API allows direct retrieval of specific data elements at
138138
arbitrary levels of granularity (\autoref{fig:hierarchy}). This spans from individual feature-level results to
139139
project-wide summaries, thereby enabling more efficient and precisely targeted analytical workflows.
140140

141-
### Decoupled architectural design
141+
## Decoupled architectural design
142142

143143
The API separates the data persistence layer from the data access layer, which permits modifications to core SIRIUS
144144
functionality without invalidating existing project data structures. This architectural decision ensures forward
145145
compatibility for future SIRIUS updates, addressing the compatibility limitations encountered during the transition
146146
from SIRIUS version 5 to 6.
147147

148-
### Platform-agnostic integration capabilities
148+
## Platform-agnostic integration capabilities
149149

150150
The implementation according to the OpenAPI Specification guarantees
151151
that SIRIUS functionality remains accessible from any programming language ecosystem equipped with standard HTTP
152152
communication libraries.
153153

154154
![Annotation access hierarchy of SIRIUS \label{fig:hierarchy}](hierarchy_diagram.png)
155155

156-
## API Architecture
156+
# API Architecture
157157

158158
The core of the API consists of modules that enable programmatic control over the small molecule annotation workflow.
159159
These modules operate on the hierarchical structure of a SIRIUS project (\autoref{fig:hierarchy}), which typically
@@ -168,36 +168,36 @@ annotations in SIRIUS. This one-to-many relationship enables SIRIUS to provide c
168168
evidence across features associated with the same compound. The API focuses on enabling programmatic access to molecular
169169
annotations rather than low-level signal processing, though experimental data like traces remain accessible when needed
170170

171-
### Projects API
171+
## Projects API
172172

173173
The projects API module administers SIRIUS project spaces (blue in \autoref{fig:hierarchy}), which are isolated
174174
computational environments containing input spectral data and associated analysis results.
175175
This module allows to manage (create, open, close, delete) projects
176176
and import mass spectrometry data from various formats. It further provides access to prediction vector definitions
177177
utilized by CSI:FingerID and CANOPUS.
178178

179-
### Compounds API
179+
## Compounds API
180180

181181
The compounds API module manages compound entities (purple in \autoref{fig:hierarchy}) within projects.
182182
Compound manipulation operations encompass addition, deletion, and information retrieval.
183183

184-
### Features API
184+
## Features API
185185

186186
The features API module facilitates manipulation of aligned features (green in \autoref{fig:hierarchy}) as well as
187187
retrieval of their associated annotation results. Analogous to the compounds API, available operations include addition,
188188
deletion, and information retrieval. Accessible annotations include essentially all computational results generated by
189189
methods
190190
implemented within SIRIUS.
191191

192-
### Searchable Databases API
192+
## Searchable Databases API
193193

194194
The searchable databases API module manages custom spectral and structural database resources.
195195
This module supports creation and deletion of custom databases, import of new entries into existing
196196
databases, retrieval of database metadata, and enumeration of all custom and built-in databases
197197
available within the SIRIUS environment. As spectra must be annotated with a structure,
198198
any spectral library also functions as a structure database.
199199

200-
### Jobs API
200+
## Jobs API
201201

202202
The jobs API module controls annotation job workflows. Users can define custom job configurations specifying which
203203
analytical methods to apply to designated datasets. These jobs can then be executed, monitored, terminated, or deleted
@@ -221,25 +221,6 @@ loading data, running jobs, and retrieving results without leaving their analyti
221221
sharing
222222
of complete workflows in contained environments rather than describing multi-tool methodologies.
223223

224-
## Research Impact Statement
225-
226-
SIRIUS and its contained methods have been named
227-
"methods to watch" in Nature Methods on multiple occasions [@singh20tools; @singh23annotating].
228-
The core methods, such as CSI:FingerID and CANOPUS, are established standards in the field,
229-
evidenced by hundreds of citations for their foundational papers. Furthermore, the web services for these tools recently
230-
surpassed a combined [one billion queries](https://bio.informatik.uni-jena.de/2025/07/one-billion-queries-served/),
231-
demonstrating large scale adoption.
232-
233-
The Java client has enabled integration of SIRIUS into major metabolomics
234-
platforms. [MZmine](https://github.com/mzmine/mzmine) has incorporated SIRIUS
235-
functionality directly into its workflow since version 4.8, while
236-
Agilent's [Mass Hunter Explorer](https://www.agilent.com/en/product/software-informatics/mass-spectrometry-software/data-analysis/masshunter-explorer?srsltid=AfmBOooKj49bqc4ATAFIGmMQdir5twRaO5ClaSnHTnW8j68m7a3ZQUUQ#videos)
237-
v2.0 integrates SIRIUS
238-
capabilities through a proprietary client implementation. The RforMassSpectrometry initiative is currently adapting
239-
*RSirius* as the foundation for [
240-
*RuSirius*](https://github.com/rformassspectrometry/RuSirius). *PySirius* and *RSirius* show more than fifty thousand
241-
combined downloads on [Anaconda.org](https://anaconda.org/search?q=sirius-ms).
242-
243224
## Updates and maintainability
244225

245226
A CI/CD pipeline automatically generates and tests the R and Python client libraries against the latest
@@ -255,7 +236,7 @@ We welcome community contributions of additional client libraries and relegate i
255236
to
256237
our [contribution guidelines](https://github.com/sirius-ms/sirius-client-openAPI/tree/master?tab=readme-ov-file#contributing-sirius-client-libraries).
257238

258-
# Installation via conda-forge
239+
## Installation via conda-forge
259240

260241
Installation of either *PySirius* or *RSirius* via conda-forge automatically installs SIRIUS as a dependency.
261242

@@ -265,7 +246,7 @@ conda install -c conda-forge r-sirius-ms # R client library (RSirius)
265246
conda install -c conda-forge sirius-ms # SIRIUS (included in the above)
266247
```
267248

268-
# Examples and documentation
249+
## Examples and documentation
269250

270251
Minimalistic examples illustrating the fundamental usage of
271252
[*RSirius*](https://github.com/sirius-ms/sirius-client-openAPI/tree/master/client-api_r#example-usage-of-rsirius) and
@@ -283,6 +264,25 @@ and [
283264
*PySirius*](https://github.com/sirius-ms/sirius-client-openAPI/blob/master/client-api_python/generated/README.md#documentation-for-api-endpoints)
284265
is also provided in the repository.
285266

267+
# Research Impact Statement
268+
269+
SIRIUS and its contained methods have been named
270+
"methods to watch" in Nature Methods on multiple occasions [@singh20tools; @singh23annotating].
271+
The core methods, such as CSI:FingerID and CANOPUS, are established standards in the field,
272+
evidenced by hundreds of citations for their foundational papers. Furthermore, the web services for these tools recently
273+
surpassed a combined [one billion queries](https://bio.informatik.uni-jena.de/2025/07/one-billion-queries-served/),
274+
demonstrating large scale adoption.
275+
276+
The Java client has enabled integration of SIRIUS into major metabolomics
277+
platforms. [MZmine](https://github.com/mzmine/mzmine) has incorporated SIRIUS
278+
functionality directly into its workflow since version 4.8, while
279+
Agilent's [Mass Hunter Explorer](https://www.agilent.com/en/product/software-informatics/mass-spectrometry-software/data-analysis/masshunter-explorer?srsltid=AfmBOooKj49bqc4ATAFIGmMQdir5twRaO5ClaSnHTnW8j68m7a3ZQUUQ#videos)
280+
v2.0 integrates SIRIUS
281+
capabilities through a proprietary client implementation. The RforMassSpectrometry initiative is currently adapting
282+
*RSirius* as the foundation for [
283+
*RuSirius*](https://github.com/rformassspectrometry/RuSirius). *PySirius* and *RSirius* show more than fifty thousand
284+
combined downloads on [Anaconda.org](https://anaconda.org/search?q=sirius-ms).
285+
286286
# Availability
287287

288288
Both the [client library source code](https://github.com/sirius-ms/sirius-client-openAPI) and
@@ -297,7 +297,7 @@ and the SIRIUS API implementation is part of the
297297

298298
# AI usage disclosure
299299
AI assistance was utilized for text editing of this manuscript and the [contribution guidelines](https://github.com/sirius-ms/sirius-client-openAPI/tree/master?tab=readme-ov-file#contributing-sirius-client-libraries)
300-
of the repository. All changes proposed by AI systems were manually reviewed.
300+
of the client repository. All changes proposed by AI systems were manually reviewed.
301301

302302
# Competing interests
303303

0 commit comments

Comments
 (0)