Script to split barcodes from the genetic 'barcode mouse' construct as generated in the lab of Ton Schumacher (NKI, NL) in its remaining constant V, D and J elements and the modified elements (additions/deletions) in between those constant parts.

bc_splitVDJ(
  seqs,
  v_part = "TCCAGTAG",
  d_fwd = "TCTACTATCGTTACGAC",
  d_inv = "GTCGTAACGATAGTAGA",
  j_part = "GTAGCTACTACCG"
)

Arguments

seqs

a character vector contains the barcode sequences.

v_part

a string given the V part sequence.

d_fwd

a string given the D region forwrad sequence.

d_inv

a string given the D region inverted sequence.

j_part

a string given the J region sequence.

Value

A list contains two data.frame named add.del.ok and add.del.err, which contain columns with the remaining constant parts and inserted/deleted parts

Examples

## prepare input sequence
seq_v <- c(
    "TCCAGTAGCTACTATCGTTACGAGTAGCTACTACCG",
    "TCCAGTAGCTACTATCGTTACGACGTAGCTACTACCG",
    "TCCATACTATCGTTACGACGTAGCTACTACG",
    "TCCAGTAGTCGTAACGATAGTAGAGTAGCTACTACCG"
    )

## split the sequences
bc_splitVDJ(seq_v)
#> $add.del.ok
#>                                              V insVD            D      insDJ
#> TCCAGTAGCTACTATCGTTACGAGTAGCTACTACCG  TCCAGTAG       CTACTATC....           
#> TCCAGTAGCTACTATCGTTACGACGTAGCTACTACCG TCCAGTAG       CTACTATC....           
#> TCCATACTATCGTTACGACGTAGCTACTACG           TCCA       TACTATCG.... GTAGCTACTA
#> TCCAGTAGTCGTAACGATAGTAGAGTAGCTACTACCG TCCAGTAG       TCGTAACG....           
#>                                                  J delV delDl delDr        delJ
#> TCCAGTAGCTACTATCGTTACGAGTAGCTACTACCG  GTAGCTAC....          T     C            
#> TCCAGTAGCTACTATCGTTACGACGTAGCTACTACCG GTAGCTAC....          T                  
#> TCCATACTATCGTTACGACGTAGCTACTACG                 CG GTAG    TC       GTAGCTACTAC
#> TCCAGTAGTCGTAACGATAGTAGAGTAGCTACTACCG GTAGCTAC....          G                  
#>                                       D.fwdorinv errV errD errJ
#> TCCAGTAGCTACTATCGTTACGAGTAGCTACTACCG         fwd    0    0    0
#> TCCAGTAGCTACTATCGTTACGACGTAGCTACTACCG        fwd    0    0    0
#> TCCATACTATCGTTACGACGTAGCTACTACG              fwd    0    0    0
#> TCCAGTAGTCGTAACGATAGTAGAGTAGCTACTACCG        inv    0    0    0
#> 
#> $add.del.err
#>  [1] V          insVD      D          insDJ      J          delV      
#>  [7] delDl      delDr      delJ       D.fwdorinv errV       errD      
#> [13] errJ      
#> <0 rows> (or 0-length row.names)
#>