10x Chromium Single Cell 3' Gene Expression

The 10 Chromium Single Cell 3' Gene Expression kit keeps evolving. There are multiple versions of the kit based on slightly different chemistries. The original v1 chemistry was published by Zheng et al., 2017 in Nature Communications. It is discontinued now. You can check this page to see how it worked.

The v2 chemistry was developed soon after the v1. It immediately became very popular and was widely used in the community. In this page, the v2 chemistry is shown. The oligo sequence information is taken from The 10x Genomics Technical Note. You can find out all the v2 cell barcodes (16 bp) here: 737K-august-2016.txt.gz. This file is copied from Cell Ranger (using Cell Ranger v2.1.0 as an example) /path/to/cellranger-2.1.0/cellranger-cs/2.1.0/tenkit/lib/python/tenkit/barcodes. The v2 chemistry is also discontinued now.

In 2018, the v3 and v3.1 chemistries were released. The new chemistries gave better sensitivity (detects more genes) comparing to v2. In addition, the oligo beads are modified to support feature barcoding. In terms of the 3' gene expression library preparation, there are only a few nucleotide differences for some oligos. The final library structure is exactly the same, except that the UMI is 10-bp long in v2 but 12-bp in v3 and v3.1. The cell barcodes whitelist for the v3 and v3.1 chemistries are the same, and it can be found here: 3M-february-2018.txt.gz. This file is copied from the Cell Ranger software (using Cell Ranger v3.1.0 as an example): cellranger-3.1.0/cellranger-cs/3.1.0/lib/python/cellranger/barcodes/3M-february-2018.txt.gz.

Around 2023-2024, the v4 chemistry was introduced. It has some further improvements over the previous versions. The v4 chemistry has better cell recovery and sensitivity (number of detected genes per cell) compared to v3 and v3.1. See their product sheet for a more detailed overview. The cell barcodes have changed again in the v4 chemistry, and the file with all 16-bp cell barcodes can be found here: 3M-3pgex-may-2023.txt.gz. This file is copied from Cell Ranger (using Cell Ranger v8.0.1 as an example) /path/to/cellranger-8.0.1/lib/python/cellranger/barcodes/. The library structure of v4 is exactly the same as v3 and v3.1.

In this page, oligo sequences are provided for all chemistries if they are different. Only the v2 library preparation is drawn here.


Adapter and primer sequences:

Beads-oligo-dT:


                    V2: |--5'- CTACACGACGCTCTTCCGATCT[16-bp cell barcode][10-bp UMI](T)30VN -3'

          V3, V3.1, V4: |--5'- CTACACGACGCTCTTCCGATCT[16-bp cell barcode][12-bp UMI](T)30VN -3'

Template Switching Oligo (TSO): 5'- AAGCAGTGGTATCAACGCAGAGTACATrGrGrG -3'

cDNA Forward primer: 5'- CTACACGACGCTCTTCCGATCT -3'

cDNA Reverse primer:


                    V2: 5'- AAGCAGTGGTATCAACGCAGAGTACAT -3'

          V3, V3.1, V4: 5'- AAGCAGTGGTATCAACGCAGAG -3'

Illumina TruSeq Read 1 primer: 5'- ACACTCTTTCCCTACACGACGCTCTTCCGATCT -3'

Illumina TruSeq Read 2 primer: 5'- GTGACTGGAGTTCAGACGTGTGCTCTTCCGATCT -3'

Truseq adapter (double stranded DNA with a T overhang):


                  V2: 5'-  GATCGGAAGAGCACACGTCTGAACTCCAGTCAC -3'
                      3'- TCTAGCCTTCTCG -5'

        V3, V3.1, V4: 5'-  GATCGGAAGAGCACACGTCTGAACTCCAGTCA -3'
                      3'- TCTAGCCTTCTCG -5'

Library PCR primer 1: 5'- AATGATACGGCGACCACCGAGATCTACACTCTTTCCCTACACGACGCTC -3'

Library PCR primer 2: 5'- CAAGCAGAAGACGGCATACGAGAT[8-bp sample index]GTGACTGGAGTTCAGACGTGT -3'

Sample index sequencing primer: 5'- GATCGGAAGAGCACACGTCTGAACTCCAGTCAC -3'

Illumina P5 adapter: 5'- AATGATACGGCGACCACCGAGATCTACAC -3'

Illumina P7 adapter: 5'- CAAGCAGAAGACGGCATACGAGAT -3'


Step-by-step library generation

(1) mRNA capture using Beads-oligo-dT in the droplets, and reverse transcription using MMLV:


|--5'- CTACACGACGCTCTTCCGATCT[16-bp cell barcode][10-bp UMI](T)30VN-------->
                                                            (A)30BXXXXXXXXXXXXXXXXXXXXX -5'

