Add cBioPortal integration to UCSCXenaShiny
This PR integrates cBioPortal for Cancer Genomics as a new data source in UCSCXenaShiny, providing access to over 400 cancer studies and multiple molecular data types alongside the existing TCGA, PCAWG, and CCLE integrations.
Key Features Added
cBioPortal Data Access
- Study Selection Interface: Browse and select from 400+ cancer studies with metadata display
- Multiple Data Types: Support for gene expression, copy number alterations, mutations, and clinical data
- Gene-Gene Correlation Analysis: Interactive correlation analysis with statistical testing and visualization
-
Graceful Error Handling: Works with or without the
cBioPortalDatapackage dependency
UI Integration
The integration adds cBioPortal access through two main interfaces:
- Dedicated cBioPortal Analysis Tab: Full-featured interface in the main navigation
- Quick Analysis Integration: Streamlined access via the existing "TCGA (GTEx): Molecular comparison" section
Core Implementation
-
Data Access Functions (
R/cbioportal.R): Core functions for study retrieval, data extraction, and analysis -
UI Modules (
inst/shinyapp/modules/06_cbioportal/): Study selector and correlation analysis modules - System Integration: Added cBioPortal to general analysis data source options and server module loading
Technical Details
The implementation follows UCSCXenaShiny's established architectural patterns:
- Study-based data organization (unlike TCGA's pan-cancer approach)
- Consistent UI/UX with other data sources
- Robust error handling and user feedback
- Interactive visualizations using ggplot2
Dependencies
Requires the cBioPortalData Bioconductor package for full functionality:
BiocManager::install("cBioPortalData")
The integration includes fallback behavior when the package is not available, ensuring app stability.
Documentation
Complete integration documentation is provided in docs/cbioportal-integration.md with setup instructions, usage examples, and API reference.
This integration significantly expands UCSCXenaShiny's capabilities by adding access to cBioPortal's extensive collection of cancer genomics studies while maintaining the tool's user-friendly approach and high-quality standards.
Fixes #228.
💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.
@ShixiangWang 👋 This repository doesn't have Copilot instructions. With Copilot instructions, I can understand the repository better, work faster and produce higher quality PRs.
I can generate a .github/copilot-instructions.md file for you automatically. Click here to open a pre-filled issue and assign it to me. I'll write the instructions, and then tag you for review.
- [x] 了解cBioPortalData包数据格式以及用法
- [ ] 初步测试,发现存在问题。可以参考其思路,研究cBioPortal功能实现的形式