Skip to contents

Creates line plot tracking amino acid frequencies across multiple samples

Usage

cloneTrack(study_table, sample_list = NULL, sequence_track = NULL)

Arguments

study_table

A tibble of productive amino acid sequences generated by LymphoSeq2 function productiveSeq() where the aggregate parameter was set to "junction_aa"

sample_list

A character vector of one or more repertoire_ids to track. If set to NULL (the default), all repertoire_ids in the sequence matrix will be tracked.

sequence_track

An optional character vector of one or more amino acid sequences to track. If set to NULL (the default), will pull all junction_aa sequences from the sequence matrix.

Value

Returns a line plot showing the amino acid frequencies across multiple samples in the sequence matrix where each line represents one unique sequence.

Examples

file_path <- system.file("extdata", "TCRB_sequencing", package = "LymphoSeq2")
study_table <- LymphoSeq2::readImmunoSeq(path = file_path, threads = 1)
study_table <- LymphoSeq2::topSeqs(study_table, top = 100)
amino_table <- LymphoSeq2::productiveSeq(study_table = study_table, 
  aggregate = "junction_aa")
top_freq <- LymphoSeq2::topFreq(amino_table, frequency = 0.001)
# Track clones without mapping or tracking specific sequences
LymphoSeq2::cloneTrack(amino_table)
#> # A tibble: 810 × 12
#>    repertoire_id junction_aa     v_call d_call j_call v_family d_family j_family
#>    <chr>         <chr>           <chr>  <chr>  <chr>  <chr>    <chr>    <chr>   
#>  1 TRB_CD4_949   CAISVGGSSPLHF   TRBV1… TRBD2… TRBJ1… TRBV10   TRBD2    TRBJ1   
#>  2 TRB_CD4_949   CASDGGFRNTIYF   TRBV1… TRBD2… TRBJ1… TRBV19   TRBD2    TRBJ1   
#>  3 TRB_CD4_949   CASGGLNTEAFF    NA     NA     TRBJ1… NA       NA       TRBJ1   
#>  4 TRB_CD4_949   CASGLVAGSTLGGE… TRBV1… TRBD2… TRBJ2… TRBV12   TRBD2    TRBJ2   
#>  5 TRB_CD4_949   CASGTGGETQYF    TRBV6… TRBD2… TRBJ2… TRBV6    TRBD2    TRBJ2   
#>  6 TRB_CD4_949   CASHSSGNTIYF    TRBV6… NA     TRBJ1… TRBV6    NA       TRBJ1   
#>  7 TRB_CD4_949   CASKPPGQGGYGYTF TRBV6… TRBD1… TRBJ1… TRBV6    TRBD1    TRBJ1   
#>  8 TRB_CD4_949   CASMIDPSGNTIYF  TRBV5… NA     TRBJ1… TRBV5    NA       TRBJ1   
#>  9 TRB_CD4_949   CASNARVDSPLHF   TRBV6… TRBD1… TRBJ1… TRBV6    TRBD1    TRBJ1   
#> 10 TRB_CD4_949   CASRLGESPLHF    NA     NA     TRBJ1… NA       NA       TRBJ1   
#> # ℹ 800 more rows
#> # ℹ 4 more variables: reading_frame <chr>, duplicate_count <dbl>,
#> #   duplicate_frequency <dbl>, seen <int>
# Track top 20 clones mapping to the CD4 and CD8 samples
LymphoSeq2::cloneTrack(amino_table,
  sample_list = c("TRB_CD4_949", "TRB_CD8_949"),
  sequence_track = top_freq$junction_aa[1:20]
)
#> # A tibble: 20 × 12
#>    repertoire_id junction_aa     v_call d_call j_call v_family d_family j_family
#>    <chr>         <chr>           <chr>  <chr>  <chr>  <chr>    <chr>    <chr>   
#>  1 TRB_CD4_949   CASSWEQGTNYGYTF TRBV2… TRBD1… TRBJ1… TRBV28   TRBD1    TRBJ1   
#>  2 TRB_CD8_949   CAIKMETPNGEQYF  TRBV1… NA     TRBJ2… TRBV10   NA       TRBJ2   
#>  3 TRB_CD8_949   CAISESGVLNEKLFF TRBV1… NA     TRBJ1… TRBV10   NA       TRBJ1   
#>  4 TRB_CD8_949   CASRDGQGSGNTIYF TRBV6… TRBD1… TRBJ1… TRBV6    TRBD1    TRBJ1   
#>  5 TRB_CD8_949   CASSEALPGMVPLHF TRBV2… TRBD1… TRBJ1… TRBV2    TRBD1    TRBJ1   
#>  6 TRB_CD8_949   CASSGGVAAFSSYN… TRBV5… TRBD1… TRBJ1… TRBV5    TRBD1    TRBJ1   
#>  7 TRB_CD8_949   CASSLAGDSQETQYF TRBV2… NA     TRBJ2… TRBV28   NA       TRBJ2   
#>  8 TRB_CD8_949   CASSLQGREKLFF   TRBV2… TRBD1… TRBJ1… TRBV27   TRBD1    TRBJ1   
#>  9 TRB_CD8_949   CASSPAGAYYNEQFF NA     TRBD2… TRBJ2… NA       TRBD2    TRBJ2   
#> 10 TRB_CD8_949   CASSPFDRGPDTEA… TRBV2… TRBD1… TRBJ1… TRBV28   TRBD1    TRBJ1   
#> 11 TRB_CD8_949   CASSPGTGTYGYTF  TRBV1… TRBD1… TRBJ1… TRBV10   TRBD1    TRBJ1   
#> 12 TRB_CD8_949   CASSPLDGLTNEQFF TRBV2… NA     TRBJ2… TRBV28   NA       TRBJ2   
#> 13 TRB_CD8_949   CASSPPTGERDTQYF TRBV7… TRBD2… TRBJ2… TRBV7    TRBD2    TRBJ2   
#> 14 TRB_CD8_949   CASSPSRNTEAFF   TRBV4… TRBD2… TRBJ1… TRBV4    TRBD2    TRBJ1   
#> 15 TRB_CD8_949   CASSQDLGQAFSPL… TRBV4… TRBD1… TRBJ1… TRBV4    TRBD1    TRBJ1   
#> 16 TRB_CD8_949   CASSQDLMTVDSLF… TRBV4… TRBD1… TRBJ2… TRBV4    TRBD1    TRBJ2   
#> 17 TRB_CD8_949   CASSQDRTGQYGYTF TRBV4… TRBD1… TRBJ1… TRBV4    TRBD1    TRBJ1   
#> 18 TRB_CD8_949   CASSQDSSDTEAFF  TRBV4… NA     TRBJ1… TRBV4    NA       TRBJ1   
#> 19 TRB_CD8_949   CASSQDWERLGEQFF TRBV1… TRBD2… TRBJ2… TRBV14   TRBD2    TRBJ2   
#> 20 TRB_CD8_949   CASSREGDQPQHF   TRBV5… TRBD1… TRBJ1… TRBV5    TRBD1    TRBJ1   
#> # ℹ 4 more variables: reading_frame <chr>, duplicate_count <dbl>,
#> #   duplicate_frequency <dbl>, seen <int>
# Track the top 10 clones from top.freq
LymphoSeq2::cloneTrack(study_table = amino_table, 
  sequence_track = top_freq$junction_aa[1:10])
