CTCeek Logo
Lab home CTCeek software page Zenodo files

CTCeek

CTCeek v2: a frozen-reference classifier for candidate circulating and disseminated tumor cells in single-cell RNA-seq data. Uploaded query cells are normalized against the trained SV2 reference model and scored by nearest-neighbor similarity to curated reference labels. C1 Scanorama two-batch is the recommended fast default; C2 multibatch is optional expert corroboration when suitable query batch metadata are available.

Query cells are visualized on the frozen umap.sv2.pca reference map by weighted averaging of their nearest reference neighbors; the app does not compute a new query UMAP. An optional FM/scGPT audit can be added after the main result, but it is review-only: it does not filter cells, overwrite CTCeek calls, or change C0/C1/C2/C3 outputs.

Project Overview

CTCeek v2 classifies unseen single-cell RNA-seq profiles against a fixed PBMC+CTC reference while minimizing query-composition artifacts.

The workflow is organized as progressive evidence layers:

  • C0 composition guard: reviews large or blood-dominated uploads before Scanorama mapping and protects epithelial/CTC-like cells from downsampling.
  • C1 Scanorama two-batch: the recommended fast and sensitive mapping mode for routine use.
  • C2 Scanorama multibatch: an optional expert mode when query batch metadata are available.
  • C3 Symphony: a conservative confirmation layer, currently experimental.
  • FM/scGPT audit: an optional foundation-model nearest-neighbor review layer that can run after C1 without rerunning the main classifier.

Scientific boundary: C1/C2/C3 are CTCeek mapping/classification layers. FM/scGPT is an audit layer only and cannot change the CTCeek result.

🔬

Software, Test Data and Reference Files

Use the Zenodo record to download example query RDS files and supporting documentation. Large SV2 reference objects and foundation-model assets are intentionally kept outside GitHub and should be installed on the server from the project data distribution.

The public web deployment is configured for fast default C1 analysis. Optional FM/scGPT audit can be requested at submission time or launched after a completed job from the Foundation-model audit tab.

Zenodo record: https://doi.org/10.5281/zenodo.17780234

Original CTCeek scripts: https://github.com/PietroAnc/CTCeek

Tutorial: How CTCeek v2 Works

CTCeek v2 accepts an unseen Seurat query object, prepares it with the same reference-normalization logic used by the SV2 model, maps it against the frozen reference, scores each query cell by weighted nearest-reference neighbors, and exports tabular predictions plus frozen-reference UMAP placements.

The app is intentionally progressive. The main C1 result is returned first. Optional review layers can then be added without changing the main CTCeek call.

1. Input requirements

  • Upload a Seurat .rds object.
  • The object must contain an RNA assay with gene-level counts.
  • Gene symbols should overlap the reference SCT/PCA feature set; low overlap will stop the run.
  • C1 does not require a query metadata batch column.
  • C2 requires the configured query batch column, usually orig.ident .
  • Large uploads or blood-dominated uploads may trigger the C0 composition guard before Scanorama mapping.
  • The app performs basic upload QC but does not replace biological sample QC. Filter low-quality, doublet-rich or otherwise inappropriate cells before upload when needed.
  • The current web upload limit is 2048 MB ; larger Seurat objects should be handled on the server or by changing the deployment limit.

2. Required and optional query columns

  • Required: a Seurat object with an RNA assay. No metadata column is required for C1.
  • Recommended for C2: orig.ident or the configured query batch column. C2 uses this to split the query into batches; if absent, C2 is skipped.
  • Optional metadata: copy-number, cell-type or other annotations may help biological interpretation, but CTCeek v2 does not require or compute CopyKAT/aneuploidy calls in the web app.

3. Reference and normalization

  • The server loads the frozen SV2 reference RDS, including the trained normalization model and reference reductions.
  • Query cells are normalized against the trained reference SCT model and placed into the frozen reference geometry for scoring.
  • The reference includes scanorama , pca.sv2 and umap.sv2.pca reductions.
  • The frozen UMAP shown by the app is umap.sv2.pca . Query coordinates are estimated from nearest reference neighbors; no new query UMAP is computed.

4. Mapping modes

  • Strict SV2 / A: an internal audit baseline without Scanorama correction. It is retained in tables but is not the recommended visual mode.
  • C1 Scanorama two-batch: the recommended routine mode. Reference cells are treated as one batch and query cells as one batch before nearest-neighbor scoring.
  • C2 Scanorama multibatch: optional expert corroboration. Reference and query are split by configured batch columns; if the required query batch column is absent, C2 is skipped.
  • C3 Symphony: a conservative confirmation layer, currently experimental.

5. Prediction and CTC scoring

  • For each query cell, CTCeek identifies nearest reference neighbors in the selected embedding.
  • Neighbor distances are converted to weights and label scores are summed across weighted neighbors.
  • The top weighted label becomes the predicted label.
  • The CTC score is the combined weighted support for configured CTC-like labels, currently CTCepiA, CTCepiB, CTCmes .
  • CTCeek reports strict CTC calls and lower-threshold CTC-like candidates for review.

