Cell Ranger7.1, printed on 11/05/2024
The cellranger mkfastq pipeline is the preferred option for converting BCLs to Cell Ranger FASTQs. You can also use Illumina bcl2fastq directly to generate FASTQs. Choose this method if bcl2fastq is tightly integrated into your sequencing workflow or if you want more control over demultiplexing parameters.
Demultiplexing Chromium data with Illumina bcl2fastq requires the correct specification of the sample sheet and command-line options. This guide will walk you through what you'll need to generate Cell Ranger-compatible FASTQs.
This section describes how to configure bcl2fastq for libraries created with the Dual Index Plate TT, Set A or Dual Index Plate NT, Set A.
These are "unique dual-indexing" sample indexes. This means there is a unique sample index barcode in both the i7
and i5
index reads (also known as I1
and I2
). When demultiplexing flow cells where both index reads have been sequenced, bcl2fastq requires that both index sequences match the expected sequence for a read to be assigned to that sample. This solves the "index hopping" issue present on Illumina patterned flow cell sequencers.
You can download the Sample Index Reference files for dual indexing kits here:
The index
sequence in the sample index reference file should be entered into the index
column of the bcl2fastq sample sheet.
Either the index2_workflow_a
or index2_workflow_b
sequence should be entered into the index2
column of the bcl2fastq
sample sheet, depending
on the sequencing instrument in use.
index2_workflow_a
: NovaSeq™ 6000 v1, MiSeq™, MiniSeq™ with Rapid Reagent Kits, HiSeq™ 2500, and HiSeq™ 2000.index2_workflow_b
: NovaSeq™ 6000 v1.5, iSeq™ 100, MiniSeq™ with Standard Reagent Kits, NextSeq™, HiSeq™ X, and HiSeq™ 3000/4000.More information about dual-indexing is available in the Illumina Indexed Sequencing Overview Guide.
The Illumina Experiment Manager can also be used to create sample sheets for use with bcl2fastq.
When you plan an experiment, you should know the name of the sample index set used for each sample, which comes from the reagent kit (such as "SI-TT-A2"). For each sample, enter its lane, sample name, and sample index set into the Illumina bcl2fastq sample sheet. Here is a bcl2fastq sample sheet for a HiSeq 2500:
[Header] EMFileVersion,4 [Reads] 28 90 [Data] Lane,Sample_ID,Sample_Name,index,index2,Sample_Project,Original_Sample_ID 1,test_sample,test_sample,TGGTCCCAAG,CCTCTGGCGT,H5T2YBCX3,test_sample
This section describes how to configure bcl2fastq for libraries created with the Single Index Kit T Set A.
You will need to create a sample sheet in order to get bcl2fastq to correctly embed the names of samples into output FASTQ files. There is a key difference to keep in mind when creating sample sheets for a Chromium run. Each Chromium sample index set is actually a blend of four different sequence oligos, and each oligo must be represented as a separate row in the sample sheet. This means that for every sample being demultiplexed from the flow cell, there should be four lines in the sample sheet.
The tool below will help you accurately generate data lines for your sample sheet. When you plan an experiment, you should know the name of the sample index set used for each sample, which comes from the reagent kit (such as "SI-P01-A2"). For each sample, enter its lane, sample name, and sample index set below, and then press "Add". When you're done, you can either copy/paste the comma-separated output directly into a text editor to create a sample sheet CSV, or copy/paste the tab-separated output into a spreadsheet such as Microsoft Excel.
Please note that the default R1/R2 lengths differ between the v2 and v3 chemistries:
If you are just running a single sample in a lane, then you can have a single line with the index blank, though bcl2fastq will include reads associated with any sample index.
Illumina bcl2fastq must be called with the correct --use-bases-mask
argument and other arguments in order to properly demultiplex and output FASTQs for all the reads in a Chromium library.
In the examples below, ${FLOWCELL_DIR}
is the directory that contains a flow cell's Data folder, ${OUTPUT_DIR}
is the directory that you want to output FASTQs to, and
${SAMPLE_SHEET_PATH}
is the path to the sample sheet CSV you created.
bcl2fastq2 Version 2.20
This is the most common case, for sequencers running RTA 1.18.54 and higher.
$ bcl2fastq --use-bases-mask=Y26,I8,Y98 \ --create-fastq-for-index-reads \ --minimum-trimmed-read-length=8 \ --mask-short-adapter-reads=8 \ --ignore-missing-positions \ --ignore-missing-controls \ --ignore-missing-filter \ --ignore-missing-bcls \ -r 6 -w 6 \ -R ${FLOWCELL_DIR} \ --output-dir=${OUTPUT_DIR} \ --interop-dir=${INTEROP_DIR} \ --sample-sheet=${SAMPLE_SHEET_PATH}
In both cases, if you want to limit bcl2fastq to a subset of lanes, you will need to supply values to the --tiles
argument.
If you add extra bases to a sample index read, you will need to account for this in the
--use-bases-mask
argument. For example, if you ran a sample index read with 9 bases, you will need to truncate the last base in order for Cell Ranger to run correctly.
You can exclude a single base by adding a single n
character to the read argument, or adding n*
to exclude all bases after a certain position. See below:
Read | Desired | Actual | Argument |
---|---|---|---|
i7 Index Read (I1) | 8 | 9 | I8n |
After generating FASTQs, follow the instructions on the Specifying Input FASTQ page.