Shiny app for exploring gastric cancer single-cell atlas objects plus lightweight Xenium spatial exports, precomputed marker tables, average-expression caches, and malignant-vs-normal quadrant DEG plots.
The app is now runtime-configurable and does not require Mac-specific paths.
- Code directory: this repository
- Data directory: controlled by
GC_APP_DATA_DIR - Default local behavior: if
GC_APP_DATA_DIRis unset, the app looks for data in./dataand then in the parent directory of the app
Place the files from data directory mounted into the container (GCshinyapp_data folder):
seurat_merged_TME_malignant_final_umap_app_slim.rdsseurat_epithelial_normal_final_final_app_slim.rdsseurat_cancercells_final_app_slim.rdsseurat_Stromal_final_app_slim.rdsseurat_CD8T_final2_app_slim.rdsseurat_CD4T_final2_app_slim.rdsseurat_B_final2_app_slim.rdsseurat_Mye_final2_app_slim.rds*_avg_cache.rdsfiles for the objects you want to support*_quadrant_cache.rdsfor quadrant DEG plotsdataset_group_colors.rdspath_group_colors.rdssubcluster_ct_colors_combined.rdsmarkers_RNA_merged_AllCelltypes_final.xlsx- marker/DE
.xlsxfiles for the other atlas objects you want exposed atlas_app_inputs/export_manifest.tsvatlas_app_inputs/<sample_id>/cells.rdsatlas_app_inputs/<sample_id>/image_lowres.pngatlas_app_inputs/<sample_id>/image_meta.rdsatlas_app_inputs/<sample_id>/neighborhood_summary.rdsatlas_app_inputs/<sample_id>/neighborhood_composition.rdsatlas_app_inputs/<sample_id>/<sample_id>_counts_sce.rdsif you want to rebuild Xenium marker assetsatlas_app_inputs/<sample_id>/marker_expr/if you want the Xenium Marker Overlay tab available immediately
Example shared host path used for this project:
/mnt/ix1/Projects_lite/junhacha/GCshinyapp_data
cd /path/to/GC-atlas-explorer
GC_APP_DATA_DIR=/path/to/data R -e "shiny::runApp('.', launch.browser = TRUE)"For the shared project storage, that becomes:
GC_APP_DATA_DIR=/mnt/ix1/Projects_lite/junhacha/GCshinyapp_data R -e "shiny::runApp('.', launch.browser = TRUE)"Build:
docker build -t gc-singlecell-explorer .Run:
docker run --rm -p 3838:3838 \
-e GC_APP_DATA_DIR=/data \
-v /mnt/ix1/Projects_lite/junhacha/GCshinyapp_data:/data:ro \
gc-singlecell-explorerThen open:
http://<server-host>:3838
Example file is included at docker-compose.yml.
Set the host data path in .env:
cp .env.example .envThen edit:
GC_APP_HOST_DATA_DIR=/mnt/ix1/Projects_lite/junhacha/GCshinyapp_dataStart:
docker compose up -d --build- This repository
- A host data directory containing the required
.rds, cache, and.xlsxfiles - One of:
docker build+docker rundocker compose up -d --build
You can keep extending the app after deployment. Update the code in this repo, rebuild the container, and restart it. The shared data directory can stay mounted in the same place.