Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion DESCRIPTION
Original file line number Diff line number Diff line change
@@ -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"),
Expand Down
14 changes: 14 additions & 0 deletions NEWS.md
Original file line number Diff line number Diff line change
Expand Up @@ -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:
Expand Down
20 changes: 8 additions & 12 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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/)
<!-- badges: end -->

<img align="right" src="https://github.com/BorchLab/Ibex/blob/main/www/ibex_hex.png" width="305" height="352">

## Introduction
<img align="right" src="https://github.com/BorchLab/Ibex/blob/devel/www/ibex_hex.png" width="305" height="352">

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:

Expand Down Expand Up @@ -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.**

Expand All @@ -64,7 +61,7 @@ See the [vignette](https://www.borch.dev/uploads/screpertoire/articles/ibex) for

<img align="center" src="https://github.com/BorchLab/Ibex/blob/main/www/graphicalAbstract.png">

### 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.

Expand All @@ -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.

Expand All @@ -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:

Expand All @@ -109,7 +106,6 @@ seuratObj <- RunPCA(seuratObj)
```

#### Running WNN approach

```r
seuratObj <- FindMultiModalNeighbors(seuratObj,
reduction.list = list("pca", "Ibex"),
Expand Down
Loading