(2) The terminal tranferase acitivity of MMLV adds extra Cs:


|--5'- CTACACGACGCTCTTCCGATCT[16-bp cell barcode][10-bp UMI](dT)VXXXXXXXXX...XXXXXXXXXCCC -3'
                                                            (pA)BXXXXXXXXX...XXXXXXXXX    -5'

(3) Adding TSO for second strand synthesis:


|--5'- CTACACGACGCTCTTCCGATCT[16-bp cell barcode][10-bp UMI](dT)VXXXXXXXXX...XXXXXXXXXCCC------->
                                                   <--------(pA)BXXXXXXXXX...XXXXXXXXXGGGTACATGAGACGCAACTATGGTGACGAA    -5'

(4) Adding cDNA Forward and Reverse primers to amplify full length cDNA:


   5'- CTACACGACGCTCTTCCGATCT-------->
|--5'- CTACACGACGCTCTTCCGATCT[16-bp cell barcode][10-bp UMI](dT)VXXXXXXXXX...XXXXXXXXXCCCATGTACTCTGCGTTGATACCACTGCTT -3'
   3'- GATGTGCTGCGAGAAGGCTAGA[16-bp cell barcode][10-bp UMI](pA)BXXXXXXXXX...XXXXXXXXXGGGTACATGAGACGCAACTATGGTGACGAA -5'
                                                                                <--------TACATGAGACGCAACTATGGTGACGAA -5'

(5) Use Fragmentase to fragment cDNA and perform A-tailing:


