Skip to main content

Output files

The output files Cells2Stats produces

The following table lists the files and folders that Cells2Stats outputs. Parquet files are column-based files that efficiently store data. For more information, see the Apache Parquet Documentation.

In the table, {root} is the output directory, which defaults to RUN_DIRECTORY/Cytoprofiling/{timestamp}. {well} is the well folder name, such as WellA1, and {RunName} is the run name from RunParameters.json.

FileDirectory and File NameDescriptionQuantity
Spatial Data Object{root}/SpatialData/{RunName}.zarr.zipZarr-based structured object containing all modalities from a run for downstream analysis and visualization. See Spatial Data Object.One per run
CytoCanvas™ Visualization File{root}/SpatialData/cyto.vizManifest that the Element Biosciences CytoCanvas tool opens to load a run. Lists the visualization files and targets.One per run
CytoCanvas Image Index{root}/SpatialData/{RunName}.zarr-index.binIndex over the images in the Spatial Data Object, which lets CytoCanvas read images without extracting the zipOne per run
CytoCanvas Points{root}/SpatialData/points-zarr.zipPolony positions and target assignments for display in CytoCanvasOne per run
CytoCanvas Points Index{root}/SpatialData/{RunName}.points-zarr-index.binIndex over points-zarr.zipOne per run
CytoCanvas Cell Shapes{root}/SpatialData/cell-shapes-zarr.zipCell boundary shapes for display in CytoCanvasOne per run
CytoCanvas Cell Shapes Index{root}/SpatialData/{RunName}.cell-shapes-zarr-index.binIndex over cell-shapes-zarr.zipOne per run
CytoCanvas Nuclear Shapes{root}/SpatialData/nuclear-shapes-zarr.zipNuclear boundary shapes for display in CytoCanvasOne per run
CytoCanvas Nuclear Shapes Index{root}/SpatialData/{RunName}.nuclear-shapes-zarr-index.binIndex over nuclear-shapes-zarr.zipOne per run
Run Stats{root}/RunStats.jsonJSON file that records run, well, batch, and target statistics for every assay in the run. See RunStats.json.One per run
Raw Cell Statistics, Parquet{root}/RawCellStats.parquetParquet file that reports per-cell position, size, morphology, target counts, and intensity values. See RawCellStats.parquet.One per run
Average Normalized Well Statistics{root}/AverageNormWellStats.csvFiltered and average metrics for each well in the runOne per run
Versions, JSON{root}/Versions.jsonFile that reports the version number for CSV output files and bundled software programs. See Versions.One per run
QC Report, HTML{root}/qc_report.htmlInteractive HTML quality control (QC) report for the run. See QC report.One per run
Run Manifest, CSV{root}/RunManifest.csvRun manifest for the Cells2Stats executionOne per run
Run Manifest, JSON{root}/RunManifest.jsonJSON file that is reserved for Element processesOne per run
Run Parameters{root}/RunParameters.jsonJSON file that records information about the run configurationOne per run
Panel{root}/Panel.jsonJSON file that records information about the targets for the runOne per run
Cell Segmentation Mask{root}/CellSegmentation/{well}/{tile}_Cell.tif or {tile}_Cell.zarrCell segmentation masks for a well, where the Cell ID is the value for a pixel in a cell. The format follows the run, as described in Segmentation mask formats.One per tile per well
Nuclear Segmentation Mask{root}/CellSegmentation/{well}/{tile}_Nuclear.tif or {tile}_Nuclear.zarrNuclear segmentation masks for a well, where 1 is the value for a pixel in a nucleus. The format follows the run, as described in Segmentation mask formats.One per tile per well
Corrected Projection Image{root}/Projection/{well}/{batch}_{tile}_{target}.tifCorrected projection images of imaging targets. Present only when --process-imaging-targets is used.One per target per tile
Log Files{root}/Logs/Cells2Stats.log, manifest error files such as RunManifestErrors.json, and logs from bundled toolsOne folder per run
Barcodes{root}/Wells/{well}/{batch}/{tile}_barcodes.parquet(Barcoding) Parquet files that provide barcoding information for each polony in a tile. See Barcoding output files.One per tile per batch per well
Guide RNA Reads{root}/Wells/{well}/{batch}/{tile}_reads.parquet(Guide RNA) Parquet files that provide alignment and cell assignment information for each polony in a tile. See Guide RNA output files.One per tile per batch per well
Target Counts, JSON{root}/SpecializedTargetedCounts.json(Guide RNA) JSON file that records read counts per spacer target across the runOne per run
Target Cell Assignment Manifest, CSV{root}/TargetCellAssignmentManifest.csv(Guide RNA) Copy of the target cell assignment manifest used in this runOne per run
Target Cell Assignment Manifest, JSON{root}/TargetCellAssignmentManifest.json(Guide RNA) JSON file that is reserved for Element processesOne per run
Guide RNA Alignments, BAM{root}/Wells/{well}/{batch}/{well}_{targetSite}_alignments.bam(Guide RNA) Concatenated alignments for a target site. Present only when --generate-specialized-targeted-bams is used.One per target site per batch per well
3′ Transcriptome Reads{root}/Wells/{well}/{batch}/{tile}_rawreads.parquet(3′ Transcriptome) Parquet files that provide position and cell assignment information for each polony in a tile. See 3′ Transcriptome output files.One per tile per batch per well

