Q Q-omics Analysis tools Add connector
● Guided Analysis · 13 tools

Analysis tools

Parameterized analyses for common molecular-oncology questions. Fill a few slots and get summary statistics plus plot-ready data back — every tool is readOnlyHint: true. The rhythm is always the same: resolve → analyze → (re-verify).

resolve · start here 5 core analyses 5 ranked-discovery tools 2 consensus re-verifiers
Two shared inputs. Most tools take an omics data type for x_type/y_type — one of: RNA expression · Somatic mutation · Protein (mass-spec) · Protein (RPPA) · Infiltrating cells · GO function (RNA) · GO function (Protein) · Drug response (cell) · CRISPR · shRNA. And every tool needs a lin_code from resolve (the lone exception is neoantigen, which is pan-lineage). Symbol names (gene / drug / residue) are auto-resolved server-side — usually you pass the name straight as x_symbol/y_symbol.

01Start here — resolve

resolveCall first

Map a natural-language name to what the tools need. kind=lineage is the one you must use: it maps a cancer name to the lin_code every analysis tool requires (e.g. "breast cancer" → BRCA, "lung adenocarcinoma" → LUAD) and returns the candidates with their sample_type (Tissue vs Cell_line) so you pick the right one. kind=gene|drug|go_term is optional — the analysis tools resolve symbols for you; use it only to check a name exists or to disambiguate.

kind *gene | drug | go_term | lineage
query *The name to resolve, e.g. "breast cancer", "TP53"

02Core analyses

One feature (or a pair) in one cohort → a single figure with grounded stats. These are the everyday tools; reach for them first.

Per-feature & pairwise5 tools

survivaltissue only

Kaplan-Meier survival difference between patient groups split by an omics measure. Returns logrank p-value + KM curve data. Stage- or sex-stratify with stage_sel/gender_sel; two-gene combinations via combi_*.

x_type *Omics data type (see above)
x_symbol *Resolved feature symbol
lin_code *Lineage code from resolve
measureOS | DFS · default OS
grpMedian | Quartile | Tertile split
periodFollow-up cap in years — 1 | 3 | 5 | 100 (=unlimited)
stage_sel / gender_selOptional cohort restriction ([1,2]=early / [3,4]=late; ['F','M'])
combi_type / combi_symbol / combi_methodOptional 2-gene combination
nttissue only

Normal vs Tumor (N/T) differential of a single feature in a tissue cohort. Use when the intent is specifically comparing normal against tumor tissue. Returns N/T group distribution stats and box data.

x_type / x_symbol *Feature to compare
lin_code *Tissue lineage code
stage_sel / gender_selOptional cohort filters
box

Box-plot comparison: distribution of a y measure across groups defined by an x measure. y_type="Pan-cancer Profile" returns x's pan-cancer profile instead. Returns per-group summary stats (+ p-value) and box data.

sample_class *tissue | cell
x_type / x_symbol *Grouping feature (the split)
y_type *Measured data type, or Pan-cancer Profile
lin_code *Lineage code
y_symbol / grp / stage_sel / gender_selOptional — y_symbol when y is a named feature; the rest stratify the cohort
correlation

Scatter correlation between two specific named features (x_symbol vs y_symbol): a point-per-sample scatter with a Pearson coefficient (pcc). Use for "correlate gene A with gene B" — not for relating two whole data types (use cross).

sample_class *tissue | cell
x_type / x_symbol *First feature
y_type / y_symbol *Second feature
lin_code *Specific lineage required
cross

Association between two omics data types: how an x feature relates to a whole y data type across a cohort → a volcano of the top y-associations (direction-balanced, ranked). Also the CCLE cell-line drug path (mutation × drug in cells). The effect (des_fold_change) is a group-split log2 fold-change, not a Pearson r — for a pairwise coefficient use correlation.

sample_class *tissue | cell
x_type / x_symbol *Feature (x_id auto-resolved from symbol)
y_type *Whole data type to associate against
lin_code *Lineage code
grp / pre_p / des_p / max_hitsOptional split & p-thresholds; max_hits default 100

03Ranked discovery & tables

"Which are the top hits?" questions. These return a ranked table or a volcano — leave the specific symbol empty to discover and rank, or set it to test one candidate. An empty result is an honest "no hit", not an error.

Discovery5 tools

browse

Ranked consensus hit table — the grounded answer to "which genes/partners are the top hits", ordered by S_Cscore (sampling reproducibility) using the platform's own hit criteria. Prefer this over parsing a volcano for a ranked list. analysis=survival|nt → top hit entities in the lineage; analysis=association → the consensus partners of x_symbol.

analysis *survival | nt | association
lin_code *Lineage code
x_typeData layer to rank within · default RNA expression
x_symbolRequired for association (the anchor whose partners you want)
y_type / sample_class / max_rowsOptional partner-type filter, tissue | cell, row cap (default 50)
responsetissue only

Patient (clinical) drug-response biomarkers: which molecular features separate RECIST responders from non-responders for a specific patient drug, from the pre-computed consensus table. Leave x_symbol empty to rank features (a volcano); set it to test one. Direction: fold_change > 0 = higher in responders. (For CCLE cell-line drug sensitivity use cross.)

