Software  ›   pipelines
If your question is not answered here, please email us at:  ${}

10x Genomics
Visium Spatial Gene Expression

Demultiplexing FASTQs with bcl2fastq

spaceranger mkfastq is available for converting BCLs to Space Ranger-compatible 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 Visium 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 do to generate Space Ranger-compatible FASTQs.

Dual Indexing

Visium Spatial Gene Expression libraries include 'unique dual-indexing' sample indexes. This means that there is a unique sample index barcode in the both the i7 and i5 index reads (also known as I1 and I2). When demultiplexing flowcells 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 flowcell sequencers.

Sample Sheet Creation

Visium Spatial Gene Expression for fresh frozen tissues uses a different dual index set than Visium Spatial Gene Expression for FFPE.

Fresh Frozen: download Dual Index Plate TT, Set A here: CSV | JSON

FFPE: download Dual Index Plate TS, Set A here: CSV | JSON

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.

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.

Example 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-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:


[Reads] 28 120

[Data] Lane,Sample_ID,Sample_Name,index,index2,Sample_Project,Original_Sample_ID 1,test_sample,test_sample,TGGTCCCAAG,CCTCTGGCGT,H5T2YBCX3,test_sample

Running bcl2fastq

In the examples below, ${FLOWCELL_DIR} is the directory that contains a flowcell'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.

bcl2fastq Version 2.17 or higher

$ bcl2fastq  \
  --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 \
  --output-dir=${OUTPUT_DIR} \
  --interop-dir=${INTEROP_DIR} \

Running Space Ranger with bcl2fastq FASTQs

After generating FASTQs, follow the Single Sample Analysis documentation. You will pass the value in the Sample_Name column of the sample sheet to --sample argument to spaceranger count. The value of the --fastqs argument should be ${OUTPUT_DIR}/${PROJECT_NAME} where ${OUTPUT_DIR} is as defined above and ${PROJECT_NAME} is the value in the Sample_Project column in the sample sheet.