Skip to main content
GigaByte logoLink to GigaByte
. 2025 Mar 3;2025:gigabyte151. doi: 10.46471/gigabyte.151

Portable-CELLxGENE: standalone executables of CELLxGENE for easy installation

George T Hall 1,*
PMCID: PMC11894539  PMID: 40070474

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.

Figure 1.

Homepage of Portable-CELLxGENE displaying the user’s datasets, annotations, and compiled analysis notebooks.

Figure 2.

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.

Figure 3.

Screenshot of the MacOS dmg installer. The user simply drags the app icon into the Applications folder.

Figure 4.

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

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

GigaByte. 2025 Mar 3;2025:gigabyte151.

Article Submission

George Hall
GigaByte.

Assign Handling Editor

Editor: Scott Edmunds
GigaByte.

Editor Assess MS

Editor: Scott Edmunds
GigaByte. 2025 Mar 3;2025:gigabyte151.

Return to Author for Corrections

George Hall
GigaByte.

Editor Assess MS

Editor: Scott Edmunds
GigaByte.

Curator Assess MS

Editor: Bastien Molcrette
GigaByte.

Review MS

Editor: Sidney M Bell

Reviewer name and names of any other individual's who aided in reviewer Sidney M. Bell, PhD
Do you understand and agree to our policy of having open and named reviews, and having your review included with the published manuscript. (If no, please inform the editor that you cannot review this manuscript.) Yes
Is the language of sufficient quality? Yes
Please add additional comments on language quality to clarify if needed
Is there a clear statement of need explaining what problems the software is designed to solve and who the target audience is? Yes
Additional Comments
Is the source code available, and has an appropriate Open Source Initiative license <a href="https://opensource.org/licenses" target="_blank">(https://opensource.org/licenses)</a> been assigned to the code? Yes
Additional Comments [SUGGESTION] While not a requirement, I would strongly encourage a more permissive license to promote further reuse and development of CELLxGENE and related packages. The GPL license used can have unintended consequences (for example, at CZI we build almost exclusively with a very permissive MIT license per institutional policy; this sometimes limits our ability to collaborate with other OSS projects when their GPL license would require that we also use this more restrictive license, even though we are building also openly).
As Open Source Software are there guidelines on how to contribute, report issues or seek support on the code? Yes
Additional Comments
Is the code executable? Yes
Additional Comments [CONSIDERATION] This packages does include an override to allow unsigned executables; I do not have the security engineering background required to assess this, but I would advise the editor to seek their input.
Is installation/deployment sufficiently outlined in the paper and documentation, and does it proceed as outlined? Yes
Additional Comments [REVISION NEEDED] The UI is very confusing as it says to select (or drag/drop) a *file*, but it only accepts a *directory*. Please update this to be more clear; it almost prevented me from using the software entirely. I was only able to verify on Mac. Given that many experimental biologists rely on Windows, it would be ideal if another reviewer was able to verify on Windows.
Is the documentation provided clear and user friendly? Yes
Additional Comments [SUGGESTION] The documentation and videos in the readme are very excellent. This is not required and would be above-and-beyond, but the author may wish to consider a github pages site as this would be more approachable to non-computational users (github can be a bit intimidating) and perhaps also help with SEO and discoverability.
Is there enough clear information in the documentation to install, run and test this tool, including information on where to seek help if required? Yes
Additional Comments
Is there a clearly-stated list of dependencies, and is the core functionality of the software documented to a satisfactory level? Yes
Additional Comments [CONSIDERATION] My only minor concern with this submission is the long-term maintenance incurred by the choice to fork the CELLxGENE-gateway. Has the author considered sending their changes upstream as a PR, instead of maintaining a fork? The UI improvements are nice, but I do wonder about the tradeoff in long-term maintenance as the Novartis team is well staffed and occasionally updates the gateway (e.g., there are changes to the environment variables in the Novartis version of the gateway from 10 months ago which have not been updated in this package's fork of the gateway). Similarly, the version of cellxgene is not pinned (either to a specific version or to `latest`) in either package's requirements; while there are advantages to the current unpinned approach, it is a minor risk worth pointing out. All of this said, however, this approach is reasonable and has its benefits. Neither CELLxGENE Explorer nor Gateway are rapidly being developed, and so the risks described above are probably minimal, assuming that the author has a plan to maintain the package occasionally as the need arises due to upstream changes.
Have any claims of performance been sufficiently tested and compared to other commonly-used packages? Not applicable
Additional Comments
Is test data available, either included with the submission or openly available via cited third party sources (e.g. accession numbers, data DOIs)? Yes
Additional Comments
Are there (ideally real world) examples demonstrating use of the software? Yes
Additional Comments
Is automated testing used or are there manual steps described so that the functionality of the software can be verified? No
Additional Comments
Any Additional Overall Comments to the Author This is a fantastic extension of CELLxGENE's functionality which users have been asking for for years! Thank you for contributing to our community.
Recommendation Minor Revisions
GigaByte.

Review MS

Editor: Alexander Kirchmair

Reviewer name and names of any other individual's who aided in reviewer Alexander Kirchmair
Do you understand and agree to our policy of having open and named reviews, and having your review included with the published manuscript. (If no, please inform the editor that you cannot review this manuscript.) Yes
Is the language of sufficient quality? Yes
Please add additional comments on language quality to clarify if needed
Is there a clear statement of need explaining what problems the software is designed to solve and who the target audience is? Yes
Additional Comments
Is the source code available, and has an appropriate Open Source Initiative license <a href="https://opensource.org/licenses" target="_blank">(https://opensource.org/licenses)</a> been assigned to the code? Yes
Additional Comments
As Open Source Software are there guidelines on how to contribute, report issues or seek support on the code? Yes
Additional Comments
Is the code executable? Yes
Additional Comments
Is installation/deployment sufficiently outlined in the paper and documentation, and does it proceed as outlined? Yes
Additional Comments
Is the documentation provided clear and user friendly? Yes
Additional Comments
Is there enough clear information in the documentation to install, run and test this tool, including information on where to seek help if required? Yes
Additional Comments
Is there a clearly-stated list of dependencies, and is the core functionality of the software documented to a satisfactory level? Yes
Additional Comments
Have any claims of performance been sufficiently tested and compared to other commonly-used packages? Not applicable
Additional Comments
Is test data available, either included with the submission or openly available via cited third party sources (e.g. accession numbers, data DOIs)? Yes
Additional Comments A more detailed example on how to download test data and use them with Portable-CELLxGENE could be included in the documentation.
Are there (ideally real world) examples demonstrating use of the software? Yes
Additional Comments
Is automated testing used or are there manual steps described so that the functionality of the software can be verified? No
Additional Comments Not applicable
Any Additional Overall Comments to the Author Portable-CELLxGENE is a practical solution to lower the accessibility of CELLxGENE for non-bioinformaticians. I tested it on several datasets, and it worked as expected. While the tool does not introduce any novel methods, its easy installation and GUI-based workflow can make it a useful contribution to the single-cell community.
Recommendation Accept
GigaByte.

Editor Decision

Editor: Qing Lan
GigaByte. 2025 Mar 3;2025:gigabyte151.

Minor Revision

George Hall
GigaByte.

Assess Revision

Editor: Qing Lan
GigaByte.

Final Data Preparation

Editor: Bastien Molcrette
GigaByte.

Editor Decision

Editor: Qing Lan
GigaByte.

Accept

Editor: Scott Edmunds

Editor’s Assessment CELLxGENE is a popular open-source tool to find, download, and visually explore curated and standardized single-cell biology datasets. Biologists without the bioinformatics skills to use the command line but still want to analyse their single-cell transcriptomics datasets using this platform as it provides an intuitive graphical interface. Though its server-side installation and execution remain too complex and impractical for many. This paper presents Portable-CELLxGENE, standalone small executables of CELLxGENE for more easy installation. Providing downloadable versions of Portable-CELLxGENE for Windows and MacOS, along with its source code, that are available at GitHub https://github.com/george-hall-ucl/portable-cellxgene under a GPLv3 license. Peer-review helped streamline the MacOS installation and improve the documentation, and testing proved it was very easy to install and run. Test datasets are provided and developers are encouraged to contribute to Portable-CELLxGENE by submitting a pull request on the GitHub repository.
Editor’s Assessment CELLxGENE is a popular open-source tool to find, download, and visually explore curated and standardized single-cell biology datasets. Biologists without the bioinformatics skills to use the command line but still want to analyse their single-cell transcriptomics datasets using this platform as it provides an intuitive graphical interface. Though its server-side installation and execution remain too complex and impractical for many. This paper presents Portable-CELLxGENE, standalone small executables of CELLxGENE for more easy installation. Providing downloadable versions of Portable-CELLxGENE for Windows and MacOS, along with its source code, that are available at GitHub https://github.com/george-hall-ucl/portable-cellxgene under a GPLv3 license. Peer-review helped streamline the MacOS installation and improve the documentation, and testing proved it was very easy to install and run. Test datasets are provided and developers are encouraged to contribute to Portable-CELLxGENE by submitting a pull request on the GitHub repository.
GigaByte.

Export to Production

Editor: Scott Edmunds

Associated Data

    This section collects any data citations, data availability statements, or supplementary materials included in this article.

    Data Availability Statement

    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].


    Articles from GigaByte are provided here courtesy of Gigascience Press

    RESOURCES