Skip to content

immundata

A Unified Data Layer for Large-Scale Single-Cell, Spatial and Bulk Immunomics

v0.0.7 · Apr 3, 2026 · Apache License (>= 2)

Description

Provides a unified data layer for single-cell, spatial and bulk T-cell and B-cell immune receptor repertoire data. Think AnnData or SeuratObject, but for AIRR data, a.k.a. Adaptive Immune Receptor Repertoire, VDJ-seq, RepSeq, or VDJ sequencing data.

Downloads

1.3K

Last 30 days

3321st

3.1K

Last 90 days

7.2K

Last year

Trend: +71.4% (30d vs prior 30d)

CRAN Check Status

6 ERROR
2 NOTE
6 OK
Show all 14 flavors
Flavor Status
r-devel-linux-x86_64-debian-clang ERROR
r-devel-linux-x86_64-debian-gcc OK
r-devel-linux-x86_64-fedora-clang OK
r-devel-linux-x86_64-fedora-gcc ERROR
r-devel-macos-arm64 OK
r-devel-windows-x86_64 OK
r-oldrel-macos-arm64 NOTE
r-oldrel-macos-x86_64 NOTE
r-oldrel-windows-x86_64 ERROR
r-patched-linux-x86_64 ERROR
r-release-linux-x86_64 ERROR
r-release-macos-arm64 OK
r-release-macos-x86_64 OK
r-release-windows-x86_64 ERROR
Check details (9 non-OK)
ERROR r-devel-linux-x86_64-debian-clang

tests

Running ‘testthat.R’ [688s/349s]
Running the tests in ‘tests/testthat.R’ failed.
Complete output:
  > # This file is part of the standard setup for testthat.
  > # It is recommended that you do not modify it.
  > #
  > # Where should you do additional test configuration?
  > # Learn more about the roles of various files in:
  > # * https://r-pkgs.org/testing-design.html#sec-tests-files-overview
  > # * https://testthat.r-lib.org/articles/special-files.html
  > 
  > library(testthat)
  > 
  > library(immundata)
  Loading required package: dplyr
  
  Attaching package: 'dplyr'
  
  The following objects are masked from 'package:stats':
  
      filter, lag
  
  The following objects are masked from 'package:base':
  
      intersect, setdiff, setequal, union
  
  Loading required package: duckplyr
  The duckplyr package is configured to fall back to dplyr when it encounters an
  incompatibility. Fallback events can be collected and uploaded for analysis to
  guide future development. By 
...[truncated]...
(idata$annotations, annotations_path, options = parquet_options)
    5. │     └─duckdb$rel_to_parquet(rel, path, options)
    6. │       └─duckdb:::rethrow_rapi_rel_to_parquet(rel, file_name, options)
    7. │         ├─rlang::try_fetch(...)
    8. │         │ ├─base::tryCatch(...)
    9. │         │ │ └─base (local) tryCatchList(expr, classes, parentenv, handlers)
   10. │         │ │   └─base (local) tryCatchOne(expr, names, parentenv, handlers[[1L]])
   11. │         │ │     └─base (local) doTryCatch(return(expr), name, parentenv, handler)
   12. │         │ └─base::withCallingHandlers(...)
   13. │         └─duckdb:::rapi_rel_to_parquet(rel, file_name, options_sexps)
   14. └─base::.handleSimpleError(...)
   15.   └─rlang (local) h(simpleError(msg, call))
   16.     └─handlers[[1L]](cnd)
   17.       └─duckdb:::rethrow_error_from_rapi(e, call)
   18.         └─rlang::abort(msg, call = call)
  
  [ FAIL 10 | WARN 0 | SKIP 0 | PASS 314 ]
  Error:
  ! Test failures.
  Execution halted
ERROR r-devel-linux-x86_64-fedora-gcc

tests

