ScalePlex Outputs
Overview
ScalePlex analysis generates additional output files and directories beyond the standard ScaleRNA outputs. This guide describes all ScalePlex-specific outputs, their formats, and how to use them for downstream analysis.
Output Directory Structure
ScaleRna.out/
├── samples/
│ ├── <sample>.allCells.csv # Updated with ScalePlex columns for assignment or failure of assignment
│ └── <sample>.filtered.matrix # RNA expression matrix
├── scaleplex/
│ ├── demux/ # Barcode validation information
│ ├── <sample>.ScalePlex.raw.matrix/ # All barcodes; bkg and cells
│ ├── <sample>.ScalePlex.filtered.matrix/ # Only cell barcodes
│ └── <sample>.ScalePlex.cellMetrics.parquet # Per-cell metadata
└── reports/
├── library_<libIndex2>_ScalePlex.report.html # ScalePlex library QC
└── <sample>.report.html # Updated with ScalePlex tab
Key Output Files
Updated Sample Metrics (samples/<sample>.allCells.csv
)
New Columns Added:
passing_scaleplex
: Whether cell passed ScalePlex quality filtersassigned_scaleplex
: Final assignment to original fixation plate well
Example:
cell_id,counts,genes,assigned_scaleplex,passing_scaleplex
QSR-P+74+95+60+1D,1250,450,1A,ScalePlex1;ScalePlex32
QSR-P+03+50+87+2E,980,320,2B,ScalePlex29;ScalePlex3
QSR-P+03+83+34+2E,750,280,Max Fail,None
ScalePlex-Specific Metrics (samples/<sample>.ScalePlex.allCells.csv
)
Key Metrics:
Column | Description | Example |
---|---|---|
reads |
The number of reads associated with that cell in the ScalePlex library | 1250 |
noScalePlex |
The ratio of reads of the barcode in question that did not have a ScalePlex oligo sequence detected | 0.05 |
umis |
The number of ScalePlex oligo UMIs detected | 45 |
scaleplex |
Unique ScalePlex oligos detected | 3 |
max |
UMIs from top oligo | 25 |
second |
UMIs from second oligo | 15 |
third |
UMIs from third oligo | 5 |
purity |
Proportion from top oligo | 0.56 |
topTwo |
Proportion from top two oligos | 0.89 |
minorFrac |
Ratio of second to max | 0.60 |
Saturation |
Ratio of UMI detected over Usable Reads | 0.85 |
topTwo_scaleplex |
Top two oligo identifiers | "ScalePlex1;ScalePlex32" |
assigned_scaleplex |
Final assignment | "1A" |
sample |
Sample identifier | "PBMC-1" |
Quality Indicators:
- High Top Two: >0.8 suggests good assignment confidence
- Good Saturation: >0.7 indicates efficient UMI detection
ScalePlex Directory Contents
Demultiplexing Information (scaleplex/demux/
)
Contents:
- Barcode validation statistics
- Read-level quality metrics
- Oligo detection rates
- Error correction logs
Use Cases:
- Troubleshooting demultiplexing issues
- Quality assessment of ScalePlex library
- Performance optimization
Raw Expression Matrix (scaleplex/<sample>.ScalePlex.raw.matrix/
)
Format:
barcodes.tsv.gz
: All detected cell barcodesfeatures.tsv.gz
: ScalePlex oligo identifiersmatrix.mtx.gz
: UMI counts per oligo per cell
Content:
- All Detected Barcodes: Including non-cell barcodes
- Oligo-Specific Counts: UMI counts for each ScalePlex oligo
- Unfiltered Data: Raw counts before cell calling
Usage:
import scanpy as sc
adata = sc.read_mtx("scaleplex/<sample>.ScalePlex.raw.matrix/")
Filtered Expression Matrix (scaleplex/<sample>.ScalePlex.filtered.matrix/
)
Format:
barcodes.tsv.gz
: Only RNA-called cellsfeatures.tsv.gz
: ScalePlex oligo identifiersmatrix.mtx.gz
: UMI counts per oligo per cell
Content:
- RNA-Called Cells Only: Cells that passed RNA cell calling
- Assignment-Ready Data: Clean data for cell assignment
- Quality Filtered: Removes low-quality barcodes
Usage:
library(Seurat)
data <- Read10X("scaleplex/<sample>.ScalePlex.filtered.matrix/")
Cell Metrics (scaleplex/<sample>.ScalePlex.cellMetrics.csv
)
Content:
- Per-cell ScalePlex library metadata
- Quality metrics and statistics
- Barcode validation results
Note: Does not include assignment results (used for reporting pipeline only)
Report Files
ScalePlex Library Report (reports/library_<libIndex2>_ScalePlex.report.html
)
With ScalePlex, libraries are at the level of Index PCR reactions (or final distribution plates), such that for each Index PCR reaction used for your analysis will have both an RNA library report as well as a ScalePlex library report. These capture the read attribution per sample within the library, barcode validation pass rates, and ScalePlex oligo detection pass rates per read of the library.
Content:
- Read Attribution: Per-sample read distribution
- Barcode Validation: Pass rates and error statistics
- Oligo Detection: Detection rates per oligo
- Quality Metrics: Overall library performance
Key Metrics:
- Oligo Detection Rate: Percentage of reads with valid oligos
- Barcode Error Rate: Sequencing error rates
- Sample Distribution: Read distribution across samples
Expanded Sample Report (reports/<sample>.report.html
)
ScalePlex Tab:
ScalePlex Metrics Table:
- Reads Per Cell: Average ScalePlex reads per cell
- Counts Per Cell: Average ScalePlex UMIs per cell
- Saturation: UMI detection efficiency
- Reads in Cells: Percentage of reads in called cells
- Assignment Success Rate: Percentage of cells with valid assignment
Tip
ScalePlex assignment is only performed for passing cells from the RNA part of the workflow.
Visualizations:
Assignment Distribution:
- Bar chart of cells assigned to each ScalePlex well
- Shows distribution across original samples
Saturation Analysis:
- Scatter plot of saturation vs reads per cell
- Identifies quality trends
Top ScalePlex Fraction:
- Histogram of top two oligo proportions
- This ratio is important because in ideal scenarios, we are enriching for two ScalePlex oligos per cell, that in combination uniquely mark the fixation well of origin.
- Peak near 1.0 indicates good enrichment, where the vast majority of ScalePlex oligo counts are coming from two oligos
- If the distribution shifts left, then using the "fc" method may improve your assignment.
Fixation Plate Map:
- Plate layout with cell counts per well
- Visual representation of assignment results
Assignment Error Analysis:
- Breakdown of assignment failure modes
- Troubleshooting guidance
Summary Statistics (reports/csv/<sample>.scaleplex_stats.csv
)
Content:
- Per-well RNA metrics
- Cell counts by assignment
- Quality statistics
- Performance summaries
Assignment Failure Modes
Max Fail
- Cause: Top oligos didn't pass background test
- Solution: Check oligo quality and concentration
Indeterminate
- Cause: No oligos passed background comparison
- Solution: Verify fixation protocol
Enrich Fail
- Background Method: Failed enrichment threshold set with
scalePlexPercentFromTopTwo
- Fold Change Method: Insufficient fold change, using
scalePlexFCThreshold
- Solution: Adjust quality parameters
Unexpected
- Cause: Invalid oligo combinations, i.e. not a valid row/column combination or outside the
scalePlexBarcodes
supplied in the samples barcodes table. - Examples: Same column oligos, outside specified range
- Solution: Check plate layout and oligo design
Downstream Analysis
Loading ScalePlex Data
R/Seurat:
# Load cell assignments
cell_metadata <- read.csv("samples/<sample>.allCells.csv")
# Create Seurat object with ScalePlex data
seurat_obj <- CreateSeuratObject(counts = rna_data)
seurat_obj <- AddMetaData(seurat_obj, cell_metadata)
# Subset by original sample
sample1_cells <- subset(seurat_obj, assigned_scaleplex == "1A")
Python/Scanpy:
import pandas as pd
import scanpy as sc
# Load assignments
assignments = pd.read_csv("samples/<sample>.allCells.csv")
# Load expression data
adata = sc.read_h5ad("samples/<sample>_anndata.h5ad")
# Add ScalePlex metadata
adata.obs['assigned_scaleplex'] = assignments['assigned_scaleplex']
Sample-Specific Analysis
Group by Original Sample:
# Group cells by original sample
sample_groups <- split(seurat_obj, seurat_obj$assigned_scaleplex)
# Analyze each original sample
for(sample_name in names(sample_groups)) {
sample_obj <- sample_groups[[sample_name]]
# Perform analysis on original sample
}
Quality Filtering:
# Filter for successfully assigned cells
assigned_cells <- subset(seurat_obj,
assigned_scaleplex != "Max Fail" &
assigned_scaleplex != "Indeterminate" &
assigned_scaleplex != "Enrich Fail" &
assigned_scaleplex != "Unexpected")
Related Documentation
- ScalePlex Overview - General ScalePlex information
- ScalePlex Analysis - Analysis workflows and parameters
- QC Reports - Quality control metrics
- Sample Barcode Table - Configuration requirements
Need Help?
For more information, please contact support@scale.bio or visit our support website.