Product 1 (TSO plus 5'-end of cDNA):


5'-   AAGCAGTGGTATCAACGCAGAGTACATGGGXXXXXXXXXXXXXXXXXX...XXXXXXXXXXXXXXXXXX*A -3'
3'- A*TTCGTCACCATAGTTGCGTCTCATGTACCCXXXXXXXXXXXXXXXXXX...XXXXXXXXXXXXXXXXXX   -5'


Product 2 (middle of cDNA):


5'-   XXXXXXXXXXXXXXXXXXXXXXXXX...XXXXXXXXXXXXXXXXXXXXXXXXX*A -3'
3'- A*XXXXXXXXXXXXXXXXXXXXXXXXX...XXXXXXXXXXXXXXXXXXXXXXXXX   -5'


Product 3 (Illumina Read 1 sequence, cell barcode, UMI plus 3' of cDNA):


5'-   CTACACGACGCTCTTCCGATCT[16-bp cell barcode][10-bp UMI](dT)VXXXXXXXXX...XXXXXXXXX*A -3'
3'- A*GATGTGCTGCGAGAAGGCTAGA[16-bp cell barcode][10-bp UMI](pA)BXXXXXXXXX...XXXXXXXXX   -5'


(6) Add double stranded Illumina Truseq adapter (with a T overhang) for ligation:


Product 1 (I assume the 5' end of TSO is blocked, so the adapter can only be ligated to the cDNA end.
This product is not amplifiable due to the use of the specific primers for amplification, see the next step):


5'-   AAGCAGTGGTATCAACGCAGAGTACATGGGXXXXXXXXXXXXXXXXXX...XXXXXXXXXXXXXXXXXXAGATCGGAAGAGCACACGTCTGAACTCCAGTCAC -3'
3'- A*TTCGTCACCATAGTTGCGTCTCATGTACCCXXXXXXXXXXXXXXXXXX...XXXXXXXXXXXXXXXXXXTCTAGCCTTCTCG -5'


Product 2 (will not amplify efficiently due to semi-suppressive PCR??? not really sure about this):


5'-                      GCTCTTCCGATCTXXXXXXXXXXXXXXXXXXXX...XXXXXXXXXXXXXXXXXXXXAGATCGGAAGAGCACACGTCTGAACTCCAGTCAC -3'
3'- CACTGACCTCAAGTCTGCACACGAGAAGGCTAGAXXXXXXXXXXXXXXXXXXXX...XXXXXXXXXXXXXXXXXXXXTCTAGCCTTCTCG -5'


Product 3 (I assume the 5' end of Illumina Read1 Primer is blocked, so the adapter can only be ligated
to the cDNA end. This is the only ampliable fragment):


5'-   CTACACGACGCTCTTCCGATCT[16-bp cell barcode][10-bp UMI](dT)VXXX...XXXAGATCGGAAGAGCACACGTCTGAACTCCAGTCAC -3'
3'- A*GATGTGCTGCGAGAAGGCTAGA[16-bp cell barcode][10-bp UMI](pA)BXXX...XXXTCTAGCCTTCTCG -5'



(7) Add Library PCR Primers 1 & 2 to amplify library:


5'-  AATGATACGGCGACCACCGAGATCTACACTCTTTCCCTACACGACGCTC--------->
                                   5'-   CTACACGACGCTCTTCCGATCT[16-bp cell barcode][10-bp UMI](dT)VXXX...XXXAGATCGGAAGAGCACACGTCTGAACTCCAGTCAC -3'
                                   3'- A*GATGTGCTGCGAGAAGGCTAGA[16-bp cell barcode][10-bp UMI](pA)BXXX...XXXTCTAGCCTTCTCG                      -5'
                                                                                                             <-----------TGTGCAGACTTGAGGTCAGTG[8-bp sample index]TAGAGCATACGGCAGAAGACGAAC -5'

(8) Final library structure:

V2 library:


5'- AATGATACGGCGACCACCGAGATCTACACTCTTTCCCTACACGACGCTCTTCCGATCTNNNNNNNNNNNNNNNNNNNNNNNNNN(dT)VXXX...XXXAGATCGGAAGAGCACACGTCTGAACTCCAGTCACNNNNNNNNATCTCGTATGCCGTCTTCTGCTTG -3'
3'- TTACTATGCCGCTGGTGGCTCTAGATGTGAGAAAGGGATGTGCTGCGAGAAGGCTAGANNNNNNNNNNNNNNNNNNNNNNNNNN(pA)BXXX...XXXTCTAGCCTTCTCGTGTGCAGACTTGAGGTCAGTGNNNNNNNNTAGAGCATACGGCAGAAGACGAAC -5'
          Illumina P5                   Truseq Read 1               16 bp       10 bp          cDNA          Truseq Read 2                8 bp        Illumina P7
                                                                cell barcode     UMI                                                  Sample Index

V3, V3.1 & V4 library:


5'- AATGATACGGCGACCACCGAGATCTACACTCTTTCCCTACACGACGCTCTTCCGATCTNNNNNNNNNNNNNNNNNNNNNNNNNNNN(dT)VXXX...XXXAGATCGGAAGAGCACACGTCTGAACTCCAGTCACNNNNNNNNATCTCGTATGCCGTCTTCTGCTTG -3'
3'- TTACTATGCCGCTGGTGGCTCTAGATGTGAGAAAGGGATGTGCTGCGAGAAGGCTAGANNNNNNNNNNNNNNNNNNNNNNNNNNNN(pA)BXXX...XXXTCTAGCCTTCTCGTGTGCAGACTTGAGGTCAGTGNNNNNNNNTAGAGCATACGGCAGAAGACGAAC -5'
          Illumina P5                   Truseq Read 1               16 bp         12 bp          cDNA          Truseq Read 2                8 bp        Illumina P7
                                                                cell barcode       UMI                                                  Sample Index


Library sequencing:

(1) Add Truseq Read 1 primer to sequence the first read (bottom strand as template, sequence 16-bp cell barcode and 10-bp UMI, 26 cycles for V2, 28 cycles for V3, V3.1 & V4):


                         5'- ACACTCTTTCCCTACACGACGCTCTTCCGATCT------------------------->
3'- TTACTATGCCGCTGGTGGCTCTAGATGTGAGAAAGGGATGTGCTGCGAGAAGGCTAGANNNNNNNNNNNNNNNNNNNNNNNNNN(pA)BXXX...XXXTCTAGCCTTCTCGTGTGCAGACTTGAGGTCAGTGNNNNNNNNTAGAGCATACGGCAGAAGACGAAC -5'

(2) Add Sample Index sequencing primer to sequence the sample index (bottom strand as template):


                                                                                                   5'- GATCGGAAGAGCACACGTCTGAACTCCAGTCAC------->
3'- TTACTATGCCGCTGGTGGCTCTAGATGTGAGAAAGGGATGTGCTGCGAGAAGGCTAGANNNNNNNNNNNNNNNNNNNNNNNNNN(pA)BXXX...XXXTCTAGCCTTCTCGTGTGCAGACTTGAGGTCAGTGNNNNNNNNTAGAGCATACGGCAGAAGACGAAC -5'

(3) Cluster regeneration, add Truseq Read 2 primer to sequence the second read (top strand as template, sequence cDNA, 98 cycles):


5'- AATGATACGGCGACCACCGAGATCTACACTCTTTCCCTACACGACGCTCTTCCGATCTNNNNNNNNNNNNNNNNNNNNNNNNNN(dT)VXXX...XXXAGATCGGAAGAGCACACGTCTGAACTCCAGTCACNNNNNNNNATCTCGTATGCCGTCTTCTGCTTG -3'
                                                                                                <-----TCTAGCCTTCTCGTGTGCAGACTTGAGGTCAGTG -5'