#> # A tibble: 75 × 12
#>    repertoire_id junction_aa     v_call d_call j_call v_family d_family j_family
#>    <chr>         <chr>           <chr>  <chr>  <chr>  <chr>    <chr>    <chr>   
#>  1 TRB_CD8_949   CAIKMETPNGEQYF  TRBV1… NA     TRBJ2… TRBV10   NA       TRBJ2   
#>  2 TRB_CD8_949   CASRDGQGSGNTIYF TRBV6… TRBD1… TRBJ1… TRBV6    TRBD1    TRBJ1   
#>  3 TRB_CD8_949   CASSLQGREKLFF   TRBV2… TRBD1… TRBJ1… TRBV27   TRBD1    TRBJ1   
#>  4 TRB_CD8_949   CASSPFDRGPDTEA… TRBV2… TRBD1… TRBJ1… TRBV28   TRBD1    TRBJ1   
#>  5 TRB_CD8_949   CASSPGTGTYGYTF  TRBV1… TRBD1… TRBJ1… TRBV10   TRBD1    TRBJ1   
#>  6 TRB_CD8_949   CASSQDLGQAFSPL… TRBV4… TRBD1… TRBJ1… TRBV4    TRBD1    TRBJ1   
#>  7 TRB_CD8_949   CASSQDLMTVDSLF… TRBV4… TRBD1… TRBJ2… TRBV4    TRBD1    TRBJ2   
#>  8 TRB_CD8_949   CASSQDRTGQYGYTF TRBV4… TRBD1… TRBJ1… TRBV4    TRBD1    TRBJ1   
#>  9 TRB_CD8_949   CASSQDSSDTEAFF  TRBV4… NA     TRBJ1… TRBV4    NA       TRBJ1   
#> 10 TRB_CD8_949   CASSREGDQPQHF   TRBV5… TRBD1… TRBJ1… TRBV5    TRBD1    TRBJ1   
#> # ℹ 65 more rows
#> # ℹ 4 more variables: reading_frame <chr>, duplicate_count <dbl>,
#> #   duplicate_frequency <dbl>, seen <int>
# Track clones mapping to the CD4 and CD8 samples while ignoring all others
LymphoSeq2::cloneTrack(study_table = amino_table, 
  sample_list = c("TRB_CD4_949", "TRB_CD8_949"))