Key output files​

Most downstream analyses start from three files:

  • Spatial Data Object: All modalities from the run in a single structured object.
  • RunStats.json: Run-level and well-level quality metrics for each assay.
  • RawCellStats.parquet: One row per cell, with position, size, and per-assay measurements.

Spatial Data Object​

SpatialData/{RunName}.zarr.zip is a Zarr-based structured object that contains all modalities from the run, including images, segmentation labels, cell and nuclear shapes, polony points, and a per-cell table. It is the primary output for downstream analysis and visualization. The CytoCanvas visualization files are written next to it in SpatialData/.

For the structure and contents of the Spatial Data Object, see Spatial Data Object.

RunStats.json​

RunStats.json reports statistics at the run, well, batch, and target levels. Each assay writes its statistics to a dedicated top-level section:

Top-level sectionAssay
CytoStatsGeneral, Cell Paint, and Barcoding
ImagingTargetsStatsCell Paint and Protein
DemuxStatsBarcoding
SpecializedTargetedStatsGuide RNA
ThreePrimeUntargetedStats3′ Transcriptome

A section for an assay that is not in the run is present but contains no batches. A metric that cannot be calculated is reported as -999.

General​

The following fields describe the run and cell population, independent of assay:

FieldLocationDescriptionData Type
AnalysisIDTop levelUnique ID for the analysisString
AnalysisVersionTop levelVersion of the analysis softwareString
FileVersionTop levelVersion of the file formatString
FlowCellIDTop levelID of the flow cell that is usedString
RunIDTop levelUnique ID for the runString
RunNameTop levelName of the runString
CellCountCytoStats, CytoStats.WellsNumber of segmented cells in the run or wellInteger
WellsCytoStatsList of well-specific statisticsArray of Objects
WellLocationCytoStats.WellsLocation of the well, for example A1String
MedianCellDiameterCytoStats.WellsMedian diameter of a cell after cell segmentation, in micrometersFloat

Cell Paint​

Cell Paint contributes segmentation quality metrics to CytoStats and intensity metrics to ImagingTargetsStats.

The following segmentation metrics are reported at the run level of CytoStats and for each entry in CytoStats.Wells:

