{"paper_id":"0753138c-71d8-485b-902d-e11d1cd9a7f1","body_text":"FlowWeb: a free, web-based platform for flow \ncytometry data analysis \nMenno ter Huurne1 , Rustem Salmenov2, Amit Mandoli3  \n1Independent Researcher,  mc_ter_huurne.sc@pm.me  \n2Centro Cardiologico Monzino IRCCS, Milano, Italy  \n3National Institute of Pharmaceutical Education and Research, Ahmedabad, India, \namitmandoli@niperahm.res.in \nAbstract \nFlow cytometry is widely used for high-throughput single-cell analysis. However, its data \nanalysis relies on either costly commercial software or programming-intensive open-source \ntools. To bridge this gap, we developed FlowWeb, a freely accessible, web-based platform \nthat combines the ﬂexibility of the R/Bioconductor ecosystem with an intuitive graphical \nuser interface. FlowWeb enables integrated workﬂows for data handling, quality control, \ngating, visualization and statistical analysis within a uniﬁed environment. \nFlowWeb integrates raw data, metadata, and analytical state within synchronized \nBioconductor structures, enabling coherent analysis and visualization workﬂows. FlowWeb \nsupports both manual and automated data-driven gating workﬂows. To evaluate its \nperformance, we applied FlowWeb to an in-house ﬂow cytometry dataset and compared its \nautomated cell cycle and gating workﬂows to established commercial tools. FlowWeb’s \nautomated cell cycle workﬂow produced consistent and reproducible results across \nreplicates and demonstrated high concordance with reference analyses, highlighting the \nplatform’s robustness. FlowWeb’s advanced visualization tools include a wide range of fully \ncustomizable individual, overlay, and statistical plots. To enhance usability and \nreproducibility, the FlowWeb platform provides optional user-accounts that allow storage \nof reusable conﬁgurations, including quality control presets, gating deﬁnitions, and plot \ntemplates. \nBy lowering technical barriers without compromising analytical rigor, FlowWeb facilitates \naccessible, reproducible, and scalable ﬂow cytometry data analysis for a broad range of \nusers in research and clinical settings. \nIntroduction \nFlow cytometry is a cornerstone technology in modern biomedical research and clinical \ndiagnostics, enabling rapid, high-throughput measurement of cellular phenotypes at the \nsingle-cell level. It is used worldwide across diverse fields including immunology, oncology, \nand hematology, where precise characterization of complex cell populations is essential. The \nanalysis of flow cytometry data is a critical step in the workflow, often requiring specialized \nexpertise and dedicated software environments. \nSeveral commercial software packages, such as FlowJo (BD Biosciences), Kaluza (Beckman \nCoulter), and FCS Express (De Novo Software), provide comprehensive solutions for data \nvisualization, gating, and statistical analysis. While these platforms are powerful and widely \n.CC-BY 4.0 International licensemade available under a \n(which was not certified by peer review) is the author/funder, who has granted bioRxiv a license to display the preprint in perpetuity. It is \nThe copyright holder for this preprintthis version posted April 21, 2026. ; https://doi.org/10.64898/2026.04.16.717288doi: bioRxiv preprint \n\nused, they are typically associated with substantial licensing costs and may impose limitations \non accessibility, reproducibility, or integration with modern data science workflows. In parallel, \na rich ecosystem of open-source, R-based tools (e.g., flowCore, flowWorkspace, openCyto) \nprovides highly flexible and reproducible alternatives. However, effective use of these \npackages generally requires programming expertise, which remains a barrier for many \nexperimental researchers who rely on graphical user interfaces. \nTo address these challenges, we developed FlowWeb, an interactive, web-based platform for \nflow cytometry data analysis that combines the flexibility of the R/Bioconductor ecosystem with \nan intuitive graphical user interface. \nFlowWeb enables reproducible, scalable, \nand user-friendly analysis by integrating data \nhandling, visualization, gating, and statistical \nevaluation within a unified environment. By \nleveraging open-source infrastructure and a \nmodular architecture, it lowers the barrier to \nadvanced cytometric analysis while \nmaintaining analytical rigor and \ntransparency.  \nData handling / architecture \nFlowWeb is built on a layered data model that separates cytometry data, metadata, and \nanalytical state into distinct but synchronized components. \nUploaded FCS files are represented as flowFrame objects using the Bioconductor flowCore \ninfrastructure [1]. Each file is assigned both a stable internal identifier and a user-friendly label, \nallowing reliable data handling while maintaining clarity in the interface. \nInitially, uploaded FCS-files are grouped in flowSets based on their (shared) detector \nconfigurations, which facilitates data-preprocessing (such as Transformations). For each \nflowSet a corresponding GatingSet is created. The flowSet stores the data and derived \npopulations, while the GatingSet [2] captures the hierarchical gating structure and ensures \nthat analytical steps are applied consistently across samples. The software keeps the \nGatingSet registry automatically synchronized with the flowSet registry, including creation of \nnew GatingSets for new flowSets and removal of obsolete GatingSets when flowSets are \ndeleted. This design facilitates the processing of multiple files with distinct antibody panels \nand/or detector configurations in one session, reflecting the practical organization of flow \ncytometry studies, where multiple staining panels are commonly analyzed in parallel. \nSample annotation data can be imported from spreadsheets and are integrated with cytometry \ndata in a central interactive table. This table links samples, metadata, and derived populations, \nenabling intuitive navigation and analysis. The application is implemented in Shiny, which \nmanages user interactions and keeps all components synchronized. \nImportantly, uploaded cytometry data and sample annotation files are processed within the \nactive session and are not persistently stored on the server. This session-based handling \nminimizes long-term data retention while maintaining interactive performance.  \nFigure 1: Frontend–Backend Architecture \nOverview: browser-based interface with server-\nside analysis using open-source R packages from \nCRAN, Bioconductor and GitHub. \n.CC-BY 4.0 International licensemade available under a \n(which was not certified by peer review) is the author/funder, who has granted bioRxiv a license to display the preprint in perpetuity. It is \nThe copyright holder for this preprintthis version posted April 21, 2026. ; https://doi.org/10.64898/2026.04.16.717288doi: bioRxiv preprint \n\nThe FlowWeb Interface \nFlowWeb is built as an interactive shiny environment embedded within a website, combining \na reactive analysis interface with the accessibility of a web-based platform. All computations \nare performed on a secure, EU-based server, ensuring centralized processing and facilitating \ncompliance with data protection standards. In addition to the core analytical workspace, the \nwebsite provides tutorial material to guide users through the main features of the software, \nwith further tutorials expected as the platform develops. The site also includes a personalized \nuser environment, “My FlowWeb,” which enables storage and reuse of analysis-related \nsettings and will be discussed in more detail at the end of the manuscript. FlowWeb is hosted \nas a web platform and is anticipated to expand over time, with additional functionality, interface \nimprovements, and supporting resources.  \nThe main table \nArchitecture and Interaction \nUploaded FCS-files are integrated into a reactive table that serves as the main interface for \nthe dataset. Root rows correspond to imported FCS files, whereas child rows represent gated \nsubpopulations derived from a parent sample. Under the hood, derived populations store their \nimmediate parent in their metadata, enabling reconstruction of the full lineage tree. This \nparent-child structure is used to calculate table indentation, build collapsible hierarchies in the \ninterface, propagate metadata, and support cascaded editing or deletion of (sub-) populations. \nIn addition, parent-child structure also serves as the substrate for summary statistics. Event \ncounts are taken directly from each flowFrame, and the number of events as percentages of \nits parent (%Par) and its root sample (%Tot) are computed from the parent-child hierarchy.  \nFigure 2: Overview of the FlowWeb interface , showing the main reactive components of the web-\nbased analysis environment, including the main table, plot canvas, and associated control panels.  \n.CC-BY 4.0 International licensemade available under a \n(which was not certified by peer review) is the author/funder, who has granted bioRxiv a license to display the preprint in perpetuity. It is \nThe copyright holder for this preprintthis version posted April 21, 2026. ; https://doi.org/10.64898/2026.04.16.717288doi: bioRxiv preprint \n\nThe table is highly interactive and supports multiple levels of navigation, selection, and data \nexploration. Hierarchical relationships between samples and derived populations can be \nexpanded or collapsed, while context menus provide access to advanced operations such as \nfile inspection, gate application, and data export. Users can directly visualize and edit gates \nvia dedicated controls, link table entries to corresponding plots, and display population \nstatistics within visualizations. In addition, flexible filtering options enable both global search \nand column-specific subsetting to efficiently interrogate large datasets (see footnote 1). \nSample Info \nFlowWeb supports importing spreadsheet-based sample annotation files. A template for the \nspreadsheet-based sample annotation file is generated by, and can be downloaded from, the \nFlowWeb interface. This template contains a column with the file names extracted from the \nimported files and can be manually complemented with columns of sample information. Upon \nuploading, the software automatically searches the uploaded spreadsheet for a column whose \nvalues match the loaded rootfile identifiers. Once detected, the annotation sheet is joined to \nthe main table by rootfile. This join strategy is particularly important because it propagates \nsample-level metadata not only to original files but, under the hood, also to all derived \npopulations belonging to that sample. \nAs with cytometry data, sample annotation data are processed within the active session and \nare not stored on the server beyond the current session. Nevertheless, users are advised to \nensure that uploaded metadata do not contain sensitive or identifiable information. \nBeyond sample-level annotations, the software provides direct access to FCS keyword \nmetadata. For a selected file, the full keyword list can be retrieved from the underlying \nflowFrame via the context-menu. The application supports both direct keyword selection and \nfree-text search across keyword names and values, including atomic metadata fields and more \ncomplex nested objects. This enables users to inspect acquisition metadata interactively \nwithout leaving the web interface. Scientifically, this functionality is useful because FCS \nkeywords often contain acquisition settings, instrument details, compensation-related \nmetadata, and experiment descriptors that are relevant for quality control and tracking the \norigin and acquisition conditions of the data. \nThe Interactive Main Table \nNavigation: To keep a compact display of large datasets while preserving the parent-child relationships \nbetween files and derived populations, Parent rows can be expanded or collapsed using a toggle symbol, both \nof a single sample subtree or of the full table (via the context menu).  \nContext menus that provide advanced options can be accessed through right-click within the table. \nFiles:    Population:    %Par values: \n- Select associated plots  - Select associated files or plots - Edit the %Par label \n- Select associated plots + children - Access file info   Eye-icons: \n- Export and download as fcs-file  - Apply gate to other files   - Show gate on all compatible plots \n- Save gate     \nEye- and Pencil- icons adjacent to the Population name allow the visualization of the corresponding gate in \nthe selected plots and direct access to gate editing, respectively. \n%Par labels can be displayed in the corresponding plots by clicking the values in the table. \nFiltering options support both global text search and column-specific filtering. Column filters can be accessed \nvia the column header and provide either categorical selection or numeric range filtering, depending on the \ndata type. Active filters are indicated visually in the column header. \n.CC-BY 4.0 International licensemade available under a \n(which was not certified by peer review) is the author/funder, who has granted bioRxiv a license to display the preprint in perpetuity. It is \nThe copyright holder for this preprintthis version posted April 21, 2026. ; https://doi.org/10.64898/2026.04.16.717288doi: bioRxiv preprint \n\nFunctions \nData processing \nQuality Control \nQuality control (QC) ([Data Processing] > [Quality Control] is implemented in FlowWeb using \nthe R package flowAI[3], which provides automated detection and removal of anomalous \nevents in flow cytometry data. The QC pipeline operates directly on flowFrame objects and is \napplied at the level of individual samples, while maintaining consistency with the higher-level \nflowSet and GatingSet structures. \nQC behavior is controlled through a parameter set that includes anomaly detection modes \n(flow rate, signal acquisition, dynamic range), statistical thresholds, channel exclusions and \noutput format (filtered events, QC vector, or event indices). These parameters can be manually \nset in the “Advanced QC parameters” modal ([Data Processing] > [Quality Control] > \n[Settings]) and, when logged in, can be saved for future analyses. \nTo improve scalability, QC is optionally applied in a chunk-wise manner, where each \nflowFrame is partitioned into subsets of events. This design avoids memory bottlenecks when \nprocessing large cytometry files and allows incremental reconstruction of high-quality data. \nThese outputs are reassembled across chunks to form a cleaned dataset. The final high-\nquality event matrix is used to construct a new flowFrame, preserving original parameter \nmetadata and keywords. Although chunk-wise QC improves computational scalability, its use \nwithin the flowAI framework may reduce statistical power and can therefore lead to increased \nevent exclusion. \nWhen QC has finished, the results appear in a new tab. The QC reports can optionally be \nsaved and downloaded as a zip-file, which allows visual inspection of the QC results. In \naddition, the zip-file contains the cleaned fcs-files, which avoids repeated QC steps.  \nCleaned flowFrame objects replace their corresponding entries in the flowSet and the reactive \nmain table is updated, including the percentage of retained events. \nTransform \nData transformation is implemented using the transformation framework provided by flowCore, \nwhich supports a wide range of mathematical transformations commonly used in flow \ncytometry, including: \n• logarithmic  \n• arcsinh \n• linear and scaling transforms, \n• quadratic transforms \n• truncation \n• biexponential  \n• logicle \nTransformations are applied at the flowSet level, ensuring that all samples within a panel-\ncompatible group are processed consistently.  Because the original (untransformed) flowSet \nis stored in a separate reactive registry the transformations are fully reversible, which avoids \nreloading files. \n.CC-BY 4.0 International licensemade available under a \n(which was not certified by peer review) is the author/funder, who has granted bioRxiv a license to display the preprint in perpetuity. It is \nThe copyright holder for this preprintthis version posted April 21, 2026. ; https://doi.org/10.64898/2026.04.16.717288doi: bioRxiv preprint \n\nBecause transformations modify the underlying expression matrices, all downstream \nanalyses, including gating and visualization, operate on transformed data. \nPlot \nVisualization in FlowWeb is implemented using the R package ggplot2 [4] as the primary \nrendering engine, combined with shiny for a dynamic user interface. Additional extensions and \nbase statistical layers within ggplot2 are used to support a wide range of visualization \nmodalities. \nIndividual Plots \nIndividual plots are generated from flowFrame objects retrieved from the internal flowSet \nregistry. For each selected sample, the expression matrix is extracted using exprs() and \nconverted into a standard data frame. \nEach plot instance is represented by a unique identifier and associated configuration \nparameters, including selected channels, plot type and visualization settings, axis scales and \nranges, and metadata display options. \nFlowWeb supports multiple visualization modes commonly used in flow cytometry: \n• Dot plots \n• 1D density plots \n• Density scatter plots \n• Contour plots \n• Box plots \nAll plots are constructed using layered ggplot2 grammar, allowing consistent application of \nthemes, scales, and annotations. Hence, a wide range of the different layers of ggplot2 \nvariables can be adjusted by the users through [Edit]. \nPlot instances are tracked in a centralized table, which stores layout information (position, \nsize) and links each plot to its underlying data source. This enables multiple independent plots \nto coexist and be interactively positioned within the interface. \nA key feature of the plotting system is its integration with the gating framework. Gate \ngeometries are overlaid onto plots using polygon layers, ensuring that visualizations reflect \nthe current analytical state stored in GatingSet objects. These overlays are dynamically \nrecomputed based on the selected sample and channel configuration. \nData from the reactive metadata table allows users to display sample-level or population-level \ninformation directly within the visualization. This creates a tight coupling between data, \nmetadata, and visual output. \nOverlay plots \nOverlay plots enable direct comparison of multiple samples within a single visualization. These \nplots are constructed by combining data from multiple flowFrame objects into a unified data \nframe, with an additional grouping variable indicating sample identity. \nFor each selected sample, expression values are extracted and concatenated into a single \nlong-format data frame, allowing ggplot2 to map color, fill, or grouping aesthetics across \nsamples. \n.CC-BY 4.0 International licensemade available under a \n(which was not certified by peer review) is the author/funder, who has granted bioRxiv a license to display the preprint in perpetuity. It is \nThe copyright holder for this preprintthis version posted April 21, 2026. ; https://doi.org/10.64898/2026.04.16.717288doi: bioRxiv preprint \n\nOverlay plots support the following plot types: \n• Overlay density plots  \n• Frequency polygons \n• Scatter overlays (dot plots) \n• Box plots \n• Ridge plots \nOverlay plots can group and color samples based on metadata columns rather than raw file \nidentity. This is enabled by joining the combined expression data with the reactive metadata \ntable, allowing grouping by experimental condition, population, or user-defined annotations. \nStatistical plots \nStatistical visualization is implemented as a distinct plot family that operates on aggregated \ntabular data rather than raw event-level measurements. These plots are generated using \nggplot2 for visualization and ggpubr for statistical testing and annotation. \nStatistical plots are constructed from the reactive metadata table rather than directly from \nflowFrame objects. For selected rows, a derived dataset is created containing sample \nidentifiers, population labels and summary metrics such as %Par or event counts. This dataset \nis stored in a dedicated registry and serves as the input for all statistical visualizations. The \ndata are reshaped into a long format suitable for ggplot2, with allows the use of sample \nmetadata to customize the plots, such as grouping on the x-axis, fill and shape aesthetics. \nCurrently, two main statistical plot types are supported ; bar plots, showing mean values per \ngroup with optional error bars (e.g., standard error), and stacked bar plots;  hierarchical \nrepresentation of populations within each sample. \nStatistics \nStatistical information can be added to Statistical plots through their context menus ([Statistics] \n> [Add statistics]). The “Statistics Settings” menu hosts a range of parameters that can be set \nby the user to tailor the statistical comparisons performed by the ggpubr package. These \nparameters include: \n• Type of test (e.g., t-test, Wilcoxon) \n• Paired vs. Unpaired design \n• variance assumptions \n• Multiple testing correction \nWhen applied, the selected statistical test is automatically performed between the groups on \nthe x-axis and results are visualized as annotated brackets above the corresponding bars. \nLabel formatting is configurable (e.g., stars vs. exact p-values), and non-significant results can \nbe optionally suppressed. The system also includes logic to suggest appropriate statistical \ntests based on data structure (e.g., number of groups, sample size). \nThe “Statistics summary” modal ([Statistics] > [Show summary]) allows the user to access a \nsummary interface that provides dataset structure (group counts), applied statistical \nparameters, and an overview of the underlying data. This ensures transparency and \nreproducibility of statistical results. \n.CC-BY 4.0 International licensemade available under a \n(which was not certified by peer review) is the author/funder, who has granted bioRxiv a license to display the preprint in perpetuity. It is \nThe copyright holder for this preprintthis version posted April 21, 2026. ; https://doi.org/10.64898/2026.04.16.717288doi: bioRxiv preprint \n\nGating \nManual gating \nManual gating in FlowWeb is implemented as an interactive workflow that combines direct \ngraphical user input with formal cytometry data structures. The core gating machinery relies \non the Bioconductor packages flowCore and flowWorkspace, while Shiny provides the event-\ndriven user interface and ggplot2 supports graphical rendering of the gating canvas. In \npractice, user-drawn gates are not treated as visual annotations but are converted into formal \ngate objects and incorporated into sample-specific gating hierarchies. \nManual gating in FlowWeb is guided by the user’s current selection (sample, channels, and \ngate type) and interactive input on the plot. Gates can be drawn and edited using standard \ngeometries such as thresholds, rectangles, polygons, ellipses, and quadrants. In all cases, \nthe drawn region is converted into a formal gate definition and added to the gating hierarchy. \nFlowWeb supports the following gate geometries from the flowCore package: \n• 1D density gates  \n• Rectangle gates \n• Ellipse gates \n• Polygon gates  \n• Quadrant gates \nAt the data level, cytometry data are handled as flowFrame objects, from which expression \nvalues are accessed and gated subsets are derived. User-defined regions are translated into \nformal gate objects (e.g. rectangular or polygonal gates), preserving the relationship between \ngeometric boundaries and measurement channels. These gates are embedded into a \nGatingSet / GatingHierarchy structure, ensuring that population relationships are maintained \nand consistently updated when gates are modified. \nEach gated population is exported as a child population and represented both within the \nhierarchical gating structure and in a metadata table that records parent–child relationships, \npopulation names, event counts, and visual attributes such as gate colour. The tabular \nrepresentation and the gating hierarchy are updated in parallel, ensuring consistency between \nviews. When a gate is edited, its definition is retrieved, reconstructed in the editor, and updated \nin the gating hierarchy. Changes are subsequently propagated to all dependent populations, \naffected child populations are recomputed and their associated data and metadata are \nupdated accordingly. This ensures that manual adjustments are consistently reflected \nthroughout the analysis workflow. \nAutomated gating \nAutomated gating in FlowWeb complements manual gating by providing algorithmic methods \nfor identifying populations based on one- or two-dimensional distributions. This part of the \nframework combines methods from openCyto and model-based packages such as flowClust, \nmixtools, and mclust. These methods are wrapped by FlowWeb so that users can select them \nfrom the interface, inspect their results in a preview panel, and then apply them to one or more \nsamples. \nFlowWeb provides automated gating methods such as: \n• Cell cycle analysis \n.CC-BY 4.0 International licensemade available under a \n(which was not certified by peer review) is the author/funder, who has granted bioRxiv a license to display the preprint in perpetuity. It is \nThe copyright holder for this preprintthis version posted April 21, 2026. ; https://doi.org/10.64898/2026.04.16.717288doi: bioRxiv preprint \n\n• Minimum-density thresholding \n• Tail-based cutoff detection \n• Quantile gating \n• Two-dimensional model-based clustering \nThese methods are particularly appropriate for marker channels where one seeks to separate \nnegative and positive populations, exclude debris or extreme tails, or enforce percentile-based \nthresholds across samples. \nFor two-dimensional model-based clustering, the implementation makes use of flowClust. \nHere, the event cloud in a selected pair of channels is modelled as a mixture of elliptical \nclusters. Each component is then expanded into an explicit polygonal contour corresponding \nto a chosen confidence level, allowing both visualization and downstream export as child \npopulations. This approach is well-suited to cytometric populations that are approximately \nellipsoidal but overlap in complex ways. FlowWeb converts these ellipsoidal models into \npolygonal gates for visualization and export, fitting them seamlessly into the broader gate \noverlay and editing infrastructure. \nFor the one-dimensional automated cell-cycle analysis, FlowWeb uses a hybrid strategy. The \ndistribution is first characterized by a kernel density estimate, from which candidate peaks, \nintervening valleys, peak prominence, and approximate basin mass are derived. A biologically \nplausible G1 peak is selected from these KDE features, and a local two-component Gaussian \nmixture is fit in a robust window around that peak using mixtools. The fitted mixture model is \nused to identify the two principal DNA-content peaks and to assign G1 phase based on \nposterior probability. The final gates are next constructed explicitly;  G1 is centered on the \nselected KDE peak and sized from high-confidence G1 events within its basin, whereas G2 is \nplaced at an approximate duplication multiple of the G1 center with related width, and S phase \nis defined as the intervening interval between the two. Although this routine is not part of \nopenCyto, it follows the same design principle: model a population in a statistically principled \nway, convert the result into explicit gates, and propagate those gates through the same export \npipeline as all other methods.  \nResults \nTo benchmark FlowWeb’s accuracy and reproducibility against established commercial \nplatforms, we performed automated cell cycle analysis on Propidium Iodide-stained samples. \nTo evaluate both performance and reproducibility, we analyzed samples from two conditions \n.CC-BY 4.0 International licensemade available under a \n(which was not certified by peer review) is the author/funder, who has granted bioRxiv a license to display the preprint in perpetuity. It is \nThe copyright holder for this preprintthis version posted April 21, 2026. ; https://doi.org/10.64898/2026.04.16.717288doi: bioRxiv preprint \n\n(Control and Treated), each with three \nreplicates, showing clearly distinct cell cycle \npatterns (Figure 1). The distribution of cells \nover G1, S and G2 as determined by \nFlowWeb closely resembles the distribution \nas reported by FCS-Express. The results \nobtained by Kaluza deviated slightly, \nassigning fewer cells to S-phase and more to \nG2. Both FlowWeb as well as FCS-express \ndemonstrated high reproducibility across the \nthree replicates. When averaged across G1, \nS and G2, FlowWeb results showed a \nStandard Deviation of 6.69% and 3.74% in \nControl and Treated condition, respectively, \nwhich was comparable to that of FCS-\nExpress (6.52% and 4.22%) (Table 1). \nAltogether, these results confirmed that the \nperformance of the FlowWeb software \nclosely matches that of commercially \navailable software packages. \nAs in the manual case, flowCore provides \nthe cytometry containers and gate classes, \nflowWorkspace manages hierarchical \nintegration and recomputation, shiny \norchestrates the interactive workflow, and \nggplot2 renders previews and final overlays. \nMy FlowWeb \nFlow Web provides a user-specific environment (“My FlowWeb”) that allows storage and reuse \nof analysis configurations across sessions. This functionality is implemented through a hybrid \narchitecture combining a reactive R-based frontend through shiny, with a backend layer \nimplemented as a custom WordPress plugin. \nThe system enables users to store and retrieve three distinct classes of objects: (i) quality \ncontrol (QC) presets, (ii) plot templates, and (iii) gating definitions. All objects are associated \nFigure 3: A dataset of 6 samples (3 x Control, 3 x\nTreated) was first manually cleaned in FlowWeb by \nexcluding debris and doublets. The percentage of \ncells in the three phases of the cell cycle was then \nquantified using automated cell cycle analysis \npipelines from three different software packages. \nRepresentative DNA content profiles are shown \nalong side the graphs. Error bars represent the \nstandard deviation of the mean.  \nTable 1: Overview of the \ndistribution of cells over \nG1, S and G2 phases as \ndetermined by the \nautomated cell cycle \nanalysis in three \nsoftware packages. \nNote: For the Treated \nsamples, Kaluza was \nonly able to detect the \ndifferent phases in one \nof three samples. \n.CC-BY 4.0 International licensemade available under a \n(which was not certified by peer review) is the author/funder, who has granted bioRxiv a license to display the preprint in perpetuity. It is \nThe copyright holder for this preprintthis version posted April 21, 2026. ; https://doi.org/10.64898/2026.04.16.717288doi: bioRxiv preprint \n\nwith authenticated user accounts and are versioned and timestamped in a relational database. \nCommunication between the Shiny application and the backend is performed using the httr2 \nHTTP client, with authentication enforced through WordPress session cookies and nonce-\nbased request validation. The different objects are stored in a dedicated relational table within \nWordPress, with each record linked to a specific user ID.  This design allows different aspects \nof the workflow to be treated as reusable configuration objects, decoupled from specific \ndatasets while remaining fully reproducible. \nQC presets; a list of QC parameter configurations used during preprocessing and quality \ncontrol steps, allowing users to standardize workflows across datasets.  \nPlot templates; includes amongst others plot type and rendering parameters (e.g., density \nadjustment, binning), aesthetics (colors, transparency, contour properties),  axis configuration \n(scales, labels, visibility),annotation settings (header and subheader formatting), and legend \nand display options. Plot templates are portable across datasets and allow rapid replication of \ncomplex visualization settings without reconfiguration.  \nGates; encode explicit geometric and analytical gating objects that can be reapplied across \ndatasets. These objects integrate tightly with the cytometry infrastructure provided by flowCore \nand flowWorkspace. Within the app, logged-in users can retrieve an overview of saved gates \nfrom the reactive storage on demand. This overview includes information related to gate type,  \nassociated channels and optional metadata (color, source file, versioning, edit history). \nUser-specific objects stored within “My FlowWeb,” including plot templates, QC presets, and \ngating definitions, consist of analytical parameters such as channel selections, visualization \nsettings, thresholds, and gate geometries. These objects do not store raw cytometry data and \nare not intended to contain patient-identifiable information. However, under frameworks such \nas the GDPR, information may be considered personal if it can directly or indirectly identify an \nindividual. Users are therefore responsible for ensuring that no sensitive information is \nembedded in user-defined labels, annotations, or metadata associated with these stored \nconfigurations. \nCompeting interest \nM.t.H. developed the web application described in this work and  may pursue monetization of \nthe platform in the future. \nReferences \n1  Le Meur, N., Hahne, F., Ellis, B. and Haaland, P. (2023) FlowCore: Data Structures Package \nfor Flow Cytometry Data. Bioconductor Project. \nhttp://scholar.google.com/scholar?hl=en&btnG=Search&q=intitle:flowCore+:+data+structures+\npackage+for+flow+cytometry+data#2. \n2  Finak, G. and Jiang, M. (2026) FlowWorkspace: Infrastructure for Representing and Interacting \nwith Gated and Ungated Cytometry Data Sets. . R Package Version 4.23.1, \nHttps://Bioconductor.Org/Packages/FlowWorkspace. 2026. \nhttps://doi.org/doi:10.18129/B9.bioc.flowWorkspace,. \n3  Monaco, G., Chen, H., Poidinger, M., Chen, J., De Magalhães, J.P. and Larbi, A. (2016) \nFlowAI: Automatic and Interactive Anomaly Discerning Tools for Flow Cytometry Data. \nBioinformatics, 32, 2473–2480. https://doi.org/10.1093/bioinformatics/btw191. \n.CC-BY 4.0 International licensemade available under a \n(which was not certified by peer review) is the author/funder, who has granted bioRxiv a license to display the preprint in perpetuity. It is \nThe copyright holder for this preprintthis version posted April 21, 2026. ; https://doi.org/10.64898/2026.04.16.717288doi: bioRxiv preprint \n\n4  Wickham, H. (2016) Ggplot2: Elegant Graphics for Data Analysis. \n.CC-BY 4.0 International licensemade available under a \n(which was not certified by peer review) is the author/funder, who has granted bioRxiv a license to display the preprint in perpetuity. It is \nThe copyright holder for this preprintthis version posted April 21, 2026. ; https://doi.org/10.64898/2026.04.16.717288doi: bioRxiv preprint","source_license":"CC-BY-4.0","license_restricted":false}