APackOfTheClones

APackOfTheClones: Visualization of clonal expansion with circle packing - Published in JOSS (2024)

https://github.com/qile0317/apackoftheclones

Science Score: 98.0%

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

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 10 DOI reference(s) in README and JOSS metadata
  • Academic publication links
    Links to: joss.theoj.org
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
    Published in Journal of Open Source Software

Keywords

clonal-analysis immune-repertoire immune-system r scrna-seq scrnaseq seurat single-cell single-cell-genomics

Scientific Fields

Biochemistry, Genetics and Molecular Biology Life Sciences - 34% confidence
Last synced: 6 months ago · JSON representation ·

Repository

Visualize clonal expansion via circle-packing. 'APackOfTheClones' extends 'scRepertoire' to produce a publication-ready visualization of clonal expansion at a single cell resolution, by representing expanded clones as differently sized circles.

Basic Info
Statistics
  • Stars: 19
  • Watchers: 0
  • Forks: 2
  • Open Issues: 2
  • Releases: 10
Topics
clonal-analysis immune-repertoire immune-system r scrna-seq scrnaseq seurat single-cell single-cell-genomics
Created over 3 years ago · Last pushed 6 months ago
Metadata Files
Readme Changelog Contributing License Code of conduct Citation

README.md

APackOfTheClones

CRAN status Downloads R-CMD-check Codecov test coverage Documentation Developmental Documentation DOI MIT license R Universe APackOfTheClones status badge <!-- badges: end -->

