immunarch

🧬 immunarch [R package] – Fast and Painless Exploration of Single-cell and Bulk T-cell/Antibody Immune Repertoires

https://github.com/immunomind/immunarch

Science Score: 33.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
  • .zenodo.json file
  • DOI references
    Found 8 DOI reference(s) in README
  • Academic publication links
    Links to: zenodo.org
  • Committers with academic emails
    1 of 14 committers (7.1%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (11.5%) to scientific vocabulary

Keywords

airr bioinformatics data-science immune-repertoire immunomics immunotherapy vaccine
Last synced: 9 months ago · JSON representation

Repository

🧬 immunarch [R package] – Fast and Painless Exploration of Single-cell and Bulk T-cell/Antibody Immune Repertoires

Basic Info
  • Host: GitHub
  • Owner: immunomind
  • License: apache-2.0
  • Language: R
  • Default Branch: master
  • Homepage: https://immunarch.com
  • Size: 425 MB
Statistics
  • Stars: 324
  • Watchers: 15
  • Forks: 70
  • Open Issues: 170
  • Releases: 19
Topics
airr bioinformatics data-science immune-repertoire immunomics immunotherapy vaccine
Created over 7 years ago · Last pushed about 2 years ago
Metadata Files
Readme License Code of conduct

README.md

Follow CRAN Downloads_all Downloads_week Issues CI DOI Visitors Downloads_all Downloads_week

immunarch --- Fast and Seamless Exploration of Single-cell and Bulk T-cell/Antibody Immune Repertoires in R

Why immunarch?

  • Work with any type of data: single-cell, bulk, data tables, databases --- you name it.
  • Community at the heart: ask questions, share knowledge and thrive in the community of almost 30,000 researchers and medical scientists worldwide. Pfizer, Novartis, Regeneron, Stanford, UCSF and MIT trust us.
  • One plot --- one line: write a whole PhD thesis in 8 lines of code or reproduce almost any publication in 5-10 lines of immunarch code.
  • Be on the bleeding edge of science: we regularly update immunarch with the latest methods. Let us know what you need!
  • Automatic format detection and parsing for all popular immunosequencing formats: from MiXCR and ImmunoSEQ to 10XGenomics and ArcherDX.

Lightning-fast Start

r install.packages("immunarch") # Install the package library(immunarch); data(immdata) # Load the package and the test dataset repOverlap(immdata$data) %>% vis() # Compute and visualise the most important statistics: geneUsage(immdata$data[[1]]) %>% vis() # public clonotypes, gene usage, sample diversity repDiversity(immdata$data) %>% vis(.by = "Status", .meta = immdata$meta) # Group samples

From Berkeley with devotion

immunarch is brought to you by ImmunoMind --- a UC Berkeley SkyDeck startup. ImmunoMind improves the design of adoptive T-cell therapies such as CAR-T by precisely identifying T-cell subpopulations and their immune profile. ImmunoMind's tools are trusted by researchers from top pharma companies and universities, including 10X Genomics, Pfizer, Regeneron, UCSF, MIT, Stanford, John Hopkins School of Medicine and Vanderbilt University.

Follow


Table of Contents

Introduction

immunarch is an R package designed to analyse T-cell receptor (TCR) and B-cell receptor (BCR) repertoires, mainly tailored to medical scientists and bioinformaticians. The mission of immunarch is to make immune sequencing data analysis as effortless as possible and help you focus on research instead of coding.

Contact

Create a ticket with a bug or question on GitHub Issues to get help from the community and enrich it with your experience. If you need to send us sensitive data, feel free to contact us via support@immunomind.io.

Installation

Latest release on CRAN

In order to install immunarch execute the following command:

r install.packages("immunarch")

That's it, you can start using immunarch now! See the Quick Start section below to dive into immune repertoire data analysis. If you run in any trouble during installation, take a look at the Installation Troubleshooting section.

Note: there are quite a lot of dependencies to install with the package because it installs all the widely-used packages for data analysis and visualisation. You got both the AIRR data analysis framework and the full Data Science package ecosystem with only one command, making immunarch the entry-point for single-cell & immune repertoire Data Science.

Latest release on GitHub

If the above command doesn't work for any reason, try installing immunarch directly from its repository:

r install.packages(c("devtools", "pkgload")) # skip this if you already installed these packages devtools::install_github("immunomind/immunarch") devtools::reload(pkgload::inst("immunarch"))

Latest pre-release on GitHub

Since releasing on CRAN is limited to one release per one or two months, you can install the latest pre-release version with all the bleeding edge and optimised features directly from the code repository. In order to install the latest pre-release version, you need to execute the following commands:

r install.packages(c("devtools", "pkgload")) # skip this if you already installed these packages devtools::install_github("immunomind/immunarch", ref="dev") devtools::reload(pkgload::inst("immunarch"))

You can find the list of releases of immunarch here: https://github.com/immunomind/immunarch/releases

Key Features

  1. Data agnostic. Fast and easy manipulation of immune repertoire data:
+ The package automatically detects the format of your files---no more guessing what format is *that* file, just pass them to the package;

+ Supports all popular TCR and BCR analysis and post-analysis formats, including single-cell data: [ImmunoSEQ](https://www.adaptivebiotech.com/adaptive-immunosequencing/), [IMGT](https://www.imgt.org/IMGTindex/IMGTHighV-QUEST.php), [MiTCR](https://github.com/milaboratory/mitcr), [MiXCR](https://github.com/milaboratory/mixcr), [MiGEC](https://github.com/mikessh/migec), [MigMap](https://github.com/mikessh/migmap), [VDJtools](https://github.com/mikessh/vdjtools), [tcR](https://github.com/imminfo/tcr), [AIRR](http://docs.airr-community.org/en/latest/), [10XGenomics](https://www.10xgenomics.com/resources/datasets?menu%5Bproducts.name%5D=Single+Cell+Immune+Profiling), ArcherDX. More coming in the future;

+ Works on any data source you are comfortable with: R data frames, data tables from [data.table](https://rdatatable.gitlab.io/data.table/), databases like [MonetDB](https://github.com/MonetDB), Apache Spark data frames via [sparklyr](https://spark.posit.co/);

+ Tutorial is available [here](https://immunarch.com/articles/v2_data.html).
  1. Beginner-friendly. Immune repertoire analysis made simple:
+ Most methods are incorporated in a couple of main functions with clear naming---no more remembering dozens and dozens of functions with obscure names. For details see [link](https://immunarch.com/articles/web_only/v3_basic_analysis.html);

+ Repertoire overlap analysis *(common indices including overlap coefficient, Jaccard index and Morisita's overlap index)*. Tutorial is available [here](https://immunarch.com/articles/web_only/v4_overlap.html);

+ Gene usage estimation *(correlation, Jensen-Shannon Divergence, clustering)*. Tutorial is available [here](https://immunarch.com/articles/web_only/v5_gene_usage.html);

+ Diversity evaluation *(ecological diversity index, Gini index, inverse Simpson index, rarefaction analysis)*. Tutorial is available [here](https://immunarch.com/articles/web_only/v6_diversity.html);

+ Tracking of clonotypes across time points, widely used in vaccination and cancer immunology domains. Tutorial is available [here](https://immunarch.com/articles/web_only/v8_tracking.html);

+ K-mer distribution measures and statistics. Tutorial is available [here](https://immunarch.com/articles/web_only/v9_kmers.html);

+ Coming in the next releases: CDR3 amino acid physical and chemical properties assessment, mutation networks.
  1. Seamless publication-ready plots with a built-in tool for visualisation manipulation:
+ Rich visualisation procedures with [ggplot2](https://ggplot2.tidyverse.org/);

+ Built-in tool `FixVis` makes your plots publication-ready: easily change font sizes, text angles, titles, legends and many more with clear-cut GUI;

+ Tutorial is available [here](https://immunarch.com/articles/web_only/v7_fixvis.html).

Quick start

The gist of the typical TCR or BCR data analysis workflow can be reduced to the next few lines of code.

Use immunarch data

1) Load the package and the data

r library(immunarch) # Load the package into R data(immdata) # Load the test dataset

2) Calculate and visualise basic statistics

r repExplore(immdata$data, "lens") %>% vis() # Visualise the length distribution of CDR3 repClonality(immdata$data, "homeo") %>% vis() # Visualise the relative abundance of clonotypes

3) Explore and compare T-cell and B-cell repertoires r repOverlap(immdata$data) %>% vis() # Build the heatmap of public clonotypes shared between repertoires geneUsage(immdata$data[[1]]) %>% vis() # Visualise the V-gene distribution for the first repertoire repDiversity(immdata$data) %>% vis(.by = "Status", .meta = immdata$meta) # Visualise the Chao1 diversity of repertoires, grouped by the patient status

Use your own data

r library(immunarch) # Load the package into R immdata <- repLoad("path/to/your/data") # Replace it with the path to your data. Immunarch automatically detects the file format.

Advanced methods

For advanced methods such as clonotype annotation, clonotype tracking, k-mer analysis and public repertoire analysis see "Tutorials".

Bugs and Issues

The mission of immunarch is to make bulk and single-cell immune repertoires analysis painless. All bug reports, documentation improvements, enhancements and ideas are appreciated. Just let us know via GitHub (preferably) or support@immunomind.io (in case of private data).

Bug reports must:

  1. Include a short, self-contained R snippet reproducing the problem.
  2. Add a minimal data sample for us to reproduce the problem. In case of sensitive data you can send it to support@immunomind.io instead of GitHub issues.
  3. Explain why the current behavior is wrong/not desired and what you expect instead.
  4. If the issue is about visualisations, please attach a picture to the issue. In other case we wouldn't be able to reproduce the bug and fix it.

Help the community

Aspiring to help the community build the ecosystem of scRNAseq & AIRR analysis tools? Found a bug? A typo? Would like to improve documentation, add a method or optimise an algorithm?

We are always open to contributions. There are two ways to contribute:

  1. Create an issue here and describe what would you like to improve or discuss.

  2. Create an issue or find one here, fork the repository and make a pull request with the bugfix or improvement.

Citation

ImmunoMind Team. (2019). immunarch: An R Package for Painless Bioinformatics Analysis of T-Cell and B-Cell Immune Repertoires. Zenodo. http://doi.org/10.5281/zenodo.3367200

BibTex: @misc{immunomind_team_2019_3367200, author = {{ImmunoMind Team}}, title = {{immunarch: An R Package for Painless Bioinformatics Analysis of T-Cell and B-Cell Immune Repertoires}}, month = aug, year = 2019, doi = {10.5281/zenodo.3367200}, url = {https://doi.org/10.5281/zenodo.3367200} }

For EndNote citation import the immunarch-citation.xml file.

Preprint on BioArxiv is coming soon.

License

The package is freely distributed under the Apache-2.0 license. You can read more about it here.

For commercial or server use, please contact ImmunoMind via support@immunomind.io about solutions for biomarker data science of single-cell immune repertoires.

Commercial Support

GitHub Events

Total
  • Issues event: 24
  • Watch event: 15
  • Issue comment event: 31
  • Fork event: 8
Last Year
  • Issues event: 24
  • Watch event: 15
  • Issue comment event: 31
  • Fork event: 8

Committers

Last synced: over 2 years ago

All Time
  • Total Commits: 532
  • Total Committers: 14
  • Avg Commits per committer: 38.0
  • Development Distribution Score (DDS): 0.573
Past Year
  • Commits: 17
  • Committers: 1
  • Avg Commits per committer: 17.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
Aleksandr Popov f****5@m****u 227
Vadim Nazarov v****n@v****l 85
Aleksandr Popov a****r@g****m 48
MVolobueva 7****a 35
Maria Volobueva m****9@g****m 32
ivan-immunomind i****n@i****o 31
ivan-immunomind 8****d 23
myrkalfr i****t@i****o 17
Vadim Nazarov v****n@m****g 17
Eugene Rumynskiy e****y@g****m 5
Grace Lam g****m@b****u 5
Max Zarodniuk m****k@g****m 3
Vadim Nazarov v****v@g****m 3
tsvvas 5****s 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 10 months ago

All Time
  • Total issues: 169
  • Total pull requests: 32
  • Average time to close issues: about 1 year
  • Average time to close pull requests: 6 days
  • Total issue authors: 137
  • Total pull request authors: 8
  • Average comments per issue: 2.17
  • Average comments per pull request: 0.09
  • Merged pull requests: 27
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 20
  • Pull requests: 1
  • Average time to close issues: 25 days
  • Average time to close pull requests: 1 minute
  • Issue authors: 13
  • Pull request authors: 1
  • Average comments per issue: 0.5
  • Average comments per pull request: 0.0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • linqy-immune (7)
  • github-wow (5)
  • vadimnazarov (5)
  • tdfy (3)
  • royfrancis (3)
  • makarov-ccf (3)
  • anabbi (3)
  • beginner984 (2)
  • flde (2)
  • amufaamo (2)
  • MikolajKocikowski (2)
  • Ahmedalaraby20 (2)
  • ms3389 (2)
  • zoqaiyum (2)
  • hookoop (2)
Pull Request Authors
  • Alexander230 (20)
  • ivan-balashov (6)
  • vadimnazarov (2)
  • chunxuan-hs (2)
  • MichaelChirico (2)
  • pwwang (1)
  • yigitbabal (1)
  • MVolobueva (1)
Top Labels
Issue Labels
status:In progress ⏳ (12) tag:IO (11) tag:Methods (8) type:Enhancement (7) type:Question (7) tag:Single-cell (7) type:Bug (7) status:Waiting for data 📁 (3) type:Critical (3) tag:Docs (3) status:Waiting for validation ❓ (2) status:Done ✅ (2) source: Email (1) tag:Environment (1)
Pull Request Labels

Packages

  • Total packages: 2
  • Total downloads:
    • cran 782 last-month
  • Total docker downloads: 84
  • Total dependent packages: 0
    (may contain duplicates)
  • Total dependent repositories: 1
    (may contain duplicates)
  • Total versions: 15
  • Total maintainers: 1
cran.r-project.org: immunarch

Bioinformatics Analysis of T-Cell and B-Cell Immune Repertoires

  • Versions: 10
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 782 Last month
  • Docker Downloads: 84
Rankings
Forks count: 1.2%
Stargazers count: 1.5%
Downloads: 15.0%
Average: 17.2%
Docker downloads count: 20.0%
Dependent packages count: 28.7%
Dependent repos count: 36.8%
Maintainers (1)
Last synced: 10 months ago
conda-forge.org: r-immunarch
  • Versions: 5
  • Dependent Packages: 0
  • Dependent Repositories: 1
Rankings
Stargazers count: 23.9%
Forks count: 24.1%
Dependent repos count: 24.4%
Average: 31.0%
Dependent packages count: 51.6%
Last synced: 10 months ago

Dependencies

.github/workflows/dockerhub.yml actions
  • actions/checkout v2 composite
  • docker/build-push-action v2 composite
  • docker/login-action v1 composite
  • docker/setup-buildx-action v1 composite
DESCRIPTION cran
  • R >= 4.0.0 depends
  • data.table >= 1.12.6 depends
  • dplyr >= 0.8.0 depends
  • dtplyr >= 1.0.0 depends
  • ggplot2 >= 3.1.0 depends
  • patchwork * depends
  • MASS >= 7.3 imports
  • Rcpp >= 1.0 imports
  • Rtsne >= 0.15 imports
  • UpSetR >= 1.4.0 imports
  • airr * imports
  • ape * imports
  • circlize * imports
  • doParallel * imports
  • factoextra >= 1.0.4 imports
  • fpc * imports
  • ggalluvial >= 0.10.0 imports
  • ggpubr >= 0.2 imports
  • ggraph * imports
  • ggrepel >= 0.8.0 imports
  • ggseqlogo * imports
  • glue * imports
  • igraph * imports
  • jsonlite * imports
  • magrittr * imports
  • methods * imports
  • phangorn * imports
  • pheatmap >= 1.0.12 imports
  • plyr * imports
  • purrr * imports
  • readr * imports
  • readxl >= 1.3.1 imports
  • reshape2 >= 1.4.2 imports
  • rlang >= 0.4 imports
  • rlist * imports
  • scales * imports
  • shiny >= 1.4.0 imports
  • shinythemes * imports
  • stringdist * imports
  • stringi * imports
  • stringr * imports
  • tibble * imports
  • tidyr * imports
  • tidyselect * imports
  • utils * imports
  • uuid * imports
  • assertthat * suggests
  • knitr >= 1.8 suggests
  • pkgdown >= 0.1.0 suggests
  • rmarkdown * suggests
  • roxygen2 >= 3.0.0 suggests
  • testthat >= 2.1.0 suggests
Dockerfile docker
  • r-base latest build