#> # A tibble: 161 × 12
#>    repertoire_id junction_aa     v_call d_call j_call v_family d_family j_family
#>    <chr>         <chr>           <chr>  <chr>  <chr>  <chr>    <chr>    <chr>   
#>  1 TRB_CD4_949   CAISVGGSSPLHF   TRBV1… TRBD2… TRBJ1… TRBV10   TRBD2    TRBJ1   
#>  2 TRB_CD4_949   CASDGGFRNTIYF   TRBV1… TRBD2… TRBJ1… TRBV19   TRBD2    TRBJ1   
#>  3 TRB_CD4_949   CASGGLNTEAFF    NA     NA     TRBJ1… NA       NA       TRBJ1   
#>  4 TRB_CD4_949   CASGLVAGSTLGGE… TRBV1… TRBD2… TRBJ2… TRBV12   TRBD2    TRBJ2   
#>  5 TRB_CD4_949   CASGTGGETQYF    TRBV6… TRBD2… TRBJ2… TRBV6    TRBD2    TRBJ2   
#>  6 TRB_CD4_949   CASHSSGNTIYF    TRBV6… NA     TRBJ1… TRBV6    NA       TRBJ1   
#>  7 TRB_CD4_949   CASKPPGQGGYGYTF TRBV6… TRBD1… TRBJ1… TRBV6    TRBD1    TRBJ1   
#>  8 TRB_CD4_949   CASMIDPSGNTIYF  TRBV5… NA     TRBJ1… TRBV5    NA       TRBJ1   
#>  9 TRB_CD4_949   CASNARVDSPLHF   TRBV6… TRBD1… TRBJ1… TRBV6    TRBD1    TRBJ1   
#> 10 TRB_CD4_949   CASRLGESPLHF    NA     NA     TRBJ1… NA       NA       TRBJ1   
#> # ℹ 151 more rows
#> # ℹ 4 more variables: reading_frame <chr>, duplicate_count <dbl>,
#> #   duplicate_frequency <dbl>, seen <int>
# Track clones mapping to the CD4 and CD8 samples and track 2 specific sequences
LymphoSeq2::cloneTrack(
  study_table = amino_table, sample_list = c("TRB_CD4_949", "TRB_CD8_949"),
  sequence_track = c("CASSPPTGERDTQYF", "CASSQDRTGQYGYTF")
)
#> # A tibble: 2 × 12
#>   repertoire_id junction_aa     v_call  d_call j_call v_family d_family j_family
#>   <chr>         <chr>           <chr>   <chr>  <chr>  <chr>    <chr>    <chr>   
#> 1 TRB_CD8_949   CASSPPTGERDTQYF TRBV7-9 TRBD2… TRBJ2… TRBV7    TRBD2    TRBJ2   
#> 2 TRB_CD8_949   CASSQDRTGQYGYTF TRBV4-3 TRBD1… TRBJ1… TRBV4    TRBD1    TRBJ1   
#> # ℹ 4 more variables: reading_frame <chr>, duplicate_count <dbl>,
#> #   duplicate_frequency <dbl>, seen <int>