Running ‘testthat.R’ [755s/566s]
Running the tests in ‘tests/testthat.R’ failed.
Complete output:
  > # This file is part of the standard setup for testthat.
  > # It is recommended that you do not modify it.
  > #
  > # Where should you do additional test configuration?
  > # Learn more about the roles of various files in:
  > # * https://r-pkgs.org/testing-design.html#sec-tests-files-overview
  > # * https://testthat.r-lib.org/articles/special-files.html
  > 
  > library(testthat)
  > 
  > library(immundata)
  Loading required package: dplyr
  
  Attaching package: 'dplyr'
  
  The following objects are masked from 'package:stats':
  
      filter, lag
  
  The following objects are masked from 'package:base':
  
      intersect, setdiff, setequal, union
  
  Loading required package: duckplyr
  The duckplyr package is configured to fall back to dplyr when it encounters an
  incompatibility. Fallback events can be collected and uploaded for analysis to
  guide future development. By 
...[truncated]...
d `sample1_stats$n_receptors` to equal 2.
  Differences:
    `actual`:  NA
  `expected`: 2.0
  
  Sample1 should have 2 unique receptors
  ── Failure ('test-io-repertoires-agg.R:68:3'): agg_repertoires counts single-chain receptors correctly ──
  Expected `sample2_stats$n_receptors` to equal 2.
  Differences:
    `actual`:  NA
  `expected`: 2.0
  
  Sample2 should have 2 unique receptors
  ── Failure ('test-io-repertoires-agg.R:86:3'): agg_repertoires counts single-chain receptors correctly ──
  Expected `sample1_counts$total_count1[1]` to equal 2.
  Differences:
    `actual`:  NA
  `expected`: 2.0
  
  Shared receptor should have count of 2
  ── Failure ('test-io-repertoires-agg.R:94:3'): agg_repertoires counts single-chain receptors correctly ──
  Expected `sample1_counts$total_count2[1]` to equal 2.
  Differences:
    `actual`:  NA
  `expected`: 2.0
  
  Shared receptor should have count of 2
  
  [ FAIL 8 | WARN 0 | SKIP 0 | PASS 316 ]
  Error:
  ! Test failures.
  Execution halted
NOTE r-oldrel-macos-arm64

Rd cross-references

Unknown package ‘anndataR’ in Rd xrefs
NOTE r-oldrel-macos-x86_64

Rd cross-references

Unknown package ‘anndataR’ in Rd xrefs
NOTE r-oldrel-windows-x86_64

Rd cross-references

Unknown package 'anndataR' in Rd xrefs
ERROR r-oldrel-windows-x86_64

tests

Running 'testthat.R' [346s]
Running the tests in 'tests/testthat.R' failed.
Complete output:
  > # This file is part of the standard setup for testthat.
  > # It is recommended that you do not modify it.
  > #
  > # Where should you do additional test configuration?
  > # Learn more about the roles of various files in:
  > # * https://r-pkgs.org/testing-design.html#sec-tests-files-overview
  > # * https://testthat.r-lib.org/articles/special-files.html
  > 
  > library(testthat)
  > 
  > library(immundata)
  Loading required package: dplyr
  
  Attaching package: 'dplyr'
  
  The following objects are masked from 'package:stats':
  
      filter, lag
  
  The following objects are masked from 'package:base':
  
      intersect, setdiff, setequal, union
  
  Loading required package: duckplyr
  The duckplyr package is configured to fall back to dplyr when it encounters an
  incompatibility. Fallback events can be collected and uploaded for analysis to
  guide future development. By defau
...[truncated]...
d `sample1_stats$n_receptors` to equal 2.
  Differences:
    `actual`:  NA
  `expected`: 2.0
  
  Sample1 should have 2 unique receptors
  ── Failure ('test-io-repertoires-agg.R:68:3'): agg_repertoires counts single-chain receptors correctly ──
  Expected `sample2_stats$n_receptors` to equal 2.
  Differences:
    `actual`:  NA
  `expected`: 2.0
  
  Sample2 should have 2 unique receptors
  ── Failure ('test-io-repertoires-agg.R:86:3'): agg_repertoires counts single-chain receptors correctly ──
  Expected `sample1_counts$total_count1[1]` to equal 2.
  Differences:
    `actual`:  NA
  `expected`: 2.0
  
  Shared receptor should have count of 2
  ── Failure ('test-io-repertoires-agg.R:94:3'): agg_repertoires counts single-chain receptors correctly ──
  Expected `sample1_counts$total_count2[1]` to equal 2.
  Differences:
    `actual`:  NA
  `expected`: 2.0
  
  Shared receptor should have count of 2
  
  [ FAIL 8 | WARN 0 | SKIP 0 | PASS 316 ]
  Error:
  ! Test failures.
  Execution halted
