๐น bartab: Fitness from pooled competition assays
Using bartab v0.0.10.post1 | Documentation | Tutorial on analysis principles
Infer the competitive fitness of barcoded strains from next-generation sequencing of pooled growth experiments.
Upload your count table, sample sheet, and barcode sheet, then click Calculate fitness.
1๏ธโฃ Input tables
Three tables are required. You can upload CSV, TSV, or XLSX files, or try one of the example datasets below.
๐งฎ Count table
One row per barcode per sample. Must contain:
- a column of barcode/strain identifiers (matching your barcode sheet)
- a column of sample identifiers (matching your sample sheet)
- a column of read or UMI counts
๐ถ Barcode information
One row per unique barcode. Must contain:
- a column of barcode identifiers
Optionally: any metadata about strains (gene targets, constructs, etc.). These will be carried through to the output.
๐งช Sample sheet
One row per sample (sequencing library). Must contain:
- Sample ID: unique identifier matching the count table
- Culture ID: biological replicate identifier. Samples from the same culture share this label
- Timepoint: numeric timepoint values. The earliest timepoint is treated as $t_0$.
For spike-in normalisation: no extra columns needed. Just include your spike-in barcode in the count table and barcode sheet.
For growth-based normalisation: add a column of OD600, CFU/mL, or generation counts measured at each sample.
For dose-response analysis: add a column of inducer/drug concentrations. Samples with concentration = 0 are treated as uninduced controls.
For adaptive-volume sampling (if you took different volumes from each sample): add a column of sampled volumes.
2๏ธโฃ Control strains
- Reference (WT): the strain relative to which all fitness values are calculated. Fitness = 1 by definition.
- Spike-in: a non-growing strain (e.g. heat-killed or plasmid-only) added at a fixed concentration before library preparation. Used to infer how much the reference strain has expanded between timepoints, removing the need for growth measurements. Leave blank if using growth measurements instead.
3๏ธโฃ Analysis options
- Culture expansion: choose Spike if you have a non-growing spike-in control, or Growth if you have OD600/CFU measurements.
- Pseudocount: added to all counts before log transformation to avoid log(0).
- Analysis mode: choose Single concentration for standard fitness screens, or Dose response if your sample sheet contains a concentration column. Dose response fitting uses a 2-parameter Hill model to estimate the ICโ โ and maximum effectfor each barcode.
Plotting options
4๏ธโฃ Results
Fitness values are estimated by weighted least squares regression of the log-ratio of each barcode against the reference strain, using the spike-in or growth measurements as the x-axis.
Key output columns:
- For single concentration:
fitness: relative fitness ($w_i / w_{wt}$). Values < 1 indicate growth disadvantage; > 1 indicates advantage.fitness_low/fitness_high: 95% confidence interval bounds.slope_p: p-value for the slope being different from 0 (i.e. fitness โ 1).
- For dose-response:
log_ic50(logโโ concentration at 50% inhibition) andlog_ic50_p.
Results and the full annotated dataset (.h5ad) can be downloaded below.