The BiocBaseUtils package provides a suite of helper
functions designed to help developers. Currently, it covers three topics
often encountered during the development process.
show method - Limiting the output of internal
components of a classInstall the package directly from Bioconductor:
We provide a number of functions that helps the developer establish
the type of class of a particular object. These include
integer, numeric, character, and
logical; types often used in R / Bioconductor.
This function is often used in packages that establish formal S4
classes. When updating the value of a slot, one often uses the
setSlots function.
setClass("A", representation = representation(slot1 = "numeric"))
aclass <- new("A", slot1 = 1:10)
aclass
#> An object of class "A"
#> Slot "slot1":
#> [1] 1 2 3 4 5 6 7 8 9 10Now we use the setSlots function to update the values in
the object.
aclass <- setSlots(aclass, slot1 = 11:20)
aclass
#> An object of class "A"
#> Slot "slot1":
#> [1] 11 12 13 14 15 16 17 18 19 20Note that setSlots provides the same functionality as
BiocGenerics:::replaceSlots but is more consistent with
Bioconductor the setter and getter language.
show methodThe selectSome function allows the developer to display
a limited amount of information from a developed class. Note that the
use of the @ here is due to the minimal implementation in
the examples provided. The developer should always provide an interface
to access the internal components of the class via an ‘accessor’
function.
BiocBaseUtils is a work in progress and we welcome
contributions. There are quite a few often-used utility functions that
are yet to be included in the package. We would like to keep the
dependencies in this package minimal; therefore, contributions should
mostly use base R.
sessionInfo()
#> R version 4.5.1 (2025-06-13)
#> Platform: x86_64-pc-linux-gnu
#> Running under: Ubuntu 24.04.3 LTS
#>
#> Matrix products: default
#> BLAS: /usr/lib/x86_64-linux-gnu/openblas-pthread/libblas.so.3
#> LAPACK: /usr/lib/x86_64-linux-gnu/openblas-pthread/libopenblasp-r0.3.26.so; LAPACK version 3.12.0
#>
#> locale:
#> [1] LC_CTYPE=en_US.UTF-8 LC_NUMERIC=C
#> [3] LC_TIME=en_US.UTF-8 LC_COLLATE=C
#> [5] LC_MONETARY=en_US.UTF-8 LC_MESSAGES=en_US.UTF-8
#> [7] LC_PAPER=en_US.UTF-8 LC_NAME=C
#> [9] LC_ADDRESS=C LC_TELEPHONE=C
#> [11] LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C
#>
#> time zone: Etc/UTC
#> tzcode source: system (glibc)
#>
#> attached base packages:
#> [1] stats graphics grDevices utils datasets methods base
#>
#> other attached packages:
#> [1] BiocBaseUtils_1.13.0 BiocStyle_2.37.1
#>
#> loaded via a namespace (and not attached):
#> [1] digest_0.6.37 R6_2.6.1 fastmap_1.2.0
#> [4] xfun_0.54 maketools_1.3.2 cachem_1.1.0
#> [7] knitr_1.50 htmltools_0.5.8.1 rmarkdown_2.30
#> [10] buildtools_1.0.0 lifecycle_1.0.4 cli_3.6.5
#> [13] sass_0.4.10 jquerylib_0.1.4 compiler_4.5.1
#> [16] sys_3.4.3 tools_4.5.1 evaluate_1.0.5
#> [19] bslib_0.9.0 yaml_2.3.10 BiocManager_1.30.26
#> [22] jsonlite_2.0.0 rlang_1.1.6Please report minimally reproducible bugs at our github issue page.