simpleaf 0.25.0's 10x-flexv2-gex-3p works only for sequencing Configuration A (R1=54 / R2=50). 10x explicitly supports an interchangeable Configuration B (R1=28 / R2=90) for the same v2 library (Sequencing Requirements for Flex Gene Expression). Config B has no preset.
The full library construct on page 119 of CG000834 v2 User Guide is:
5'-…-N16-N12-N(0,3)-TTGCTAGGACCG-BC10-AACCGCGTATTCAGGTTTTCTTATATGGG-Probe_insert-…-3'
In Config B, R2 (90 bp) reads the antisense strand from the probe end. After RC, the layout is:
| R2 position |
Length |
Source (sense) |
What R2 reads |
| 1-50 |
50 bp |
Probe insert |
RC of probe (mappable) |
| 51-79 |
29 bp |
AACCGCGTATTCAGGTTTTCTTATATGGG |
CCCATATAAGAAAACCTGAATACGCGGTT |
| 80-89 |
10 bp |
BC10 (= RC of canonical) |
canonical sample BC (RC of RC) |
| 90 |
1 bp |
start of TTGCTAGGACCG |
C (truncated) |
sample_bc_ori flips from "reverse" (Config A) to "forward" (Config B) because R2 reads the opposite strand to R1.
Proposed preset
"10x-flexv2-gex-3p-config-b": {
"geometry": "1{b[16]u[12]x:}2{r[50]f[CCCATATAAGAAAACCTGAATACGCGGTT]s[10]x:}",
"expected_ori": "both",
"sample_bc_list": { "sample_bc_ori": "forward", /* rest identical to v2 */ },
/* plist_name, remote_url, probe_sets, meta — all identical to 10x-flexv2-gex-3p */
}
All assets (cell BC whitelist, sample BC TSV, probe sets) are byte-identical to 10x-flexv2-gex-3p; only geometry and sample_bc_ori differ.
Empirical validation (mouse Flex v2, Config B, 466 M read pairs, 3 of 384 sample wells)
| R2 region |
Conservation across 100 k reads |
Match to 10x doc |
| pos 51-79 — 29 bp constant |
each position >97.8% conserved → consensus CCCATATAAGAAAACCTGAATACGCGGTT |
exact RC of doc's AACCGCGTATTCAGGTTTTCTTATATGGG ✓ |
| pos 80-89 — sample BC |
canonical ACGTACGGGA / CTACTTTCGT / ACAGATTGAG found in 96.8% of reads |
forward orientation, 0 hits in RC ✓ |
| pos 90 |
96.3% C |
first base of CGGTCCTAGCAA (RC of R1 anchor) ✓ |
The Config A v2 preset on this data produces 174 sample-BC matches (noise floor) because of the orientation mismatch; happy to share validation runs once a Config B preset exists.
Related
Happy to PR against simpleaf-resources once naming is chosen (-config-b, -r1-28, etc).
simpleaf 0.25.0's
10x-flexv2-gex-3pworks only for sequencing Configuration A (R1=54 / R2=50). 10x explicitly supports an interchangeable Configuration B (R1=28 / R2=90) for the same v2 library (Sequencing Requirements for Flex Gene Expression). Config B has no preset.The full library construct on page 119 of CG000834 v2 User Guide is:
In Config B, R2 (90 bp) reads the antisense strand from the probe end. After RC, the layout is:
AACCGCGTATTCAGGTTTTCTTATATGGGCCCATATAAGAAAACCTGAATACGCGGTTTTGCTAGGACCGC(truncated)sample_bc_oriflips from"reverse"(Config A) to"forward"(Config B) because R2 reads the opposite strand to R1.Proposed preset
All assets (cell BC whitelist, sample BC TSV, probe sets) are byte-identical to
10x-flexv2-gex-3p; onlygeometryandsample_bc_oridiffer.Empirical validation (mouse Flex v2, Config B, 466 M read pairs, 3 of 384 sample wells)
CCCATATAAGAAAACCTGAATACGCGGTTAACCGCGTATTCAGGTTTTCTTATATGGG✓ACGTACGGGA/CTACTTTCGT/ACAGATTGAGfound in 96.8% of readsCCGGTCCTAGCAA(RC of R1 anchor) ✓The Config A v2 preset on this data produces 174 sample-BC matches (noise floor) because of the orientation mismatch; happy to share validation runs once a Config B preset exists.
Related
Happy to PR against
simpleaf-resourcesonce naming is chosen (-config-b,-r1-28, etc).