How to detect mismatch before mapping in RNA-Seq data
At each step in the SLiTing and pooling the barcodes added are not random, but are taken  from a predefined list of possible barcodes. 

When the reads arrive, first you filter by reads that have >1 low quality bases in the UMI region (which is truely random).

Then you compare the sequences in the 3 cell-barcode regions against the list of allowed barcodes for each of those positions. If a read is not within an edit distance of one from one of those barcodes, it is discarded.

Finally the reads that pass these filters can be aligned.