FieldDescriptionData Type
PercentConfluencyPercentage of the analyzed well area covered by segmented cellsFloat
PercentNucleatedCellsPercentage of cells that contain a segmented nucleusFloat
PercentVisualConfluencyPercentage of the analyzed well area that is foreground in the primary cell boundary image, by Otsu thresholdingFloat
CellBoundaryPPVPositive predictive value of the cell masks: the share of bright pixels in the cell boundary target image that fall inside a cellFloat
CellBoundaryBalancedAccuracyBalanced accuracy of the cell masks at separating cell boundary target signal from backgroundFloat
SupplementaryCellBoundaryPPVPositive predictive value of the cell masks for the supplementary cell boundary targetFloat
SupplementaryCellBoundaryBalancedAccuracyBalanced accuracy of the cell masks for the supplementary cell boundary targetFloat
NuclearPPVPositive predictive value of the nuclear masks for the nuclear targetFloat
NuclearBalancedAccuracyBalanced accuracy of the nuclear masks for the nuclear targetFloat

The segmentation targets are set in the panel. A metric for a segmentation target that the panel does not define is reported as -999.

ImagingTargetsStats reports intensity metrics for each Cell Paint target with the following structure:

ImagingTargetsStats
└── Batches[]
├── BatchName
└── Wells[]
├── WellLocation
└── ImagingTargets[]
├── Target
├── CellSegmentationTarget
└── Metrics[]
├── MetricName
└── MetricValue
MetricNameDescription
MeanIntensityMean intensity of the target inside cells
NuclearMeanIntensityMean intensity of the target inside nuclei
ExtracellularMeanIntensityMean intensity of the target outside cells
MeanIntensityAboveThresholdMean intensity of the pixels above the intensity threshold
NuclearRatioShare of the above-threshold area of cells that lies within the nucleus

Per-batch background targets, Bkg_RED and Bkg_GRN, and per-target background targets, Bkg_{target}, appear as imaging targets when they are quantified. For details, see Intensity quantification columns.

Protein​

ProteinIF imaging targets are reported in ImagingTargetsStats with the same structure and metrics as Cell Paint targets. See Cell Paint.

Protein contributes no other fields to RunStats.json. Barcoded protein targets are reported under Barcoding.

Guide RNA​

Guide RNA statistics are reported in SpecializedTargetedStats with the following structure:

SpecializedTargetedStats
└── Batches[]
├── BatchName
├── PolonyAssignmentStats
│ ├── PercentAssigned, PercentMismatch, PercentPerfect
│ └── TargetSitePolonyAssignmentStats[]
│ ├── TargetSiteName, IsControl
│ ├── PercentAssigned, PercentMismatch, PercentPerfect, PercentTrimmed
│ └── UnassignedSequences[]
│ ├── Sequence
│ └── Count
├── TargetSites[]
│ ├── TargetSiteName, IsControl
│ └── CellAssignmentStats
└── Wells[]
├── WellLocation
├── PolonyAssignmentStats
└── TargetSites[]
FieldDescriptionData Type
PercentAssignedPercentage of polonies that are assigned to a targetFloat
PercentMismatchPercentage of assigned polonies with at least one mismatch to the target sequenceFloat
PercentPerfectPercentage of assigned polonies that match the target sequence exactlyFloat
PercentTrimmedPercentage of polonies at the target site that are trimmedFloat
TargetSiteNameName of the target site as provided in Panel.jsonString
IsControlWhether the target site is a control site. Control sites receive polony assignment only.Boolean
UnassignedSequencesMost frequent sequences detected at the target site that do not match any manifest entryArray of Objects
CellAssignmentStatsCell assignment metrics for the target site. See Target cell assignment metrics.Object

3′ Transcriptome​

3′ Transcriptome statistics are reported in ThreePrimeUntargetedStats.ReadStats with the following structure:

ThreePrimeUntargetedStats
└── ReadStats
├── NumPoloniesBeforeTrimming
└── Wells[]
├── WellLocation
├── NumPoloniesBeforeTrimming
└── Batches[]
├── BatchName
├── NumPoloniesBeforeTrimming
├── NumPoloniesPerCellBeforeTrimming
├── NumPoloniesPerMM2BeforeTrimming
└── ExtraCellularRatioBeforeTrimming
FieldDescriptionData Type
NumPoloniesBeforeTrimmingNumber of pass-filter polonies in the run, well, or batch, counted before trimmingInteger
NumPoloniesPerCellBeforeTrimmingMean number of pass-filter polonies per cellFloat
NumPoloniesPerMM2BeforeTrimmingNumber of pass-filter polonies per mm² of cell areaFloat
ExtraCellularRatioBeforeTrimmingRatio of extracellular to intracellular polony densityFloat

