Main function for data filtering
repFilter(
.data,
.method = "by.clonotype",
.query = list(CDR3.aa = exclude("partial", "out_of_frame")),
.match = "exact"
)
The data to be processed. Must be the list of 2 elements: a data table and a metadata table.
Method of filtering. Implemented methods: by.meta, by.repertoire (by.rep), by.clonotype (by.cl) Default value: 'by.clonotype'.
Filtering query. It's a named list of filters that will be applied to data. Possible values for names in this list are dependent on filter methods: - by.meta: filters by metadata. Names in the named list are metadata column headers. - by.repertoire: filters by the number of clonotypes or total number of clones in sample. Possible names in the named list are "n_clonotypes" and "n_clones". - by.clonotype: filters by data in all samples. Names in the named list are data column headers. Elements of the named list for each of the filters are filtering options. Possible values for filtering options: - include("STR1", "STR2", ...): keeps only rows with matching values. Available for methods: "by.meta", "by.clonotype". - exclude("STR1", "STR2", ...): removes rows with matching values. Available for methods: "by.meta", "by.clonotype". - lessthan(value): keeps rows/samples with numeric values less than specified. Available for methods: "by.meta", "by.repertoire", "by.clonotype". - morethan(value): keeps rows/samples with numeric values more than specified. Available for methods: "by.meta", "by.repertoire", "by.clonotype". - interval(from, to): keeps rows/samples with numeric values that fits in this interval. from is inclusive, to is exclusive. Available for methods: "by.meta", "by.repertoire", "by.clonotype". Default value: 'list(CDR3.aa = exclude("partial", "out_of_frame"))'.
Matching method for "include" and "exclude" options in query. Possible values: - exact: matches only the exact specified string; - startswith: matches all strings starting with the specified substring; - substring: matches all strings containing the specified substring. Default value: 'exact'.
data(immdata)
# Select samples with status "MS"
repFilter(immdata, "by.meta", list(Status = include("MS")))
#> $data
#> $data$MS1
#> # A tibble: 5,405 × 15
#> Clones Proportion CDR3.nt CDR3.aa V.name D.name J.name V.end D.start D.end
#> <dbl> <dbl> <chr> <chr> <chr> <chr> <chr> <int> <int> <int>
#> 1 539 0.0634 TGTGCCAGC… CASSLQ… TRBV7… TRBD2 TRBJ2… 14 18 26
#> 2 320 0.0376 TGTGCCAGC… CASSVY… TRBV9 TRBD1 TRBJ2… 13 20 22
#> 3 204 0.024 TGCAGTACC… CSTEED… TRBV2… TRBD1 TRBJ2… 5 14 19
#> 4 151 0.0178 TGCAGCGTT… CSVELR… TRBV2… TRBD1 TRBJ2… 11 16 19
#> 5 98 0.0115 TGTGCCAGC… CASSLG… TRBV5… TRBD1 TRBJ2… 15 16 22
#> 6 81 0.00953 TGCAGTGCT… CSARDL… TRBV2… TRBD2 TRBJ2… 13 15 20
#> 7 76 0.00894 TGTGCCAGC… CASSFE… TRBV7… TRBD1 TRBJ2… 13 16 22
#> 8 62 0.00729 TGCAGCTAT… CSYRTG… TRBV2… TRBD1 TRBJ2… 5 10 20
#> 9 60 0.00706 TGTGCCAGC… CASSLG… TRBV28 TRBD1 TRBJ2… 14 26 31
#> 10 38 0.00447 TGTGCCAGC… CASSLY… TRBV7… TRBD2 TRBJ2… 14 17 19
#> # ℹ 5,395 more rows
#> # ℹ 5 more variables: J.start <int>, VJ.ins <dbl>, VD.ins <dbl>, DJ.ins <dbl>,
#> # Sequence <lgl>
#>
#> $data$MS2
#> # A tibble: 7,145 × 15
#> Clones Proportion CDR3.nt CDR3.aa V.name D.name J.name V.end D.start D.end
#> <dbl> <dbl> <chr> <chr> <chr> <chr> <chr> <int> <int> <int>
#> 1 97 0.0114 TGTGCCAGC… CASSTR… TRBV28 TRBD1 TRBJ2… 10 15 20
#> 2 77 0.00906 TGCAGCGTT… CSVEGG… TRBV2… TRBD1 TRBJ2… 12 13 17
#> 3 33 0.00388 TGTGCCAGC… CASSLI… TRBV28 TRBD1 TRBJ2… 14 20 26
#> 4 32 0.00376 TGTGCCAGC… CASSIT… TRBV27 TRBD1 TRBJ1… 11 16 18
#> 5 26 0.00306 TGCAGCGTT… CSVEGG… TRBV2… TRBD2 TRBJ2… 12 13 16
#> 6 25 0.00294 TGTGCCAGC… CASGSG… TRBV1… TRBD1 TRBJ2… 8 15 23
#> 7 24 0.00282 TGCAGTGCT… CSAMGS… TRBV2… TRBD2 TRBJ2… 9 16 25
#> 8 22 0.00259 TGTGCCAGC… CASSQG… TRBV7… TRBD1 TRBJ2… 11 12 17
#> 9 22 0.00259 TGTGCCAGC… CASSPG… TRBV7… TRBD1 TRBJ2… 11 15 21
#> 10 21 0.00247 TGCAGTGCT… CSAGRD… TRBV2… TRBD1 TRBJ2… 8 13 17
#> # ℹ 7,135 more rows
#> # ℹ 5 more variables: J.start <int>, VJ.ins <dbl>, VD.ins <dbl>, DJ.ins <dbl>,
#> # Sequence <lgl>
#>
#> $data$MS3
#> # A tibble: 6,461 × 15
#> Clones Proportion CDR3.nt CDR3.aa V.name D.name J.name V.end D.start D.end
#> <dbl> <dbl> <chr> <chr> <chr> <chr> <chr> <int> <int> <int>
#> 1 608 0.0715 TGTGCCAGC… CASSQD… TRBV14 TRBD1 TRBJ2… 16 19 21
#> 2 291 0.0342 TGTGCCAGC… CASSPT… TRBV1… TRBD1 TRBJ2… 11 14 22
#> 3 131 0.0154 TGTGCCAGC… CASSQD… TRBV14 TRBD2 TRBJ2… 16 18 21
#> 4 115 0.0135 TGTGCCACC… CATSII… TRBV15 TRBD2 TRBJ2… 11 16 24
#> 5 78 0.00918 TGTGCCACC… CATSRL… TRBV15 TRBD2 TRBJ2… 11 13 24
#> 6 51 0.006 TGTGCCAGC… CASSLG… TRBV5… TRBD1 TRBJ2… 15 23 26
#> 7 33 0.00388 TGTGCCAGC… CASSPG… TRBV7… TRBD1 TRBJ2… 11 16 19
#> 8 33 0.00388 TGTGCCAGC… CASSPG… TRBV7… TRBD2 TRBJ2… 11 15 27
#> 9 32 0.00376 TGTGCCATC… CAIRDP… TRBV1… TRBD1 TRBJ2… 10 17 20
#> 10 29 0.00341 TGTGCCAGC… CASSLG… TRBV7… TRBD2 TRBJ2… 15 16 27
#> # ℹ 6,451 more rows
#> # ℹ 5 more variables: J.start <int>, VJ.ins <dbl>, VD.ins <dbl>, DJ.ins <dbl>,
#> # Sequence <lgl>
#>
#> $data$MS4
#> # A tibble: 7,447 × 15
#> Clones Proportion CDR3.nt CDR3.aa V.name D.name J.name V.end D.start D.end
#> <dbl> <dbl> <chr> <chr> <chr> <chr> <chr> <int> <int> <int>
#> 1 28 0.00329 TGTGCCAGC… CASSVV… TRBV9 TRBD1 TRBJ2… 15 24 29
#> 2 27 0.00318 TGTGCCAGC… CASSPD… TRBV7… TRBD1 TRBJ2… 11 21 24
#> 3 27 0.00318 TGTGCCACC… CATSRD… TRBV15 TRBD2 TRBJ2… 11 26 31
#> 4 24 0.00282 TGCGCCAGC… CASQRE… TRBV4… TRBD2 TRBJ1… 8 15 18
#> 5 18 0.00212 TGTGCCAGC… CASSHR… TRBV5… TRBD1 TRBJ2… 11 16 25
#> 6 16 0.00188 TGTGCCAGC… CASSFV… TRBV1… TRBD1 TRBJ2… 13 17 23
#> 7 15 0.00176 TGTGCCAGC… CASSYS… TRBV7… TRBD2 TRBJ2… 10 16 20
#> 8 15 0.00176 TGCGCCAGC… CASRSG… TRBV5… TRBD1 TRBJ2… 10 16 26
#> 9 14 0.00165 TGTGCCATC… CAISDR… TRBV1… TRBD1 TRBJ1… 13 14 18
#> 10 14 0.00165 TGCAGCGCC… CSATGD… TRBV2… TRBD1 TRBJ1… 7 9 15
#> # ℹ 7,437 more rows
#> # ℹ 5 more variables: J.start <int>, VJ.ins <dbl>, VD.ins <dbl>, DJ.ins <dbl>,
#> # Sequence <lgl>
#>
#> $data$MS5
#> # A tibble: 5,657 × 15
#> Clones Proportion CDR3.nt CDR3.aa V.name D.name J.name V.end D.start D.end
#> <dbl> <dbl> <chr> <chr> <chr> <chr> <chr> <int> <int> <int>
#> 1 433 0.0509 TGTGCCAGC… CASSPG… TRBV1… TRBD1 TRBJ2… 10 13 19
#> 2 414 0.0487 TGTGCCAGC… CASSPT… TRBV6… TRBD1 TRBJ2… 10 16 19
#> 3 272 0.032 TGTGCCAGC… CASSDG… TRBV2… TRBD1 TRBJ1… 13 18 20
#> 4 233 0.0274 TGTGCCAGC… CASSQG… TRBV7… TRBD1 TRBJ1… 11 14 19
#> 5 106 0.0125 TGTGCCAGC… CASSLG… TRBV7… TRBD2 TRBJ2… 15 16 26
#> 6 79 0.00929 TGTGCCAGC… CASRFK… TRBV6… TRBD2 TRBJ2… 10 18 27
#> 7 75 0.00882 TGTGCCAGC… CASSLG… TRBV28 TRBD1 TRBJ2… 14 15 18
#> 8 55 0.00647 TGTGCCAGC… CASSQD… TRBV3… TRBD2 TRBJ2… 16 24 27
#> 9 45 0.00529 TGCGCCAGC… CASSQE… TRBV4… TRBD2 TRBJ1… 16 19 22
#> 10 40 0.00471 TGTGCCACC… CATSRV… TRBV15 TRBD2 TRBJ2… 11 16 23
#> # ℹ 5,647 more rows
#> # ℹ 5 more variables: J.start <int>, VJ.ins <dbl>, VD.ins <dbl>, DJ.ins <dbl>,
#> # Sequence <lgl>
#>
#> $data$MS6
#> # A tibble: 7,409 × 15
#> Clones Proportion CDR3.nt CDR3.aa V.name D.name J.name V.end D.start D.end
#> <dbl> <dbl> <chr> <chr> <chr> <chr> <chr> <int> <int> <int>
#> 1 46 0.00541 TGTGCCAGC… CASSAT… TRBV27 TRBD1 TRBJ2… 11 14 18
#> 2 41 0.00482 TGCAGTGCT… CSARDK… TRBV2… TRBD2 TRBJ2… 13 16 25
#> 3 29 0.00341 TGTGCCAGC… CASSPL… TRBV1… TRBD1 TRBJ2… 11 19 23
#> 4 26 0.00306 TGTGCCAGC… CASSPN… TRBV1… TRBD2 TRBJ1… 11 12 14
#> 5 21 0.00247 TGTGCCAGC… CASGTG… TRBV7… TRBD1 TRBJ1… 8 9 16
#> 6 20 0.00235 TGCGCCAGC… CASSLS… TRBV5… TRBD2 TRBJ2… 14 18 27
#> 7 18 0.00212 TGTGCCAGC… CASSPN… TRBV1… TRBD1 TRBJ2… 11 19 21
#> 8 17 0.002 TGTGCCAGC… CASSTG… TRBV6… TRBD2 TRBJ2… 11 14 26
#> 9 12 0.00141 TGTGCCAGC… CASSDS… TRBV6… TRBD2 TRBJ2… 16 17 27
#> 10 11 0.00129 TGCAGTGCT… CSARED… TRBV2… TRBD1 TRBJ1… 13 18 20
#> # ℹ 7,399 more rows
#> # ℹ 5 more variables: J.start <int>, VJ.ins <dbl>, VD.ins <dbl>, DJ.ins <dbl>,
#> # Sequence <lgl>
#>
#>
#> $meta
#> # A tibble: 6 × 6
#> Sample ID Sex Age Status Lane
#> <chr> <chr> <chr> <dbl> <chr> <chr>
#> 1 MS1 MS1 M 12 MS C
#> 2 MS2 MS2 M 30 MS C
#> 3 MS3 MS3 M 8 MS C
#> 4 MS4 MS4 F 14 MS C
#> 5 MS5 MS5 F 15 MS C
#> 6 MS6 MS6 F 15 MS C
#>
# Select samples without status "MS"
repFilter(immdata, "by.meta", list(Status = exclude("MS")))
#> $data
#> $data$`A2-i129`
#> # A tibble: 6,532 × 15
#> Clones Proportion CDR3.nt CDR3.aa V.name D.name J.name V.end D.start D.end
#> <dbl> <dbl> <chr> <chr> <chr> <chr> <chr> <int> <int> <int>
#> 1 173 0.0204 TGCGCCAGC… CASSQE… TRBV4… TRBD1 TRBJ2… 16 18 26
#> 2 163 0.0192 TGCGCCAGC… CASSYR… TRBV4… TRBD1 TRBJ2… 11 13 18
#> 3 66 0.00776 TGTGCCACC… CATSTN… TRBV15 TRBD1 TRBJ2… 11 16 22
#> 4 54 0.00635 TGTGCCACC… CATSIG… TRBV15 TRBD2 TRBJ2… 11 19 25
#> 5 48 0.00565 TGTGCCAGC… CASSPW… TRBV27 TRBD1 TRBJ1… 11 16 23
#> 6 48 0.00565 TGCGCCAGC… CASQGD… TRBV4… TRBD1 TRBJ1… 8 13 19
#> 7 40 0.00471 TGCGCCAGC… CASSQD… TRBV4… TRBD1 TRBJ2… 16 21 26
#> 8 31 0.00365 TGTGCCAGC… CASSEE… TRBV2 TRBD1 TRBJ1… 15 17 20
#> 9 30 0.00353 TGCGCCAGC… CASSQP… TRBV4… TRBD1 TRBJ2… 14 23 28
#> 10 28 0.00329 TGTGCCAGC… CASSWV… TRBV6… TRBD1 TRBJ2… 12 20 25
#> # ℹ 6,522 more rows
#> # ℹ 5 more variables: J.start <int>, VJ.ins <dbl>, VD.ins <dbl>, DJ.ins <dbl>,
#> # Sequence <lgl>
#>
#> $data$`A2-i131`
#> # A tibble: 6,553 × 15
#> Clones Proportion CDR3.nt CDR3.aa V.name D.name J.name V.end D.start D.end
#> <dbl> <dbl> <chr> <chr> <chr> <chr> <chr> <int> <int> <int>
#> 1 111 0.0131 TGCAGTGCT… CSASRG… TRBV2… TRBD1 TRBJ2… 11 12 17
#> 2 93 0.0109 TGTGCCAGC… CASSVA… TRBV9 TRBD1 TRBJ2… 15 21 23
#> 3 66 0.00776 TGTGCCAGC… CASSRM… TRBV13 TRBD1 TRBJ2… 11 18 24
#> 4 59 0.00694 TGTGCCAGC… CASSPT… TRBV6… TRBD2 TRBJ2… 10 14 19
#> 5 57 0.00671 TGCGCCAGC… CASSLD… TRBV5… TRBD2 TRBJ1… 15 17 20
#> 6 47 0.00553 TGTGCCAGC… CASRGL… TRBV6… TRBD2 TRBJ2… 10 11 16
#> 7 46 0.00541 TGCAGCGTT… CSVTGV… TRBV2… TRBD1 TRBJ2… 8 9 13
#> 8 30 0.00353 TGTGCCAGC… CASSYL… TRBV6… TRBD2 TRBJ1… 15 17 19
#> 9 29 0.00341 TGTGCCAGC… CASSLA… TRBV5… TRBD1 TRBJ1… 15 21 26
#> 10 29 0.00341 TGTGCCAGC… CASSYI… TRBV6… TRBD1 TRBJ1… 14 17 20
#> # ℹ 6,543 more rows
#> # ℹ 5 more variables: J.start <int>, VJ.ins <dbl>, VD.ins <dbl>, DJ.ins <dbl>,
#> # Sequence <lgl>
#>
#> $data$`A2-i133`
#> # A tibble: 6,393 × 15
#> Clones Proportion CDR3.nt CDR3.aa V.name D.name J.name V.end D.start D.end
#> <dbl> <dbl> <chr> <chr> <chr> <chr> <chr> <int> <int> <int>
#> 1 333 0.0392 TGTGCCAGC… CASSLY… TRBV1… TRBD2 TRBJ2… 11 18 29
#> 2 111 0.0131 TGTGCCAGC… CASSLG… TRBV7… TRBD1 TRBJ1… 12 15 19
#> 3 102 0.012 TGTGCCAGC… CASSPL… TRBV7… TRBD2 TRBJ2… 11 18 23
#> 4 81 0.00953 TGTGCCAGC… CASSPF… TRBV7… TRBD2 TRBJ1… 11 16 20
#> 5 71 0.00835 TGTGCCAGC… CASSQG… TRBV4… TRBD2 TRBJ2… 15 19 22
#> 6 53 0.00624 TGTGCCAGC… CASSVT… TRBV9 TRBD1 TRBJ1… 13 14 18
#> 7 45 0.00529 TGTGCCAGC… CASSLG… TRBV7… TRBD1 TRBJ1… 15 16 18
#> 8 38 0.00447 TGTGCCAGC… CASSST… TRBV7… TRBD1 TRBJ1… 16 19 24
#> 9 38 0.00447 TGTGCCAGC… CASREL… TRBV28 TRBD2 TRBJ2… 10 24 29
#> 10 21 0.00247 TGCAGCGTT… CSVDEG… TRBV2… TRBD1 TRBJ2… 10 14 17
#> # ℹ 6,383 more rows
#> # ℹ 5 more variables: J.start <int>, VJ.ins <dbl>, VD.ins <dbl>, DJ.ins <dbl>,
#> # Sequence <lgl>
#>
#> $data$`A2-i132`
#> # A tibble: 6,849 × 15
#> Clones Proportion CDR3.nt CDR3.aa V.name D.name J.name V.end D.start D.end
#> <dbl> <dbl> <chr> <chr> <chr> <chr> <chr> <int> <int> <int>
#> 1 41 0.00482 TGTGCCAGC… CASSFR… TRBV7… TRBD1 TRBJ2… 10 16 26
#> 2 23 0.00271 TGTGCCATC… CAIRKQ… TRBV1… TRBD1 TRBJ1… 10 15 19
#> 3 20 0.00235 TGCGCCAGC… CASSTR… TRBV4… TRBD2 TRBJ2… 11 20 28
#> 4 20 0.00235 TGTGCCAGC… CASSYL… TRBV6… TRBD1 TRBJ1… 14 18 27
#> 5 18 0.00212 TGTGCCAGC… CASSYI… TRBV6… TRBD1 TRBJ1… 14 18 23
#> 6 18 0.00212 TGTGCCAGC… CASSLL… TRBV28 TRBD2 TRBJ2… 14 15 24
#> 7 17 0.002 TGTGCCAGC… CASTSL… TRBV6… TRBD1 TRBJ2… 9 25 29
#> 8 16 0.00188 TGCGCCAGC… CASSLD… TRBV5… TRBD1 TRBJ2… 15 -1 -1
#> 9 15 0.00176 TGTGCCAGC… CASTLR… TRBV28 TRBD1 TRBJ1… 9 19 21
#> 10 15 0.00176 TGCGCCAGC… CASSQE… TRBV4… TRBD1 TRBJ2… 16 20 23
#> # ℹ 6,839 more rows
#> # ℹ 5 more variables: J.start <int>, VJ.ins <dbl>, VD.ins <dbl>, DJ.ins <dbl>,
#> # Sequence <lgl>
#>
#> $data$`A4-i191`
#> # A tibble: 5,146 × 15
#> Clones Proportion CDR3.nt CDR3.aa V.name D.name J.name V.end D.start D.end
#> <dbl> <dbl> <chr> <chr> <chr> <chr> <chr> <int> <int> <int>
#> 1 449 0.0528 TGTGCCAGC… CASSAF… TRBV9 TRBD2 TRBJ2… 12 19 24
#> 2 202 0.0238 TGCGCCTGT… CACGGG… TRBV1… TRBD2 TRBJ1… 5 12 18
#> 3 187 0.022 TGTGCCAGC… CASSSG… TRBV27 TRBD2 TRBJ2… 12 15 23
#> 4 143 0.0168 TGTGCCAGC… CASSSG… TRBV6… TRBD1 TRBJ2… 12 14 21
#> 5 126 0.0148 TGCGCCAGC… CASSQD… TRBV4… TRBD1 TRBJ2… 16 19 22
#> 6 83 0.00976 TGCGCCAGC… CASSQV… TRBV4… TRBD2 TRBJ1… 15 17 21
#> 7 80 0.00941 TGTGCCAGC… CASSLG… TRBV28 TRBD2 TRBJ2… 14 20 24
#> 8 68 0.008 TGTGCCAGC… CASSFG… TRBV1… TRBD1 TRBJ2… 13 23 26
#> 9 66 0.00776 TGTGCCAGC… CASSAG… TRBV7… TRBD1 TRBJ2… 11 15 21
#> 10 56 0.00659 TGCGCCAGC… CASSLA… TRBV5… TRBD2 TRBJ1… 15 20 24
#> # ℹ 5,136 more rows
#> # ℹ 5 more variables: J.start <int>, VJ.ins <dbl>, VD.ins <dbl>, DJ.ins <dbl>,
#> # Sequence <lgl>
#>
#> $data$`A4-i192`
#> # A tibble: 5,823 × 15
#> Clones Proportion CDR3.nt CDR3.aa V.name D.name J.name V.end D.start D.end
#> <dbl> <dbl> <chr> <chr> <chr> <chr> <chr> <int> <int> <int>
#> 1 150 0.0176 TGCGCCAGC… CASSES… TRBV1… TRBD1 TRBJ2… 16 17 19
#> 2 124 0.0146 TGTGCCAGC… CASIPP… TRBV7… TRBD2 TRBJ2… 9 30 38
#> 3 120 0.0141 TGCGCCAGC… CASSSG… TRBV4… TRBD1 TRBJ1… 11 15 20
#> 4 115 0.0135 TGCAGTGCT… CSARDI… TRBV2… TRBD1 TRBJ1… 13 18 20
#> 5 107 0.0126 TGTGCCAGC… CASSRW… TRBV7… TRBD1 TRBJ2… 11 16 20
#> 6 101 0.0119 TGCAGTGCT… CSARDF… TRBV2… TRBD1 TRBJ2… 13 24 31
#> 7 95 0.0112 TGTGCCAGC… CASSPN… TRBV1… TRBD2 TRBJ1… 10 11 14
#> 8 76 0.00894 TGTGCCAGC… CASSLI… TRBV27 TRBD1 TRBJ2… 14 17 19
#> 9 51 0.006 TGTGCCAGC… CASSPK… TRBV18 TRBD2 TRBJ2… 14 18 24
#> 10 42 0.00494 TGTGCCAGC… CASSPN… TRBV1… TRBD2 TRBJ1… 11 16 19
#> # ℹ 5,813 more rows
#> # ℹ 5 more variables: J.start <int>, VJ.ins <dbl>, VD.ins <dbl>, DJ.ins <dbl>,
#> # Sequence <lgl>
#>
#>
#> $meta
#> # A tibble: 6 × 6
#> Sample ID Sex Age Status Lane
#> <chr> <chr> <chr> <dbl> <chr> <chr>
#> 1 A2-i129 C1 M 11 C A
#> 2 A2-i131 C2 M 9 C A
#> 3 A2-i133 C4 M 16 C A
#> 4 A2-i132 C3 F 6 C A
#> 5 A4-i191 C8 F 22 C B
#> 6 A4-i192 C9 F 24 C B
#>
# Select samples from lanes "A" and "B" with age > 15
repFilter(immdata, "by.meta", list(Lane = include("A", "B"), Age = morethan(15)))
#> $data
#> $data$`A2-i133`
#> # A tibble: 6,393 × 15
#> Clones Proportion CDR3.nt CDR3.aa V.name D.name J.name V.end D.start D.end
#> <dbl> <dbl> <chr> <chr> <chr> <chr> <chr> <int> <int> <int>
#> 1 333 0.0392 TGTGCCAGC… CASSLY… TRBV1… TRBD2 TRBJ2… 11 18 29
#> 2 111 0.0131 TGTGCCAGC… CASSLG… TRBV7… TRBD1 TRBJ1… 12 15 19
#> 3 102 0.012 TGTGCCAGC… CASSPL… TRBV7… TRBD2 TRBJ2… 11 18 23
#> 4 81 0.00953 TGTGCCAGC… CASSPF… TRBV7… TRBD2 TRBJ1… 11 16 20
#> 5 71 0.00835 TGTGCCAGC… CASSQG… TRBV4… TRBD2 TRBJ2… 15 19 22
#> 6 53 0.00624 TGTGCCAGC… CASSVT… TRBV9 TRBD1 TRBJ1… 13 14 18
#> 7 45 0.00529 TGTGCCAGC… CASSLG… TRBV7… TRBD1 TRBJ1… 15 16 18
#> 8 38 0.00447 TGTGCCAGC… CASSST… TRBV7… TRBD1 TRBJ1… 16 19 24
#> 9 38 0.00447 TGTGCCAGC… CASREL… TRBV28 TRBD2 TRBJ2… 10 24 29
#> 10 21 0.00247 TGCAGCGTT… CSVDEG… TRBV2… TRBD1 TRBJ2… 10 14 17
#> # ℹ 6,383 more rows
#> # ℹ 5 more variables: J.start <int>, VJ.ins <dbl>, VD.ins <dbl>, DJ.ins <dbl>,
#> # Sequence <lgl>
#>
#> $data$`A4-i191`
#> # A tibble: 5,146 × 15
#> Clones Proportion CDR3.nt CDR3.aa V.name D.name J.name V.end D.start D.end
#> <dbl> <dbl> <chr> <chr> <chr> <chr> <chr> <int> <int> <int>
#> 1 449 0.0528 TGTGCCAGC… CASSAF… TRBV9 TRBD2 TRBJ2… 12 19 24
#> 2 202 0.0238 TGCGCCTGT… CACGGG… TRBV1… TRBD2 TRBJ1… 5 12 18
#> 3 187 0.022 TGTGCCAGC… CASSSG… TRBV27 TRBD2 TRBJ2… 12 15 23
#> 4 143 0.0168 TGTGCCAGC… CASSSG… TRBV6… TRBD1 TRBJ2… 12 14 21
#> 5 126 0.0148 TGCGCCAGC… CASSQD… TRBV4… TRBD1 TRBJ2… 16 19 22
#> 6 83 0.00976 TGCGCCAGC… CASSQV… TRBV4… TRBD2 TRBJ1… 15 17 21
#> 7 80 0.00941 TGTGCCAGC… CASSLG… TRBV28 TRBD2 TRBJ2… 14 20 24
#> 8 68 0.008 TGTGCCAGC… CASSFG… TRBV1… TRBD1 TRBJ2… 13 23 26
#> 9 66 0.00776 TGTGCCAGC… CASSAG… TRBV7… TRBD1 TRBJ2… 11 15 21
#> 10 56 0.00659 TGCGCCAGC… CASSLA… TRBV5… TRBD2 TRBJ1… 15 20 24
#> # ℹ 5,136 more rows
#> # ℹ 5 more variables: J.start <int>, VJ.ins <dbl>, VD.ins <dbl>, DJ.ins <dbl>,
#> # Sequence <lgl>
#>
#> $data$`A4-i192`
#> # A tibble: 5,823 × 15
#> Clones Proportion CDR3.nt CDR3.aa V.name D.name J.name V.end D.start D.end
#> <dbl> <dbl> <chr> <chr> <chr> <chr> <chr> <int> <int> <int>
#> 1 150 0.0176 TGCGCCAGC… CASSES… TRBV1… TRBD1 TRBJ2… 16 17 19
#> 2 124 0.0146 TGTGCCAGC… CASIPP… TRBV7… TRBD2 TRBJ2… 9 30 38
#> 3 120 0.0141 TGCGCCAGC… CASSSG… TRBV4… TRBD1 TRBJ1… 11 15 20
#> 4 115 0.0135 TGCAGTGCT… CSARDI… TRBV2… TRBD1 TRBJ1… 13 18 20
#> 5 107 0.0126 TGTGCCAGC… CASSRW… TRBV7… TRBD1 TRBJ2… 11 16 20
#> 6 101 0.0119 TGCAGTGCT… CSARDF… TRBV2… TRBD1 TRBJ2… 13 24 31
#> 7 95 0.0112 TGTGCCAGC… CASSPN… TRBV1… TRBD2 TRBJ1… 10 11 14
#> 8 76 0.00894 TGTGCCAGC… CASSLI… TRBV27 TRBD1 TRBJ2… 14 17 19
#> 9 51 0.006 TGTGCCAGC… CASSPK… TRBV18 TRBD2 TRBJ2… 14 18 24
#> 10 42 0.00494 TGTGCCAGC… CASSPN… TRBV1… TRBD2 TRBJ1… 11 16 19
#> # ℹ 5,813 more rows
#> # ℹ 5 more variables: J.start <int>, VJ.ins <dbl>, VD.ins <dbl>, DJ.ins <dbl>,
#> # Sequence <lgl>
#>
#>
#> $meta
#> # A tibble: 3 × 6
#> Sample ID Sex Age Status Lane
#> <chr> <chr> <chr> <dbl> <chr> <chr>
#> 1 A2-i133 C4 M 16 C A
#> 2 A4-i191 C8 F 22 C B
#> 3 A4-i192 C9 F 24 C B
#>
# Select samples that are not from lanes "A" and "B"
repFilter(immdata, "by.meta", list(Lane = exclude("A", "B")))
#> $data
#> $data$MS1
#> # A tibble: 5,405 × 15
#> Clones Proportion CDR3.nt CDR3.aa V.name D.name J.name V.end D.start D.end
#> <dbl> <dbl> <chr> <chr> <chr> <chr> <chr> <int> <int> <int>
#> 1 539 0.0634 TGTGCCAGC… CASSLQ… TRBV7… TRBD2 TRBJ2… 14 18 26
#> 2 320 0.0376 TGTGCCAGC… CASSVY… TRBV9 TRBD1 TRBJ2… 13 20 22
#> 3 204 0.024 TGCAGTACC… CSTEED… TRBV2… TRBD1 TRBJ2… 5 14 19
#> 4 151 0.0178 TGCAGCGTT… CSVELR… TRBV2… TRBD1 TRBJ2… 11 16 19
#> 5 98 0.0115 TGTGCCAGC… CASSLG… TRBV5… TRBD1 TRBJ2… 15 16 22
#> 6 81 0.00953 TGCAGTGCT… CSARDL… TRBV2… TRBD2 TRBJ2… 13 15 20
#> 7 76 0.00894 TGTGCCAGC… CASSFE… TRBV7… TRBD1 TRBJ2… 13 16 22
#> 8 62 0.00729 TGCAGCTAT… CSYRTG… TRBV2… TRBD1 TRBJ2… 5 10 20
#> 9 60 0.00706 TGTGCCAGC… CASSLG… TRBV28 TRBD1 TRBJ2… 14 26 31
#> 10 38 0.00447 TGTGCCAGC… CASSLY… TRBV7… TRBD2 TRBJ2… 14 17 19
#> # ℹ 5,395 more rows
#> # ℹ 5 more variables: J.start <int>, VJ.ins <dbl>, VD.ins <dbl>, DJ.ins <dbl>,
#> # Sequence <lgl>
#>
#> $data$MS2
#> # A tibble: 7,145 × 15
#> Clones Proportion CDR3.nt CDR3.aa V.name D.name J.name V.end D.start D.end
#> <dbl> <dbl> <chr> <chr> <chr> <chr> <chr> <int> <int> <int>
#> 1 97 0.0114 TGTGCCAGC… CASSTR… TRBV28 TRBD1 TRBJ2… 10 15 20
#> 2 77 0.00906 TGCAGCGTT… CSVEGG… TRBV2… TRBD1 TRBJ2… 12 13 17
#> 3 33 0.00388 TGTGCCAGC… CASSLI… TRBV28 TRBD1 TRBJ2… 14 20 26
#> 4 32 0.00376 TGTGCCAGC… CASSIT… TRBV27 TRBD1 TRBJ1… 11 16 18
#> 5 26 0.00306 TGCAGCGTT… CSVEGG… TRBV2… TRBD2 TRBJ2… 12 13 16
#> 6 25 0.00294 TGTGCCAGC… CASGSG… TRBV1… TRBD1 TRBJ2… 8 15 23
#> 7 24 0.00282 TGCAGTGCT… CSAMGS… TRBV2… TRBD2 TRBJ2… 9 16 25
#> 8 22 0.00259 TGTGCCAGC… CASSQG… TRBV7… TRBD1 TRBJ2… 11 12 17
#> 9 22 0.00259 TGTGCCAGC… CASSPG… TRBV7… TRBD1 TRBJ2… 11 15 21
#> 10 21 0.00247 TGCAGTGCT… CSAGRD… TRBV2… TRBD1 TRBJ2… 8 13 17
#> # ℹ 7,135 more rows
#> # ℹ 5 more variables: J.start <int>, VJ.ins <dbl>, VD.ins <dbl>, DJ.ins <dbl>,
#> # Sequence <lgl>
#>
#> $data$MS3
#> # A tibble: 6,461 × 15
#> Clones Proportion CDR3.nt CDR3.aa V.name D.name J.name V.end D.start D.end
#> <dbl> <dbl> <chr> <chr> <chr> <chr> <chr> <int> <int> <int>
#> 1 608 0.0715 TGTGCCAGC… CASSQD… TRBV14 TRBD1 TRBJ2… 16 19 21
#> 2 291 0.0342 TGTGCCAGC… CASSPT… TRBV1… TRBD1 TRBJ2… 11 14 22
#> 3 131 0.0154 TGTGCCAGC… CASSQD… TRBV14 TRBD2 TRBJ2… 16 18 21
#> 4 115 0.0135 TGTGCCACC… CATSII… TRBV15 TRBD2 TRBJ2… 11 16 24
#> 5 78 0.00918 TGTGCCACC… CATSRL… TRBV15 TRBD2 TRBJ2… 11 13 24
#> 6 51 0.006 TGTGCCAGC… CASSLG… TRBV5… TRBD1 TRBJ2… 15 23 26
#> 7 33 0.00388 TGTGCCAGC… CASSPG… TRBV7… TRBD1 TRBJ2… 11 16 19
#> 8 33 0.00388 TGTGCCAGC… CASSPG… TRBV7… TRBD2 TRBJ2… 11 15 27
#> 9 32 0.00376 TGTGCCATC… CAIRDP… TRBV1… TRBD1 TRBJ2… 10 17 20
#> 10 29 0.00341 TGTGCCAGC… CASSLG… TRBV7… TRBD2 TRBJ2… 15 16 27
#> # ℹ 6,451 more rows
#> # ℹ 5 more variables: J.start <int>, VJ.ins <dbl>, VD.ins <dbl>, DJ.ins <dbl>,
#> # Sequence <lgl>
#>
#> $data$MS4
#> # A tibble: 7,447 × 15
#> Clones Proportion CDR3.nt CDR3.aa V.name D.name J.name V.end D.start D.end
#> <dbl> <dbl> <chr> <chr> <chr> <chr> <chr> <int> <int> <int>
#> 1 28 0.00329 TGTGCCAGC… CASSVV… TRBV9 TRBD1 TRBJ2… 15 24 29
#> 2 27 0.00318 TGTGCCAGC… CASSPD… TRBV7… TRBD1 TRBJ2… 11 21 24
#> 3 27 0.00318 TGTGCCACC… CATSRD… TRBV15 TRBD2 TRBJ2… 11 26 31
#> 4 24 0.00282 TGCGCCAGC… CASQRE… TRBV4… TRBD2 TRBJ1… 8 15 18
#> 5 18 0.00212 TGTGCCAGC… CASSHR… TRBV5… TRBD1 TRBJ2… 11 16 25
#> 6 16 0.00188 TGTGCCAGC… CASSFV… TRBV1… TRBD1 TRBJ2… 13 17 23
#> 7 15 0.00176 TGTGCCAGC… CASSYS… TRBV7… TRBD2 TRBJ2… 10 16 20
#> 8 15 0.00176 TGCGCCAGC… CASRSG… TRBV5… TRBD1 TRBJ2… 10 16 26
#> 9 14 0.00165 TGTGCCATC… CAISDR… TRBV1… TRBD1 TRBJ1… 13 14 18
#> 10 14 0.00165 TGCAGCGCC… CSATGD… TRBV2… TRBD1 TRBJ1… 7 9 15
#> # ℹ 7,437 more rows
#> # ℹ 5 more variables: J.start <int>, VJ.ins <dbl>, VD.ins <dbl>, DJ.ins <dbl>,
#> # Sequence <lgl>
#>
#> $data$MS5
#> # A tibble: 5,657 × 15
#> Clones Proportion CDR3.nt CDR3.aa V.name D.name J.name V.end D.start D.end
#> <dbl> <dbl> <chr> <chr> <chr> <chr> <chr> <int> <int> <int>
#> 1 433 0.0509 TGTGCCAGC… CASSPG… TRBV1… TRBD1 TRBJ2… 10 13 19
#> 2 414 0.0487 TGTGCCAGC… CASSPT… TRBV6… TRBD1 TRBJ2… 10 16 19
#> 3 272 0.032 TGTGCCAGC… CASSDG… TRBV2… TRBD1 TRBJ1… 13 18 20
#> 4 233 0.0274 TGTGCCAGC… CASSQG… TRBV7… TRBD1 TRBJ1… 11 14 19
#> 5 106 0.0125 TGTGCCAGC… CASSLG… TRBV7… TRBD2 TRBJ2… 15 16 26
#> 6 79 0.00929 TGTGCCAGC… CASRFK… TRBV6… TRBD2 TRBJ2… 10 18 27
#> 7 75 0.00882 TGTGCCAGC… CASSLG… TRBV28 TRBD1 TRBJ2… 14 15 18
#> 8 55 0.00647 TGTGCCAGC… CASSQD… TRBV3… TRBD2 TRBJ2… 16 24 27
#> 9 45 0.00529 TGCGCCAGC… CASSQE… TRBV4… TRBD2 TRBJ1… 16 19 22
#> 10 40 0.00471 TGTGCCACC… CATSRV… TRBV15 TRBD2 TRBJ2… 11 16 23
#> # ℹ 5,647 more rows
#> # ℹ 5 more variables: J.start <int>, VJ.ins <dbl>, VD.ins <dbl>, DJ.ins <dbl>,
#> # Sequence <lgl>
#>
#> $data$MS6
#> # A tibble: 7,409 × 15
#> Clones Proportion CDR3.nt CDR3.aa V.name D.name J.name V.end D.start D.end
#> <dbl> <dbl> <chr> <chr> <chr> <chr> <chr> <int> <int> <int>
#> 1 46 0.00541 TGTGCCAGC… CASSAT… TRBV27 TRBD1 TRBJ2… 11 14 18
#> 2 41 0.00482 TGCAGTGCT… CSARDK… TRBV2… TRBD2 TRBJ2… 13 16 25
#> 3 29 0.00341 TGTGCCAGC… CASSPL… TRBV1… TRBD1 TRBJ2… 11 19 23
#> 4 26 0.00306 TGTGCCAGC… CASSPN… TRBV1… TRBD2 TRBJ1… 11 12 14
#> 5 21 0.00247 TGTGCCAGC… CASGTG… TRBV7… TRBD1 TRBJ1… 8 9 16
#> 6 20 0.00235 TGCGCCAGC… CASSLS… TRBV5… TRBD2 TRBJ2… 14 18 27
#> 7 18 0.00212 TGTGCCAGC… CASSPN… TRBV1… TRBD1 TRBJ2… 11 19 21
#> 8 17 0.002 TGTGCCAGC… CASSTG… TRBV6… TRBD2 TRBJ2… 11 14 26
#> 9 12 0.00141 TGTGCCAGC… CASSDS… TRBV6… TRBD2 TRBJ2… 16 17 27
#> 10 11 0.00129 TGCAGTGCT… CSARED… TRBV2… TRBD1 TRBJ1… 13 18 20
#> # ℹ 7,399 more rows
#> # ℹ 5 more variables: J.start <int>, VJ.ins <dbl>, VD.ins <dbl>, DJ.ins <dbl>,
#> # Sequence <lgl>
#>
#>
#> $meta
#> # A tibble: 6 × 6
#> Sample ID Sex Age Status Lane
#> <chr> <chr> <chr> <dbl> <chr> <chr>
#> 1 MS1 MS1 M 12 MS C
#> 2 MS2 MS2 M 30 MS C
#> 3 MS3 MS3 M 8 MS C
#> 4 MS4 MS4 F 14 MS C
#> 5 MS5 MS5 F 15 MS C
#> 6 MS6 MS6 F 15 MS C
#>
# Select samples with a number of clonotypes from 1000 to 5000
repFilter(immdata, "by.repertoire", list(n_clonotypes = interval(1000, 5000)))
#> Warning: Filter by key "n_clonotypes" removed all remaining samples!
#> $data
#> named list()
#>
#> $meta
#> # A tibble: 0 × 6
#> # ℹ 6 variables: Sample <chr>, ID <chr>, Sex <chr>, Age <dbl>, Status <chr>,
#> # Lane <chr>
#>
# Select clonotypes in all samples with alpha chains
repFilter(immdata, "by.clonotype",
list(V.name = include("AV"), J.name = include("AJ")),
.match = "substring"
)
#> Warning: Filter by column "V.name" removed all remaining clonotypes from sample "A2-i129"; sample was removed!
#> Warning: Filter by column "V.name" removed all remaining clonotypes from sample "A2-i131"; sample was removed!
#> Warning: Filter by column "V.name" removed all remaining clonotypes from sample "A2-i133"; sample was removed!
#> Warning: Filter by column "V.name" removed all remaining clonotypes from sample "A2-i132"; sample was removed!
#> Warning: Filter by column "V.name" removed all remaining clonotypes from sample "A4-i191"; sample was removed!
#> Warning: Filter by column "V.name" removed all remaining clonotypes from sample "A4-i192"; sample was removed!
#> Warning: Filter by column "V.name" removed all remaining clonotypes from sample "MS1"; sample was removed!
#> Warning: Filter by column "V.name" removed all remaining clonotypes from sample "MS2"; sample was removed!
#> Warning: Filter by column "V.name" removed all remaining clonotypes from sample "MS3"; sample was removed!
#> Warning: Filter by column "V.name" removed all remaining clonotypes from sample "MS4"; sample was removed!
#> Warning: Filter by column "V.name" removed all remaining clonotypes from sample "MS5"; sample was removed!
#> Warning: Filter by column "V.name" removed all remaining clonotypes from sample "MS6"; sample was removed!
#> $data
#> named list()
#>
#> $meta
#> # A tibble: 0 × 6
#> # ℹ 6 variables: Sample <chr>, ID <chr>, Sex <chr>, Age <dbl>, Status <chr>,
#> # Lane <chr>
#>