Nova: A library for rapid development of mass spectrometry software applications

preprint OA: closed CC-BY-NC-4.0
📄 Open PDF Full text JSON View at publisher

Abstract

Nova is a software library for the reading, writing, and management of mass spectrometry data natively in the C# language. It complements similar software libraries ubiquitously used in application development for C++, Python, and Java. Few software libraries and resources for mass spectrometry data analysis have been developed for C# relative to other languages. C#, however, remains the dominant language of choice for development of real time mass spectrometry (RTMS) analysis and instrument control applications, illustrating the need for native C# libraries when developing RTMS software. Nova provides fast, easy-to-use structures and classes built upon interfaces that support open community standards, and are easily extensible for current or future mass spectrometry software development needs.
Full text 30,295 characters · extracted from preprint-html · click to expand
Nova: A library for rapid development of mass spectrometry software applications | bioRxiv /* */ /* */ <!-- <!-- /*! * yepnope1.5.4 * (c) WTFPL, GPLv2 */ (function(a,b,c){function d(a){return"[object Function]"==o.call(a)}function e(a){return"string"==typeof a}function f(){}function g(a){return!a||"loaded"==a||"complete"==a||"uninitialized"==a}function h(){var a=p.shift();q=1,a?a.t?m(function(){("c"==a.t?B.injectCss:B.injectJs)(a.s,0,a.a,a.x,a.e,1)},0):(a(),h()):q=0}function i(a,c,d,e,f,i,j){function k(b){if(!o&&g(l.readyState)&&(u.r=o=1,!q&&h(),l.onload=l.onreadystatechange=null,b)){"img"!=a&&m(function(){t.removeChild(l)},50);for(var d in y[c])y[c].hasOwnProperty(d)&&y[c][d].onload()}}var j=j||B.errorTimeout,l=b.createElement(a),o=0,r=0,u={t:d,s:c,e:f,a:i,x:j};1===y[c]&&(r=1,y[c]=[]),"object"==a?l.data=c:(l.src=c,l.type=a),l.width=l.height="0",l.onerror=l.onload=l.onreadystatechange=function(){k.call(this,r)},p.splice(e,0,u),"img"!=a&&(r||2===y[c]?(t.insertBefore(l,s?null:n),m(k,j)):y[c].push(l))}function j(a,b,c,d,f){return q=0,b=b||"j",e(a)?i("c"==b?v:u,a,b,this.i++,c,d,f):(p.splice(this.i++,0,a),1==p.length&&h()),this}function k(){var a=B;return a.loader={load:j,i:0},a}var l=b.documentElement,m=a.setTimeout,n=b.getElementsByTagName("script")[0],o={}.toString,p=[],q=0,r="MozAppearance"in l.style,s=r&&!!b.createRange().compareNode,t=s?l:n.parentNode,l=a.opera&&"[object Opera]"==o.call(a.opera),l=!!b.attachEvent&&!l,u=r?"object":l?"script":"img",v=l?"script":u,w=Array.isArray||function(a){return"[object Array]"==o.call(a)},x=[],y={},z={timeout:function(a,b){return b.length&&(a.timeout=b[0]),a}},A,B;B=function(a){function b(a){var a=a.split("!"),b=x.length,c=a.pop(),d=a.length,c={url:c,origUrl:c,prefixes:a},e,f,g;for(f=0;f<d;f++)g=a[f].split("="),(e=z[g.shift()])&&(c=e(c,g));for(f=0;f<b;f++)c=x[f](c);return c}function g(a,e,f,g,h){var i=b(a),j=i.autoCallback;i.url.split(".").pop().split("?").shift(),i.bypass||(e&&(e=d(e)?e:e[a]||e[g]||e[a.split("/").pop().split("?")[0]]),i.instead?i.instead(a,e,f,g,h):(y[i.url]?i.noexec=!0:y[i.url]=1,f.load(i.url,i.forceCSS||!i.forceJS&&"css"==i.url.split(".").pop().split("?").shift()?"c":c,i.noexec,i.attrs,i.timeout),(d(e)||d(j))&&f.load(function(){k(),e&&e(i.origUrl,h,g),j&&j(i.origUrl,h,g),y[i.url]=2})))}function h(a,b){function c(a,c){if(a){if(e(a))c||(j=function(){var a=[].slice.call(arguments);k.apply(this,a),l()}),g(a,j,b,0,h);else if(Object(a)===a)for(n in m=function(){var b=0,c;for(c in a)a.hasOwnProperty(c)&&b++;return b}(),a)a.hasOwnProperty(n)&&(!c&&!--m&&(d(j)?j=function(){var a=[].slice.call(arguments);k.apply(this,a),l()}:j[n]=function(a){return function(){var b=[].slice.call(arguments);a&&a.apply(this,b),l()}}(k[n])),g(a[n],j,b,n,h))}else!c&&l()}var h=!!a.test,i=a.load||a.both,j=a.callback||f,k=j,l=a.complete||f,m,n;c(h?a.yep:a.nope,!!i),i&&c(i)}var i,j,l=this.yepnope.loader;if(e(a))g(a,0,l,0);else if(w(a))for(i=0;i (function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0];var j=d.createElement(s);var dl=l!='dataLayer'?'&l='+l:'';j.src='//www.googletagmanager.com/gtm.js?id='+i+dl;j.type='text/javascript';j.async=true;f.parentNode.insertBefore(j,f);})(window,document,'script','dataLayer','GTM-M677548'); Skip to main content Home About Submit ALERTS / RSS Search for this keyword Advanced Search New Results Nova: A library for rapid development of mass spectrometry software applications View ORCID Profile Michael R. Hoopmann , View ORCID Profile Christopher D. McGann , View ORCID Profile Christopher M. Rose , View ORCID Profile Devin K. Schweppe doi: https://doi.org/10.1101/2025.05.06.652494 Michael R. Hoopmann 1 Department of Genome Sciences, University of Washington , Seattle, Washington, USA 2 University of Washington Proteomics Resource , Seattle, Washington, USA Find this author on Google Scholar Find this author on PubMed Search for this author on this site ORCID record for Michael R. Hoopmann For correspondence: hoopmann{at}uw.edu dkschwep{at}uw.edu Christopher D. McGann 1 Department of Genome Sciences, University of Washington , Seattle, Washington, USA Find this author on Google Scholar Find this author on PubMed Search for this author on this site ORCID record for Christopher D. McGann Christopher M. Rose 3 Department of Proteomic and Genomic Technologies, Genentech, Inc. , South San Francisco, California, USA Find this author on Google Scholar Find this author on PubMed Search for this author on this site ORCID record for Christopher M. Rose Devin K. Schweppe 1 Department of Genome Sciences, University of Washington , Seattle, Washington, USA 4 Brotman Baty Institute for Precision Medicine , Seattle, Washington, USA 5 Institute of Stem Cell and Regenerative Medicine, University of Washington , Seattle, Washington, USA Find this author on Google Scholar Find this author on PubMed Search for this author on this site ORCID record for Devin K. Schweppe For correspondence: hoopmann{at}uw.edu dkschwep{at}uw.edu Abstract Full Text Info/History Metrics Data/Code Preview PDF Abstract Nova is a software library for the reading, writing, and management of mass spectrometry data natively in the C# language. It complements similar software libraries ubiquitously used in application development for C++, Python, and Java. Few software libraries and resources for mass spectrometry data analysis have been developed for C# relative to other languages. C#, however, remains the dominant language of choice for development of real time mass spectrometry (RTMS) analysis and instrument control applications, illustrating the need for native C# libraries when developing RTMS software. Nova provides fast, easy-to-use structures and classes built upon interfaces that support open community standards, and are easily extensible for current or future mass spectrometry software development needs. Introduction Software applications are built upon a foundation of reliable software libraries that provide basic functions, such as input and output, data storage and manipulation, and user interfaces. Software libraries are modular, designed to be inserted into applications when necessary, and speed application development by eliminating the redundant creation of the same functions for every application that needs them. Among mass spectrometry software for proteomics, there are a wealth of open source and freely available libraries for application development in C++, 1 – 3 Python, 4 – 11 and Java. 12 – 14 These libraries provide common functions such as reading mass spectrometry data files and performing spectral analysis and evaluation. Use of C# as an application development language is perhaps less widespread than C++ or Python. However, C# is required for development of real time mass spectrometry (RTMS) applications that utilize the Instrument Application Programming Interface (IAPI) from Thermo Fisher Scientific. 15 The IAPI enables real time spectral analysis and instrument control, which has been demonstrated through the creation of, for example, real time search and efficient quantitation applications. 16 – 19 To access the IAPI, applications must be developed using the C# programming language. Although it is possible to integrate C++ and C# using the C++/CLI, as done with Skyline, 20 the process is not trivial and not desirable to the software developer. It is also possible to access the IAPI with Python using a bridge to the C# IAPI. 21 Alternatively, it is preferable to use native C# mass spectrometry software libraries to perform common processing required in mass spectrometry data analysis. CSMSL 22 and mzLib 23 are two examples of native C# libraries for opening and viewing spectral data and libraries. However, they represent the limited number of available tools for C# relative to other programming languages. Particularly for RTMS application development, which often requires efficient and dynamic software designs to keep pace with the speed of data acquisition, there is a need for fast and robust data structures and methods for spectral data analysis, designed natively for C#. We have created a library of classes and interfaces, named Nova, to facilitate development of native C# applications for MS data analysis without the need for C++/CLI. Nova contains classes for reading, storing, inspecting, and writing mass spectrometry data. Additionally, the library contains lightweight utilities for interprocess communication between applications, opening the potential to establish dataflows between multiple software tools written in C#. Though developed with the goal of forming a strong foundation for RTMS application development, Nova is not specific to RTMS and can be used for general MS software applications. Establishing a native C# library for spectra management not only removes the need for redundant construction, but also provides a fast and efficient solution for building powerful MS analysis tools. Methods Nova is divided into three packages: data management, input/output, and interprocess communication. Each package is managed within a structured and hierarchical namespace for easy access to the underlying object classes ( Figure 1 ). Nova is open source and freely available at https://schweppelab.github.io/Nova , including documentation and code examples. Download figure Open in new tab Figure 1: Nova architecture. Each of the three packages contains interfaces (blue) describing its contents and purpose (orange). From these interfaces, structures and classes (green) were developed to implement the functionality of Nova for mass spectrometry data analysis and interaction between the library packages. Data Management The primary purpose of the data management package is to store relevant mass spectral information in data structures so that they may be managed and manipulated in software applications. Two principal class structures exist, Spectrum and SpectrumEx (extended spectrum), that are built upon a common foundation class containing relevant meta information and other properties pertaining to mass spectra. The Spectrum class contains a two-dimensional data array, generally for m/z and abundance values, but could also be used for other types of two-dimensional spectral such as chromatograms (time and abundance). These data are stored in arrays instead of lists typical of C# for fast access. The SpectrumEx class stores the same information as the Spectrum class, but also stores additional features for spectrum data points, such as baseline signal, noise threshold, peak resolution, and charge state. The intended use of this class is to manage and store processed spectra, for example, spectra converted to centroid peaks, each of which may have signal-to-noise ratio and precursor ion charge state assigned. Many downstream processing applications prefer processed spectra prior to use, and the SpectrumEx class provides a convenient means to store and manage processed spectra in larger analytical pipelines. Input/Output The input/output (IO) package in Nova provides a means of reading and writing mass spectral data from and to a storage device. It works in conjunction with the data management package and uses the Spectrum and SpectrumEx object classes as its input and output. Mass spectra data are read iteratively, either sequentially or random-access, from a file reader object with a simple interface. A Spectrum object is returned, or if requested and supported by the data format, a SpectrumEx object containing the processed spectra. The reader currently supports open formats such as .mzML 24 and .mzXML 25 , but can also read the vendor-native .raw format from Thermo Fisher Scientific using the RawFileReader library that gives access to centroid peak processing in conjunction with data reading. Nova also supports writing spectra back to file, to track and maintain any processing done to spectra during the course of analysis. The spectrum writer class stores spectra in the .mzML format. Though more robust tools exist that were designed explicitly for file conversion (e.g., ProteoWizard 2 ), it is possible in Nova to quickly translate mass spectral data from one format to another by connecting the file input and output classes. Doing so with a processing method in between illustrates the ease with which data are loaded, transformed, and recorded, ready for use in any downstream analytical pipeline with Nova. Interprocess Communication Interprocess communication occurs when data are shared between processes running on a computer. C# offers data pipes as a simple means of performing interprocess communication. Nova implements a named pipe wrapper, borrowing heavily from the established open source named-pipe-wrapper, 26 to establish data traffic between applications. The easy-to-use design allows the user to define their own tokens to communicate the type of data, which is then transferred as a byte array. Methods on both the sending and receiving applications translate the byte arrays to and from class structures, using the tokens as guidance. Using the data pipes in Nova enables data to be transferred between applications in pipelines that use Nova without the need to read from or write to disk, as is the typical route in proteomics pipelines (e.g., reading .mzML data files). Particularly in the context of RTMS, which itself relies on interprocess communication between the instrument and user applications, it is possible to establish multiple applications into a pipeline capable of fast transfer of data between their processes to keep pace with the speed of data acquisition. Results & Discussion Nova is a software library for fast reading, writing, and manipulation of mass spectrometry data using a C# development platform. Similar to libraries developed for other languages, Nova reads open, community developed mass spectrometry file formats, and also, in the case of Thermo Fisher Scientific data, native raw files. Spectral information is packaged into spectrum data structures that can be easily transferred between functions, or even between separate application processes. With barely a few lines of code, it is possible to read mass spectrometry data files and parse the collection of spectra within ( Figure 2 ). These capabilities make Nova a solid foundation for further application development. Download figure Open in new tab Figure 2: (A) Example of a simple application that processes mzML spectral data files. (B) Code to perform operations with Nova. Three lines of code that perform the application function are highlighted with red numbers. (C) Diagram of the Nova software library interface and functions, with inputs and outputs to the example application, and red numbers corresponding to the lines of code that perform the library operations. The first line of code (1) opens the file reader, which automatically identifies and accesses the correct Nova mzML file reader class, then sets a filter to only read MS/MS spectra from the input file. The second line of code (2) iterates each of those MS/MS spectra from the file, and the third line of code (3) uses the peak finding function to identify spectra containing a diagnostic peak m/z value. Download figure Open in new tab Figure 3: Protostar, a demonstration application using Nova. (A) The list of files being analyzed, with a chromatogram summary display. Multiple file formats are supported, including mzML, mzXML, and Thermo Fisher Scientific raw format. (B) Inspection of the data using the spectrum display. Peptide sequences supplied by the user produce an instantaneous PSM with Comet XCorr score value and corresponding butterfly plot of the fragment ion m/z values. To exhibit the features of Nova, we created a simple demonstration application, Protostar, for visualizing mass spectrometry data. Using Protostar, it is possible to load multiple MS data files and contrast plots of their chromatography ( Figure 1A ). Files typically take a few seconds to load the first time, compounded slightly when loading the files simultaneously. Once loaded, the user can select and combine multiple total ion chromatograms from each file to inspect differences in chromatography, swapping between them instantaneously. Switching from chromatogram to spectrum mode provides deeper inspection of each spectrum within a selected file ( Figure 1B ). Navigating to any spectrum in the file can be done using the forward and backward buttons, or the jump-to button requesting any scan number within the data file. Spectra are loaded on-the-fly using the random-access data file reads that are built into Nova. Requesting any scan number requires only a single line of code. To demonstrate the ease of data management and manipulation, users can perform instant peptide spectral matches using the cross-correlation score (XCorr) from Comet. 27 The underlying code transforms the spectrum structure to the fast cross-correlation structures and produces the score as would be observed during a spectral database search. Protostar returns the score, as well as a butterfly plot of the fragment ion m/z values for the requested peptide. Nova contains two core aspects that maximize its utility for C# mass spectrometry software development, namely its spectrum-centric focus and its modularity. The basic data structures of Nova are its spectrum classes, mimicking the basic unit of each scan event in a mass spectrometer. All software that analyzes mass spectrometer data files must therefore process a spectrum scan event, and therefore maintaining this paradigm in the Nova software necessarily simplifies the design and speed with which analytical software can be written. It also provides a complement to other libraries developed for C# software development, such as mzLib 23 and CSMSL 22 , which contain additional PSM, peptide, protein, FASTA, and spectral library class structures that define results and analytical features commonly found in mass spectrometry analytical pipelines. The modularity of Nova makes it easy to transform its spectrum objects to match the data structures of these libraries, to make use of their additional functionality, and vice versa, to extend the mzML file output functionality of Nova to the results of data processed with these libraries, for example. Though similar results can be obtained from other libraries, such as ProteoWizard, 2 which offers a wide range of support for mass spectrometry data input and output using C++, it can pose a significant hurdle for novice developers in C#. Nova was designed to be lightweight, simple, and straightforward, for both novice and experienced developers using C#. The architecture of Nova was deliberately designed to grow and adapt to the changing needs of mass spectrometry research. Interfaces describe common characteristics for each data structure and class, allowing interchange to occur in existing code that uses those interfaces, while enabling customization for future data structures and analyses that may be developed. Within those interfaces, unmanaged value types and structures are used where possible to minimize the boxing and unboxing of data to produce efficient performance, particularly when processing peak information, one of the heaviest computing tasks in mass spectrometry data analysis. Developers are encouraged to tailor Nova’s classes to their needs, using the existing interfaces and structures to ensure compatibility and performance. Conclusion Nova is an open source, freely available software library for the management of mass spectrometry data and the development of analytical tools using the C# programming language. It provides a complement to similar software packages used when developing C++, Python, and Java applications for mass spectrometry data analysis. With the continued emergence of RTMS, which often requires C# software development, Nova supports native C# application development with the potential for use in RTMS studies. Funder Information Declared W. M. Keck Foundation, https://ror.org/000dswa46 National Institute of General Medical Sciences , R35GM150919 Pew Charitable Trusts, https://ror.org/02xhk2825 Footnotes https://github.com/SchweppeLab/Nova References (1). ↵ Sturm , M. ; Bertsch , A. ; Gröpl , C. ; Hildebrandt , A. ; Hussong , R. ; Lange , E. ; Pfeifer , N. ; Schulz-Trieglaff , O. ; Zerck , A. ; Reinert , K. ; Kohlbacher , O. OpenMS - an Open-Source Software Framework for Mass Spectrometry . BMC Bioinformatics 2008 , 9 , 163 . doi: 10.1186/1471-2105-9-163 . OpenUrl CrossRef PubMed (2). ↵ Kessner , D. ; Chambers , M. ; Burke , R. ; Agus , D. ; Mallick , P. ProteoWizard: Open Source Software for Rapid Proteomics Tools Development . Bioinforma. Oxf. Engl . 2008 , 24 ( 21 ), 2534 – 2536 . doi: 10.1093/bioinformatics/btn323 . OpenUrl CrossRef PubMed Web of Science (3). ↵ Deutsch , E. W. ; Mendoza , L. ; Shteynberg , D. D. ; Hoopmann , M. R. ; Sun , Z. ; Eng , J. K. ; Moritz , R. L. Trans-Proteomic Pipeline: Robust Mass Spectrometry-Based Proteomics Data Analysis Suite . J. Proteome Res . 2023 , 22 ( 2 ), 615 – 624 . doi: 10.1021/acs.jproteome.2c00624 . OpenUrl CrossRef PubMed (4). ↵ Goloborodko , A. A. ; Levitsky , L. I. ; Ivanov , M. V. ; Gorshkov , M. V. Pyteomics--a Python Framework for Exploratory Data Analysis and Rapid Software Prototyping in Proteomics . J. Am. Soc. Mass Spectrom . 2013 , 24 ( 2 ), 301 – 304 . doi: 10.1007/s13361-012-0516-6 . OpenUrl CrossRef PubMed (5). Levitsky , L. I. ; Klein , J. A. ; Ivanov , M. V. ; Gorshkov , M. V. Pyteomics 4.0: Five Years of Development of a Python Proteomics Framework . J. Proteome Res . 2019 , 18 ( 2 ), 709 – 714 . doi: 10.1021/acs.jproteome.8b00717 . OpenUrl CrossRef PubMed (6). Röst , H. L. ; Schmitt , U. ; Aebersold , R. ; Malmström , L. pyOpenMS: A Python-Based Interface to the OpenMS Mass-Spectrometry Algorithm Library . Proteomics 2014 , 14 ( 1 ), 74 – 77 . doi: 10.1002/pmic.201300246 . OpenUrl CrossRef PubMed Web of Science (7). Sing , J. C. ; Charkow , J. ; Walter , A. ; Gao , M. ; Müller , T. D. ; Bittremieux , W. ; Sachsenberg , T. ; Röst , H. L. pyOpenMS-Viz: Streamlining Mass Spectrometry Data Visualization with Pandas . J. Proteome Res . 2025 . doi: 10.1021/acs.jproteome.4c00873 . OpenUrl CrossRef (8). Kösters , M. ; Leufken , J. ; Schulze , S. ; Sugimoto , K. ; Klein , J. ; Zahedi , R. P. ; Hippler , M. ; Leidel , S. A. ; Fufezan , C. pymzML v2.0: Introducing a Highly Compressed and Seekable Gzip Format . Bioinforma. Oxf. Engl . 2018 , 34 ( 14 ), 2513 – 2514 . doi: 10.1093/bioinformatics/bty046 . OpenUrl CrossRef PubMed (9). Strauss , M. T. ; Bludau , I. ; Zeng , W.-F. ; Voytik , E. ; Ammar , C. ; Schessner , J. P. ; Ilango , R. ; Gill , M. ; Meier , F. ; Willems , S. ; Mann , M. AlphaPept: A Modern and Open Framework for MS-Based Proteomics . Nat. Commun . 2024 , 15 ( 1 ), 2168 . doi: 10.1038/s41467-024-46485-4 . OpenUrl CrossRef PubMed (10). Krismer , E. ; Bludau , I. ; Strauss , M. T. ; Mann , M. AlphaPeptStats: An Open-Source Python Package for Automated and Scalable Statistical Analysis of Mass Spectrometry-Based Proteomics . Bioinforma. Oxf. Engl . 2023 , 39 ( 8 ), btad461 . doi: 10.1093/bioinformatics/btad461 . OpenUrl CrossRef (11). ↵ Bittremieux , W. Spectrum_utils: A Python Package for Mass Spectrometry Data Processing and Visualization . Anal. Chem . 2020 , 92 ( 1 ), 659 – 661 . doi: 10.1021/acs.analchem.9b04884 . OpenUrl CrossRef (12). ↵ Barsnes , H. ; Vaudel , M. ; Colaert , N. ; Helsens , K. ; Sickmann , A. ; Berven , F. S. ; Martens , L. Compomics-Utilities: An Open-Source Java Library for Computational Proteomics . BMC Bioinformatics 2011 , 12 , 70 . doi: 10.1186/1471-2105-12-70 . OpenUrl CrossRef PubMed (13). Horlacher , O. ; Nikitin , F. ; Alocci , D. ; Mariethoz , J. ; Müller , M. ; Lisacek , F. MzJava: An Open Source Library for Mass Spectrometry Data Processing . J. Proteomics 2015 , 129 , 63 – 70 . doi: 10.1016/j.jprot.2015.06.013 . OpenUrl CrossRef PubMed (14). ↵ Qi , D. ; Zhang , H. ; Fan , J. ; Perkins , S. ; Pisconti , A. ; Simpson , D. M. ; Bessant , C. ; Hubbard , S. ; Jones , A. R. The mzqLibrary--An Open Source Java Library Supporting the HUPO-PSI Quantitative Proteomics Standard . Proteomics 2015 , 15 ( 18 ), 3152 – 3162 . doi: 10.1002/pmic.201400535 . OpenUrl CrossRef PubMed (15). ↵ Thermo Fisher Scientific IAPI . https://github.com/thermofisherlsms/iapi . (16). ↵ McGann , C. D. ; Barshop , W. D. ; Canterbury , J. D. ; Lin , C. ; Gabriel , W. ; Huang , J. ; Bergen , D. ; Zabrouskov , V. ; Melani , R. D. ; Wilhelm , M. ; McAlister , G. C. ; Schweppe , D. K. Real-Time Spectral Library Matching for Sample Multiplexed Quantitative Proteomics . J. Proteome Res . 2023 , 22 ( 9 ), 2836 – 2846 . doi: 10.1021/acs.jproteome.3c00085 . OpenUrl CrossRef PubMed (17). Pelletier , A. R. ; Chung , Y.-E. ; Ning , Z. ; Wong , N. ; Figeys , D. ; Lavallée-Adam , M. MealTime-MS: A Machine Learning-Guided Real-Time Mass Spectrometry Analysis for Protein Identification and Efficient Dynamic Exclusion . J. Am. Soc. Mass Spectrom . 2020 , 31 ( 7 ), 1459 – 1472 . doi: 10.1021/jasms.0c00064 . OpenUrl CrossRef PubMed (18). Schweppe , D. K. ; Eng , J. K. ; Yu , Q. ; Bailey , D. ; Rad , R. ; Navarrete-Perea , J. ; Huttlin , E. L. ; Erickson , B. K. ; Paulo , J. A. ; Gygi , S. P. Full-Featured, Real-Time Database Searching Platform Enables Fast and Accurate Multiplexed Quantitative Proteomics . J. Proteome Res . 2020 , 19 ( 5 ), 2026 – 2034 . doi: 10.1021/acs.jproteome.9b00860 . OpenUrl CrossRef PubMed (19). ↵ Erickson , B. K. ; Mintseris , J. ; Schweppe , D. K. ; Navarrete-Perea , J. ; Erickson , A. R. ; Nusinow , D. P. ; Paulo , J. A. ; Gygi , S. P. Active Instrument Engagement Combined with a Real-Time Database Search for Improved Performance of Sample Multiplexing Workflows . J. Proteome Res . 2019 , 18 ( 3 ), 1299 – 1306 . doi: 10.1021/acs.jproteome.8b00899 . OpenUrl CrossRef PubMed (20). ↵ MacLean , B. ; Tomazela , D. M. ; Shulman , N. ; Chambers , M. ; Finney , G. L. ; Frewen , B. ; Kern , R. ; Tabb , D. L. ; Liebler , D. C. ; MacCoss , M. J. Skyline: An Open Source Document Editor for Creating and Analyzing Targeted Proteomics Experiments . Bioinforma. Oxf. Engl . 2010 , 26 ( 7 ), 966 – 968 . doi: 10.1093/bioinformatics/btq054 . OpenUrl CrossRef PubMed Web of Science (21). ↵ Davies , V. ; Wandy , J. ; Weidt , S. ; van der Hooft , J. J. J. ; Miller , A. ; Daly , R. ; Rogers , S. Rapid Development of Improved Data-Dependent Acquisition Strategies . Anal. Chem . 2021 , 93 ( 14 ), 5676 – 5683 . doi: 10.1021/acs.analchem.0c03895 . OpenUrl CrossRef PubMed (22). ↵ CSMSL . https://github.com/dbaileychess/CSMSL . (23). ↵ mzLib . https://github.com/smith-chem-wisc/mzLib . (24). ↵ Martens , L. ; Chambers , M. ; Sturm , M. ; Kessner , D. ; Levander , F. ; Shofstahl , J. ; Tang , W. H. ; Römpp , A. ; Neumann , S. ; Pizarro , A. D. ; Montecchi-Palazzi , L. ; Tasman , N. ; Coleman , M. ; Reisinger , F. ; Souda , P. ; Hermjakob , H. ; Binz , P.-A. ; Deutsch , E. W. mzML--a Community Standard for Mass Spectrometry Data . Mol. Cell. Proteomics MCP 2011 , 10 ( 1 ), pR110.000133. doi: 10.1074/mcp.R110.000133 . OpenUrl Abstract / FREE Full Text (25). ↵ Pedrioli , P. G. A. ; Eng , J. K. ; Hubley , R. ; Vogelzang , M. ; Deutsch , E. W. ; Raught , B. ; Pratt , B. ; Nilsson , E. ; Angeletti , R. H. ; Apweiler , R. ; Cheung , K. ; Costello , C. E. ; Hermjakob , H. ; Huang , S. ; Julian , R. K. ; Kapp , E. ; McComb , M. E. ; Oliver , S. G. ; Omenn , G. ; Paton , N. W. ; Simpson , R. ; Smith , R. ; Taylor , C. F. ; Zhu , W. ; Aebersold , R. A Common Open Representation of Mass Spectrometry Data and Its Application to Proteomics Research . Nat. Biotechnol . 2004 , 22 ( 11 ), 1459 – 1466 . doi: 10.1038/nbt1031 . OpenUrl CrossRef PubMed Web of Science (26). ↵ Named-Pipe-Wrapper . https://github.com/acdvorak/named-pipe-wrapper . (27). ↵ Eng , J. K. ; Jahan , T. A. ; Hoopmann , M. R. Comet: An Open-Source MS/MS Sequence Database Search Tool . Proteomics 2013 , 13 ( 1 ), 22 – 24 . doi: 10.1002/pmic.201200439 . OpenUrl CrossRef PubMed Web of Science View the discussion thread. Back to top Previous Next Posted May 10, 2025. Download PDF Data/Code Email Thank you for your interest in spreading the word about bioRxiv. NOTE: Your email address is requested solely to identify you as the sender of this article. Your Email * Your Name * Send To * Enter multiple addresses on separate lines or separate them with commas. You are going to email the following Nova: A library for rapid development of mass spectrometry software applications Message Subject (Your Name) has forwarded a page to you from bioRxiv Message Body (Your Name) thought you would like to see this page from the bioRxiv website. Your Personal Message CAPTCHA This question is for testing whether or not you are a human visitor and to prevent automated spam submissions. Share Nova: A library for rapid development of mass spectrometry software applications Michael R. Hoopmann , Christopher D. McGann , Christopher M. Rose , Devin K. Schweppe bioRxiv 2025.05.06.652494; doi: https://doi.org/10.1101/2025.05.06.652494 Share This Article: Copy Citation Tools Nova: A library for rapid development of mass spectrometry software applications Michael R. Hoopmann , Christopher D. McGann , Christopher M. Rose , Devin K. Schweppe bioRxiv 2025.05.06.652494; doi: https://doi.org/10.1101/2025.05.06.652494 Citation Manager Formats BibTeX Bookends EasyBib EndNote (tagged) EndNote 8 (xml) Medlars Mendeley Papers RefWorks Tagged Ref Manager RIS Zotero Tweet Widget Facebook Like Google Plus One Subject Areas All Articles Animal Behavior and Cognition (7622) Biochemistry (17650) Bioengineering (13871) Bioinformatics (41881) Biophysics (21424) Cancer Biology (18566) Cell Biology (25461) Clinical Trials (138) Developmental Biology (13365) Ecology (19866) Epidemiology (2067) Evolutionary Biology (24290) Genetics (15590) Genomics (22476) Immunology (17713) Microbiology (40331) Molecular Biology (17148) Neuroscience (88473) Paleontology (666) Pathology (2827) Pharmacology and Toxicology (4816) Physiology (7635) Plant Biology (15114) Scientific Communication and Education (2044) Synthetic Biology (4286) Systems Biology (9815) Zoology (2268)

Text is read by the "Ask this paper" AI Q&A widget below. Extraction quality varies by source — PMC NXML preserves structure cleanly, OA-HTML may include some navigation residue, and OA-PDF can have broken hyphenation. The publisher copy (via DOI) is the canonical version.

My notes (saved in your browser only)

Ask this paper AI returns verbatim quotes from the full text · source: preprint-html

Answers must be backed by verbatim quotes from this paper's full text. Hallucinated quotes are dropped automatically; if no verbatim passage answers the question, we say so. How this works

Citation neighborhood (no data yet)

We don't have any in-corpus citations linked to this paper yet. This is a recent paper (2025) — citers typically take a year or two to land, and the OpenAlex reference graph may still be filling in.

Source provenance

europepmc
last seen: 2026-05-20T01:45:00.602351+00:00
unpaywall
last seen: 2026-05-22T02:00:06.705733+00:00
License: CC-BY-NC-4.0