ERROR r-patched-linux-x86_64

tests

Running ‘testthat.R’ [469s/247s]
Running the tests in ‘tests/testthat.R’ failed.
Complete output:
  > # This file is part of the standard setup for testthat.
  > # It is recommended that you do not modify it.
  > #
  > # Where should you do additional test configuration?
  > # Learn more about the roles of various files in:
  > # * https://r-pkgs.org/testing-design.html#sec-tests-files-overview
  > # * https://testthat.r-lib.org/articles/special-files.html
  > 
  > library(testthat)
  > 
  > library(immundata)
  Loading required package: dplyr
  
  Attaching package: 'dplyr'
  
  The following objects are masked from 'package:stats':
  
      filter, lag
  
  The following objects are masked from 'package:base':
  
      intersect, setdiff, setequal, union
  
  Loading required package: duckplyr
  The duckplyr package is configured to fall back to dplyr when it encounters an
  incompatibility. Fallback events can be collected and uploaded for analysis to
  guide future development. By 
...[truncated]...
(idata$annotations, annotations_path, options = parquet_options)
    5. │     └─duckdb$rel_to_parquet(rel, path, options)
    6. │       └─duckdb:::rethrow_rapi_rel_to_parquet(rel, file_name, options)
    7. │         ├─rlang::try_fetch(...)
    8. │         │ ├─base::tryCatch(...)
    9. │         │ │ └─base (local) tryCatchList(expr, classes, parentenv, handlers)
   10. │         │ │   └─base (local) tryCatchOne(expr, names, parentenv, handlers[[1L]])
   11. │         │ │     └─base (local) doTryCatch(return(expr), name, parentenv, handler)
   12. │         │ └─base::withCallingHandlers(...)
   13. │         └─duckdb:::rapi_rel_to_parquet(rel, file_name, options_sexps)
   14. └─base::.handleSimpleError(...)
   15.   └─rlang (local) h(simpleError(msg, call))
   16.     └─handlers[[1L]](cnd)
   17.       └─duckdb:::rethrow_error_from_rapi(e, call)
   18.         └─rlang::abort(msg, call = call)
  
  [ FAIL 10 | WARN 0 | SKIP 0 | PASS 314 ]
  Error:
  ! Test failures.
  Execution halted
ERROR r-release-linux-x86_64

tests

Running ‘testthat.R’ [470s/244s]
Running the tests in ‘tests/testthat.R’ failed.
Complete output:
  > # This file is part of the standard setup for testthat.
  > # It is recommended that you do not modify it.
  > #
  > # Where should you do additional test configuration?
  > # Learn more about the roles of various files in:
  > # * https://r-pkgs.org/testing-design.html#sec-tests-files-overview
  > # * https://testthat.r-lib.org/articles/special-files.html
  > 
  > library(testthat)
  > 
  > library(immundata)
  Loading required package: dplyr
  
  Attaching package: 'dplyr'
  
  The following objects are masked from 'package:stats':
  
      filter, lag
  
  The following objects are masked from 'package:base':
  
      intersect, setdiff, setequal, union
  
  Loading required package: duckplyr
  The duckplyr package is configured to fall back to dplyr when it encounters an
  incompatibility. Fallback events can be collected and uploaded for analysis to
  guide future development. By 
...[truncated]...
(idata$annotations, annotations_path, options = parquet_options)
    5. │     └─duckdb$rel_to_parquet(rel, path, options)
    6. │       └─duckdb:::rethrow_rapi_rel_to_parquet(rel, file_name, options)
    7. │         ├─rlang::try_fetch(...)
    8. │         │ ├─base::tryCatch(...)
    9. │         │ │ └─base (local) tryCatchList(expr, classes, parentenv, handlers)
   10. │         │ │   └─base (local) tryCatchOne(expr, names, parentenv, handlers[[1L]])
   11. │         │ │     └─base (local) doTryCatch(return(expr), name, parentenv, handler)
   12. │         │ └─base::withCallingHandlers(...)
   13. │         └─duckdb:::rapi_rel_to_parquet(rel, file_name, options_sexps)
   14. └─base::.handleSimpleError(...)
   15.   └─rlang (local) h(simpleError(msg, call))
   16.     └─handlers[[1L]](cnd)
   17.       └─duckdb:::rethrow_error_from_rapi(e, call)
   18.         └─rlang::abort(msg, call = call)
  
  [ FAIL 10 | WARN 0 | SKIP 0 | PASS 314 ]
  Error:
  ! Test failures.
  Execution halted