Barcoding​

Barcoding contributes demultiplexing statistics to DemuxStats and cell-level count statistics to CytoStats.

DemuxStats has the following structure:

DemuxStats
├── NumPolonies, PercentAssignedReads, PercentMismatch
└── Batches[]
├── BatchName, NumPolonies, PercentAssignedReads, PercentMismatch
├── Targets[]
│ └── TargetName, ExpectedSequence, NumPolonies, PercentMismatch
├── Wells[]
│ └── WellLocation, NumPolonies, PercentAssignedReads, PercentMismatch
└── UnassignedSequences[]
└── Count, Sequence
FieldDescriptionData Type
NumPoloniesNumber of polonies detected in the run, batch, or well, or assigned to the targetInteger
PercentAssignedReadsPercentage of reads that are assigned to targetsFloat
PercentMismatchPercentage of assigned reads with at least one base pair mismatchFloat
TargetNameName of the barcoding targetString
ExpectedSequenceExpected barcode sequence for the targetString
SequenceBarcode sequence of unassigned readsString
CountNumber of times the unassigned sequence appearsInteger

CytoStats reports the following barcoding fields:

FieldLocationDescriptionData Type
AverageAssignedCountsPerMM2CytoStatsAssigned counts per mm² of cell area for all barcoding targets, averaged across wellsFloat
MeanAssignedBarcodingCountPerCellCytoStats.WellsMean number of polonies assigned to a barcoding target per cellFloat
AssignedCountsPerMM2CytoStats.Wells, CytoStats.Wells.BatchesAssigned counts per mm² of cell area for all barcoding targetsFloat
BatchesCytoStats.WellsList of barcoding batch statistics for the wellArray of Objects
BatchNameCytoStats.Wells.BatchesName of the batchString
MeanAssignedCountPerCellCytoStats.Wells.Batches, target listsMean number of assigned polonies per cellFloat
ExtraCellularRatioCytoStats.Wells.BatchesRatio of extracellular to intracellular assigned target densityFloat
PercentCellularAssignedCytoStats.Wells.BatchesPercentage of assigned reads that are inside cellsFloat
ControlTargetsCytoStats.Wells.BatchesStatistics for quality control targets, with TargetName, ControlType, MeanAssignedCountPerCell, and AssignedCountPerMM2Array of Objects
AssignedCountPerMM2Target listsAssigned counts per mm² of cell area for the targetFloat
ManifestLabelAntibodyTargetsLabel of the custom protein in the manifestString
NuclearFractionAntibodyTargetsFraction of the cellular assigned reads of the target that are in the nucleusFloat

RawCellStats.parquet​

RawCellStats.parquet contains one row per cell. Assay-specific columns are named {target}{suffix}.{batch} or {column}.{targetSite}.{batch}, so a column name identifies its batch. The Parquet file metadata records FileVersion and AnalysisID.

Note:

Cells2Stats also writes {root}/RawCellStats.csv, which contains the same information in CSV format.

General​

The following columns are present for every run:

ColumnDescription
CellCell ID
WellWell location, for example A1
WellLabelWell label from the run manifest
TileTile that contains the cell
X, YCell position in the tile, in pixels
Xum, YumCell position in the tile, in micrometers
WellX, WellYCell position in the well, in pixels
WellXum, WellYumCell position in the well, in micrometers
AreaCell area, in pixels
AreaUmCell area, in µm²
NuclearAreaNuclear area, in pixels
NuclearAreaUmNuclear area, in µm²

Cell Paint​

Cell Paint targets contribute intensity quantification columns and, unless --skip-cellprofiler is used, CellProfiler morphology columns.

Intensity quantification columns​

For each imaging target in each batch, RawCellStats.parquet reports intensity quantification columns named {target}{suffix}.{batch}. The suffix identifies the compartment and the measurement:

SuffixMeasurement
NoneMean intensity across the whole cell
_NuclearMean intensity in the nuclear compartment
_CytoplasmicMean intensity in the cytoplasmic compartment
_FractionAboveThresholdFraction of whole-cell pixels above the intensity threshold
_FractionAboveThreshold_NuclearFraction of nuclear pixels above the intensity threshold
_FractionAboveThreshold_CytoplasmicFraction of cytoplasmic pixels above the intensity threshold
_MeanIntensityOfFractionAboveThresholdMean intensity of the whole-cell pixels above the threshold
_MeanIntensityOfFractionAboveThreshold_NuclearMean intensity of the nuclear pixels above the threshold
_MeanIntensityOfFractionAboveThreshold_CytoplasmicMean intensity of the cytoplasmic pixels above the threshold
_NuclearRatioShare of the above-threshold area of the cell that lies within the nucleus

_NuclearRatio is empty for a cell with no above-threshold pixels, because the ratio is undefined.

Per-batch background intensity is quantified as the synthetic targets Bkg_RED and Bkg_GRN. To omit them, run analyze with --disable-per-batch-background. Per-target background is reported as Bkg_{target} when RecipeValues.SavePerTargetBkgImages is true in RunParameters.json.

CellProfiler morphology columns​

For each imaging target other than background targets, RawCellStats.parquet reports metrics from the following CellProfiler modules:

  • MeasureObjectSizeShape
  • MeasureGranularity
  • MeasureObjectIntensity
  • MeasureObjectIntensityDistribution
  • MeasureTexture

Certain metrics from these modules are not reported. For example, Zernike metrics and Z-axis metrics are not included.

For more information on these metrics, see the measurement information in the CellProfiler Manuals.

Protein​

ProteinIF imaging targets contribute the same intensity quantification and CellProfiler morphology columns as Cell Paint targets, named with the ProteinIF target and batch. See Cell Paint.

Protein contributes no other columns to RawCellStats.parquet. Barcoded protein targets are reported under Barcoding.

Guide RNA​

For each target site in each Guide RNA batch, RawCellStats.parquet reports the following columns:

ColumnDescription
MostAbundantTarget.{targetSite}.{batch}Target with the most assigned polonies in the cell. NA for control target sites.
MostAbundantTargetCount.{targetSite}.{batch}Number of polonies in the cell assigned to the most abundant target
TotalCount.{targetSite}.{batch}Total number of polonies in the cell assigned to any target at the target site
Confidence.{targetSite}.{batch}Assignment confidence, calculated as MostAbundantTargetCount / (TotalCount + 1). Empty for control target sites.
Gene.{targetSite}.{batch}Gene of the most abundant target, from the target cell assignment manifest
ControlType.{targetSite}.{batch}Control type of the most abundant target, from the target cell assignment manifest

For how these values determine pure, mixed, and unassigned cells, see Cell assignment logic.

3′ Transcriptome​

3′ Transcriptome contributes no columns to RawCellStats.parquet. Per-polony data is available in the _rawreads.parquet files and the Spatial Data Object.

Barcoding​

For each target in each barcoding batch, RawCellStats.parquet reports the following columns:

ColumnDescription
{target}.{batch}Number of polonies in the cell assigned to the target
{target}_Nuclear.{batch}Number of polonies in the nucleus assigned to the target

Assay-specific output files​

The following sections describe output files that Cells2Stats writes only when the run includes a particular assay.

Cell Paint​

When --process-imaging-targets is used, Cells2Stats writes corrected projection images of the imaging targets to {root}/Projection/{well}/{batch}_{tile}_{target}.tif and uses them for the rest of the analysis. The run directory Projection/ folder is not modified.

Cell Paint has no other assay-specific output files. Cell Paint results are reported in the key output files and the QC report.

Protein​

ProteinIF imaging targets are included in the corrected projection images described in Cell Paint. Protein has no other assay-specific output files.

Guide RNA​

