Cell screening run output files
The output files and directory structure of a cell screening run.
Cytos run output directory
The following is an example run output directory of a successful Cytos cell screening run. Not every file is present for every run. Which files appear depends on the assay, the batches in the run, and the advanced run settings.
example-storage-location
└── DemoInstrumentName
└── 20240506_DemoInstrumentName_ExampleRunName
├── BaseCalling ... (when sequencing batches present)
│ ├── BaseCalls
│ │ └── BXX_CXXX.zip ... (for n cycles)
│ ├── CellXform
│ │ └── BXX ... (for n batches)
│ │ └── LXRXXCXXS1.xform ... (for n tiles)
│ ├── Location
│ │ └── BXX ... (for n batches)
│ │ └── LXRXXCXXS1ZXX.loc ... (for n tiles)
│ └── Filter
│ └── BXX ... (for n batches)
│ └── LXRXXCXXS1ZXX.filter ... (for n tiles)
├── CellSegmentation
│ └── WellXX ... (for n wells)
│ ├── LXRXXCXXS1_Cell.zarr ... (for n tiles)
│ └── LXRXXCXXS1_Nuclear.zarr ... (for n tiles)
├── Thumbnails
│ └── WellXX_Thumbnail.png ... (for n wells)
├── Projection
│ └── WellXX ... (for n wells)
│ ├── BXX_LXRXXCXXS1_Target.tif ... (for each target and n tiles)
│ └── BXX_LXRXXCXXS1_Target_Raw.tif ... (when Save Raw Imaging Projections is enabled)
├── Cytoprofiling
│ └── Instrument
│ ├── AntibodyScreenKitReport.csv ... (when antibody screen runs present)
│ ├── AverageNormWellStats.csv
│ ├── Panel.json
│ ├── RawCellStats.csv
│ ├── RawCellStats.parquet
│ ├── RunManifest.json
│ ├── RunParameters.json
│ ├── RunStats.json
│ ├── SpecializedTargetedCounts.json ... (when guide RNA batches present)
│ ├── Versions.json
│ ├── qc_report.html
│ ├── SpatialData
│ │ ├── {RunName}.zarr.zip
│ │ ├── cyto.viz
│ │ └── ... (CytoCanvas index and shape archives)
│ └── Wells
│ └── WellXX ... (for n wells)
│ └── BXX ... (for n batches)
│ ├── LXRXXCXXS1_barcodes.parquet ... (when barcoding batches present)
│ ├── LXRXXCXXS1_reads.parquet ... (when guide RNA batches present)
│ └── LXRXXCXXS1_rawreads.parquet ... (when 3' transcriptome batches present)
├── RunManifest.csv
├── RunManifest.json
├── RunParameters.json
├── Panel.json
├── RunStats.bin
├── RunAnalysisFilesUploaded.json
├── RunUploaded.json
├── TargetCellAssignmentManifest.csv ... (when guide RNA batches present)
└── TargetCellAssignmentManifest.json ... (when guide RNA batches present)
Run output files
The following table defines the key cell screening run output files from an AVITI24™ System. Parquet files are column-based files that efficiently store data. For more information, see the Apache Parquet Documentation.
Files under {root}/Cytoprofiling/Instrument/ are produced by the on-instrument Cells2Stats aggregation binary. For field-level schemas and assay-specific details, see Cells2Stats output files.
| Directory and File Name | File Format | Description | Quantity |
|---|---|---|---|
{root}/BaseCalling/BaseCalls/{batch}_C{cycle}.zip | Binary | Reports the raw cell screening base call data | One per batch per cycle |
{root}/BaseCalling/Filter/{batch}/{tile}.filter | Binary | For use with future applications | One per tile per batch |
{root}/BaseCalling/CellXform/{batch}/{tile}.xform | Binary | Transforms polony locations onto cells | One per tile per batch |
{root}/BaseCalling/Location/{batch}/{tile}Z{z}.loc | Binary | Identifies polony locations on the flow cell for each Z position | One per Z tile per batch |
{root}/RunStats.bin | Log | Internal troubleshooting log of offline runs | One per run |
{root}/CellSegmentation/{well}/{tile}_Cell.tif or {tile}_Cell.zarr | TIF or Zarr | Cell segmentation masks for a well, where the value for a pixel in a cell is the cell ID. AVITI OS 4.1.0 and later write Zarr v3 stores (uint32). Earlier versions write 16-bit TIFF files. | One per tile per well |
{root}/CellSegmentation/{well}/{tile}_Nuclear.tif or {tile}_Nuclear.zarr | TIF or Zarr | Nuclear segmentation masks for a well, where the value for a pixel in a nucleus is 1. AVITI OS 4.1.0 and later write Zarr v3 stores (uint8). Earlier versions write 8-bit TIFF files. | One per tile per well |
{root}/Cytoprofiling/Instrument/AntibodyScreenKitReport.csv | CSV | For antibody screen runs with custom antibodies. Present when antibody screen runs are present. | One per run |
{root}/Cytoprofiling/Instrument/AverageNormWellStats.csv | CSV | Reports filtered and average metrics for each well in the run. See Cells2Stats output files. | One per run |
{root}/Cytoprofiling/Instrument/Versions.json | JSON | Reports the version number for CSV output files and bundled software programs. See Versions. | One per run |
{root}/Cytoprofiling/Instrument/RawCellStats.csv | CSV | Reports values per cell for all morphology features and raw target counts in a run | One per run |
{root}/Cytoprofiling/Instrument/RawCellStats.parquet | Parquet | Reports values per cell for all morphology features and raw target counts in a run | One per run |
{root}/Cytoprofiling/Instrument/RunStats.json | JSON | Reports run metrics | One per run |
{root}/Cytoprofiling/Instrument/qc_report.html | HTML | Interactive quality control (QC) report for the run | One per run |
{root}/Cytoprofiling/Instrument/SpecializedTargetedCounts.json | JSON | Read counts per spacer target across the run. Present when guide RNA batches are present. | One per run |
{root}/Cytoprofiling/Instrument/SpatialData/{RunName}.zarr.zip | Zarr zip | Spatial Data Object for downstream analysis and visualization. See Spatial Data Object. | One per run |
{root}/Cytoprofiling/Instrument/SpatialData/cyto.viz | Visualization file | CytoCanvas™ entry point for the on-instrument Spatial Data Object | One per run |
{root}/Cytoprofiling/Instrument/SpatialData/{RunName}.zarr-index.bin | Binary | Index over images in the Spatial Data Object for CytoCanvas | One per run |
{root}/Cytoprofiling/Instrument/SpatialData/points-zarr.zip | Zarr zip | Polony positions and target assignments for CytoCanvas | One per run |
{root}/Cytoprofiling/Instrument/SpatialData/{RunName}.points-zarr-index.bin | Binary | Index over points-zarr.zip | One per run |
{root}/Cytoprofiling/Instrument/SpatialData/cell-shapes-zarr.zip | Zarr zip | Cell boundary shapes for CytoCanvas | One per run |
{root}/Cytoprofiling/Instrument/SpatialData/{RunName}.cell-shapes-zarr-index.bin | Binary | Index over cell-shapes-zarr.zip | One per run |
{root}/Cytoprofiling/Instrument/SpatialData/nuclear-shapes-zarr.zip | Zarr zip | Nuclear boundary shapes for CytoCanvas | One per run |
{root}/Cytoprofiling/Instrument/SpatialData/{RunName}.nuclear-shapes-zarr-index.bin | Binary | Index over nuclear-shapes-zarr.zip | One per run |
{root}/Cytoprofiling/Instrument/Wells/{well}/{batch}/{tile}_barcodes.parquet | Parquet | Barcoding information for each polony in a tile. Present when barcoding batches are present. | One per tile per batch per well |
{root}/Cytoprofiling/Instrument/Wells/{well}/{batch}/{tile}_reads.parquet | Parquet | Alignment and cell assignment information for each polony in a tile. Present when guide RNA batches are present. | One per tile per batch per well |
{root}/Cytoprofiling/Instrument/Wells/{well}/{batch}/{tile}_rawreads.parquet | Parquet | Position and cell assignment information for each polony in a tile. Present when 3′ transcriptome batches are present. | One per tile per batch per well |
{root}/Panel.json | JSON | Records target detection information for the run | One per run |
{root}/Projection/{well}/{batch}_{tile}_{target}.tif | TIF | Z-projected images of cell paint and protein targets | One per target per tile |
{root}/Projection/{batch}_{target}.json | JSON | Cell paint registration record for a target across tiles | One per imaging target per batch |
{root}/Projection/{well}/{batch}_{tile}_Bkg_{target}.tif | TIF | Per-target background projection. Present when Save Per Target Background Images is enabled. Cycle-1 batch background channels can also appear. | One per target per tile when enabled |
{root}/Projection/{well}/{batch}_{tile}_{target}_Raw.tif | TIF | Uncorrected raw projection TIFFs. Present when Save Raw Imaging Projections is enabled (default Yes). A raw projection can also appear for a target that fails transform or correction even when the setting is disabled. | One per target per tile when enabled or when registration fails |
{root}/QC_S12_Avid/B02/C001/L1RXXCXXSXZ00_GRN_F4.tif | TIF | Internal support and run diagnostics files | One per tile per run |
{root}/RunManifest.csv. | CSV | Manifest that records biological sample information and well mapping | One per run |
{root}/RunManifest.json | JSON | Version of the run manifest that is reserved for Element Biosciences processes | One per run |
{root}/RunParameters.json | JSON | Records information about the run configuration | One per run |
{root}/RunAnalysisFilesUploaded.json | JSON | Written after the last analysis file is transferred and post-run analysis may begin | One per run |
{root}/RunUploaded.json | JSON | The last file transferred and marks run completion | One per run |
{root}/TargetCellAssignmentManifest.csv | CSV | Manifest for the run. Present when guide RNA batches are present. | One per run |
{root}/TargetCellAssignmentManifest.json | JSON | JSON file that is reserved for Element processes. Present when guide RNA batches are present. | One per run |
{root}/Thumbnails/{well}_Thumbnail.png | PNG | Thumbnail image for a well | One per well |
Bases2Fastq™, Cells2Stats, and the Spatial Data Object remain compatible with TIFF masks from earlier AVITI OS versions. For conversion to uint16 TIFF for CellProfiler, see Evaluating and applying alternate segmentation models.
On-instrument primary analysis outputs
On-instrument primary analysis runs the same Cells2Stats aggregation binary that offline Cells2Stats uses. The {root}/Cytoprofiling/Instrument/ directory is the on-instrument equivalent of the Cells2Stats {root} output directory. Field-level schemas, assay-specific parquet columns, QC report contents, and Spatial Data Object layout are documented with Cells2Stats and CytoCanvas.
- Cells2Stats output files
- RunStats.json
- RawCellStats.parquet
- Barcoding output files
- Guide RNA and target cell assignment outputs
- 3′ Transcriptome output files
- QC report
- Spatial Data Object
- CytoCanvas inputs
Panel file
The Panel.json file contains target information for each batch in the run. Each section of the file defines information for batches and targets, such as ImagingPrimerTubes, BarcodingPrimerTubes, ImagingTargets, and BarcodingTargets.
The following tables describe the Panel.json file information:
| Field | Description |
|---|---|
AnalysisSettings | Identifies an array of settings for the run analysis |
Application | The application type for the run, such as Counting |
CellBoundaryTarget | Identifies the target that is used to generate cell segmentation masks |
FileVersion | The Panel.json file version for the run |
ID | A unique ID that is assigned to the panel |
KitType | Specifies the type of reagent or assay kit that is used for the run. |
Name | The name of the cell screening kit that is associated with the panel |
NuclearTarget | Identifies the target that is used to generate nuclear segmentation masks |
PanelCartridgePartNumbers | Identifies a set of information that lists the cartridge part numbers for the panel |
SpikeInId | The ID of your custom add-on protein panel JSON |
SpikeInName | The name of your custom add-on protein panel JSON |
SupplementaryCellBoundaryTarget | Identifies an optional additional target that is used to generate cell segmentation masks |
Primer tube sections
The following table defines information in the ImagingPrimerTubes, BarcodingPrimerTubes, and DISSPrimerTubes sections of the Panel.json file. These sections provide information about the settings for different batches:
| Field | Description |
|---|---|
AssayType | Identifies the type of RNA sequencing batch |
BarcodeMask | The mask that is used to support barcoding for target analysis |
BarcodingPrimerTubes | Identifies a set of information about the settings for batches with targets for analysis |
BatchName | The name of a specific batch |
DefaultMismatch | The number of base mismatches that are permitted to assign a barcode to a target, which is typically 2 |
DISSTargets | Identifies the Direct In Sample Sequencing (DISS) target name, sequence, and primer setup |
FastqMask | Identifies the default FASTQ mask for the DISS batch |
ImagingPrimerTubes | Identifies a set of information about the settings for batches related to cell paint |
MinCycles | The minimum number of cycles for a specific batch |
PMGMask | A base mask that is used to generate the map of polonies |
RunOrder | Identifies the ordinal position for a batch in the run |
Type | The type of batch relative to amplification, PreAmp or PostAmp |
Target sections
The following table defines information in the ImagingTargets and BarcodingTargets sections of the Panel.json file. The sections provide information about the targets in each batch.
| Field | Description |
|---|---|
Analyses | Identifies an array with the types of analysis for a batch |
Barcode | The barcode of bases for a specific target in a batch |
BarcodingTargets | Identifies the set of information for targets in each batch for analysis |
Base | The base for a particular cycle in a batch |
BatchName | The name for a specific batch |
ControlType | Identifies the type of control for a target in a batch, if applicable |
Cycle | The cycle that a particular base uses in a batch |
CycleBases | Identifies a set of information that defines the base in a specific batch cycle |
FocusName | (For a focus panel target) Identifies the focus panel name. For user-provided custom targets, this is set to Custom. |
FocusArea | (For a focus panel target) Identifies the focus panel area. For user-provided custom targets, this is set to Custom. |
ImagingTargets | Identifies the set of information for targets in each batch that is related to amplification |
ProbeConcentration | The concentration of the probe for a specific target in a batch |
Target | The name of a target for a batch |
TargetType | The type of target for a batch as CellPaint, Protein or Transcript |
Run parameters
The RunParameters.json file contains a record of the input information for a run. When you evaluate run performance or troubleshoot, review this file to confirm that the correct parameters were used for the run.
The following table describes the information in the RunParameters.json file:
| Field | Description |
|---|---|
AdvancedSettings | Includes information about advanced run settings, such as custom recipes |
AnalysisLanes | The lanes that the run uses, such as 1,2, or 1+2 |
ApplicationName | The type of application for the run, such as Counting |
BarcodeStr | The barcode number for a consumable, which the instrument scans and identifies during consumable loading |
BaseForChannels | Identifies the set of bases for the channels |
Batches | Identifies the set of batches for the run |
Buffer | Identifies a set of information that describes the buffer for the run |
Channels | Identifies the colors to associate with channels |
ColorForChannels | Identifies the channels to associate with bases and colors |
Consumables | Identifies the set of information for run consumables |
CustomRecipeName | The name of the custom recipe file that is uploaded in Advanced Run Settings |
Cycles | Identifies the number of cycles in a batch |
CycleFormat | Defines the format in which cycles appear |
Date | Timestamp for the run |
Expiration | The expiration timestamp for a consumable, which the instrument identifies or a user inputs during consumable loading |
ExpirationStr | An expiration ID number for a consumable that is associated with the expiration date |
FileVersion | The version of the RunParameters.json file for the run |
Flowcell | Identifies a set of information that describes the flow cell for the run |
ImageHeight | The height of the image in pixels |
ImageInfo | Identifies the set of information that defines characteristics of the cell screening image |
ImageWidth | The width of the image in pixels |
Lanes | Defines an array that lists the lanes of the flow cell for the run |
InstrumentName | The name of the instrument for the run |
LotNumber | The lot number for a consumable, which the instrument identifies during consumable loading before the run |
Name | The name of a tile in a set of Tiles |
OperatorName | The name of the person that set up the run on the instrument |
PanelCartridge | Identifies a set of information that describes the sequencing cartridge for the run |
PanelName | The name of the panel that is used for the run |
PartNumber | The part number for a consumable, which the instrument scans or a user inputs during consumable loading |
PlatformVersion | The version of AVITI OS for the run |
PMGMask | A base mask that is used to generate the map of polonies |
RecipeExecutionID | A UUID for the run recipe, which governs the stages of a sequencing run |
RecipeValues | Contains additional values for the recipe that the run uses, such as a filterMask value |
RunDescription | An optional description for the run |
RunFolderName | The name of the output folder that AVITI OS creates for the run |
RunID | A UUID assigned to the run |
RunName | A text-based run identifier that is entered by the operator |
RunOrder | Identifies the ordinal position for a batch in the run |
RunType | The type of AVITI24 System run, Cytoprofiling |
SerialNumber | The serial number for a consumable, which the instrument scans or a user inputs during consumable loading |
Side | The side of the instrument that the run uses, such as SideA or SideB |
StorageConnectionID | A UUID for the storage connection that the run uses |
Tags | The tags that the Operator applies to the run, as applicable |
ThroughputSelection | Identifies the path for the text file that is used to determine throughput selection for the run |
Tiles | Identifies a set of tiles on the flow cell for a well |
Type | Identifies the type of batch, such as BarcodingBatch , PreAmpImagingBatch, or PostAmpImagingBatch |
WellLayout | Identifies the well layout, such as 48-well, 12-well, or 1-well |
Wells | Identifies a set of information for the wells in the run |
WellLocation | Identifies the well for the following Tiles listed |
XMillimeters | The well position in millimeters on the X-axis of the image |
YMillimeters | The well position in millimeters on the Y-axis of the image |
ZPositions | Identifies the Z-positions that are associated with each batch in the run |
Zs | Identifies the order of batches for the run to associate them with Z-positions |
Run uploaded
The RunUploaded.json file indicates the completion of the run. The file contains high-level information about the run and an outcome field that confirms the run outcome. AVITI OS always transfers this file last, which allows its creation to serve as a trigger to start automated downstream analysis.
The following table defines the fields in the RunUploaded.json file:
| Field | Description |
|---|---|
version | The version of the RunUploaded.json file |
instrument | The name of the instrument for the run |
instrumentId | A UUID for the instrument |
outcome | The final outcome of the run, such as OutcomeCompleted, OutcomeStopped, or OutcomeFailed |
runType | The type of AVITI System run, such as Cytoprofiling |
recipeExecutionId | A UUID for the run recipe that is sourced from RunParameters.json |
runID | A UUID assigned to the run that is sourced from RunParameters.json |
Run analysis files uploaded
The RunAnalysisFilesUploaded.json file indicates that the required data to begin downstream analysis was successfully transferred to the output location. This file contains high-level information about the run and an outcome field that confirms the run outcome. AVITI OS always transfers this file only after the required files to begin analysis are confirmed to be transferred. This allows the file creation to trigger the start of automated downstream analysis.