6. Optional FM/scGPT audit

  • FM/scGPT is an optional experimental audit layer. It embeds C0-eligible query cells with scGPT and compares them with the frozen CTCeek/SV2 reference in foundation-model embedding space.
  • It can be requested when submitting the job or launched later from the completed job directory without rerunning C1.
  • It does not filter cells, relabel CTCeek classifications, overwrite C1/C2/C3 calls, or change C0 composition-guard decisions.
  • CTC_supported indicates neighborhood support from CTC-labeled reference states.
  • blood_confounded_review indicates strong blood, immune or erythroid neighborhood support and should be interpreted cautiously.
  • FM/scGPT labels are review evidence only, not diagnostic calls.

User parameters

Parameter Default Meaning
Maximum upload size 2048 MB Largest Seurat RDS file accepted through the web page in this deployment. Larger files should be processed on the server or require changing CTCEEKSV2_MAX_MB.
Mapping modes C1 default; C2 optional; C3 experimental confirmation Use C1 for routine sensitive mapping. Add C2 for multibatch corroboration when suitable batch metadata are available. C3 Symphony is a conservative experimental confirmation layer.
Scanorama cores 8 Fixed for the web app to keep server behavior predictable; this controls CPU threads requested for Scanorama and numerical libraries.
k nearest neighbors 50 Number of reference neighbors used for distance-weighted label scoring and UMAP coordinate placement.
Strict CTC score threshold 0.65 Threshold used to call a conservative CTC when the top label is CTC-like and the CTC score is high enough.
Candidate score threshold 0.5 Lower threshold used to flag CTC-like candidates for review even when they do not satisfy the conservative call.
Optional FM/scGPT audit Off Runs a foundation-model nearest-neighbor audit after the main CTCeek result when requested. On the validated 136-cell test query it added approximately 1-2 minutes on the current GPU server. It does not change CTCeek calls.
Post-hoc FM audit Available after the main result completes Lets the user launch FM/scGPT from the completed job directory without rerunning C1.
FM/GPU lock One FM audit at a time Serializes scGPT GPU use so concurrent FM audits cannot overload the server.

Outputs

  • Mode summary: number of cells, top CTC-like predictions, high CTC-score cells and median nearest-neighbor distances by mode.
  • Concordance: agreement between C1 and C2 when both modes are run.
  • Raw output CSV: per-cell predictions, CTC score, margin, candidate call and nearest-neighbor distance.
  • UMAP views: reference annotations or query predicted labels on the same frozen reference coordinate system.
  • PNG/PDF downloads: high-resolution raster or vector UMAP exports.
  • C0 composition guard report: records whether downsampling was needed and which cells were included in Scanorama mapping.
  • FM/scGPT audit report: optional review-only nearest-neighbor audit in scGPT embedding space.

Interpretation note: CTCeek v2 reports candidate cell states based on transcriptomic similarity to the fixed reference. These outputs are not a standalone clinical diagnosis. Interpretation should consider sample preparation, QC, marker expression, copy-number evidence when available, epithelial/mesenchymal programs, blood/immune contamination, and biological context.

FM/scGPT interpretation: FM/scGPT audit labels are evidence flags, not diagnostic calls. They are intended to help review CTCeek candidates and identify blood-confounded or ambiguous neighborhoods. They do not modify CTCeek classifications.

Concurrency note: CTCeek currently allows one active main mapping job at a time on this server. FM/scGPT audits use a separate GPU lock, so only one FM audit can run at a time. If another main analysis or FM audit is active, the app will ask you to try again after the current process completes.

Run Analysis: 1. Upload Seurat Query Object

Maximum web upload size: 2048 MB . For larger objects, place the RDS on the server and run the worker from the command line or increase CTCEEKSV2_MAX_MB in the deployment environment.

Upload Quality Control

Run Analysis: 2. Analysis Status

Job directory:

Run Analysis: 3. View Results and Download Tables

Mode summary

Concordance

Download

Download the complete worker output after a successful run.

Download raw output

Preview

Run Analysis: 4. Visualize C1/C2 Query Cells on the Frozen Reference UMAP

UMAP plots are shown for Scanorama C1/C2 only. All panels use the same frozen reference coordinates; query cells are placed from mode-specific nearest reference neighbors, with no new query UMAP computed.

Run Analysis: 5. Progressive Evidence Layers

Progressive evidence layers

C1 is the recommended fast default CTCeek result. C2 Scanorama multibatch and C3 Symphony are optional mapping/confirmation layers. FM/scGPT is a separate experimental audit-only layer: it does not filter or relabel cells and cannot change C0/C1/C2/C3 outputs.


        

FM/scGPT audit log
                
FM/scGPT audit summary
Per-cell FM/scGPT audit report

Interpretation: FM/scGPT is an optional experimental audit layer. Interpret it together with CTCeek C1/C2 scores, markers, copy-number evidence when available, and sample context. FM/scGPT evidence does not modify CTCeek classifications.

Run Analysis: 6. Worker Log