Abstract
Biologists who want to analyse their single-cell transcriptomics dataset must install and use specialist software via the command line. This is often impractical for non-bioinformaticians. Whilst the popular CELLxGENE software provides an intuitive graphical interface to facilitate analysis outside the command line, its server-side installation and execution remain complex. A version that is easier to install and run would allow non-bioinformaticians to take advantage of this valuable tool without needing to use the command line. This work introduces Portable-CELLxGENE, a standalone distribution of CELLxGENE that can be installed via a graphical interface. It contains an easy-to-use extension of the CELLxGENE-Gateway Python package to allow the analysis of multiple datasets. This tool enables non-bioinformaticians to carry out simple analyses independently.
Availability and implementation
Versions of Portable-CELLxGENE for Windows and MacOS, along with source code, are available at https://george-hall-ucl.github.io/Portable-CELLxGENE-Docs. It is licensed under the GNU General Public License v3.
Statement of need
Software to analyse single-cell transcriptomics experiments requires time and expertise to install and operate. Non-bioinformaticians must therefore often work in close collaboration with bioinformaticians to carry out tasks such as labelling cell types according to marker genes and assessing differential gene expression. Research would be accelerated if non-bioinformaticians could tackle these tasks alone. However, this is currently challenging due to the lack of easy-to-install and easy-to-use software.
The CELLxGENE tool [1] is easy-to-use since it provides a graphical user interface (GUI) through which single-cell datasets can be analysed. The CELLxGENE-Gateway extension [2] allows it to be used with multiple datasets, with the ability to create multiple versions of cell-level annotations and gene-level gene sets. However, both tools remain prohibitively complex for non-bioinformaticians to install since they require Python and the correct versions of many Python packages and other software to be installed. Whilst CELLxGENE instances can be hosted online – thereby bypassing installation for the end user – setting up the server requires time, money, and specialist knowledge, in addition to the requirement to remain online whilst conducting analysis.
Some other tools also provide a GUI for the analysis of single-cell transcriptomics experiments, but each has shortcomings. The Galaxy tool [3] provides a GUI and allows for more complex analyses than CELLxGENE, but this complexity may make it unsuitable for non-specialists. Whilst the Loupe browser developed by 10× Genomics is easy to install and use, it can only operate on datasets saved in the proprietary loupe format. These datasets are generally those that have been processed by the 10× Genomics CellRanger software [4], although datasets in other formats can now be converted to this format [5]. Nevertheless, the Loupe browser is not open source, potentially limiting its future availability, extendibility, and utility in some situations. Portable-CELLxGENE, on the other hand, is build on open-source software using the well-maintained and widely used h5ad file format.
Portable-CELLxGENE addresses the lack of an easy-to-install and easy-to-use tool by providing standalone executable versions of the intuitive and powerful CELLxGENE software. It will thus accelerate research by enabling non-bioinformaticians to carry out simple analysis tasks independently from bioinformaticians.
Implementation
Portable-CELLxGENE
Portable-CELLxGENE comprises a conda [6] environment (containing Python, all necessary Python packages, and all other software) along with a script to run the tool. The conda environment incorporates CELLxGENE along with CELLxGENE-Gateway, an extension that allows for the analysis and annotation of multiple datasets. Upon launch, a shell is started that activates the conda environment. A window appears for the user to select the location of their dataset. The launch script then sets environment variables to point to the dataset and configure other CELLxGENE and CELLxGENE-Gateway options. Finally, a CELLxGENE-Gateway session is started, and, after a small delay to allow for all necessary processes to start, a browser window is opened to display the web app.
The homepage of the app is a slightly modified version of the CELLxGENE-Gateway file browser, designed to improve usability (Figure 1). From this page, datasets can be loaded for analysis in CELLxGENE. Sets of annotations and gene sets can be created or loaded, along with compiled Python/R notebooks showing how the data has been processed previously. Running CELLxGENE sessions can be identified and terminated if desired. Once a dataset has been loaded through this page, a CELLxGENE instance is launched and can be used in the standard way, with gene sets and cell annotations being created and saved as csv files (Figure 2). No internet connection is required since all software is hosted locally.
Figure 1.
Homepage of Portable-CELLxGENE displaying the user’s datasets, annotations, and compiled analysis notebooks.
Figure 2.
Screenshot of the CELLxGENE interface available within Portable-CELLxGENE.
Installation
Portable-CELLxGENE can be installed with a straightforward graphical interface on MacOS and Windows. On MacOS, a standard dmg installer allows the user to simply drag the application into the Applications directory (Figure 3). On Windows, an executable can be run that downloads and installs the software automatically (Figure 4).
Figure 3.
Screenshot of the MacOS dmg installer. The user simply drags the app icon into the Applications folder.
Figure 4.
Screenshot of the Windows installer. The user downloads and runs a small executable, which installs the software.
Uninstallation
Portable-CELLxGENE is similarly easy to uninstall. On MacOS, the application can simply be deleted from the Applications directory. On Windows, it can be deleted from the Local Application Data where it has been installed, along with its desktop and start menu shortcuts. A script for this process is available in the documentation.
Build process
The build process of Portable-CELLxGENE is designed to be straightforward for both MacOS and Windows. It is detailed in the documentation.
MacOS
Bash scripts to automate the build process are available in the Portable-CELLxGENE GitHub repository. Briefly, the process comprises two stages: building and signing. In the building stage, a template .app directory (created using Platypus [7]) is loaded with the conda environment and a script to launch the program. In the signing stage, the MacOS code signing tool codesign is used to add an accredited developer identity to the app and all libraries and executables within the conda environment. Finally, node-appdmg [8] incorporates the signed software into a dmg file for easy installation, which itself is then signed and released.
Windows
Build scripts, assets, and the Windows conda environment are all hosted on the PortableCELLxGENE-assets GitHub repository [9]. The batch script to activate the conda environment and run CELLxGENE-Gateway is converted into an executable with the bat2exe tool [10]. This executable can then be signed with an extended validation certificate. Finally, an installer is created by converting the powershell installation script downloaded from the assets repository into an executable using ps2exe [11]. This installer executable can then be signed and released.
Availability of supporting source code and requirements
Project name: Portable-CELLxGENE
Project home page: https://george-hall-ucl.github.io/Portable-CELLxGENE-Docs [12].
Source code: https://github.com/george-hall-ucl/portable-cellxgene [13]
Operating system(s): MacOS and Windows
Programming language: Python, Bash, Batch, Powershell
Other requirements: None
License: GNU General Public License v3
RRID:SCR_026140.
Contributing guidelines
Developers are welcome to contribute to Portable-CELLxGENE by submitting a pull request on the GitHub repository [14]. All contributors are expected to adhere to the Code of Conduct [15].
Acknowledgements
Thank you to Joe Davidson, Yara Sanchez Corrales and others for testing and providing feedback on the installation process and design of Portable-CELLxGENE. Thank you to Sergi Castellano for feedback on the manuscript and support throughout the project. Thank you to the reviewers for insightful comments which improved the quality of the software and manuscript.
Funding Statement
The author is funded by the NIHR Great Ormond Street Biomedical Research Centre.
Data availability
Code snapshots are available in Software Heritage [13].
Any dataset in the h5ad format can be used in Portable-CELLxGENE. CELLxGENE Discover [16] is one example of a database of files in this format. The h5ad file must be stored in a directory, which is then accessed with the folder selection window. More detailed instructions are available in the documentation.
Three datasets from the Tabula Sapiens [17] were downloaded from CELLxGENE Discover and used to generate the figures in this paper: Large_Intestine [18], Small_Intestine [19], and Pancreas [20]. Tabula Sapiens single-cell data is also available from Figshare [21].
Abbreviations
GUI, graphical user interface.
Declarations
Ethical approval
Not applicable.
Competing interests
None declared.
Funding
The author is funded by the NIHR Great Ormond Street Biomedical Research Centre.
References
- 1.Megill C, Martin B, Weaver C et al. Cellxgene: a performant, scalable exploration platform for high dimensional sparse matrices. bioRxiv. 2021; 10.1101/2021.04.05.438318. [DOI]
- 2.Novartis Institutes for BioMedical Research . CELLxGENE-Gateway. https://github.com/Novartis/cellxgene-gateway.
- 3.The Galaxy Community. . The Galaxy platform for accessible, reproducible and collaborative biomedical analyses: 2022 update. Nucleic Acids Res., 2022; 50(W1): W345–W351. doi: 10.1093/nar/gkac247. [DOI] [PMC free article] [PubMed] [Google Scholar]
- 4.Zheng GX, Terry JM, Belgrader P et al. Massively parallel digital transcriptional profiling of single cells. Nat. Commun., 2017; 8(1): 14049. doi: 10.1038/ncomms14049. [DOI] [PMC free article] [PubMed] [Google Scholar]
- 5.Siegel E. . loupeR: converts Seurat objects to 10× Genomics Loupe files. R package version 1.1.1. 2024; https://github.com/10XGenomics/loupeR.
- 6.conda contributors . conda: a system-level, binary package and environment manager running on all major operating systems and platforms. https://github.com/conda/conda.
- 7.Thordarson S. . Platypus. 2003–2024; https://sveinbjorn.org/platypus.
- 8.Unnebäck L. . node-appdmg. 2013–2023; https://github.com/LinusU/node-appdmg.
- 9.Hall GT. . Portable-CELLxGENE-assets . 2024; https://github.com/george-hall-ucl/Portable-CELLxGENE-assets.
- 10.Adel I. . bat2exe . 2012–2024; https://bat2exe.net/.
- 11.Scholtes M. . ps2exe . 2019–2024; https://github.com/MScholtes/PS2EXE.
- 12.Hall GT. . Portable-CELLxGENE. 2025; https://george-hall-ucl.github.io/Portable-CELLxGENE-Docs. Accessed 14 February 2025.
- 13.Hall GT. . Portable-CELLxGENE: standalone executables of CELLxGENE for easy installation. (Version 1.5.2). [Computer software]. Software Heritage. 2025; https://archive.softwareheritage.org/swh:1:snp:8e22893112d412976d97c82ffe21320c52051b72.
- 14.Hall GT. . Portable-CELLxGENE pull requests. https://github.com/george-hall-ucl/portable-cellxgene/pulls.
- 15.Hall GT. . Portable-CELLxGENE code of conduct. https://george-hall-ucl.github.io/Portable-CELLxGENE-Docs/contributing.html#code-of-conduct.
- 16.CZI Cell Science Program, . Abdulla S, Aevermann B, Assis P. . CZ CELLxGENE Discover: a single-cell data platform for scalable exploration, analysis and modeling of aggregated data. Nucleic Acids Res., 2024; 53(D1): gkae1142. doi: 10.1093/nar/gkae1142. [DOI] [PMC free article] [PubMed] [Google Scholar]
- 17.The Tabula Sapiens Consortium, . Jones RC, Karkanias J, Krasnow MA. . The Tabula Sapiens: a multiple-organ, single-cell transcriptomic atlas of humans. Science, 2022; 376(6594): eabl4896. doi: 10.1126/science.abl4896. [DOI] [PMC free article] [PubMed] [Google Scholar]
- 18.The Tabula Sapiens Consortium , Jones RC, Karkanias J, Krasnow MA et al. Tabula Sapiens large intestine dataset. 2022; https://datasets.cellxgene.cziscience.com/bd5e8368-08f0-4e20-a2ea-62be3985a1ca.h5ad. Accessed 5 December 2024.
- 19.The Tabula Sapiens Consortium , Jones RC, Karkanias J, Krasnow MA et al. Tabula Sapiens small intestine dataset. 2022; https://datasets.cellxgene.cziscience.com/dacb8f43-f5d0-4228-bd42-a345d66be449.h5ad. Accessed 5 December 2024.
- 20.The Tabula Sapiens Consortium , Jones RC, Karkanias J, Krasnow MA et al. Tabula Sapiens pancreas dataset. 2022; https://datasets.cellxgene.cziscience.com/9af4585d-a1aa-4109-913f-6fe73772af70.h5ad. Accessed 5 December 2024.
- 21.Pisco A. . Tabula Sapiens consortium, Tabula Sapiens single-cell dataset. Figshare. Dataset. 2021; 10.6084/m9.figshare.14267219.v5. [DOI]




