How mengxu98/scop works
scop is an R package for single-cell and spatial omics analysis. Its principal workflow takes expression or spatial data through quality control and preprocessing, then supports dimensionality reduction and cell-population analysis, followed by specialized downstream analyses such as composition estimation, trajectory and velocity inference, gene regulation, pathway scoring, and cell-cell communication. The tree shows native C++ implementations and Python runners, but not the R-facing orchestration layer, so arrows are limited to documented workflow stages; unsampled wiring is not inferred.
Main entry points: PCA.cpp Dimension reduction · KNNVoting.cpp Population analysis · Palantir.cpp Trajectory analysis · Preprocessing.cpp Preprocessing
Components 24
Preprocessing
- Quality control
- Preprocessing
src/Preprocessing.cpp - Normalization
src/normalize_data.cpp - Feature selection
src/variable_features.cpp
Embedding and populations
- Dimension reduction
src/PCA.cpp - Manifold embedding
src/Manifold.cpp - Population analysis
src/KNNVoting.cpp - Marker analysis
src/ConservedMarkers.cpp
Composition analysis
- Bulk deconvolution
src/BayesPrism.cpp - Spatial deconvolution
inst/python/cell2location.py - Composition testing
src/Milo.cpp
Dynamics and trajectories
- RNA velocity
src/DynamicalVelocity.cpp - Cell2fate inference
inst/python/cell2fate.py - Trajectory analysis
src/Palantir.cpp - Dynamic features
src/DynamicFeatures.cpp
Molecular and spatial biology
- Gene-set scoring
src/GeneSetScoring.cpp - Gene regulation
src/SCENIC.cpp - Perturbation analysis
src/ScTenifoldKnk.cpp - Cell communication
inst/python/commot_runner.py - Spatial patterns
src/SpatialGradient.cpp - Metabolic flux
inst/python/scfea/scFEA.py
Other components
- Analyst
- Omics data
- Analysis results
Connections 36
- Analyst → Omics data: provides
- Omics data → Quality control: analyzes
- Quality control → Preprocessing: prepares data
- Preprocessing → Normalization: normalizes
- Normalization → Feature selection: selects features
- Feature selection → Dimension reduction: reduces dimensions
- Dimension reduction → Manifold embedding: embeds data
- Dimension reduction → Population analysis: supports
- Population analysis → Marker analysis: characterizes
- Population analysis → Composition testing: tests composition
- Omics data → Bulk deconvolution: estimates composition
- Omics data → Spatial deconvolution: estimates locations
- Omics data → RNA velocity: infers motion
- Omics data → Cell2fate inference: infers fate
- Omics data → Trajectory analysis: infers trajectory
- Trajectory analysis → Dynamic features: finds changes
- Omics data → Gene-set scoring: scores pathways
- Omics data → Gene regulation: infers networks
- Omics data → Perturbation analysis: models perturbations
- Omics data → Cell communication: estimates signaling
- Omics data → Spatial patterns: maps spatial trends
- Omics data → Metabolic flux: estimates flux
- Marker analysis → Analysis results: produces results
- Bulk deconvolution → Analysis results: produces results
- Spatial deconvolution → Analysis results: produces results
- Composition testing → Analysis results: produces results
- RNA velocity → Analysis results: produces results
- Cell2fate inference → Analysis results: produces results
- Trajectory analysis → Analysis results: produces results
- Dynamic features → Analysis results: produces results
- Gene-set scoring → Analysis results: produces results
- Gene regulation → Analysis results: produces results
- Perturbation analysis → Analysis results: produces results
- Cell communication → Analysis results: produces results
- Spatial patterns → Analysis results: produces results
- Metabolic flux → Analysis results: produces results