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 10
Now 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 20
Note 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.4.1 (2024-06-14)
#> Platform: x86_64-pc-linux-gnu
#> Running under: Ubuntu 24.04.1 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.9.0 BiocStyle_2.33.1
#>
#> loaded via a namespace (and not attached):
#> [1] digest_0.6.37 R6_2.5.1 fastmap_1.2.0
#> [4] xfun_0.48 maketools_1.3.1 cachem_1.1.0
#> [7] knitr_1.48 htmltools_0.5.8.1 rmarkdown_2.28
#> [10] buildtools_1.0.0 lifecycle_1.0.4 cli_3.6.3
#> [13] sass_0.4.9 jquerylib_0.1.4 compiler_4.4.1
#> [16] sys_3.4.3 tools_4.4.1 evaluate_1.0.1
#> [19] bslib_0.8.0 yaml_2.3.10 BiocManager_1.30.25
#> [22] jsonlite_1.8.9 rlang_1.1.4
Please report minimally reproducible bugs at our github issue page.