I have a set of scRNA-seq samples enriched with FACS for cells expressing a specific gene reporter (TdTomato). In particular the gene I want to report has positive counts in the resulting matrix for 97% of cells.

I followed CellRanger documentation to create a custom reference. I added TdTomato on an additional chromosome and I added an entry in the gtf:

TdTomato    .   exon    1   1431    .   -   .   gene_id "TdTomato"; transcript_id "TdTomato"; gene_name "TdTomato"

The command I'm using is:

cellranger-2.1.1/cellranger mkref --genome=refdata-cellranger-mm10-2.1.0.tdtomato --fasta=genome.tdtomato.fa --genes=genes.tdtomato.gtf

where genome.tdtomato.fa is the original reference genome (mm10, as provided by cellranger) with an additional chromosome at the end with header:


and genes.tdtomato.gtf the original reference genome gtf with the additional line indicated previously at the end of the file.

I actually tried both on the '+' and on the '-' strand, however I guess this should not affect the read mapping, since TdTomato is on an independent chromosome.

I ran cellranger count using the custom reference:

cellranger-2.1.1/cellranger count --id="$s"_tt --transcriptome=refdata-cellranger-mm10-2.1.0.tdtomato --fastqs=original_fastqs_directory/"$s"/fastqs --sample="$s"

I am using the default parameters of CellRanger.

However, I found that less than 1% of cells seems to express TdTomato. If I use the '+' strand I get slightly more counts (2.4% of cells have positive TdTomato).

What I checked:

  • With IGV I can see that there are reads mapping to TdTomato
  • Using samtools I am able to see the same number of reads mapped on TdTom either with the + or - strand
  • However, following this documentation I noticed that by executing the CellRanger filtering steps, more reads are filtered in the case of the - strand

This reduces the number of reads used for counts to 44 (2.4% of the original 1807 reads, - strand), 240 (13.3%, + strand) for TdTomato, 71620 (21.2%) for the gene reported by TdTomato. Interestingly, there are fewer reads for TdTom than counts, so there may be some kind of normalization afterwards?

The gene reported by TdTomato is longer, 11394 bp than TdTom, 1431 bp. The total length of the exons for the two genes is 5349 vs TdTom: 1431. Does this influence exponentially the amount of reads mapped to the two genes?

  • $\begingroup$ Did you check the bam file for reads mapping to TdTomato? If you believe it is a mapping issue you can always run HTseq count on the cell ranger bamfile. It would help if you add the actual input command for cellranger mkref and cellranger count to trouble shoot your problem $\endgroup$
    – Mack123456
    Commented Jun 29, 2018 at 15:51
  • $\begingroup$ As an alternative you can make a reference for an alternative mapper such as bwa or STAR, count the mapped reads and see how this corresponds to the reads found in the cellranger bamfile. If there is a good correspondence you most likely did not enrich, or used the wrong sequence for your reference. $\endgroup$
    – Mack123456
    Commented Jun 29, 2018 at 16:00
  • $\begingroup$ The strand will not affect read mapping, but will affect read counting. How many TdT counts do you get with different strands? If the counts are similar, you are probably not capturing the real TdT. $\endgroup$
    – burger
    Commented Jun 29, 2018 at 16:10
  • $\begingroup$ @Mack123456 I've added the issued input command, thanks. I'll also look at the bam file with HTseq. $\endgroup$
    – gc5
    Commented Jun 29, 2018 at 16:32
  • $\begingroup$ @burger The count is similar, more or less 1% of cells with >0 counts and maximum of 2 or 3 counts. $\endgroup$
    – gc5
    Commented Jun 29, 2018 at 16:33

1 Answer 1


The first column of your GTF must correspond exactly to the name of the sequence in your FASTA file. Typically this is the chromosome so a GTF line:

chr1    hg38_knownCanonical exon    11106535    11262507    0.000000    .   .   gene_id "gene1"; transcript_id "tx1"; 

This must have a corresponding sequence in the FASTA file:


Therefore you need to add an additional sequence to your FASTA file with >TdTomato. This must have exactly the same sequence as the construct that you are expecting reads for. The run cellranger mkref and cellranger count on these FASTA and GTF files. Cellranger also can take a GTF with “CDS” as a feature in addition to “exons”. The STAR alignment algorithm used by cellranger is splice aware so it can handle split reads but you will need to ensure the GTF corresponds to exons of the mRNA/cDNA rather than the full sequence.

10x Genomics is a platform with a high dropout rate, especially for lowly expressed genes. You should bear this in mind for what you expect to observe. It may be worth comparing the mapping rate of your construct to housekeeper genes to see if this is the reason for the low counts. Since whole mRNA molecules are captured on the beads before preparing the library, there should not be a difference in UMI counts between long and short genes.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.