Cell Ranger7.0, printed on 12/21/2024
The cellranger pipeline outputs an HDF5 file containing per-molecule information for all molecules that contain a valid barcode, a valid UMI, and were assigned with high confidence to a gene or Feature Barcode. This HDF5 file contains data corresponding to the observed molecules, as well as data about the libraries and feature set(s) used (general information about the HDF5 file format available here). This file is called molecule_info.h5
in cellranger count and sample_molecule_info.h5
in cellranger multi outputs.
(root) ├─ barcode_idx ├─ barcode_info [HDF5 group] │ ├─ genomes │ └─ pass_filter ├─ barcodes ├─ count ├─ feature_idx ├─ features [HDF5 group] │ ├─ _all_tag_keys │ ├─ target_sets [for Targeted Gene Expression or Fixed RNA Profiling] │ │ └─ [target set name] │ ├─ feature_type │ ├─ genome │ ├─ id │ ├─ name │ ├─ pattern [Feature Barcode only] │ ├─ read [Feature Barcode only] │ └─ sequence [Feature Barcode only] ├─ gem_group ├─ library_idx ├─ library_info ├─ metrics_json [HDF5 dataset; see below] ├─ umi └─ umi_type
You can examine the contents of the H5 file using software such as HDFView or the h5dump command, as demonstrated below to show the file contents of the entire H5 object:
h5dump -n molecule_info.h5
HDF5 "molecule_info.h5" { FILE_CONTENTS { group / dataset /barcode_idx group /barcode_info dataset /barcode_info/genomes dataset /barcode_info/pass_filter dataset /barcodes dataset /count dataset /feature_idx group /features dataset /features/_all_tag_keys dataset /features/feature_type dataset /features/genome dataset /features/id dataset /features/name dataset /gem_group dataset /library_idx dataset /library_info dataset /metrics_json dataset /umi dataset /umi_type } }
The following HDF5 datasets in the molecule info file correspond to columns of a table. Each row of that table corresponds to a unique (UMI, cell-barcode, feature) tuple indicating the feature best supported by the reads (i.e., including PCR duplicates) assigned to that UMI and cell-barcode.
Column | Type | Description |
---|---|---|
barcode_idx | uint64 | A zero-based index into the barcodes dataset (see next section), indicating the cell-barcode assigned to this putative molecule. |
count | uint32 | Number of reads associated with this putative molecule that were confidently mapped to the assigned feature. |
feature_idx | uint32 | A zero-based index into the feature list (see next section), indicating the feature to which this putative molecule was assigned. |
gem_group | uint16 | Integer label that distinguishes data coming from distinct 10x Genomics GEM reactions (such as different channels or chips). |
library_idx | uint16 | A zero-based index into the library_info array (see next section) that distinguishes data coming from distinct 10x Genomics libraries (for example, gene expression and Feature Barcode). There may be multiple libraries associated with a single GEM well. |
umi | uint32 | 2-bit encoded (see note below) processed (i.e. corrected) UMI sequence. |
umi_type | uint32 | A boolean array specifying whether the molecule aligned to an exonic (1) or intronic (0) region of the associated feature. |
In addition, the molecule info file has datasets corresponding to information about the libraries, barcodes, and feature set(s) that were used in the analysis, as described below.
The barcodes
, library_info
, and metrics_json
datasets contain information about the experiments contained in this analysis:
Dataset | Type | Description |
---|---|---|
barcodes | string | A list of all barcodes that had at least 1 read in this experiment. The barcode_idx column described in the previous section contains indices into this list of barcodes. To distinguish between identical cell-barcode sequences observed in different GEM reactions, the GEM well is appended to the end of the cell-barcode sequence (e.g., AAACCCAAGGAGAGTA-1 ). |
library_info | string | A JSON-formatted array of objects, where each object contains metadata for a single library. Each library will at a minimum contain the metadata library_id , library_type , and gem_group |
metrics_json | string | Pipeline metrics in JSON format that are used internally by Cell Ranger (more detail on the metrics pages). |
The HDF5 group barcode_info
contains information regarding the barcodes that were called as cells during the analysis. This HDF5 group contains:
Dataset | Type | Description |
---|---|---|
genomes | string | A list of all genome references used for gene expression libraries in this analysis. |
pass_filter | uint64 | A matrix with three columns that contains one row per passing cell-barcode. Each row is a tuple (barcode_idx, library_idx, genome_idx) , where genome_idx is an index into the genomes dataset. For Feature Barcode libraries, genome_idx will correspond to the genome reference used for the gene expression data from the specified cell-barcode. |
The HDF5 group features
contains information regarding the feature reference(s) used for the analysis. The datasets within the features
group represent columns in a table containing one row per feature. Values in the feature_idx
column described in the previous section provide indices into the rows of this hypothetical table.
In addition to the columns described below, user-specified tags may also be present. The dataset _all_tag_keys
contains a list of user-specified tags as well as built-in tags (genome
, pattern
, read
, and/or sequence
).
Column | Type | Description |
---|---|---|
feature_type | string | The type of feature reference to which this feature belongs (Gene Expression, CRISPR Guide Capture, Antibody Capture, or Custom). |
genome | string | The genome reference for a given feature (e.g., "GRCh38" or "mm10"). For non-gene expression features, this entry is an empty string. |
id | string | The unique id corresponding to this feature (for example, an Ensembl gene ID). |
name | string | A human-readable name associated with this feature (for example, the common name associated with a gene). |
pattern | string | [Feature Barcode only] Specifies how to extract the Feature Barcode sequence from the read. |
read | string | [Feature Barcode only] Specifies which RNA sequencing read ("R1" or "R2") contains the Feature Barcode. |
sequence | string | [Feature Barcode only] Feature-barcode sequence associated with this feature (e.g., a sgRNA protospacer sequence). |
The features
group also contains an HDF5 group target_sets
used for Targeted Gene Expression or Fixed RNA Profiling samples. When a target gene panel is present, indices of the target genes are stored inside target_sets
, in an HDF5 dataset named after the target gene panel (e.g., "Human Gene Signature", "Chromium Human Transcriptome Probe Set").
The UMI sequences are 2-bit encoded as follows:
Note that the cell-barcode sequences do not have this encoding. Instead, they are stored as plain strings in the library_info
HDF5 group.