# How are UMIs used to dedupulicate in Drop-seq tools?

The module DigitalExpression which is part of the popular Drop-seq tools digitally count gene transcripts.

The manual is not very clear on how exactly it resolves the UMI information. Maybe I'm missing something but I was wondering if UMI are used in isolation or in conjunction with the barcode and or transcript?

The manual i.e. Drop-seq Alignment Cookbook only states:

To digitally count gene transcripts, a list of UMIs in each gene, within each cell, is assembled, and UMIs
within edit distance = 1 are merged together. The total number of unique UMI sequences is counted,
and this number is reported as the number of transcripts of that gene for a given cell.


To clarify my point, I'll use an example. Say my reads are only 4 bp and read 1 has the cell barcode at position 1+2 and UMI at position 3+4. read 2 constitutes the transcript read.

seqence1:   read1 = AATT  read2 = ATGC


UMI and barcode are the same but read2 is different, would they be collapsed to 1 UMI count or 2?

Similarly as case with same UMI and transcript but different cell barcode:

seqence1:   read1 = AATT  read2 = ATGC


Also of note, UMI deduplication is the default setting as of the parameter below:

OUTPUT_READS_INSTEAD=Boolean  Output number of reads instead of number of unique molecular barcodes.  Default value:
false. This option can be set to 'null' to clear the default value. Possible values:
{true, false}


UMI and barcode are the same but read2 is different, would they be collapsed to 1 UMI count or 2?

If the two reads share cell barcodes and UMI sequences and align to the same gene, (even if they are different sequences) then they originate from the same RNA molecule, and should only count as 1.

https://support.10xgenomics.com/single-cell-gene-expression/library-prep/doc/user-guide-chromium-single-cell-3-reagent-kits-user-guide-v3-chemistry

• Do you have any sources (documentation, code, citation etc) to back this up? To my knowledge the UMI is designed to spot PCR duplicates, so read 2 shouldn't have a different sequence (unless there are sequencing errors). – Sebastian Müller Jul 10 '19 at 6:51
• If you look up the library prep protocol, you can see that cDNA amplification happens before fragmentation. Therefore, you can have multiple reads starting at different fragmentation points which nevertheless originate from the same mRNA molecule. It's also quite plain from looking at the UMI counts output and bam output that all reads with the same gene ID, UMI and cell barcode are marked as duplicates save one, even if the reads aligned to different places in the transcript, and that only the one not marked as a duplicate is being counted in the final UMI count – swbarnes2 Jul 10 '19 at 16:22
• Thanks. I Just had another look and this appears to be indeed the case, also for other drop-seq protocols apart from 10x. To however accept this as an answer, the only thing missing is if DropSeq-tools is doing the right thing by default or if this can be adjusted that way? The docu is surprisingly unclear about this important point. – Sebastian Müller Jul 12 '19 at 8:03
• It's been a while since I looked at DropSeq data, or its library prep protocol, but one has to presume that the Drop-Seq cookbook protocol handles DropSeq data correctly. The description cited does seem to indicate that all the reads aligning to a gene are assessed for UMIs, not just all the reads aligning to a particular position. However, I have in the past run the same Drop-Seq data set through the cookbook and (with some manipulation) through 10XGenomics cellranger, and I got very nearly the same results. – swbarnes2 Jul 12 '19 at 15:52
• To confirm if this is correct, I've just submitted an issue – Sebastian Müller Jul 13 '19 at 11:53

The code does EXACTLY what it says in the first quote.

Let's say you have 5 reads on a cell barcode that align to gene A. Those reads have the following molecular barcodes:

AAAA,BBBB,AAAA,CCCC,DDDD.

There are 4 UNIQUE molecular barcodes.

The only complication to this is that we collapse barcodes with an edit distance of 1, which takes care of over-inflation of UMI counts due to PCR/Sequencing errors. If we added a barcode with the sequence AAAB to the original list, it would be collapsed into AAAA as it has an edit distance of 1, and you'd still have 4 unique molecular barcodes.

• In retrospect, the quote makes now sense, I was a bit confused what assembled exactly meant in this context, also the additional rational from swbarnes2 about the fragmentation taken place after PCR now explains why it is done this way (hence the accepted answer). Maybe this could be included in the documentation as explanation? – Sebastian Müller Jul 15 '19 at 12:54