A command-line utility and Galaxy platform integration for the Reactome pathway analysis service. This project provides both a standalone Java CLI tool and Galaxy tool wrappers for performing pathway analysis using the Reactome database.
Overview
This application enables users to perform pathway analysis using Reactome’s comprehensive biological pathway database. It supports multiple types of analysis including gene set analysis, tissue-specific analysis, and species comparison analysis. The tool can be used both as a standalone command-line application and as integrated tools within the Galaxy bioinformatics platform.
Key Features
Multiple Analysis Types: Supports gene, tissue, and species pathway analysis
Galaxy Platform Ready: Includes complete Galaxy tool configurations with tests
Comprehensive Input: Accepts various identifier formats and gene lists
Comprehensive Output: Generates detailed pathway analysis results in multiple formats
Analysis Capabilities
Gene Analysis: Analyze gene lists against Reactome pathways
Species Analysis: Compare pathways across different species
GSA Analysis: Gene Set Analysis using the ReactomeGSA R package
CLI Technical Overview
The Reactome CLI is a simple command line interface which wraps calls to the Reactome web apis written in Kotlin. It provides an easy
entrypoint for workflow engines to call these apis, without needing to worry about constructing input HTTP requests and processing
outputs.
Development Setup
Prerequisites
Java Development Kit (JDK): Version 11 or higher
Apache Maven: For building the Java CLI
Conda: For managing Galaxy tool dependencies
Python: For Galaxy integration and testing
Planemo: For Galaxy tool testing and linting
Building the Project
Clone the repository:
git clone https://github.com/reactome/reactome_galaxy.git
cd reactome_galaxy
Verify results the build will fail if any tests or linting checks fail
Commit changes once all automated checks pass
Create a PR and have someone review the changes
Merge the PR
Testing
The project includes comprehensive testing for both components, integrated into the Maven build process:
Integrated Testing
All testing (Java CLI and Galaxy tools) is automated through Maven:
# This single command runs:
# - Java unit tests
# - Planemo lint for both Galaxy tools
# - Planemo test for both Galaxy tools
mvn package -Dconda.location=/path/to/your/miniconda
The CLI supports multiple analysis types with comprehensive help documentation:
# View main help
java -jar target/reactome-jar-with-dependencies.jar --help
# View help for specific analysis type
java -jar target/reactome-jar-with-dependencies.jar genes --help
reactome: Java CLI-based tool for gene, tissue, and species analysis
reactome-gsa: R-based tool using the ReactomeGSA package for advanced gene set analysis
Both tools include complete Galaxy tool definitions with parameter validation, help documentation, and test cases.
Running Tools in Galaxy
Once installed in a Galaxy instance, the tools can be accessed through the Galaxy interface. Please refer to the
help provided in the Galaxy tool for documentation on running the tool and the input and output data supported.
Distribution
Bioconda Package
The Reactome Galaxy tools are distributed via bioconda, which handles dependency management for the Galaxy platform. The tools automatically install required dependencies when deployed in a Galaxy instance.
The conda packaging and integration with galaxy is tested as part of the integrated tests above, but to actually release to bioconda the recipes must
be added to the central bioconda recipe repo. Follow these
steps to release to bioconda:
Run mvn clean package -Dconda.location=/path/to/your/miniconda and ensure all tests pass and a jar is built.
Create a release in GitHub from the release page. Add the local [reactome-jar-with-dependencies.jar](target%2Freactome-jar-with-dependencies.jar) you’ve built to the release, named of the format reacome-v{new_version}.jar where new_version is the version to be released.
Update bioconda-recipes/recipes/reactome-cli with your new version, and follow their PR workflow to get it merged and released.
When complete you can now release a new version of the Galaxy XML to the toolshed.
Installation in Galaxy:
Tools are installed through Galaxy’s tool installation interface
Dependencies are automatically resolved via Conda
No manual dependency installation required
Galaxy ToolShed
The tools are available through the Galaxy ToolShed, the official repository for Galaxy tools:
ToolShed Distribution:
Both tools are packages and distributed together in the central toolshed. Currently, distribution is a manual process.
New revisions can be released to the toolshed by following the following steps:
If the tool requires a new version of CLI, you must first release to bioconda by following the bioconda packaging above. Then update the dependency in reactome.xml
planemo shed_update --shed_target toolshed from the galaxy/local_tools directory.
Installation Notes for Galaxy Administrators
When installing the Reactome tools in a Galaxy instance:
HTML Rendering: Ensure tools are configured for “HTML Rendered” output in Admin → Manage Allowlist
Dependencies: Conda must be properly configured for automatic dependency resolution
Testing: Run the included test cases to verify proper installation
Support
For any questions or issues with running these tools contact Reactome HelpDesk
Reactome Galaxy Integration
A command-line utility and Galaxy platform integration for the Reactome pathway analysis service. This project provides both a standalone Java CLI tool and Galaxy tool wrappers for performing pathway analysis using the Reactome database.
Overview
This application enables users to perform pathway analysis using Reactome’s comprehensive biological pathway database. It supports multiple types of analysis including gene set analysis, tissue-specific analysis, and species comparison analysis. The tool can be used both as a standalone command-line application and as integrated tools within the Galaxy bioinformatics platform.
Key Features
Analysis Capabilities
CLI Technical Overview
The Reactome CLI is a simple command line interface which wraps calls to the Reactome web apis written in Kotlin. It provides an easy entrypoint for workflow engines to call these apis, without needing to worry about constructing input HTTP requests and processing outputs.
Development Setup
Prerequisites
Building the Project
Clone the repository:
Build the Java CLI:
Test the CLI build:
Development Workflow
Testing
The project includes comprehensive testing for both components, integrated into the Maven build process:
Integrated Testing
All testing (Java CLI and Galaxy tools) is automated through Maven:
The Maven build automatically executes:
planemo lintongalaxy/local_tools/reactomeplanemo testongalaxy/local_tools/reactomeplanemo lintongalaxy/local_tools/reactome-gsaplanemo testongalaxy/local_tools/reactome-gsaProject Structure
Usage
Command Line Interface
The CLI supports multiple analysis types with comprehensive help documentation:
Example Commands
Gene Analysis:
Tissue Analysis:
Galaxy Integration
The project provides two Galaxy tools:
Both tools include complete Galaxy tool definitions with parameter validation, help documentation, and test cases.
Running Tools in Galaxy
Once installed in a Galaxy instance, the tools can be accessed through the Galaxy interface. Please refer to the help provided in the Galaxy tool for documentation on running the tool and the input and output data supported.
Distribution
Bioconda Package
The Reactome Galaxy tools are distributed via bioconda, which handles dependency management for the Galaxy platform. The tools automatically install required dependencies when deployed in a Galaxy instance.
The conda packaging and integration with galaxy is tested as part of the integrated tests above, but to actually release to bioconda the recipes must be added to the central bioconda recipe repo. Follow these steps to release to bioconda:
mvn clean package -Dconda.location=/path/to/your/minicondaand ensure all tests pass and a jar is built.[reactome-jar-with-dependencies.jar](target%2Freactome-jar-with-dependencies.jar)you’ve built to the release, named of the formatreacome-v{new_version}.jarwherenew_versionis the version to be released.bioconda-recipes/recipes/reactome-cliwith your new version, and follow their PR workflow to get it merged and released.Installation in Galaxy:
Galaxy ToolShed
The tools are available through the Galaxy ToolShed, the official repository for Galaxy tools:
ToolShed Distribution:
Both tools are packages and distributed together in the central toolshed. Currently, distribution is a manual process. New revisions can be released to the toolshed by following the following steps:
planemo shed_update --shed_target toolshedfrom thegalaxy/local_toolsdirectory.Installation Notes for Galaxy Administrators
When installing the Reactome tools in a Galaxy instance:
Support
For any questions or issues with running these tools contact Reactome HelpDesk
Related Projects