How zahrasattari-hub/proteomics_pca_app works
1. This repository is a small, single-app R/Shiny project centered on interactive PCA exploration of proteomics data.
2. The main application logic appears to live in PCA-Tool.R. With no separate ui.R/server.R files present, the architecture is likely a single-file Shiny app that combines data loading, UI definition, and server-side reactive logic in one script.
3. mer_proteins.xlsx is the bundled input dataset. The app reads this file locally and uses it as the source for PCA computation, sample grouping, and protein-level contribution analysis.
4. The core data flow is:
- load proteomics measurements from the Excel file
- preprocess the matrix into a PCA-ready form
- compute principal components
- expose the results through interactive controls and plots
- let the user inspect which proteins drive separation between samples
5. The interactive boundary is between the app UI and the PCA analytics. Users can change principal component combinations, and the reactive layer updates clustering views and protein-contribution summaries accordingly.
6. The main analytical outputs are:
- sample clustering/separation in PCA space
- loading or contribution information for proteins on selected components
- comparison of control versus treated groups, as described in the README
7. The project is not service-oriented; there is no evidence of a database, API backend, or external runtime dependency. It is a local analytical application intended to be run in R/RStudio via the Shiny framework.
8. The .Rproj file indicates the repo is organized as an RStudio project, which mainly affects development workflow rather than runtime architecture.
9. The README frames the application as an extension of a published static PCA figure. That means the app’s purpose is exploratory visualization rather than model training, persistence, or batch processing.
10. From an architecture-diagram perspective, the important boxes are:
- Shiny app shell
- local Excel data source
- PCA computation/analysis layer
- interactive visualization layer for samples and protein drivers
11. The main dependency boundary is therefore simple: local data in, reactive PCA computation in the middle, interactive plots/tables out. There are no additional subsystem tiers visible in the repository contents.
Main entry points: PCA-Tool.R PCA engine · mer_proteins.xlsx mer_proteins.xlsx · proteomics_pca_app.Rproj RStudio project
Components 12
Shiny App
Single-file interactive PCA application logic
- PCA-Tool.R · Single-script Shiny application combining UI, reactivity, and PCA analysis
PCA-Tool.R - App shell · Top-level Shiny structure and reactive wiring
PCA-Tool.R - Data load · Reads the bundled proteomics spreadsheet into the app
PCA-Tool.R - Prep matrix · Cleans and reshapes measurements into PCA-ready form
PCA-Tool.R - PCA engine · Computes principal components and sample scores
PCA-Tool.R - Protein drivers · Derives protein loading and contribution information for selected components
PCA-Tool.R - PC controls · Lets users choose principal component combinations
PCA-Tool.R - Sample map · Interactive PCA space view for sample separation and clustering
PCA-Tool.R - Group compare · Contrasts control and treated groups across selected components
PCA-Tool.R - Loading view · Shows proteins contributing to separation on the chosen axes
PCA-Tool.R
Local Data
Bundled input files used by the app
- mer_proteins.xlsx · Bundled proteomics measurements used as the PCA source data
mer_proteins.xlsx - RStudio project · Project file for opening and running the app in RStudio
proteomics_pca_app.Rproj
Connections 15
- RStudio project → PCA-Tool.R: opens · RStudio project centers the single app script
- mer_proteins.xlsx → Data load: input · Excel data is read locally by the app
- PCA-Tool.R → App shell: defines · The script contains the Shiny application shell
- App shell → Data load: triggers · App startup initiates data ingestion
- Data load → Prep matrix: feeds · Loaded measurements are prepared for PCA
- Prep matrix → PCA engine: computes · Prepared matrix is used for PCA computation
- PCA engine → Sample map: renders · PC scores drive the sample separation plot
- PCA engine → Protein drivers: derives · Model outputs are used to calculate protein contributions
- PC controls → Sample map: selects · User component choices update the PCA map
- PC controls → Group compare: selects · User component choices update group comparison summaries
- PC controls → Loading view: selects · Chosen axes update protein loading displays
- PCA engine → Group compare: supports · PCA results support control-versus-treated comparison
- Protein drivers → Loading view: renders · Contribution analysis feeds the protein-driver view
- Sample map → Group compare: cross-ref · Sample separation and group comparison are linked views
- Sample map → Loading view: cross-ref · Users can inspect drivers behind visible separation