Skip to main content

Cytos Cell Screening analysis workflow

The Cytos Cell Screening analysis workflow that turns an AVITI24 cell screening run into aligned, assigned 3' expression data.

The Cytos™ Cell Screening analysis workflow is a Nextflow workflow by Element Biosciences that processes a cell screening run from an AVITI24™ System into spatially resolved gene expression. It combines cell segmentation, demultiplexing, 3' alignment and assignment, and Spatial Data Object (SDO) construction into one pipeline.

On ElemBio Catalyst, this workflow launches automatically when a Multimodal Pooled Screening (MPS) or a 3' Transcriptome run completes, so the required secondary analysis finishes without a manual launch. The workflow can also run independently and reproducibly in any Nextflow environment, local or cloud-based; see Run the workflow for instructions on how to operate the workflow outside of ElemBio Cloud.

Workflow summary​

The workflow reads an AVITI24 cell screening run directory and runs the following stages. FASTQ files are routed by assay type, as declared in Panel.json.

#StageDescription
1Cells2StatsPerforms cell segmentation, resolves spatial coordinates, and generates per-cell statistics and QC.
2Bases2Fastq™Demultiplexes base calls into FASTQ files per sample, well, and batch.
33' FASTQ to parquetAligns and assigns 3' untargeted reads to produce cell × gene count matrices. See 3' alignment and assignment.
4Build SpatialDataCombines spatial data and expression data into a single SpatialData .zarr.zip archive.

3' alignment and assignment​

The 3' stage runs only on FASTQ files from a ThreePrimeUntargeted batch. It performs the following steps:

StepDescription
GTF preprocessingAnnotates the reference GTF and selects the countable gene universe.
Generate feature SAFBuilds the counting SAF from the selected features.
STAR alignAligns reads to the reference genome.
Tag cell BAMAdds cell barcode tags to the aligned reads.
featureCountsAssigns reads to genes and features.
BAM to parquetConverts the assigned BAM files to parquet.
Categorize read assignmentsClassifies reads into gene and feature tiers.
Process read assignmentsGenerates the cell × gene count matrices.
Collect sample metricsReports per-sample SAF on-target metrics.

Set up the workflow in ElemBio Cloud​

Add the workflow as a flow from the Workflow Library. The flow saves the parameters and the output location, so later launches reuse them.

  1. In ElemBio Cloud, expand Analysis and select Workflow Library.

  2. On the Cell Screening Multiomics card, select Add a Flow.

  3. Complete the shared flow steps. For details, see Add a flow.

  4. In the Parameters step, review the arguments. Leave a field empty to keep its default, such as the default Element GTF for the selected genome.

    Note:

    The flow setup currently supports only the GRCh38 reference genome. To use a different reference, run the Nextflow workflow locally.

  5. (Optional) Under Advanced Settings, restrict the batches with Batch Filter or the tiles with Tile Filter. Under OPS Alignment Tuning, tune OPS alignment with Target Mismatch Threshold, Specialized Targeted Minimum Query Length, and Generate Specialized Targeted BAMs.

    Advanced Settings with Batch Filter and Tile Filter fields, and OPS Alignment Tuning with Target Mismatch Threshold, Specialized Targeted Minimum Query Length, and a Generate Specialized Targeted BAMs toggle.
  6. Select Save.

For each field, see Input parameters.

Note:

On ElemBio Catalyst™, run data in the Runs bucket is immutable. The workflow reads the run directory but cannot change it. Results go to the Analysis bucket, which is set up with the flow as its output location. Access results from the Executions page or the Data Explorer.

Launch the workflow on a run​

After you save the flow, launch it on a completed run from the run's Run Details page.

  1. Open the Run Details page for the run, and then select the Analysis Executions tab.

  2. Select Launch Analysis, and then select the flow. For the launch steps, see Launch a flow.

    Run Details page for a completed Cytos 3' Transcriptome run with an empty Analysis Executions tab, a Launch Analysis button, and a Workflow Library button.
  3. Wait for the execution to complete. The execution appears on the Analysis Executions tab with its workflow, flow name, status, and execution time.

  4. Select the execution name, and then select the Output Files tab. The tab lists one folder for each workflow stage, which you can browse or download.

