Cytoprofiling Run Output Files
The following is a representative run output directory of a successful cytoprofiling run:
example-storage-location
└── DemoInstrumentName
└── 20240506_DemoInstrumentName_ExampleRunName
├── BaseCalling
│ ├── 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)
├── Cell Segmentation
│ └── WellXX ... (for n wells)
│ ├── LXRXXCXXS1_Cell.tif ... (for n tiles)
│ └── LXRXXCXXS1_Nuclear.tif ... (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)
├── Cytoprofiling
│ ├── Instrument
│ │ ├── AverageNormWellStats.csv
│ │ ├── RawCellStats.csv
│ │ ├── RawCellStats.parquet
│ │ ├── RunStats.json
│ │ ├── Versions.json
│ │ └── Wells
│ │ └── WellXX ... (for n wells)
│ │ └── BXX ... (for n batches)
│ │ └── LXRXXCXXS1_barcodes.parquet ... (for n tiles)
├── RunManifest.csv
├── RunManifest.json
├── RunParameters.json
├── Panel.json
├── RunStats.bin
├── RunAnalysisFilesUploaded.json
└── RunUploaded.json
Output Files
The following table defines the key cytoprofiling run output files from an AVIT24 System. Parquet files are column-based files that efficiently store data. For more information, see the Apache Parquet Documentation.
Directory and File Name | File Format | Description | Quantity |
---|---|---|---|
{root}/BaseCalling/BaseCalls/{batch}_C{cycle}.zip | Binary | Report the raw cytoprofiling 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}.loc | Binary | Identify polony locations on the flow cell | One per tile per batch |
{root}/BaseCalling/RunStats.bin | Log | Log for internal troubleshooting of offline runs | One per run |
{root}/CellSegmentation/{well}/{tile}_Cell.tif | TIF | Cell segmentation masks for a well, where the value for a pixel in a cell is the cell ID | One per tile per well |
{root}/CellSegmentation/{well}/{tile}_Nuclear.tif | TIF | Nuclear segmentation masks for a well, where the value for a pixel in a nucleus is 1 | One per tile per well |
{root}/Cytoprofiling/Instrument/AverageNormWellStats.csv | CSV | Reports filtered and average metrics for each well in the run | One per run |
{root}/Cytoprofiling/Instrument/Versions.json | JSON | Reports the version number for CSV output files and bundled software programs | 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 | R 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/Wells/ {well}/{batch}/{tile}_barcodes.parquet | Parquet | Barcoding information for each polony in a tile | 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 targets | One per target per tile |
{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 reserved for Element processes | One per run |
{root}/RunParameters.json | JSON | Records information about the run configuration | One per run |
{root}/RunAnalysisFilesUploaded.json | JSON | Written once 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}/Thumbnails/{well}_Thumbnail.png | PNG | Thumbnail image for a well | One per well |
Metrics
The output files contain a variety of metrics, including tile-specific and average metrics.
RawCellStats.csv
andRawCellStats.parquet
contain a full set of morphology and quantification metrics for each target and batch.AverageNormWellStats.csv
provides averages of these metrics for each well. Metrics that end with.std
provide the standard deviation for the metric.
The files report metrics from the following CellProfiler modules:
- MeasureObjectSizeShape
- MeasureGranularity
- MeasureObjectIntensity
- MeasureObjectIntensityDistribution
- MeasureTexture
Certain metrics are not available in these files. For example, the output files do not report Zernike metrics. In some files, columns for Z-axis metrics appear with values of 0
. Z-axis metrics are not available in the RawCellStats.csv
and RawCellStats.parquet
files because they are not relevant to the analysis output.
For more information on the cytoprofiling metrics, see the CellProfiler Manual measurement information.
Barcodes Parquet Files
The {tile}_barcodes.parquet
provide the raw barcode data for each tile in a batch. The files indicate the location of targets in different cells.
The following table defines the columns in the parquet files.
Field | Description | Data Type |
---|---|---|
BarcodeIndex | A barcode ID number that corresponds to the order of targets for a batch as listed in the Panel.json file. A value of 0 indicates an unassigned barcode. | Int16 |
Cell | A tile-specific ID associated with a cell. The Cell ID in barcode parquet files differs from the Cell ID for the run in other parquet files. | Int16 |
IsNuclear | An indicator for whether or not the barcode is in the nucleus of the cell. | Boolean |
X | The position of the barcode on the X-axis of the tile. | UInt16 |
Y | The position of the barcode on the Y-axis of the tile. | UInt16 |
Panel File
The Panel.json
file contains target information for each batch in the run. Sections of the file define information for batches and targets, including ImagingPrimerTubes
, BarcodingPrimerTubes
, ImagingTargets
, and BarcodingTargets
.
The following tables describe the information in the file.
Field | Description |
---|---|
AnalysisSettings | Identifies an array of settings for the run analysis |
Application | The type of application for the run, Counting |
CellBoundaryTarget | Identifies the target used to generate cell segmentation masks |
FileVersion | The version of the Panel.json file for the run |
ID | A unique ID assigned to the panel |
Name | The name of the cytoprofiling kit associated with the panel |
NuclearTarget | Identifies the target used to generate nuclear segmentation masks |
PanelCartridgePartNumbers | Identifies the set of information that lists the cartridge part numbers for the panel |
SupplementaryCellBoundaryTarget | Identifies an optional additional target used to generate cell segmentation masks |
Primer Tube Sections
The following table defines information in the ImagingPrimerTubes
and BarcodingPrimerTubes
sections of the Panel.json
file. The sections provide information about the settings for different batches.
Field | Description |
---|---|
BarcodeMask | The mask used to support barcoding for target analysis |
BarcodingPrimerTubes | Identifies the set of information about the settings for batches with targets for analysis |
BatchName | The name for a particular batch |
DefaultMismatch | The number of base mismatches permitted to assign a barcode to a target, typically 2 |
ImagingPrimerTubes | Identifies the set of information about the settings for batches related to cell paint |
MinCycles | The minimum number of cycles for a particular batch |
PMGMask | A base mask used to generate the map of polonies. |
RunOrder | Identifies the ordinal position for a batch in the run |
Type | The type of batch for 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 particular 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 particular 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 to identify in a particular cycle for a batch |
ImagingTargets | Identifies the set of information for targets in each batch related to amplification |
ProbeConcentration | The concentration of the probe for a particular 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 File
The RunParameters.json
file contains a record of the input information for a run. When evaluating run performance or troubleshooting, you can review this file to confirm the run used the correct parameters.
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 as 1 ,2 , or 1+2 |
ApplicationName | The type of application for the run, 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 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, 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 cytoprofiling 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 who 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 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 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 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, 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 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 BarcodingBatch , PreAmpImagingBatch , or PostAmpImagingBatch |
WellLayout | Identifies the well layout, such as twelve well or single-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 associated with each batch in the run |
Zs | Identifies the order of batches for the run to associate them with Z-positions |
Run Uploaded File
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, allowing 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, OutcomeCompleted , OutcomeStopped , or OutcomeFailed |
runType | The type of AVITI System run, Cytoprofiling |
recipeExecutionId | A UUID for the run recipe and sourced from RunParameters.json |
runID | A UUID assigned to the run and sourced from RunParameters.json |
Run Analysis Files Uploaded
The RunAnalysisFilesUplaoded.json
file indicates the completion all data that is required to begin downstream analysis. The 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 all files required to begin analysis have been confirmed to be transferred, allowing its creation to serve as a trigger to start automated downstream analysis.