When target cell assignment is enabled for at least one target site in a run, Cells2Stats populates SpecializedTargetedStats in RunStats.json and generates the following additional output files. For more information on how cell assignment works, see Cell assignment logic.

Cells are classified as pure (single spacer detected), mixed (multiple spacers, one dominant), or unassigned based on a confidence score. For a full explanation of these categories and how cell assignment is calculated, see Pure cells vs. mixed cells.

Key target cell assignment output files​

FileWhat to use it for
SpecializedTargetedCounts.jsonSee total reads detected per spacer. High dropout (many spacers with zero reads) may indicate a manifest or TargetMask issue. Control targets marked with IsControl receive polony assignment only and do not appear as cell-assigned guides.
TargetCellAssignmentManifest.csvConfirm which sequences and settings were applied. Compare against your source library file to catch discrepancies.
Panel.jsonContains the TargetMask that was applied per target site. Check here if assignment rates are unexpectedly low.
RunStats.jsonContains all target cell assignment-specific quality metrics. See Target cell assignment metrics.
RawCellStats.parquetPer-cell assignment and counts at each target site. See Guide RNA columns.
Wells/{well}/{batch}/{tile}_reads.parquetPer-polony alignment and cell assignment. See Guide RNA reads files.
Wells/{well}/{batch}/{well}_{targetSite}_alignments.bamAlignments for a target site, for inspection in standard BAM tools. Present only when --generate-specialized-targeted-bams is used.

Guide RNA reads files​

Each {tile}_reads.parquet file contains one row per polony, with the following columns:

ColumnDescription
ReadIDRead identifier. See Read identifiers.
PolonyIndexPolony index within the tile
X, YPolony position in the tile, in pixels
Xum, Yum, ZumPolony position, in micrometers
WellX, WellY, WellXum, WellYumPolony position in the well, in pixels and micrometers
TargetNameTarget that the polony is assigned to
CellID of the cell that contains the polony
IsNuclearWhether the polony is inside the nucleus
MapQMapping quality of the alignment
AlignmentLengthLength of the alignment
NMEdit distance between the read and the target
IsSoftclippedWhether the alignment is soft-clipped

Target cell assignment metrics in RunStats.json​

The following fields are reported in each CellAssignmentStats object in SpecializedTargetedStats, at the batch and well levels. UnassignedSequences is reported in each TargetSitePolonyAssignmentStats object.

FieldDescriptionWhat to watch for
PercentAssignedPureCellsCells assigned to a single dominant spacer (confidence >0.5, meets minimum read count)Primary metric — aim as high as possible for your MOI
PercentAssignedMixedCellsCells with multiple spacers detected, but one is dominant (confidence >0.5)Expected to increase with higher MOI; still valid data
PercentUnassignedMixedCellsCells with multiple spacers; no spacer exceeds 50% confidenceHigh values suggest MOI may be too high for reliable single-guide assignment
PercentUnassignedLowCountCellsSpacer was matched but read count is below the minimum thresholdHigh values suggest low expression or insufficient sequencing depth
PercentTargetDropoutPercentage of spacers in the manifest not assigned to any cellHigh dropout may indicate library representation problems
AssignedCountsPerMM2Assigned counts per mm² of cell area at the target siteIndicator of overall guide detection density
MeanAssignedCountPerCellMean number of assigned polonies per cell at the target siteIndicator of per-cell sequencing depth at target site
MedianAbundantTargetCountMedian read count of dominant spacer in assigned cellsIndicator of per-cell sequencing depth at target site
MeanUniqueTargetsPerCellMean number of unique spacers detected per cellValues substantially above 1 suggest high MOI
ExtraCellularRatioRatio of extracellular to intracellular assigned polony densityHigh values suggest signal outside cells or segmentation issues
UnassignedSequencesList of sequences detected at target site but not matching any manifest entryPrimary troubleshooting resource — see Using UnassignedSequences for troubleshooting

Using UnassignedSequences for troubleshooting​