ERROR r-release-windows-x86_64

tests

Running 'testthat.R' [256s]
Running the tests in 'tests/testthat.R' failed.
Complete output:
  > # This file is part of the standard setup for testthat.
  > # It is recommended that you do not modify it.
  > #
  > # Where should you do additional test configuration?
  > # Learn more about the roles of various files in:
  > # * https://r-pkgs.org/testing-design.html#sec-tests-files-overview
  > # * https://testthat.r-lib.org/articles/special-files.html
  > 
  > library(testthat)
  > 
  > library(immundata)
  Loading required package: dplyr
  
  Attaching package: 'dplyr'
  
  The following objects are masked from 'package:stats':
  
      filter, lag
  
  The following objects are masked from 'package:base':
  
      intersect, setdiff, setequal, union
  
  Loading required package: duckplyr
  The duckplyr package is configured to fall back to dplyr when it encounters an
  incompatibility. Fallback events can be collected and uploaded for analysis to
  guide future development. By defau
...[truncated]...
d `sample1_stats$n_receptors` to equal 2.
  Differences:
    `actual`:  NA
  `expected`: 2.0
  
  Sample1 should have 2 unique receptors
  ── Failure ('test-io-repertoires-agg.R:68:3'): agg_repertoires counts single-chain receptors correctly ──
  Expected `sample2_stats$n_receptors` to equal 2.
  Differences:
    `actual`:  NA
  `expected`: 2.0
  
  Sample2 should have 2 unique receptors
  ── Failure ('test-io-repertoires-agg.R:86:3'): agg_repertoires counts single-chain receptors correctly ──
  Expected `sample1_counts$total_count1[1]` to equal 2.
  Differences:
    `actual`:  NA
  `expected`: 2.0
  
  Shared receptor should have count of 2
  ── Failure ('test-io-repertoires-agg.R:94:3'): agg_repertoires counts single-chain receptors correctly ──
  Expected `sample1_counts$total_count2[1]` to equal 2.
  Differences:
    `actual`:  NA
  `expected`: 2.0
  
  Shared receptor should have count of 2
  
  [ FAIL 8 | WARN 0 | SKIP 0 | PASS 316 ]
  Error:
  ! Test failures.
  Execution halted

Check History

ERROR 7 OK · 0 NOTE · 0 WARNING · 7 ERROR · 0 FAILURE Mar 10, 2026
ERROR r-devel-linux-x86_64-debian-clang

tests

Running ‘testthat.R’ [129s/83s]
Running the tests in ‘tests/testthat.R’ failed.
Complete output:
  > # This file is part of the standard setup for testthat.
  > # It is recommended that you do not modify it.
  > #
  > # Where should you do additional
...[truncated]...
mpleError(msg, call))
   19.     └─handlers[[1L]](cnd)
   20.       └─duckdb:::rethrow_error_from_rapi(e, call)
   21.         └─rlang::abort(msg, call = call)
  
  [ FAIL 17 | WARN 0 | SKIP 0 | PASS 3 ]
  Error:
  ! Test failures.
  Execution halted
ERROR r-devel-linux-x86_64-fedora-gcc

tests

Running ‘testthat.R’ [143s/214s]
Running the tests in ‘tests/testthat.R’ failed.
Complete output:
  > # This file is part of the standard setup for testthat.
  > # It is recommended that you do not modify it.
  > #
  > # Where should you do additiona
