diff --git a/DESCRIPTION b/DESCRIPTION index 366e1d3..fde5c6b 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -1,5 +1,5 @@ Package: Ibex -Title: Methods for BCR single-cell embedding +Title: Methods for BCR single-cell embedding Version: 1.1.1 Authors@R: c( person(given = "Nick", family = "Borcherding", role = c("aut", "cre", "cph"), email = "ncborch@gmail.com"), diff --git a/NEWS.md b/NEWS.md index 3cfe81a..4e2117c 100644 --- a/NEWS.md +++ b/NEWS.md @@ -7,6 +7,20 @@ * Updated CI workflows to target `devel` branch * Converted NEWS to NEWS.md format * Added automated GitHub Release workflow via tags + +## v1.0.0 +* Integration of Ibex with immApex +* Updated Seurat object to v5 +* Updated support for SCE format for `runIbex()` +* Update `CoNGAfy()` to function with all versions of Seurat +* Updated `quietBCRgenes()` to use VariableFeatures() call for SeuratV5 and backward compatibility +* Added `getHumanIgPseudoGenes()` to return a list of human Immunoglobulin Pseudo genes +* Added new light and heavy chain models with encoding methods: OHE, atchleyFactors, crucianiProperties, kideraFactors, MSWHIM, tScales, zScales +* Trained convolutional and variational autoencoders (architecture: 512-256-128-256-512) +* Implementing GitHub action workflows +* Adding testthat framework +* Deprecated clonalCommunity +* Added geometric encoding using the BLOSUM62 matrix * `Ibex_matrix()` now accepts character vectors of amino acid sequences directly * Removed rlang from Imports, added lifecycle * As per `basilisk` documentation: diff --git a/README.md b/README.md index 841ec16..0ed7ded 100644 --- a/README.md +++ b/README.md @@ -11,19 +11,16 @@ Using BCR sequences for graph embedding [![Bioc Downloads](http://www.bioconductor.org/shields/downloads/release/Ibex.svg)](http://bioconductor.org/packages/stats/bioc/Ibex/) - - -## Introduction + Single-cell sequencing is an integral tool in immunology and oncology, enabling researchers to measure gene expression and immune cell receptor profiling at the level of individual cells. We developed the [scRepertoire](https://github.com/BorchLab/scRepertoire) R package to facilitate the integration of immune receptor and gene expression data. However, leveraging clonal indices for more complex analyses—such as using clonality in cell embedding—remains challenging. **Ibex** addresses this need by using deep learning to vectorize BCR sequences based on amino acid properties or their underlying order. Ibex is the sister package to [Trex](https://github.com/BorchLab/Trex), which focuses on TCR sequence data. -## System Requirements - -Ibex has been tested on R versions >= 4.0. For details on required R packages, refer to the package's DESCRIPTION file. It is designed to work with single-cell objects containing BCR data generated using [scRepertoire](https://github.com/BorchLab/scRepertoire). Ibex has been tested on macOS and Linux. +### System Requirements +Ibex has been tested on R versions >= 4.0. For details on required R packages, refer to the package’s DESCRIPTION file. It is designed to work with single-cell objects containing BCR data generated using [scRepertoire](https://github.com/BorchLab/scRepertoire). Ibex has been tested on macOS and Linux. -## Installation +### Installation Ibex relies on the [immApex](https://github.com/BorchLab/immApex) API can be installed directly from GitHub: @@ -54,7 +51,7 @@ BiocManager::install("Ibex") The main version of Ibex is submitted to Bioconductor (installation instructions will be updated after review). By default, Ibex will automatically pull deep learning models from a [Zenodo repository](https://zenodo.org/records/14919286) and cache them locally. -## Usage/Demos +### Usage/Demos Ibex integrates smoothly into most popular R-based single-cell workflows, including **Seurat** and **Bioconductor/SingleCellExperiment.** @@ -64,7 +61,7 @@ See the [vignette](https://www.borch.dev/uploads/screpertoire/articles/ibex) for -### Autoencoded Matrix +#### Autoencoded Matrix The Ibex algorithm allows users to select BCR-based metrics to return autoencoded values to be used in dimensional reduction. If single-cell objects are not filtered for B cells with BCR, `Ibex_matrix()` will still return values, however IBEX_1 will be based on the disparity of BCR-containing and BCR-non-containing cells based on the Ibex algorithm. @@ -73,7 +70,7 @@ library(Ibex) my_ibex <- Ibex_matrix(singleObject) ``` -### Seurat or Single-Cell Experiment +#### Seurat or Single-Cell Experiment You can run Ibex within your Seurat or Single-Cell Experiemt workflow. **Importantly** `runIbex()` will automatically filter single-cells that do not contain BCR information in the meta data of the single-cell object. @@ -90,7 +87,7 @@ seuratObj_Bonly <- runIbex(seuratObj, #The single cell object seuratObj_Bonly <- runIbex(seuratObj, reduction.name = "Ibex") ``` -### After Running Ibex +#### After Running Ibex Once the Ibex embeddings are part of your Seurat object, you can use these embeddings to generate a t-SNE or UMAP: @@ -109,7 +106,6 @@ seuratObj <- RunPCA(seuratObj) ``` #### Running WNN approach - ```r seuratObj <- FindMultiModalNeighbors(seuratObj, reduction.list = list("pca", "Ibex"),