This question has also been asked on Biostars

I have two bam files from single-cell RNA sequencing mapped to the reference genome using CellRanger, I can view them in IGV and I have a particular region where the pattern of reads mapped to the reference genome are different between the two bam files but when I try the following code to plot trackplots with coverage, the resulting plot is not consistent with what I see in IGV. I am not very familiar with this, aren't I supposed to normalize the data as well? please help me.

txdb <-TxDb.Hsapiens.UCSC.hg38.knownGene
txTr <- GeneRegionTrack(txdb, chromosome = "chr1", 
                        start = 153561336,  end = 153561564)
dTrack <- DataTrack(range = bam.file, genome = "hg38", type = "l", 
                     name = "Coverage", window = -1, 
                     chromosome = "chr1")

dTrack0 <- DataTrack(range = bam.file.0, genome = "hg38", type = "l", 
                     name = "Coverage", window = -1, 
                     chromosome = "chr1", col="red")

plotTracks(c(dTrack,dTrack0, txTr), from = 153561357, to = 153561585)

  • $\begingroup$ Welcome @A4747 its useful to describe what you are dealing with, e.g. humans, a model system and any further project details. Essentially the answer will be project specific. Anyway provided an appropriate summary paper. $\endgroup$
    – M__
    Jun 6, 2023 at 22:58

1 Answer 1


I would recommend reading the following study by Zhao et al (2021).

The traditional simplest measure is CPM otherwise known as TPM. This is counts/transcripts per million. FPKM (fragments per kilobase of transcript per million fragments mapped) is used for metagenomics. I don't know its application in your context ... I don't know your context.

The discussions for the pros- and cons- of FPKM and TPM/CPM are discussed therein.

The authors in the study favour normalisation - in their context - not in general. The authors use the coefficient of variation, and intraclass correlation coefficient. I would see this as a form of standardisation. It's worth keeping an open mind because its a pivotal step in the calculation but all too easily overlooked area of investigation.

From RamRS's comments that may have changed already. In general statistics standardisation is a pivotal step, usually followed by the removal of outliers.

  • $\begingroup$ Unfortunately, neither TPM nor CPM can be used in any context to compare two samples. FPKM is obsolete IMO $\endgroup$
    – Ram RS
    Jun 6, 2023 at 23:17
  • 1
    $\begingroup$ FPKM is used in metagenomics (a lot, lot more than one species present). Recovering a full length gene/transcript rarely happens. $\endgroup$
    – M__
    Jun 6, 2023 at 23:27
  • $\begingroup$ Thank you, I did not know that. $\endgroup$
    – Ram RS
    Jun 7, 2023 at 13:11
  • $\begingroup$ @M__ Thanks for your response. I agree that in this case TPM normalization may be required when displaying them in a trackplot. I think those types of normalization may not be accurate when performing differential expression analysis through DESeq. However, my particular problem is with the fact that what I see in IGV ends up being different from what I see when I plot the bam file in R through the script written above. $\endgroup$
    – A4747
    Jun 9, 2023 at 17:25

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.