name: inverse layout: true class: center, middle, inverse
---
# Dealing with Cross-Contamination in Fixed Barcode Protocols
Mehmet Tekman
Alex Ostrovsky
last_modification
Updated:
purl
PURL
:
gxy.io/GTN:S00086
text-document
Plain-text slides
|
Tip:
press
P
to view the presenter notes |
arrow-keys
Use arrow keys to move between slides
??? Presenter notes contain extra information which might be useful if you intend to use these slides for teaching. Press `P` again to switch presenter notes off Press `C` to create a new window where the same presentation will be displayed. This window is linked to the main window. Changing slides on one will cause the slide to change on the other. Useful when presenting. --- ## Requirements Before diving into this slide deck, we recommend you to have a look at: - [Introduction to Galaxy Analyses](/training-material/topics/introduction) - [Single Cell](/training-material/topics/single-cell) - Plates, Batches, and Barcodes: [
slides
slides](/training-material/topics/single-cell/tutorials/scrna-plates-batches-barcodes/slides.html) --- ### <i class="far fa-question-circle" aria-hidden="true"></i><span class="visually-hidden">question</span> Questions - What is cross-contamination? - What are fixed barcodes? - Why are plating setups important to know? - Is it necessary to check barcodes that don't exist in a batch? --- ### <i class="fas fa-bullseye" aria-hidden="true"></i><span class="visually-hidden">objectives</span> Objectives - How to describe a plating setup - Proper naming conventions when dealing with multiple batches - Checking for false positives across batches --- ### Fixed Barcode Protocols and Multiplexing The main contending questions are: 1. How large is each batch? ??? How many slots in a batch that we need to barcode for -- 2. How many batches on a plate? -- 3. Should each batch use the same barcodes? -- 4. What **constraints** are there on the plate? ??? A technician always has to balance quality against cost, and this is illustrated in the following examples: --- ### Example Setup .pull-left[ * Barcodes: * 24 unique barcodes, with an edit distance of E=2: AAA ACC AGG TTT TAA TCC ATT CCC CAA TGG NAA NCC CGG CTT GGG NGG NTT ANN GAA GCC GTT CNN GNN TNN ] -- .pull-right[ * Plates and Batches: * 12 slots per lane (3x4) * 4 batches per plate * Constraints * Only 2 batches sequenced at the same time * i.e. half the plate is sequenced at the same time ] ??? Here we use N as an extra base just for example purposes, but you do sometimes see this in other barcodes. 2 batches at a time, only half --- ### Example 1: Single Plate with a Single Lane .bottom-info-box[ Available Barcodes AAA ACC AGG TTT TAA TCC ATT CCC CAA TGG NAA NCC CGG CTT GGG NGG NTT ANN GAA GCC GTT CNN GNN TNN ] -- .image-75[![slide36](../../images/scrna-pre-processing/scrna-plates-batches-barcodes_slide36.svg)] .pull-left[ * 12 total slots in Plate 1 * 12 slots in Lane 1 * All slots filled ] -- .pull-right[ * We only need to use half of our barcodes * Why is this wasteful? ] ??? * Half of the barcodes used for that lane, and the other half we can ignore. * Wasteful because we are not getting full use of our 24 barcodes in a single sequencing run --- ### Example 2: Single Plate with 2 Batches .bottom-info-box[ Available Barcodes AAA ACC AGG TTT TAA TCC ATT CCC CAA TGG NAA NCC CGG CTT GGG NGG NTT ANN GAA GCC GTT CNN GNN TNN ] * 24 total slots in Plate 1 * 12 slots in Lane 1, and 12 slots in Lane 2 * All slots filled .image-75[![slide38](../../images/scrna-pre-processing/scrna-plates-batches-barcodes_slide38.svg)] -- * We can use all of our barcodes * Maximum number of cells can be sequenced in a single run * Why might this be too optimal? ??? Here we use all barcodes since these batches will be sequenced at the same time Let's look at one final example to see why using all our barcodes on a plate might not be optimal. --- ### Example 3: Single Plate with 2 Batches, only 1 active .bottom-info-box[ Available Barcodes AAA ACC AGG TTT TAA TCC ATT CCC CAA TGG NAA NCC CGG CTT GGG NGG NTT ANN GAA GCC GTT CNN GNN TNN ] * 24 total slots in Plate 1 * 12 slots in Lane 1, and 12 slots in Lane 2 * Only slots in Lane 1 filled .image-75[![slide40](../../images/scrna-pre-processing/scrna-plates-batches-barcodes_slide40.svg)] -- * Why are we still using all barcodes? * Why have we not filled in Lane 2? ??? All barcodes used, why leave one lane empty? --- ### Example 3: Single Plate with 2 Batches, only 1 active .bottom-info-box[ Available Barcodes AAA ACC AGG TTT TAA TCC ATT CCC CAA TGG NAA NCC CGG CTT GGG NGG NTT ANN GAA GCC GTT CNN GNN TNN ] * What would it mean if we sequenced reads with {TTT,TAA,...,TNN} as their Cell Barcodes? .image-75[![slide40](../../images/scrna-pre-processing/scrna-plates-batches-barcodes_slide40.svg)] -- * **Cross-Contamination** * There should be *no cells in that lane*! * These are contaminants from Lane 1 * We can ignore these reads and select for the {AAA,ACC,...,GTT} ??? If we see any reads in the Plate which contain barcodes {TTT,TAA,TCC, etc} then we know that some contamination has occurred *because there should be no cells there*. One reason is that the second lane was not completely cleaned before being used. --- ### Example 4: 2 Plates with 2 Batches, only 1 active (alternate) .bottom-info-box[ Available Barcodes AAA ACC AGG TTT TAA TCC ATT CCC CAA TGG NAA NCC CGG CTT GGG NGG NTT ANN GAA GCC GTT CNN GNN TNN ] * Same as before but extra plate. A single lane used to check for contaminants. * Alternate barcodes used for each plate .image-50[![slide44](../../images/scrna-pre-processing/scrna-plates-batches-barcodes_slide44.svg)] <small> * Why alternate active batches across plates? </small> -- <small> * Plate 1 and Plate 2 are sometimes the *same plate* * Contaminants might carry over *undetected* if same lane is used! </small> ??? * Here we have repeated previous example, but with an extra plate. In the first plate, the first half of the barcodes are used, and in the second plate, the second half of the barcodes are used. * Why alternate the barcodes between plates? The full set of barcodes does not change, so why not keep the same format? * Loaded at different times, washed clean, re-used. * Again, the answer is to reduce cross-contamination. Plate2 will be loaded after Plate1 (and perhaps Plate2 and Plate1 will use the same plate!) If we see any reads in Plate2 that should not be there, we can now surmise where they came from. We also have the added benefit of protecting the cells in Plate2 from those that may have been used in Plate1, since they are in completely different positions across plates. --- ### Example 5: 1 Plate with 2 Batches, both active .bottom-info-box[ Available Barcodes AAA ACC AGG TTT TAA TCC ATT CCC CAA TGG NAA NCC CGG CTT GGG NGG NTT ANN GAA GCC GTT CNN GNN TNN ] * Both batches filled. *All barcodes* are applied individually to *each* lane .image-100[![slide46](../../images/scrna-pre-processing/scrna-plates-batches-barcodes_slide46.svg)] .pull-left[ * Why check all barcodes against each lane? * Why not separate batches across different plates? ] -- .pull-right[ * If <small>{TTT,TAA,...,TNN}</small> is detected in Lane 1, or vice versa → **Contamination!** * *Benefit of* **detecting cross-contamination** *whilst still* **maximising plate usage** ] ??? 1. Why apply the full set of barcodes to each lane, when only half will actually label? 2. What benefit does this serve, instead of separating them over different plates as in the previous example? A1. This setup is actually the same as example 4, but with the two plates merged. Here we can check for cross-contamination in each lane by measuring the real cell labels against the false barcodes. If in lane 1, we detect a significant number of reads with cell barcodes of `TAA` or `ANN`, we can assume that some cross-contamination has occurred since we should not be able to detect these barcodes in that lane. The converse is also true of lane 2. A2. We have the benefit of detecting cross-contamination with the same advantages as example 4, but with the cost advantage of sequencing two batches at the same time. --- # Summary * Barcodes are often reused across batches if there is a fixed and limited number of them * Intelligent plating strategies reduce sequencing errors * Cross contamination can be detected by examining false positives across plates --- ### <i class="fas fa-key" aria-hidden="true"></i><span class="visually-hidden">keypoints</span> Key points - Eliminating false positives - Intelligent plating strategies can guard against cross-contamination --- ## Thank You! This material is the result of a collaborative work. Thanks to the [Galaxy Training Network](https://training.galaxyproject.org) and all the contributors!
Authors:
Mehmet Tekman
Alex Ostrovsky
Tutorial Content is licensed under
Creative Commons Attribution 4.0 International License
.