Adaptive Immune Receptor Repertoire Sequencing (AIRR-seq) provides a unique opportunity to interrogate the adaptive immune repertoire under various clinical conditions. The utility offered by this technology has quickly garnered interest from a community of clinicians and researchers investigating the immunological landscapes of a large spectrum of health and disease states. LymphoSeq2 is a toolkit that allows users to import, manipulate and visualize AIRR-Seq data from various AIRR-Seq assays such as Adaptive ImmunoSEQ and BGI-IRSeq, with support for 10X VDJ sequencing coming soon. The platform also supports the importing of AIRR-seq data processed using the MiXCR pipeline. The vignette highlights some of the key features of LymphoSeq2.
To install the latest version of LymphoSeq2 you can use the devtools
package and install LymphoSeq2 from GitHub
# install.packages("devtools")
devtools::install_github("shashidhar22/LymphoSeq2", build_vignettes = TRUE)
To import AIRR-Seq data using LymphoSeq2
we can use the
readImmunoSeq
function. Currently the function can import data from
MiXCR, Adaptive ImmunoSEQ, BGI IR-SEQ, and 10X Genomic single cell VDJ
rearrangements.
library(LymphoSeq2)
#> Loading required package: data.table
study_files <- system.file("extdata", "TCRB_sequencing", package = "LymphoSeq2")
study_table <- LymphoSeq2::readImmunoSeq(study_files)
#> Registered S3 methods overwritten by 'readr':
#> method from
#> as.data.frame.spec_tbl_df vroom
#> as_tibble.spec_tbl_df vroom
#> format.col_spec vroom
#> print.col_spec vroom
#> print.collector vroom
#> print.date_names vroom
#> print.locale vroom
#> str.col_spec vroom
To get a quick summary of repertoire characteristics, use the
clonality
function. This will calculate many standard repertoire
diversity metrics such clonality
, gini coefficient
, convergence
,
and unique productive sequence
for each of the repertoires in the
input dataset.
summary_table <- LymphoSeq2::clonality(study_table)
summary_table
#> # A tibble: 10 × 8
#> repertoire_id total_sequences unique_productive_se…¹ total_count clonality
#> <chr> <int> <int> <dbl> <dbl>
#> 1 TRB_CD4_949 1000 845 25769 0.443
#> 2 TRB_CD8_949 1000 794 26239 0.431
#> 3 TRB_CD8_CMV_369 414 281 1794 0.332
#> 4 TRB_Unsorted_0 1000 838 18161 0.281
#> 5 TRB_Unsorted_13… 1000 838 178190 0.422
#> 6 TRB_Unsorted_14… 1000 832 33669 0.389
#> 7 TRB_Unsorted_32 920 767 31078 0.134
#> 8 TRB_Unsorted_369 1000 830 339413 0.426
#> 9 TRB_Unsorted_83 1000 823 236732 0.338
#> 10 TRB_Unsorted_949 1000 831 6549 0.306
#> # ℹ abbreviated name: ¹unique_productive_sequences
#> # ℹ 3 more variables: gini_coefficient <dbl>, top_productive_sequence <dbl>,
#> # convergence <dbl>
To compare samples with varying depth of sequencing, you can use the
clonality
function to sample down all repertoires to a minimum number
of sequences. Since we randomly sample sequences from each repertoire,
in this mode the clonality
function will repeat this operation for a
user specified number of iterations
and caculate the average value for
all the diversity metrics.
sampled_summary <- LymphoSeq2::clonality(study_table, rarefy = TRUE, iterations = 5, min_count = 1000)
sampled_summary
#> # A tibble: 10 × 8
#> repertoire_id total_sequences unique_productive_se…¹ total_count clonality
#> <chr> <dbl> <dbl> <dbl> <dbl>
#> 1 TRB_CD4_949 160. 134 1000 0.311
#> 2 TRB_CD8_949 190. 150. 1000 0.301
#> 3 TRB_CD8_CMV_369 276 188. 1000 0.298
#> 4 TRB_Unsorted_0 248. 209 1000 0.157
#> 5 TRB_Unsorted_13… 184. 149 1000 0.282
#> 6 TRB_Unsorted_14… 217 182. 1000 0.262
#> 7 TRB_Unsorted_32 416. 350. 1000 0.0928
#> 8 TRB_Unsorted_369 244. 200. 1000 0.338
#> 9 TRB_Unsorted_83 307. 250 1000 0.272
#> 10 TRB_Unsorted_949 307 255. 1000 0.221
#> # ℹ abbreviated name: ¹unique_productive_sequences
#> # ℹ 3 more variables: gini_coefficient <dbl>, top_productive_sequence <dbl>,
#> # convergence <dbl>
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.