APackOfTheClones is an R package that extends the Bioconductor scRepertoire package to produce easily customizable "ball-packing" visualizations of the clonal expansion of T-cells/B-cells in a Seurat object, based on its receptor library and single cell RNA sequencing data (for example outputs from 10X genomics' single-cell immune profiling).

This package's visualization counts the clonotype frequencies for each cell cluster and produces a circle packing for each cluster of the frequencies to intuitively represent clonal expansion. The packing for each cluster are then plotted with roughly the same coordinates as a dimensional reduction plot of each cell. Below is an example of APackOfTheClones being used on an example seurat object for scRepertoire with its corresponding VDJ library:

An example APackOfTheClones plot

The baseline concept was first implemented in a study Ma et al.[1] by Murray Christian and Ben Murrell for nasal polyp $T_{H}$ cells.

Installation

APackOfTheClones is registered on CRAN. To install the latest stable release, simply run the following

R install.packages("APackOfTheClones")

For more details/info on alternative/development versions, see vignette("APackOfTheClones-install")

Usage

Clonal visualizations are created from a user-defined clonotype column in the metadata, along with a user-defined dimensional reduction from a Seurat Object. To get clonotypes, users can use their own column or read the scRepertoire vignette for a tutorial on how to integrate real data. Briefly, an scTCR-seq/scBCR-seq experiment (e.g. from a 10X genomics single cell immune profiling run) should be processed with scRepertoire::combineTCR / scRepertoire::combineBCR first. Then, it should be integrated into the corresponding seurat object either with scRepertoire::combineExpression.

To quickly produce the visualization, the vizAPOTC(your_combined_seurat_object) should give a reasonable visualization. There is an example seurat object included in the package which can be used with data("combined_pbmc"). The following code chunk is an example of how it can be done:

```R library(Seurat) library(scRepertoire) # ensure v2 is installed: devtools::install_github("ncborcherding/scRepertoire") library(APackOfTheClones)

integrate the contigs with scRepertoire example data - this is identical to "combined_pbmc"

pbmc <- get(data("minicontiglist", package = "scRepertoire")) %>% combineTCR( samples = c("P17B", "P17L", "P18B", "P18L", "P19B", "P19L", "P20B", "P20L") ) %>% combineExpression(get(data("scRep_example", package = "scRepertoire")))

produce the ball-packing plot with the default parameters

vizAPOTC(pbmc)

there are many parameters to adjust, but most importantly, one can filter for

subsets of the seurat object easily with keyword arguments corresponding to

columns in the meta.data dataframe in the seurat object. Here, we filter for

only the clones of the sample "P17" in a column named "orig.ident" that are only

in seurat clusters 1, 3, and 4.

vizAPOTC(pbmc, orig.ident = c("P17B", "P17L"), seurat_clusters = c(1, 3, 4)) ```

Additional features and use-cases are covered in the vignettes and documentation, including options to store separate runs with different parameters on the same seurat object, highlighting clonotypes, getting shared clonotypes across clusters, displaying links between them, and more.

Package conventions

Most exported functions are named with camelCase with the exception of those that modify Seurat objects having PascalCase to mimic their conventions. All function arguments follow snake_case.

Please Cite

If you use APackOfTheClones in your work, please cite the corresponding publication with the output of citation("APackOfTheClones"):

Yang, Q., (2024). APackOfTheClones: Visualization of clonal expansion with circle packing. Journal of Open Source Software, 9(103), 6868, https://doi.org/10.21105/joss.06868

Documentation

Comprehensive documentation, vignettes, and a changelog is deployed at https://qile0317.github.io/APackOfTheClones/

There are also the following vignettes that should be read in the following order:

All exported functions have function level documentation.

Contributing

Github pull requests from forked branches are more than welcome as it is mostly a solo-project at the moment. For major changes, please open an issue first to discuss what you would like to change. Please also make sure to update tests as appropriate.

Contact

Qile Yang - qile [dot] yang [at] berkeley.edu

References

[1] Ma, J., Tibbitt, C. A., Georén, S. K., Christian, M., Murrell, B., Cardell, L. O., Bachert, C., & Coquet, J. M. (2021). Single-cell analysis pinpoints distinct populations of cytotoxic CD4+ T cells and an IL-10+CD109+ TH2 cell population in nasal polyps. Science immunology, 6(62), eabg6356. https://doi.org/10.1126/sciimmunol.abg6356

Acknowledgements

Thanks for Ben Murrell (@murrelb) at the Karolinska Institute for introducing the idea, implementing julia code, debug support, and giving suggestions. Thanks to Nick Borcherding (@ncborcherding) for providing more insights, suggestions, and promoting the package.

Owner

  • Name: Qile
  • Login: Qile0317
  • Kind: user
  • Location: Sweden
  • Company: IEGS

high school senior with interest in bioinformatics/ML

JOSS Publication

APackOfTheClones: Visualization of clonal expansion with circle packing
Published
November 18, 2024
Volume 9, Issue 103, Page 6868
Authors
Qile Yang ORCID
University of California, Berkeley, Berkeley, CA 94720, United States of America
Editor
Sehrish Kanwal ORCID
Tags
dimensional reduction clonal expansion immunology immunoinformatics bioinformatics computational biology seurat single-cell

Citation (CITATION.cff)

cff-version: "1.2.0"
authors:
- family-names: Yang
  given-names: Qile
  orcid: "https://orcid.org/0009-0005-0148-2499"
doi: 10.5281/zenodo.13916956
message: If you use this software, please cite our article in the
  Journal of Open Source Software.
preferred-citation:
  authors:
  - family-names: Yang
    given-names: Qile
    orcid: "https://orcid.org/0009-0005-0148-2499"
  date-published: 2024-11-18
  doi: 10.21105/joss.06868
  issn: 2475-9066
  issue: 103
  journal: Journal of Open Source Software
  publisher:
    name: Open Journals
  start: 6868
  title: "APackOfTheClones: Visualization of clonal expansion with
    circle packing"
  type: article
  url: "https://joss.theoj.org/papers/10.21105/joss.06868"
  volume: 9
title: "APackOfTheClones: Visualization of clonal expansion with circle
  packing"

GitHub Events

Total
  • Create event: 1
  • Release event: 1
  • Issues event: 8
  • Watch event: 3
  • Issue comment event: 11
  • Push event: 66
  • Pull request review comment event: 2
  • Pull request review event: 3
  • Pull request event: 5
  • Fork event: 1
Last Year
  • Create event: 1
  • Release event: 1
  • Issues event: 8
  • Watch event: 3
  • Issue comment event: 11
  • Push event: 66
  • Pull request review comment event: 2
  • Pull request review event: 3
  • Pull request event: 5
  • Fork event: 1

Committers

Last synced: 7 months ago

All Time
  • Total Commits: 467
  • Total Committers: 1
  • Avg Commits per committer: 467.0
  • Development Distribution Score (DDS): 0.0
Past Year
  • Commits: 30
  • Committers: 1
  • Avg Commits per committer: 30.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
Qile0317 q****7@g****m 467

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 20
  • Total pull requests: 5
  • Average time to close issues: 10 days
  • Average time to close pull requests: about 8 hours
  • Total issue authors: 8
  • Total pull request authors: 1
  • Average comments per issue: 1.8
  • Average comments per pull request: 0.0
  • Merged pull requests: 4
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 11
  • Pull requests: 4
  • Average time to close issues: 17 days
  • Average time to close pull requests: about 10 hours
  • Issue authors: 5
  • Pull request authors: 1
  • Average comments per issue: 1.64
  • Average comments per pull request: 0.0
  • Merged pull requests: 4
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • Qile0317 (9)
  • skanwal (5)
  • eba28 (1)
  • teunbrand (1)
  • ncborcherding (1)
  • nina-ng (1)
Pull Request Authors
  • Qile0317 (10)
Top Labels
Issue Labels
enhancement (3) joss (1)
Pull Request Labels

Packages

  • Total packages: 3
  • Total downloads:
    • cran 689 last-month
  • Total dependent packages: 0
    (may contain duplicates)
  • Total dependent repositories: 0
    (may contain duplicates)
  • Total versions: 30
  • Total maintainers: 1
proxy.golang.org: github.com/qile0317/apackoftheclones
  • Versions: 11
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent packages count: 5.4%
Average: 5.6%
Dependent repos count: 5.8%
Last synced: 6 months ago
proxy.golang.org: github.com/Qile0317/APackOfTheClones
  • Versions: 11
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent packages count: 5.4%
Average: 5.6%
Dependent repos count: 5.8%
Last synced: 6 months ago
cran.r-project.org: APackOfTheClones

Visualization of Clonal Expansion for Single Cell Immune Profiles

  • Versions: 8
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 689 Last month
Rankings
Stargazers count: 16.5%
Forks count: 21.0%
Downloads: 21.3%
Average: 24.6%
Dependent packages count: 28.2%
Dependent repos count: 36.1%
Maintainers (1)
Last synced: 6 months ago

Dependencies

.github/workflows/R-CMD-check.yaml actions
  • actions/checkout v3 composite
  • r-lib/actions/check-r-package v2 composite
  • r-lib/actions/setup-r v2 composite
  • r-lib/actions/setup-r-dependencies v2 composite
.github/workflows/pkgdown.yaml actions
  • JamesIves/github-pages-deploy-action v4.4.1 composite
  • actions/checkout v3 composite
  • r-lib/actions/setup-pandoc v2 composite
  • r-lib/actions/setup-r v2 composite
  • r-lib/actions/setup-r-dependencies v2 composite
.github/workflows/test-coverage.yaml actions
  • actions/checkout v3 composite
  • actions/upload-artifact v3 composite
  • r-lib/actions/setup-r v2 composite
  • r-lib/actions/setup-r-dependencies v2 composite
DESCRIPTION cran
  • R >= 3.5.0 depends
  • Rcpp * imports
  • Seurat * imports
  • data.table * imports
  • dplyr * imports
  • ggforce * imports
  • ggplot2 * imports
  • grDevices * imports
  • hash * imports
  • rlang * imports
  • stats * imports
  • utils * imports
  • covr * suggests
  • knitr * suggests
  • rmarkdown * suggests
  • sf * suggests
  • spelling * suggests
  • testthat >= 3.0.0 suggests
  • vdiffr * suggests
  • xml2 * suggests