APEX-05 โ€” Concordance of the two CAX2 alleles (cax2-2 vs cax2-3)

Analysis: analysis/ml/apex05_cax2_allele_concordance.py Outputs: results/ml/figC1_cax2_deg_set_sizes.png, results/ml/figC2_cax2_jaccard.png, results/ml/cax2_concordance_metrics.json


Why this analysis exists

The repo codes cax22 and cax23 are shorthand for cax2-2 and cax2-3 โ€” two independent mutant alleles of the same gene, CAX2 (a vacuolar cation/Hโบ exchanger). They are not mutations in two different genes (a natural but incorrect reading of the shorthand as "CAX2" vs "CAX3").

Because they disrupt the same gene, the two alleles should produce broadly concordant spaceflight (FL vs GC) transcriptome responses: comparable numbers of differentially expressed genes (DEGs), a DEG set that overlaps each other more than it overlaps unrelated genotypes, and agreeing fold-change directions. The PI's observation that "the RNA-seq comparing cax2-2 and cax2-3 is very different" is therefore a red flag worth quantifying before deciding whether to retain cax2-3.

Data & method

Released tables only (all in this repo):

Caveat. These tables are from the V11 era โ€” before the final 60-sample correction โ€” so they describe cax2-3 as flagged. That is exactly the state under evaluation. Two independent thresholds (jVenn export vs padj/log2FC) give the same qualitative picture.

Results

1. cax2-3 has a grossly inflated DEG set

Genotype Root DEGs Shoot DEGs
Col-0 767 650
cax2-2 473 174
cax2-3 4 539 2 980
rbohD 619 376

cax2-3's flight-responsive DEG set is 9.6ร— (root) / 17.1ร— (shoot) the size of its sibling allele cax2-2 โ€” and larger than every other genotype, including wild type. Independently thresholding the cax2-3 full contrast tables gives 1 280 root / 1 670 shoot DEGs (still 4โ€“7ร— cax2-2's 324 / 230). See figC1_cax2_deg_set_sizes.png.

2. The two alleles are NOT each other's closest match

Pairwise DEG-set Jaccard (figC2_cax2_jaccard.png):

Pair Root J Shoot J
cax2-2 โ†” cax2-3 (same gene!) 0.069 0.045
cax2-2 โ†” Col-0 0.082 0.072
cax2-2 โ†” rbohD 0.072 0.118
Col-0 โ†” rbohD 0.331 0.236

cax2-2 overlaps its supposed sibling allele no better than โ€” in shoot, less than half as well as โ€” it overlaps the unrelated genotypes. (Jaccard is deflated by the size asymmetry; the size-robust overlap coefficient |cax2-2 โˆฉ cax2-3| / |cax2-2| is โ‰ˆ 0.67 root / 0.66 shoot โ€” see below.)

3. โ€ฆbut the small shared core is genuine