The UnassignedSequences field lists actual nucleotide sequences of reads detected at the target locus that did not match any spacer in the manifest. Inspect this field when assignment rates are low.

What you seeLikely causeResolution
Sequences that look like your spacers but reversedOrientation error in manifestRe-enter spacers in 5' to 3' direction
Spacer-like sequences of a different lengthTargetMask or sequence length mismatchConfirm the Y cycle count in TargetMask equals spacer length
Recognizable spacers from your librarySpacers missing from manifestAdd missing entries to [TARGET INFORMATION]
Unrecognizable sequencesOff-target reads or artifactsContact Element Technical Support

For more information on assignment thresholds and additional troubleshooting, see Cell assignment logic.

3′ Transcriptome​

For each 3′ Transcriptome batch, Cells2Stats writes {root}/Wells/{well}/{batch}/{tile}_rawreads.parquet. Each file contains one row per polony, with the following columns:

ColumnDescription
ReadIDRead identifier. See Read identifiers.
PolonyIndexPolony index within the tile
X, YPolony position in the tile, in pixels
Xum, Yum, ZumPolony position, in micrometers
WellX, WellY, WellXum, WellYumPolony position in the well, in pixels and micrometers
CellID of the cell that contains the polony
IsNuclearWhether the polony is inside the nucleus

Barcoding​

For each barcoding batch, Cells2Stats writes {root}/Wells/{well}/{batch}/{tile}_barcodes.parquet. Each file contains one row per polony, with the following columns:

ColumnDescription
ReadIDRead identifier. See Read identifiers.
PolonyIndexPolony index within the tile
X, YPolony position in the tile, in pixels
Xum, Yum, ZumPolony position, in micrometers
WellX, WellY, WellXum, WellYumPolony position in the well, in pixels and micrometers
BarcodeIndexIndex of the barcode assigned to the polony
TargetNameTarget that the polony is assigned to
CellID of the cell that contains the polony
IsNuclearWhether the polony is inside the nucleus

QC report​

Cells2Stats generates qc_report.html, an interactive HTML quality control report for the run, in the root of the output directory. The report summarizes run-level and well-level quality, per-target intensity and segmentation metrics, and detected spatial artifacts, and includes a flow cell summary image. The report includes a tab for each assay in the run.

Versions​

The Versions.json reports the version number for CSV output files and bundled software programs. The following table describes the fields:

FieldDescriptionData Type
FileVersionOverall version of the fileString
FileVersionsVersions of individual files in the datasetObject
AverageNormWellStats.csvVersion of AverageNormWellStats.csv fileString
RawCellStats.csvVersion of RawCellStats.csv fileString
ProgramVersionsVersions of programs that are used in the analysisObject
CellProfilerVersion of the CellProfiler programString

Segmentation mask formats​

Cells2Stats copies segmentation masks from the run directory without converting them, so the mask format follows the AVITI24™ software version that produced the run:

AVITI OS versionCell maskNuclear mask
4.1.0 and later{tile}_Cell.zarr, Zarr v3, uint32{tile}_Nuclear.zarr, Zarr v3, uint8
Earlier than 4.1.0{tile}_Cell.tif{tile}_Nuclear.tif

Cells2Stats reads both formats, so a run in either format analyzes without additional configuration. For the input-side detail, see Segmentation mask formats. Downstream tools that read mask files directly must handle whichever format the run carries.

Caution:

A tool that reads only TIFF masks fails on a run produced by AVITI OS 4.1.0 or later. CellProfiler requires uint16 TIFF input, so a Zarr cell mask must be chunked and converted before you use it for re-segmentation. For the full procedure, see Evaluating and applying alternate segmentation models.

Read identifiers​

Cell screening read identifiers carry a trailing polony index, a 7-digit integer that resets for each z-tile. In the following example, 0002538 is the polony index:

@…:0:B01:0002538

Other files​

Some files are copied from the run directory, such as RunManifest.json, RunParameters.json, Panel.json, cell segmentation masks, and nuclear segmentation masks. For more information on these files, see Cell Screening Run Output Files.