...[truncated]...
mpleError(msg, call))
   19.     └─handlers[[1L]](cnd)
   20.       └─duckdb:::rethrow_error_from_rapi(e, call)
   21.         └─rlang::abort(msg, call = call)
  
  [ FAIL 17 | WARN 0 | SKIP 0 | PASS 3 ]
  Error:
  ! Test failures.
  Execution halted
ERROR r-devel-windows-x86_64

tests

Running 'testthat.R' [53s]
Running the tests in 'tests/testthat.R' failed.
Complete output:
  > # This file is part of the standard setup for testthat.
  > # It is recommended that you do not modify it.
  > #
  > # Where should you do additional test
...[truncated]...
mpleError(msg, call))
   19.     └─handlers[[1L]](cnd)
   20.       └─duckdb:::rethrow_error_from_rapi(e, call)
   21.         └─rlang::abort(msg, call = call)
  
  [ FAIL 17 | WARN 0 | SKIP 0 | PASS 3 ]
  Error:
  ! Test failures.
  Execution halted
ERROR r-patched-linux-x86_64

tests

Running ‘testthat.R’ [88s/59s]
Running the tests in ‘tests/testthat.R’ failed.
Complete output:
  > # This file is part of the standard setup for testthat.
  > # It is recommended that you do not modify it.
  > #
  > # Where should you do additional 
...[truncated]...
mpleError(msg, call))
   19.     └─handlers[[1L]](cnd)
   20.       └─duckdb:::rethrow_error_from_rapi(e, call)
   21.         └─rlang::abort(msg, call = call)
  
  [ FAIL 17 | WARN 0 | SKIP 0 | PASS 3 ]
  Error:
  ! Test failures.
  Execution halted
ERROR r-release-linux-x86_64

tests

Running ‘testthat.R’ [87s/59s]
Running the tests in ‘tests/testthat.R’ failed.
Complete output:
  > # This file is part of the standard setup for testthat.
  > # It is recommended that you do not modify it.
  > #
  > # Where should you do additional 
...[truncated]...
mpleError(msg, call))
   19.     └─handlers[[1L]](cnd)
   20.       └─duckdb:::rethrow_error_from_rapi(e, call)
   21.         └─rlang::abort(msg, call = call)
  
  [ FAIL 17 | WARN 0 | SKIP 0 | PASS 3 ]
  Error:
  ! Test failures.
  Execution halted
ERROR r-release-windows-x86_64

tests

Running 'testthat.R' [50s]
Running the tests in 'tests/testthat.R' failed.
Complete output:
  > # This file is part of the standard setup for testthat.
  > # It is recommended that you do not modify it.
  > #
  > # Where should you do additional test
...[truncated]...
mpleError(msg, call))
   19.     └─handlers[[1L]](cnd)
   20.       └─duckdb:::rethrow_error_from_rapi(e, call)
   21.         └─rlang::abort(msg, call = call)
  
  [ FAIL 17 | WARN 0 | SKIP 0 | PASS 3 ]
  Error:
  ! Test failures.
  Execution halted
ERROR r-oldrel-windows-x86_64

tests

Running 'testthat.R' [71s]
Running the tests in 'tests/testthat.R' failed.
Complete output:
  > # This file is part of the standard setup for testthat.
  > # It is recommended that you do not modify it.
  > #
  > # Where should you do additional test
...[truncated]...
mpleError(msg, call))
   19.     └─handlers[[1L]](cnd)
   20.       └─duckdb:::rethrow_error_from_rapi(e, call)
   21.         └─rlang::abort(msg, call = call)
  
  [ FAIL 17 | WARN 0 | SKIP 0 | PASS 3 ]
  Error:
  ! Test failures.
  Execution halted

Reverse Dependencies (1)

depends

Dependency Network

Dependencies Reverse dependencies dplyr duckplyr checkmate cli dbplyr ggplot2 glue jsonlite lifecycle R6 readr rlang tibble immunarch immundata

Version History

updated 0.0.7 ← 0.0.6 diff Apr 3, 2026
updated 0.0.6 ← 0.0.5 diff Mar 17, 2026
new 0.0.5 Mar 10, 2026
updated 0.0.5 ← 0.0.3 diff Oct 8, 2025
updated 0.0.3 ← 0.0.1 diff Sep 3, 2025
new 0.0.1 Apr 7, 2025