Of the genes DE in both alleles (216 root, 151 shoot โ€” i.e. ~2/3 of cax2-2's DEGs), fold-change direction agrees 97.2% (root) / 96.7% (shoot). So a real, directionally consistent CAX2 signal exists โ€” it is simply buried under a ~10โ€“17ร— excess of cax2-3-unique DEGs that no other genotype shares.

Interpretation

The pattern โ€” a small, high-confidence, direction-concordant shared core plus a massive, non-preferential, cax2-3-exclusive DEG excess โ€” is the signature of one allele's libraries carrying large technical / background variance on top of the true genotype signal, not of a genuine biological divergence between two alleles of one gene. It is fully consistent with the independently documented adjacent-well labelling anomaly (docs/PROVENANCE_cax23_mislabelling.md): cax2-3 sat beside cax2-2 on the plate, and its DEG set-membership is what the original "CAX23oddity" QC screen flagged.

Re-verification on the CORRECTED matrix (2026-07-09)

When the fixed all-genotype count matrix (run1 v2.2 fix2) became available, the concordance was re-tested with fresh DESeq2 on the corrected data (analysis/ml/apex05_deseq2_flight.py โ†’ apex05_cax2_concordance_fixed.py, Fig. F1) rather than relying on the pre-fix tables. The result is unchanged and in fact stronger:

Tissue Col-0 DEG cax2-2 DEG cax2-3 DEG cax2-3 / cax2-2
Root 284 5 518 104ร—
Shoot 168 3 265 88ร—

cax2-3 still has a grossly inflated DEG set and near-zero preferential overlap with cax2-2 (Jaccard โ‰ค 0.002), and a QC PCA shows a cax2-3 outlier library. The exclusion stands on corrected data.

New finding (corrected data): cax2-2 has a strongly attenuated flight response. On the fixed matrix cax2-2 shows only 5 root / 3 shoot DEGs (15/4 even at a relaxed 1.5-fold, padj<0.1 threshold) vs Col-0's 284/168, and its FL-vs-GC PCA centroid separation is ~5ร— smaller than Col-0's (7.9 vs 39.9 root). This is a genuine biological signal (clean tissue structure, no cax2-2 outliers), not the technical inflation seen in cax2-3 โ€” consistent with CAX2 being required for the normal spaceflight transcriptional response. Note this differs sharply from the legacy edgeR workbook counts (cax2-2 ~323 DEGs); the corrected DESeq2 on the fixed matrix supersedes those. See results/ml/qc_summary.json, results/tables/deseq2/.

Decision (recorded 2026-07-09)

cax2-3 is excluded from the APEX-05 primary analysis; cax2-2 is reported as the CAX2 representative. This concordance analysis is retained as the QC justification.

Implementation:

If the decision is revisited: option (2) โ€” restricting cax2-3 to its cax2-2-concordant core (~216 root / 151 shoot genes, 97% direction-agreeing) โ€” remains available and can be reinstated from the retained files.

Concordant-core variant (the high-confidence CAX2 signature)

As a conservative alternative to full exclusion, we also extracted the CAX2 concordant core: genes differentially expressed under spaceflight in both alleles with agreeing fold-change direction. This is the part of the cax2-3 signal that cax2-2 corroborates โ€” the defensible CAX2 flight signature.

Analysis: analysis/ml/apex05_cax2_concordant_core.py Outputs: results/tables/apex05_cax2_concordant-core_{root,shoot,combined}.csv, results/ml/figC3_cax2_concordant_core.png, results/ml/cax2_concordant_core_summary.json

Direction handling is explicit, not assumed: cax2-2's flight fold-change comes from its workbook's labelled baseMeanA_FL / baseMeanB_GC columns (log2 FL/GC), and cax2-3's orientation is resolved empirically against cax2-2 โ€” it came out flipped (cax2-3's raw log2FoldChange is log2 GC/FL).

Tissue shared DEGs concordant core up in flight down direction agreement
Root 216 210 203 7 97%
Shoot 151 146 144 2 97%

Two features stand out: the core is overwhelmingly flight-induced (โ‰ˆ97% up) and entirely tissue-partitioned (0 loci shared between the root and shoot cores). cax2-3's fold-changes are systematically larger than cax2-2's (points above the identity line in Fig. C3) โ€” the same inflation seen at the set level โ€” but their direction agrees, which is why this core is trustworthy. Example core genes include LHB1B1 (light harvesting), WRKY51, AP2, MC3 (metacaspase) and an invertase.

This core is released as a supplementary table and can serve as the CAX2 flight signature in place of the discarded genotype-level cax2-3 analysis.

Functional enrichment of the core

Over-representation analysis (analysis/ml/apex05_cax2_core_enrichment.py; g:Profiler, g:SCS-corrected p < 0.05, background = tissue-specific tested genes; Fig. C4) shows the tissues respond through distinct programmes:

Core Top enriched biology Example term (adj p)
Root (92 terms) photosynthesis / thylakoid / chloroplast GO:CC thylakoid (9ร—10โปโตโธ); photosynthesis; photosystem I
Shoot (32 terms) cell-wall organisation; phenylpropanoid biosynthesis; peroxidase / Hโ‚‚Oโ‚‚ catabolism plant-type cell wall organisation (1ร—10โปยนโฐ); KEGG phenylpropanoid biosynthesis; lactoperoxidase activity

The shoot core's peroxidase / hydrogen-peroxide terms connect the CAX2 flight response to the same ROS axis probed by rbohD. Full term lists: results/tables/apex05_cax2_core_enrichment_{root,shoot,all}.csv.