drug *Patient-drug name
lin_code *Lineage code
x_typeRNA expression | Somatic mutation | Protein (RPPA) | Infiltrating cells · default RNA
x_symbol / max_hitsSet x_symbol to test one feature; else rank
digconsensus-exempt

Drug-Induced Gene expression: which genes a drug changes across 4 dose conditions in NCI60 cell lines. Drug-anchored (unlike the entity-anchored tools) — the drug's effect on expression, not whether a feature predicts response. fold_change > 0 = induced, < 0 = repressed. Only ~15 drugs stored.

drug *Drug name
lin_codeDefault NCI60_ALL (pan), or a specific NCI60 lineage
x_typeRNA expression | GO function (RNA)
x_symbol / max_hitsSet x_symbol to test one gene; else rank
neoantigenno lin_code

Proteogenomic tumor-antigen discovery: which mutant proteins/phosphosites are over- (or under-) expressed vs wild-type. A candidate antigen is over-expressed. Mass-spec (CPTAC) only, all lineages (no lin_code), consensus-exempt.

analysis_typeMutSpe (mutation-specific) | TumSpeMt (tumor-specific mutant) · default MutSpe
x_symbolA residue-specific Entity_Name, e.g. "CREBBP_T974" — else rank candidates
max_hitsOptional cap
sl

Synthetic lethality — candidate drug targets that become essential when a partner gene is lost (the BRCA×PARP archetype). Give only x_symbol to list a gene's SL partners (a consensus-ranked table); add y_symbol to draw the specific pair — sample_class=tissue gives a 3-arm co-low survival curve, cell gives the partner's knockout-dependency box.

x_symbol *The anchor gene
lin_code *Lineage code
y_symbolAdd to draw the specific pair (else list partners)
sample_class / screen / max_rowstissue | cell; cell screen CRISPR | shRNA

04Re-verify — consensus

Q-omics's core robustness measure: a finding is validated by sampling/lineage consensus to avoid single-split artifacts. Re-verify only when a result is surprising, borderline, or decides the answer — one cross-check, never an identical re-run.

Consensus2 tools

consensustissue only

Re-verify a survival or nt finding against the pre-computed consensus. Returns two axes: S_Cscore = how many sampling combinations stay significant in the queried lineage (technical reproducibility; 0 = possible artifact), and L_Cscore = the pan-cancer footprint (number of lineages where the entity is a hit).

kind *survival | nt
x_type / x_symbol *The entity to re-verify
lin_code *Lineage code
pair_consensus

The pair analogue of consensus — re-verify an X↔Y association's robustness (use consensus for a single-entity survival/nt finding, this for a two-entity association). S_Cscore = the pair's sampling reproducibility at its strongest lineage; L_Cscore = pair recurrence across lineages. Needs both symbols. Not a stored consensus pair → 0/0.

x_type / x_symbol *First entity
y_type / y_symbol *Second entity
lin_code *Lineage code
sample_classtissue | cell · default tissue
Two scores, two questions. S_Cscore answers "is this reproducible in this cancer?" and L_Cscore answers "is it pan-cancer or lineage-specific?". A high S_Cscore with low L_Cscore = a robust but lineage-specific hit.

05Examples

Conceptual tool calls — the assistant fills the arguments from the conversation. The lineage is always resolved to its lin_code first.

Does high MKI67 expression predict worse survival in breast cancer?

// 1) resolve the lineage name → code
resolve({ kind: "lineage", query: "breast cancer" })
  → { resolved: true, candidates: [{ lin_code: "BRCA", lin_name: "Breast invasive carcinoma", sample_type: "Tissue" }, …] }

// 2) Kaplan-Meier split by RNA expression
survival({
  x_type:   "RNA expression",
  x_symbol: "MKI67",
  lin_code: "BRCA",
  measure:  "OS",
  grp:      "Median"
})
  → { stats: { p_value }, plot_data: { curves } }

Which genes are the top survival hits in BRCA — and is MKI67 robust?

// 1) the ranked consensus table (prefer over reading a volcano)
browse({ analysis: "survival", lin_code: "BRCA", x_type: "RNA expression" })
  → [ { entity, best_p, S_Cscore, L_Cscore }, … ]

// 2) re-verify one borderline hit
consensus({ kind: "survival", x_type: "RNA expression", x_symbol: "MKI67", lin_code: "BRCA" })
  → { S_Cscore, L_Cscore }

Is EGFR RNA correlated with EGFR protein in lung cancer?

correlation({
  sample_class: "tissue",
  x_type: "RNA expression",      x_symbol: "EGFR",
  y_type: "Protein (mass-spec)",  y_symbol: "EGFR",
  lin_code: "LUAD" // resolved from "lung adenocarcinoma"
})
  → { stats: { pcc }, plot_data: { points } }
correlation vs cross: use correlation for two specific named features (gene A vs gene B), and cross for one feature against a whole data type. For anything the fixed tools can't express — counts, frequencies, custom cross-tabs — drop to PQL →