bc_cure_umi {CellBarcode} | R Documentation |
When the UMI is applied, bc_cure_umi
can filter the UMI-barcode tags
by counts.
bc_cure_umi(barcodeObj, depth = 2, doFish = FALSE, isUniqueUMI = FALSE) ## S4 method for signature 'BarcodeObj' bc_cure_umi(barcodeObj, depth = 2, doFish = FALSE, isUniqueUMI = FALSE)
barcodeObj |
A BarcodeObj object. |
depth |
A numeric or a vector of numeric, specifying the UMI-barcode tag count threshold. Only the barcodes with UMI-barcode tag count larger than the threshold are kept. |
doFish |
A logical value, if true, for barcodes with UMI read depth
above the threshold, “fish” for identical barcodes with UMI read depth below
the threshold. The consequence of |
isUniqueUMI |
A logical value, In the case that a UMI relates to several barcodes, if you believe that the UMI is absolute unique, then only the UMI-barcodes tags with highest count are chosen for each UMI. |
When invoke this function, it processes the data with following steps:
(if isUniqueUMI is TRUE) Find dominant sequence in each UMI.
UMI-barcode depth filtering.
(if doFish is TRUE) Fishing the UMI with low UMI-barcode depth.
A BarcodeObj
object with cleanBc
slot updated (or
created).
data(bc_obj) d1 <- data.frame( seq = c( "ACTTCGATCGATCGAAAAGATCGATCGATC", "AATTCGATCGATCGAAGAGATCGATCGATC", "CCTTCGATCGATCGAAGAAGATCGATCGATC", "TTTTCGATCGATCGAAAAGATCGATCGATC", "AAATCGATCGATCGAAGAGATCGATCGATC", "CCCTCGATCGATCGAAGAAGATCGATCGATC", "GGGTCGATCGATCGAAAAGATCGATCGATC", "GGATCGATCGATCGAAGAGATCGATCGATC", "ACTTCGATCGATCGAACAAGATCGATCGATC", "GGTTCGATCGATCGACGAGATCGATCGATC", "GCGTCCATCGATCGAAGAAGATCGATCGATC" ), freq = c( 30, 60, 9, 10, 14, 5, 10, 30, 6, 4 , 6 ) ) pattern <- "([ACTG]{3})TCGATCGATCGA([ACTG]+)ATCGATCGATC" bc_obj <- bc_extract(list(test = d1), pattern, sample_name=c("test"), pattern_type=c(UMI=1, barcode=2)) # Use UMI information to remove the barcode < 5 UMI-barcode tags bc_umi_cured <- bc_cure_umi(bc_obj, depth =0, doFish=TRUE, isUniqueUMI=TRUE) bc_cure_depth(bc_umi_cured, depth = 5)