For the contents of each folder, see Output.

Inputs​

The workflow requires an AVITI24 cell screening run directory. Optional inputs tune the analysis.

InputDescriptionConstraints
Run directoryAn AVITI24 System cell screening run directory that contains RunParameters.json, RunManifest.csv, and Panel.json.Required
Reference genomeSelected with the genome parameter. GRCh38 provides the genome FASTA, the STAR index, and the GENCODE release 47 annotation.Optional; defaults to GRCh38
ParametersIn addition to the run directory, parameters can tune the output.Optional

Input parameters​

Arguments​

FieldTypeTitleNotes
genomestring (enum)Reference GenomeDefault GRCh38; only GRCh38 allowed. Provides the FASTA, STAR index, and GENCODE release 47 annotation
genes_gtffile-pathGene Annotation GTFOptional; replaces the genome's GENCODE annotation with another GENCODE release on the same assembly. Release 47 validated
segmentation_dirfile-pathSegmentation DirectoryCustom cell segmentation dir passed to cells2stats (and bases2fastq when supported)
c2s_tca_manifest_csvfile-pathTarget Cell Assignment ManifestOptional; falls back to run-directory manifest

Advanced Settings​

FieldTypeTitleNotes
filter_batchstringBatch FilterComma-delimited batch list (e.g., B01,B02)
tilestringTile FilterRegex for selecting tiles (e.g., L1R..C..S.)

OPS Alignment Tuning​

FieldTypeTitleNotes
c2s_target_mismatch_thresholdinteger | nullTarget Mismatch ThresholdRange 0–4
c2s_specialized_targeted_min_query_lengthinteger | nullSpecialized Targeted Minimum Query LengthMin 12
c2s_generate_specialized_targeted_bamsbooleanGenerate Specialized Targeted BAMsDefault false

Protein Tuning​

FieldTypeTitleNotes
c2s_process_imaging_targetsbooleanProcess Imaging TargetsDefault false

Output​

The workflow writes one directory per stage into a folder named for the execution ID, such as wfr_123example123, in the flow's output location. The following tree shows key output files only. Each directory contains additional files, such as logs and copies of the run manifest, run parameters, and panel.

Representative view of Cytos Cell Screening workflow output

{execution_id}/
├── bases2fastq/
│ ├── Samples/{Well}/{Sample}.fastq.gz
│ ├── info/
│ ├── {RunName}_QC.html
│ ├── RunStats.json
│ └── run.log
├── cells2stats/
│ ├── CellSegmentation/
│ ├── Wells/
│ ├── qc/
│ ├── AverageNormWellStats.csv
│ ├── RawCellStats.csv
│ ├── RawCellStats.parquet
│ ├── RunStats.json
│ ├── SpecializedTargetedCounts.json
│ ├── TargetCellAssignmentManifest.csv
│ └── Versions.json
├── fastq2parquet_3prime/
│ ├── Samples/{Well}_{Batch}/
│ │ ├── alignment/
│ │ ├── bedgraph/
│ │ ├── metrics/
│ │ ├── picard/
│ │ ├── polonies/
│ │ └── samtools/
│ ├── feature_set/
│ ├── genes/
│ ├── ref/
│ └── RunStats.json
├── spatialdata/
│ ├── {run_id}.zarr.zip
│ ├── points-zarr.zip
│ ├── cell-shapes-zarr.zip
│ ├── nuclear-shapes-zarr.zip
│ └── cyto.viz
└── pipeline_info/
├── Provenance.json
├── software_versions.yml
├── execution_trace.txt
└── execution_report.html
DirectoryContents
cells2stats/Cell segmentation masks, spatial coordinates, and per-cell statistics.
bases2fastq/Demultiplexed FASTQ files and run metrics.
fastq2parquet_3prime/Selected gene metadata, per-sample alignment and RNA metrics, combined and per-tile polony reads, and run-level aggregated QC statistics.
spatialdata/The Spatial Data Object as {run_id}.zarr.zip, its shapes and points layers, and the CytoCanvas™ visualization sidecar.
pipeline_info/Workflow provenance (Provenance.json: workflow, container images, resolved parameters), per-tool versions, and the execution trace and report.

See also​