Answers.Body: <p>At each step in the SLiTing and pooling the barcodes added are not random, but are taken  from a predefined list of possible barcodes. </p>
  
  <p>When the reads arrive, first you filter by reads that have >1 low quality bases in the UMI region (which is truely random).</p>
  
  <p>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.</p>
  
  <p>Finally the reads that pass these filters can be aligned.</p>
  
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2018-09-27T18:16:19.283Z
Answers.LastActivityDate: 2018-09-27T18:16:19.283Z
Answers.UserDisplayName: Ian Sudbery
Answers.Body: <p>It should not be interpreted as "Reads with low quality in more than one base in any of the three 8 nt cell barcodes were also discarded". They only care if the cell barcodes match what are valid cell barcodes within 1 mismatch, the individual qualities are ignored. This sort of filtering turns out to be pretty common in practice, since you have to write a maximum edit distance into whatever you use to demultiplex by cells (or labeling each read, as was likely done in this case).</p>
  
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2018-09-27T16:55:31.647Z
Answers.LastActivityDate: 2018-09-27T16:55:31.647Z
Answers.UserDisplayName: Devon Ryan
Answers.Body: <p>Cell barcodes =/= sequence reads.  The default settings on Illumina's bcl2fastq work exactly the same way; they allow a read to count for a sample if there is a single mismatch in the index, but not more.</p>
  
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2018-09-27T20:13:39.853Z
Answers.LastActivityDate: 2018-09-27T20:28:13.003Z
Answers.LastEditDate: 2018-09-27T20:28:13.003Z
Answers.UserDisplayName: swbarnes2
Body: <p>In the methods of <a href="http://science.sciencemag.org/content/360/6385/176" rel="nofollow noreferrer">this paper</a>, the authors say:</p>
  
  <blockquote>
    <p>Reads were then filtered based on quality score in the UMI region. Any read with >1 low-quality base (phred &lt;=10) were discarded. <strong>Reads with more than one mismatch in any of the three 8 nt cell barcodes were also discarded</strong>. The cDNA reads (Read 1) were then mapped to either a combined mm10- hg19 genome or the mm10 genome using STAR (44).</p>
  </blockquote>
  
  <p>I understand how to filter based on mismatch <em>after</em> mapping but in this case it is done <em>before</em> mapping. Has this to be interpreted as "Reads with <em>low quality in more than one base</em> in any of the three 8 nt cell barcodes were also discarded"?</p>
  
Tags: <scrnaseq><read-mapping><reads><barcode>
Title: How to detect mismatch before mapping in RNA-Seq data
ThreadText: # How to detect mismatch before mapping in RNA-Seq data
  
  (Asked by: username_0 on 2018-09-27)
  
  In the methods of [this paper](http://science.sciencemag.org/content/360/6385/176), the authors say:
  
  > Reads were then filtered based on quality score in the UMI region. Any read with >1 low-quality base (phred <=10) were discarded. **Reads with more than one mismatch in any of the three 8 nt cell barcodes were also discarded**. The cDNA reads (Read 1) were then mapped to either a combined mm10- hg19 genome or the mm10 genome using STAR (44).
  
  I understand how to filter based on mismatch *after* mapping but in this case it is done *before* mapping. Has this to be interpreted as "Reads with *low quality in more than one base* in any of the three 8 nt cell barcodes were also discarded"?
  
  **Tags:** scrnaseq, read-mapping, reads, barcode
  
  
  ---
  
  ## 3 answers
  
  ### Answer by username_1 on 2018-09-27. Score: 2 | Accepted answer
  
  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.
  
  
  ---
  
  ### Answer by username_2 on 2018-09-27. Score: 1
  
  It should not be interpreted as "Reads with low quality in more than one base in any of the three 8 nt cell barcodes were also discarded". They only care if the cell barcodes match what are valid cell barcodes within 1 mismatch, the individual qualities are ignored. This sort of filtering turns out to be pretty common in practice, since you have to write a maximum edit distance into whatever you use to demultiplex by cells (or labeling each read, as was likely done in this case).
  
  
  ---
  
  ### Answer by username_3 on 2018-09-27. Score: 0
  
  Cell barcodes =/= sequence reads. The default settings on Illumina's bcl2fastq work exactly the same way; they allow a read to count for a sample if there is a single mismatch in the index, but not more.
  
  
  ---
  
  