Peer Review History
| Original SubmissionAugust 4, 2025 |
|---|
|
PONE-D-25-42410Sardine: a modular framework for developing data acquisition and near real-time analysis applicationsPLOS ONE Dear Dr. Orger, Thank you for submitting your manuscript to PLOS ONE. After careful consideration, we feel that it has merit but does not fully meet PLOS ONE’s publication criteria as it currently stands. Therefore, we invite you to submit a revised version of the manuscript that addresses the points raised during the review process. We found the work to be technically sound and a valuable contribution to both neuroscience and software engineering. Sardine addresses an important need for modular, scalable, and reusable frameworks, and the examples presented demonstrate clear utility. However, before acceptance, some revisions are needed. In particular, please include quantitative performance benchmarks (e.g., latency, CPU/memory usage, throughput) and, where possible, compare them with existing frameworks such as Bonsai or LabVIEW. The novelty of the two-layer architecture should be emphasized more explicitly, and further clarification is needed on cross-platform applicability, vessel management under high-throughput conditions, and user accessibility. We also encourage you to improve figure resolution and clarity, define acronyms at first use, and streamline some sections to enhance readability. These revisions are modest and primarily aimed at improving clarity, accessibility, and impact. We therefore invite you to submit a revised version, after which the manuscript will be suitable for publication. Please submit your revised manuscript by Nov 17 2025 11:59PM. If you will need more time than this to complete your revisions, please reply to this message or contact the journal office at plosone@plos.org. When you're ready to submit your revision, log on to https://www.editorialmanager.com/pone/ and select the 'Submissions Needing Revision' folder to locate your manuscript file. Please include the following items when submitting your revised manuscript:
If you would like to make changes to your financial disclosure, please include your updated statement in your cover letter. Guidelines for resubmitting your figure files are available below the reviewer comments at the end of this letter. If applicable, we recommend that you deposit your laboratory protocols in protocols.io to enhance the reproducibility of your results. Protocols.io assigns your protocol its own identifier (DOI) so that it can be cited independently in the future. For instructions see: https://journals.plos.org/plosone/s/submission-guidelines#loc-laboratory-protocols. Additionally, PLOS ONE offers an option for publishing peer-reviewed Lab Protocol articles, which describe protocols hosted on protocols.io. Read more information on sharing protocols at https://plos.org/protocols?utm_medium=editorial-email&utm_source=authorletters&utm_campaign=protocols. We look forward to receiving your revised manuscript. Kind regards, Inbakandan Dhinakarasamy, Ph.D Academic Editor PLOS ONE Journal requirements: When submitting your revision, we need you to address these additional requirements. 1. Please ensure that your manuscript meets PLOS ONE's style requirements, including those for file naming. The PLOS ONE style templates can be found at https://journals.plos.org/plosone/s/file?id=wjVg/PLOSOne_formatting_sample_main_body.pdf and 2. Thank you for stating the following financial disclosure: “This work was financed by funding to Michael Orger's lab from the European Research Council (Consolidator Grant, Neurofish-DLV-773012), the Champalimaud Foundation, the Volkswagen Stiftung Life? Initiative (A126151) and through national funds from the Portuguese FCT - Foundation for Science and Technology, I.P., under the projects PTDC/NEU-SCC/5221/2014 and 2023.14873.PEX. A. Lucas Martins received funding from the Portuguese Fundação para a Ciência e Tecnologia (FCT) through the PhD fellowships SFRH/BD/129843/2017 and COVID/BD/152726/2022.” Please state what role the funders took in the study. If the funders had no role, please state: "The funders had no role in study design, data collection and analysis, decision to publish, or preparation of the manuscript." If this statement is not correct you must amend it as needed. Please include this amended Role of Funder statement in your cover letter; we will change the online submission form on your behalf. If the reviewer comments include a recommendation to cite specific previously published works, please review and evaluate these publications to determine whether they are relevant and should be cited. There is no requirement to cite these works unless the editor has indicated otherwise. Please review your reference list to ensure that it is complete and correct. If you have cited papers that have been retracted, please include the rationale for doing so in the manuscript text, or remove these references and replace them with relevant current references. Any changes to the reference list should be mentioned in the rebuttal letter that accompanies your revised manuscript. If you need to cite a retracted article, indicate the article’s retracted status in the References list and also include a citation and full reference for the retraction notice. Additional Editor Comments: This manuscript presents Sardine, an open-source modular framework developed in the .NET environment to support hardware control, data acquisition, and near real-time analysis in experimental sciences, with particular emphasis on neuroscience applications. The framework is motivated by well-recognized challenges in the field, namely the unsustainability of custom-built experimental systems, the difficulty of reusing them across laboratories, and the lack of scalable, fault-tolerant, and domain-agnostic solutions. The authors describe a two-layer modular architecture, provide examples of its application in zebrafish posture tracking and light-sheet microscopy, and compare Sardine with existing frameworks such as Bonsai, LabVIEW, µManager, and Stytra. The manuscript is technically sound, well structured, and offers both conceptual insights and practical demonstrations, making it a valuable contribution to the communities of software engineering and experimental neuroscience. While the manuscript is of high quality, there remain some areas where clarification and refinement would strengthen its contribution. A recurring theme across the reviews is the need for quantitative performance benchmarks. Including latency distributions, throughput, CPU and memory usage, and error rates, ideally in a comparative table with other frameworks such as Bonsai or LabVIEW, would provide concrete evidence of Sardine’s efficiency and robustness. Similarly, while the dual-layer architecture is central to Sardine’s design, its novelty and advantages could be emphasized more clearly in both the introduction and the discussion. In particular, the differences in long-term maintainability and scalability compared with Bonsai’s asynchronous model and LabVIEW’s tightly coupled approach deserve fuller elaboration. Another important point relates to cross-platform usability. At present, the GUI is Windows-specific through .NET/WPF. The manuscript would benefit from further discussion of how Sardine can be used by non-Windows users, for example through command-line operation, headless mode, integration with Python interfaces, or containerization solutions such as Docker. A brief roadmap outlining possible directions for cross-platform support would broaden the appeal of the framework considerably. Some technical aspects would also benefit from additional detail. The description of vessel abstractions and state management is clear, but more information is needed on how Sardine handles potential race conditions when multiple vessels attempt to access a shared resource, and what the performance overhead is of vessel creation and dynamic reloading in high-throughput experiments. Similarly, although the examples provided are compelling, the results could be expanded to include quantitative performance outcomes for zebrafish posture tracking and microscopy applications, together with descriptions of how the system performs under stress conditions such as heavy CPU load or unexpected crashes. Accessibility is another important factor. While the manuscript notes that Sardine is hosted on GitHub, providing readers with simple demo scripts or tutorials that can be run without specialized hardware would make it easier for the community to engage with and adopt the framework. At the same time, future plans for improving user experience and expanding multilingual support (for example in Spanish, Turkish, or Chinese) would help to establish Sardine as a globally relevant tool. In terms of presentation, the manuscript would benefit from modest shortening to maintain reader engagement. Certain terms such as “freightering” and “invalidator” could be replaced with more standard software engineering terminology. Figures 2–4, although informative, appear dense and of low resolution; clearer rendering, more intuitive labeling, and color coding would help make vessel states and data graphs easier to follow. Finally, care should be taken to ensure that all acronyms (such as WPF and sCMOS) are defined at first mention. In summary, the manuscript is a significant and timely contribution that successfully addresses challenges in developing modular, scalable, and reusable frameworks for experimental research. The work demonstrates both technical rigor and practical relevance. With the inclusion of benchmarking data, clarification of architectural novelty, improved guidance on cross-platform use, and modest improvements to figures and presentation, the manuscript will be ready for publication. [Note: HTML markup is below. Please do not edit.] Reviewers' comments: Reviewer's Responses to Questions Comments to the Author 1. Is the manuscript technically sound, and do the data support the conclusions? The manuscript must describe a technically sound piece of scientific research with data that supports the conclusions. Experiments must have been conducted rigorously, with appropriate controls, replication, and sample sizes. The conclusions must be drawn appropriately based on the data presented. Reviewer #1: Yes Reviewer #2: Yes Reviewer #3: Yes ********** 2. Has the statistical analysis been performed appropriately and rigorously? Reviewer #1: Yes Reviewer #2: Yes Reviewer #3: N/A ********** 3. Have the authors made all data underlying the findings in their manuscript fully available? The PLOS Data policy requires authors to make all data underlying the findings described in their manuscript fully available without restriction, with rare exception (please refer to the Data Availability Statement in the manuscript PDF file). The data should be provided as part of the manuscript or its supporting information, or deposited to a public repository. For example, in addition to summary statistics, the data points behind means, medians and variance measures should be available. If there are restrictions on publicly sharing data—e.g. participant privacy or use of data from a third party—those must be specified. Reviewer #1: Yes Reviewer #2: Yes Reviewer #3: Yes ********** 4. Is the manuscript presented in an intelligible fashion and written in standard English? PLOS ONE does not copyedit accepted manuscripts, so the language in submitted articles must be clear, correct, and unambiguous. Any typographical or grammatical errors should be corrected at revision, so please note any specific errors here. Reviewer #1: Yes Reviewer #2: Yes Reviewer #3: Yes ********** 5. Review Comments to the Author Please use the space provided to explain your answers to the questions above. You may also include additional comments for the author, including concerns about dual publication, research ethics, or publication ethics. (Please upload your review as an attachment if it exceeds 20,000 characters) Reviewer #1: This study introduces Sardine, a software framework developed for use in experimental sciences, particularly in data-intensive and hardware-focused fields such as neuroscience. Sardine was developed within the .NET ecosystem and aims to facilitate the establishment of hardware control and near real-time data processing systems by operating in a modular structure. The software features fault-tolerant architecture, data queue management, module independence, dual-layer module integration, interface creation tools, and remote access. Examples of Sardine's use include neuroscience experiments such as zebrafish tracking and light-transmission microscope control. The work stems from practical problems such as the unsustainability of hardware-software integrations used in experimental research and the difficulty of reusing custom systems. Sardine is a framework developed as a solution to these problems. Its motivation is clear, powerful, and field-based. It combines hardware control with real-time data processing, creates fault-tolerant systems, and offers an open-source platform. Although software-based, it offers significant methodological contributions to the design of experimental systems in disciplines such as neuroscience. Comparisons with existing solutions (Bonsai, LabVIEW, µManager, etc.) are clear. However, I would like to kindly offer the following suggestions to the authors: 1- Benchmarking is lacking. No direct performance comparison has been made with alternatives such as Bonsai or LabVIEW. A Benchmarking Table is recommended, and Sardine's comparative performance data with other systems should be used. 2- Evaluation of user experience/learning curve is limited and should be provided in detail. Additionally, further content could be provided on advanced customizations in GUI design. 3- Real-time test results could be more detailed (e.g., CPU load, crash scenarios, resource usage). Also, a plan or roadmap should be shared for Docker/Cross-platform support (currently limited to .NET/WPF). 4- Support for multiple languages could be added; common languages should be added (e.g., Spanish, Turkish, and Chinese). I recommend adding them for global distribution. My polite suggestion is to accept with minor revisions. Reviewer #2: In the manuscript entitled "Sardine: a modular framework for developing data acquisition and near real-time analysis applications" authors presented the detailed structure and execution of Sardine open-source modular software built in .NET environment, for controlling experimental setups and real-time data acquisition/analysis. The manuscript is technically sound and provides both conceptual and practical insights into the framework. It is a well structured presentation with detailed examples and comparative analysis with alternative solutions. Overall, this is a valuable contribution to the field of software engineering, with potential broader applications. However, still there is a scope for further improvement by addressing the following suggestions and comments to improve clarity and readability. 1. Through the developed software Sardine provides alternate solution to the existing frameworks (e.g., Bonsai, LabVIEW, µManager, Stytra), the novelty of Sardine’s "two-layer architecture" (link layer + data layer) may be more explicitly emphasized in the Introduction and Discussion. 2. Authors may clarify how Sardine differs with respect to Bonsai’s asynchronous model and LabVIEW’s coupling in terms of long-term maintainability and scalability (other than error handling). 3. Currently, Sardine GUIs limits usage on Windows only. Authors may describe how non-Windows users can still utilize Sardine (e.g., CLI-only operation, headless mode, or integration with Python frontends). 4. The vessel abstraction and state management (IsOnline, IsActive, ExecuteCall) are clearly explained, but some technical details require more elaboration. For example: • How does Sardine handle race conditions when multiple vessels try to access a shared resource? • What is the overhead of vessel creation and dynamic reloading in high-throughput experiments? 5. Though the availability of Sardine on GitHub repositories is mentioned, authors may provide some working examples (e.g., a reproducible demo script or tutorial) in the manuscript that allows readers to test Sardine immediately without specialized hardware. 6. While the zebrafish posture tracking and light-sheet microscopy examples are appealing, quantitative performance metrics may be provided for posture tracking, report actual latency distributions, error rates, and system throughput. Minor Comments: 1. The current manuscript is a valuable contribution but the length of the manuscript diverts the readers interest. Authors are advised to shorten the manuscript with more focus to attach the readers interest. 2. Usage of some words like "freightering", "invalidator" may be replaced with more standard terminology. 3. Figures 2–4 are informative but somewhat dense and with low resolution. Use clearer color coding or labels to make vessel states and data/link graphs more intuitive. 4. Ensure all acronyms (e.g., WPF, sCMOS) are defined at first use. Reviewer #3: The manuscript provides valuable contributions to both the software engineering and experimental neuroscience communities by offering a domain-agnostic, modular, and scalable solution for real-time data acquisition and analysis. To further strengthen the article, the authors could include quantitative performance benchmarks (e.g., latency, memory usage, CPU load) in the Methods or Use Cases sections, provide diagrams or figures for all architectural components, and emphasize cross-platform GUI alternatives for broader applicability. ********** 6. PLOS authors have the option to publish the peer review history of their article (what does this mean?). If published, this will include your full peer review and any attached files. If you choose “no”, your identity will remain anonymous but your review may still be made public. Do you want your identity to be public for this peer review? For information about this choice, including consent withdrawal, please see our Privacy Policy. Reviewer #1: No Reviewer #2: No Reviewer #3: No ********** [NOTE: If reviewer comments were submitted as an attachment file, they will be attached to this email and accessible via the submission site. Please log into your account, locate the manuscript record, and check for the action link "View Attachments". If this link does not appear, there are no attachment files.] While revising your submission, please upload your figure files to the Preflight Analysis and Conversion Engine (PACE) digital diagnostic tool, https://pacev2.apexcovantage.com/. PACE helps ensure that figures meet PLOS requirements. To use PACE, you must first register as a user. Registration is free. Then, login and navigate to the UPLOAD tab, where you will find detailed instructions on how to use the tool. If you encounter any issues or have any questions when using PACE, please email PLOS at figures@plos.org. Please note that Supporting Information files do not need this step.
|
| Revision 1 |
|
Sardine: a modular framework for developing data acquisition and near real-time analysis applications PONE-D-25-42410R1 Dear Dr. Michael Orger, We’re pleased to inform you that your manuscript has been judged scientifically suitable for publication and will be formally accepted for publication once it meets all outstanding technical requirements. Within one week, you’ll receive an e-mail detailing the required amendments. When these have been addressed, you’ll receive a formal acceptance letter and your manuscript will be scheduled for publication. An invoice will be generated when your article is formally accepted. Please note, if your institution has a publishing partnership with PLOS and your article meets the relevant criteria, all or part of your publication costs will be covered. Please make sure your user information is up-to-date by logging into Editorial Manager at Editorial Manager® and clicking the ‘Update My Information' link at the top of the page. For questions related to billing, please contact billing support. If your institution or institutions have a press office, please notify them about your upcoming paper to help maximize its impact. If they’ll be preparing press materials, please inform our press team as soon as possible -- no later than 48 hours after receiving the formal acceptance. Your manuscript will remain under strict press embargo until 2 pm Eastern Time on the date of publication. For more information, please contact onepress@plos.org. Kind regards, Inbakandan Dhinakarasamy, Ph.D Academic Editor PLOS One Additional Editor Comments (optional): The revised manuscript presents a technically sound, well-motivated, and practically validated software framework that addresses an important challenge in experimental research software development. The authors have satisfactorily addressed all reviewer comments, and the clarity of presentation has improved, particularly in describing the modular architecture, fault tolerance, and real-world applicability. The separation of control dependencies and data flow is well justified and effectively demonstrated through relevant use cases. Overall, the work reflects strong software engineering principles, offers clear utility to the research community, and meets the standards of rigor and clarity expected by the journal. In its present form, the manuscript is suitable for acceptance for publication. Reviewers' comments: Reviewer's Responses to Questions Comments to the Author 1. If the authors have adequately addressed your comments raised in a previous round of review and you feel that this manuscript is now acceptable for publication, you may indicate that here to bypass the “Comments to the Author” section, enter your conflict of interest statement in the “Confidential to Editor” section, and submit your "Accept" recommendation. Reviewer #2: All comments have been addressed Reviewer #3: All comments have been addressed Reviewer #4: All comments have been addressed ********** 2. Is the manuscript technically sound, and do the data support the conclusions? The manuscript must describe a technically sound piece of scientific research with data that supports the conclusions. Experiments must have been conducted rigorously, with appropriate controls, replication, and sample sizes. The conclusions must be drawn appropriately based on the data presented. Reviewer #2: Yes Reviewer #3: Yes Reviewer #4: Yes ********** 3. Has the statistical analysis been performed appropriately and rigorously? Reviewer #2: Yes Reviewer #3: Yes Reviewer #4: Yes ********** 4. Have the authors made all data underlying the findings in their manuscript fully available? The PLOS Data policy requires authors to make all data underlying the findings described in their manuscript fully available without restriction, with rare exception (please refer to the Data Availability Statement in the manuscript PDF file). The data should be provided as part of the manuscript or its supporting information, or deposited to a public repository. For example, in addition to summary statistics, the data points behind means, medians and variance measures should be available. If there are restrictions on publicly sharing data—e.g. participant privacy or use of data from a third party—those must be specified. Reviewer #2: Yes Reviewer #3: Yes Reviewer #4: Yes ********** 5. Is the manuscript presented in an intelligible fashion and written in standard English? PLOS ONE does not copyedit accepted manuscripts, so the language in submitted articles must be clear, correct, and unambiguous. Any typographical or grammatical errors should be corrected at revision, so please note any specific errors here. Reviewer #2: Yes Reviewer #3: Yes Reviewer #4: Yes ********** 6. Review Comments to the Author Please use the space provided to explain your answers to the questions above. You may also include additional comments for the author, including concerns about dual publication, research ethics, or publication ethics. (Please upload your review as an attachment if it exceeds 20,000 characters) Reviewer #2: I appreciate the authors for revising the manuscript by considering the comments and suggestions given by the reviewers. The manuscript is sound enough to be accepted for publication. Reviewer #3: This manuscript presents Sardine, a modular and fault-tolerant framework for developing near real-time data acquisition and control applications. The work addresses a well-recognized challenge in experimental research: the difficulty of building flexible, maintainable, and robust software systems that integrate heterogeneous hardware while supporting concurrent data processing. The proposed architecture, based on the separation of hierarchical dependencies (link graph) from asynchronous data flow (data graph), is well motivated and clearly articulated. The vessel abstraction provides an effective mechanism for encapsulating component lifecycle, state management, and failure handling, and the framework demonstrates careful attention to concurrency, robustness, and software sustainability. The design reflects sound software engineering principles and a strong understanding of the practical constraints of desktop operating systems. The manuscript is clearly written, logically structured, and accessible to both software engineers and experimental researchers. The inclusion of detailed code examples, configuration descriptions, and GUI integration workflows is particularly valuable and enhances the manuscript’s utility as both a research article and a reference resource. The presented use cases, especially those involving high-throughput behavioral tracking and microscopy control, convincingly demonstrate the framework’s applicability and scalability in demanding real-world scenarios. The performance claims are supported by descriptive metrics appropriate for a software systems paper, and the absence of formal statistical hypothesis testing is reasonable given the nature of the contribution. The authors have made the framework and associated code openly available, supporting transparency and reproducibility. No concerns regarding research ethics, data availability, or dual publication are apparent. I have only minor suggestions for improvement. The authors may wish to (i) more explicitly clarify the scope and current limitations of the framework, particularly regarding platform-specific UI components; (ii) provide brief contextual details for reported performance figures (e.g., typical hardware or measurement conditions); and (iii) slightly strengthen the comparative discussion with existing frameworks to help readers situate Sardine within the broader ecosystem of modular and graph-based systems. Overall, this is a strong and timely contribution that will be of interest to researchers developing complex experimental systems. I recommend acceptance with minor revisions. Reviewer #4: The work is technically excellent and publication-worthy. The Author addressed the reviewers’ concern too. Few sentences are Lengthy and could be split for readability. Overall, the work is technically strong, well motivated, and practically validated, making it a solid contribution to research ********** 7. PLOS authors have the option to publish the peer review history of their article (what does this mean?). If published, this will include your full peer review and any attached files. If you choose “no”, your identity will remain anonymous but your review may still be made public. Do you want your identity to be public for this peer review? For information about this choice, including consent withdrawal, please see our Privacy Policy. Reviewer #2: No Reviewer #3: No Reviewer #4: Yes: JABEZ J **********
|
| Formally Accepted |
|
PONE-D-25-42410R1 PLOS One Dear Dr. Orger, I'm pleased to inform you that your manuscript has been deemed suitable for publication in PLOS One. Congratulations! Your manuscript is now being handed over to our production team. At this stage, our production department will prepare your paper for publication. This includes ensuring the following: * All references, tables, and figures are properly cited * All relevant supporting information is included in the manuscript submission, * There are no issues that prevent the paper from being properly typeset You will receive further instructions from the production team, including instructions on how to review your proof when it is ready. Please keep in mind that we are working through a large volume of accepted articles, so please give us a few days to review your paper and let you know the next and final steps. Lastly, if your institution or institutions have a press office, please let them know about your upcoming paper now to help maximize its impact. If they'll be preparing press materials, please inform our press team within the next 48 hours. Your manuscript will remain under strict press embargo until 2 pm Eastern Time on the date of publication. For more information, please contact onepress@plos.org. You will receive an invoice from PLOS for your publication fee after your manuscript has reached the completed accept phase. If you receive an email requesting payment before acceptance or for any other service, this may be a phishing scheme. Learn how to identify phishing emails and protect your accounts at https://explore.plos.org/phishing. If we can help with anything else, please email us at customercare@plos.org. Thank you for submitting your work to PLOS ONE and supporting open access. Kind regards, PLOS ONE Editorial Office Staff on behalf of Dr. Inbakandan Dhinakarasamy Academic Editor PLOS One |
Open letter on the publication of peer review reports
PLOS recognizes the benefits of transparency in the peer review process. Therefore, we enable the publication of all of the content of peer review and author responses alongside final, published articles. Reviewers remain anonymous, unless they choose to reveal their names.
We encourage other journals to join us in this initiative. We hope that our action inspires the community, including researchers, research funders, and research institutions, to recognize the benefits of published peer review reports for all parts of the research system.
Learn more at ASAPbio .