The activation-induced marker (AIM) assay is a flow-cytometry based assay that measures the upregulation of activation markers on T cells following stimulation with specific antigens. T cells that are AIM-positive are considered “reactive” to the tested antigen.

The AIM assay is a component of the CMI-Flu prediction challenge. An overview of all the data, including links to more detailed descriptions of the other data, may be found at CMI-x .

Experimental protocol

PBMC were thawed and stimulated for 24h with (last 4h of stimulation with Golgi Stop/Plug):

  • DMSO: negative control
  • GLO: HA universal peptide pool: overlapping 15-mer covering the HA proteins from the virus strains contained in vaccines spanning 2017-2019 seasons + epitopes with experimental data available in IEDB.
  • PR8 backbone pool : overlapping 15-mer peptides covering all non-HA and non-NA proteins of the H1N1 A/Puerto Rico/8/1934 (PR8) strain (8 proteins total: M1, M2, NP, NEP, NS1, PA, PB1, PB2).
  • CON: Conserved HA/NA pool: overlapping 15-mer peptides covering conserved HA/NA epitopes from H1N1 and H3N2 vaccine strains from the past 10 flu seasons, starting in 2024/2025 season
  • SEA: Seasonal HA/NA pool: overlapping 15-mer peptides covering novel (i.e., absent from the conserved HA/NA pool) HA/NA epitopes from H1N1 and H3N2 strains in the 2025/2026 flu season.
  • POL: Polyclonal stimulation: antiCD3+anti-CD28, positive control.

Following stimulation, cells were stained with a 23-color surface and intracellular panel, and analyzed on a Cytek Aurora spectral analyzer. Antigen-reactive CD4 T cells were defined as Live/CD14-CD19-/CD3+/CD4+CD8-/OX40+CD137+.

Data processing and standardization

  • Baseline (“pre-vaccination”) values were established by averaging all values at pre-vaccination timepoints.
  • DMSO (negative control) frequencies were subtracted from cell frequencies.
  • Values <0.01 were assigned to 0.01 (the assay’s limit of detection).

The Data

Data tables

The AIM data consists of 1 table : 2025LJI_AIM.tsv (which contains pre-vaccination data of the “prediction/challenge” cohort). Use the other data types to build your models and predict the unseen post-vaccination values. See the Task description below for more details.

Antigen-reactive T cell Assay (AIM)
Data dictionary
Column Description
participant_id Donor ID, one for each subject in each study, in the format studyID.subjectID (links to participants.tsv)
timepoint Days relative to influenza vaccination (-14 or 0), or 'Pre-vacc' for the mean of the two pre-vaccination timepoints.
stimulation Peptide pool used to stimulate the PBMC: Global HA (GLO), Conserved HA/NA (CON), Seasonal HA/NA (SEA), PR8_backbone (PR8), or Polyclonal (POL, positive control).
name Measured cell population: Antigen-reactive CD4 T cells.
value Frequency of the measured population as a percentage of parent_population, after subtraction of the matched DMSO control. Values below 0.01 are floored at 0.01.
unit Unit of measurement (percent).
parent_population Denominator population for value: CD4 T cells.
population_definition Gating strategy.
material Antigen-reactive CD4 T cells.
comments Batch in which the sample was acquired (Round 1 - Round 8).
study_accession Study identifier. Links to the investigations.tsv file.
subject subject ID.

Data exploration

Data preview :

library(tidyverse)
aim = read_tsv('../datasets/260512/train/2025LJI_aim.tsv')
head(aim)
## # A tibble: 6 × 12
##   participant_id  timepoint stimulation  name      value unit  parent_population
##   <chr>           <chr>     <chr>        <chr>     <dbl> <chr> <chr>            
## 1 2025LJI.SUB1829 -14       Polyclonal   Antigen-… 18.6  perc… CD4 T cells      
## 2 2025LJI.SUB1829 -14       Conserved    Antigen-…  0.16 perc… CD4 T cells      
## 3 2025LJI.SUB1829 -14       Seasonal     Antigen-…  0.01 perc… CD4 T cells      
## 4 2025LJI.SUB1829 -14       Global       Antigen-…  0.12 perc… CD4 T cells      
## 5 2025LJI.SUB1829 -14       PR8_backbone Antigen-…  0.13 perc… CD4 T cells      
## 6 2025LJI.SUB2491 -14       Polyclonal   Antigen-… 24.5  perc… CD4 T cells      
## # ℹ 5 more variables: population_definition <chr>, material <chr>,
## #   comments <chr>, study_accession <chr>, subject <chr>
library(ggplot2)

# --- Load ---
d <- read.delim("../datasets/260512/train/2025LJI_aim.tsv",
                stringsAsFactors = FALSE)

d$timepoint    <- factor(d$timepoint, levels = c("-14", "0" , "Pre-vacc"))

d$stimulation = recode(d$stimulation, 
                       "Conserved" = "Conserved HA/NA", 
                       "Seasonal" = "Seasonal HA/NA"
                       )

d$stimulation  <- factor(d$stimulation,
                         levels = c("Polyclonal", "Conserved HA/NA", "Seasonal HA/NA",
                                    "Global", "PR8_backbone"))

# Antigen-reactive stims only (drop the Polyclonal positive control, which is
# ~100x larger and would flatten everything else)
ag <- droplevels(subset(d, stimulation != "Polyclonal"))

# --- Plot 2: paired subject trajectories across timepoints ---
# One line per subject so you can see within-subject change, faceted by stim
p2 <- ggplot(ag, aes(timepoint, value, group = subject)) +
  geom_line(alpha = 0.3) +
  geom_point(alpha = 0.4, size = 0.9) +
  stat_summary(aes(group = 1), fun = median, geom = "line",
               color = "red", linewidth = 1.1) +
  scale_y_log10() +
  facet_wrap(~ stimulation) +
  labs(title = "Within-subject change across timepoints",
       subtitle = "Grey = individual subjects; red = median; Pre-vacc = mean of D0 and D-14.",
       x = "Timepoint", y = "% of CD4 T cells (log10)") +
  theme_bw(base_size = 12)

p2

Prediction Task

Task 1.4 asks contestants to predict the frequency of antigen-reactive CD4+ T cells (conserved HA/NA pool) at day 7 post-vaccination, for the 40 donors found in the 2025LJI challenge dataset (stimulation = CON).