UCSCXenaShiny icon indicating copy to clipboard operation
UCSCXenaShiny copied to clipboard

Add cBioPortal integration to UCSCXenaShiny

Open Copilot opened this issue 6 months ago • 2 comments

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 cBioPortalData package dependency

UI Integration

The integration adds cBioPortal access through two main interfaces:

  1. Dedicated cBioPortal Analysis Tab: Full-featured interface in the main navigation
  2. 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.

![cBioPortal Integration UI](https://github.com/user-attachments/assets/f951e773-9992-434e-9a45-50b326cc1411)

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.

Copilot avatar Aug 26 '25 03:08 Copilot

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

Copilot avatar Aug 26 '25 03:08 Copilot

  • [x] 了解cBioPortalData包数据格式以及用法
  • [ ] 初步测试,发现存在问题。可以参考其思路,研究cBioPortal功能实现的形式

lishensuo avatar Sep 06 '25 03:09 lishensuo