plyxp
uses pillar for its printing.
If you want to change how your S4 object is printed within
plyxp
's print method, consider writing a method for
this function.
To print S4 objects in a tibble, plyxp
hacks a custom
integer vector built from vctrs
where
the S4 object lives in an attribute named "phantomData".
You can create your own S4 phantom vector with vec_phantom()
.
This function is not used outside of printing for plyxp
The default method for formatting a vec_phantom()
is to call
showAsCell()
.
Usage
vec_phantom(x)
plyxp_pillar_format(x, ...)
show_tidy(x, ...)
use_show_tidy()
use_show_default()
Arguments
- x
The S4 object
- ...
other arguments passed from
pillar_shaft
Value
plyxp_pillar_format
-> formatted version of your S4 vector
vec_phantom
-> integer vector with arbitrary object in phatomData
attribute.
tidy printing
By default, plyxp
will not affect the show method for
SummarizedExperiment
objects. The PlySummarizedExperiment
object will
always use the tibble abstraction method. If you want to use tibble
abstraction, you may use use_show_tidy()
to enable or use_show_default()
#' to disable this feature. These functions are called for their side effects, #' modifying the global option
"show_SummarizedExperiment_as_tibble_abstraction".
To show an object as the tibble abstraction regardless of the set option,
use the S3 generic show_tidy(...)
.
Examples
if(require("IRanges")) {
ilist <- IRanges::IntegerList(list(c(1L,2L,3L),c(5L,6L)))
phantom <- vec_phantom(ilist)
pillar::pillar_shaft(phantom)
plyxp_pillar_format.CompressedIntegerList <- function(x) {
sprintf("Int: [%i]", lengths(x))
}
print(pillar::pillar_shaft(phantom))
rm(plyxp_pillar_format.CompressedIntegerList)
}
#> Loading required package: IRanges
#> Loading required package: BiocGenerics
#>
#> Attaching package: ‘BiocGenerics’
#> The following objects are masked from ‘package:stats’:
#>
#> IQR, mad, sd, var, xtabs
#> The following objects are masked from ‘package:base’:
#>
#> Filter, Find, Map, Position, Reduce, anyDuplicated, aperm, append,
#> as.data.frame, basename, cbind, colnames, dirname, do.call,
#> duplicated, eval, evalq, get, grep, grepl, intersect, is.unsorted,
#> lapply, mapply, match, mget, order, paste, pmax, pmax.int, pmin,
#> pmin.int, rank, rbind, rownames, sapply, setdiff, table, tapply,
#> union, unique, unsplit, which.max, which.min
#> Loading required package: S4Vectors
#> Loading required package: stats4
#>
#> Attaching package: ‘S4Vectors’
#> The following object is masked from ‘package:utils’:
#>
#> findMatches
#> The following objects are masked from ‘package:base’:
#>
#> I, expand.grid, unname
#> <pillar_ornament>
#> 1,2,3
#> 5,6
# default printing for PlySummarizedExperiment object
se_simple
#> # A SummarizedExperiment-tibble Abstraction: 5 × 4
#> .features .samples | counts logcounts | gene length direction | sample
#> <chr> <chr> | <int> <dbl> | <chr> <int> <chr> | <chr>
#> 1 row_1 col_1 | 14 2.64 | g1 1 - | s1
#> 2 row_2 col_1 | 19 2.94 | g2 24 + | s1
#> 3 row_3 col_1 | 16 2.77 | g3 60 + | s1
#> 4 row_4 col_1 | 11 2.40 | g4 39 - | s1
#> 5 row_5 col_1 | 18 2.89 | g5 37 + | s1
#> … … … … … … … … …
#> n-4 row_1 col_4 | 9 2.20 | g1 1 - | s4
#> n-3 row_2 col_4 | 4 1.39 | g2 24 + | s4
#> n-2 row_3 col_4 | 20 3.00 | g3 60 + | s4
#> n-1 row_4 col_4 | 3 1.10 | g4 39 - | s4
#> n row_5 col_4 | 5 1.61 | g5 37 + | s4
#> # ℹ n = 20
#> # ℹ 1 more variable: condition <chr>
# default printing for SummarizedExperiment object
se <- se(se_simple)
se
#> class: SummarizedExperiment
#> dim: 5 4
#> metadata(0):
#> assays(2): counts logcounts
#> rownames(5): row_1 row_2 row_3 row_4 row_5
#> rowData names(3): gene length direction
#> colnames(4): col_1 col_2 col_3 col_4
#> colData names(2): sample condition
# use `plyxp` tibble abstraction
use_show_tidy()
se
#> # A SummarizedExperiment-tibble Abstraction: 5 × 4
#> .features .samples | counts logcounts | gene length direction | sample
#> <chr> <chr> | <int> <dbl> | <chr> <int> <chr> | <chr>
#> 1 row_1 col_1 | 14 2.64 | g1 1 - | s1
#> 2 row_2 col_1 | 19 2.94 | g2 24 + | s1
#> 3 row_3 col_1 | 16 2.77 | g3 60 + | s1
#> 4 row_4 col_1 | 11 2.40 | g4 39 - | s1
#> 5 row_5 col_1 | 18 2.89 | g5 37 + | s1
#> … … … … … … … … …
#> n-4 row_1 col_4 | 9 2.20 | g1 1 - | s4
#> n-3 row_2 col_4 | 4 1.39 | g2 24 + | s4
#> n-2 row_3 col_4 | 20 3.00 | g3 60 + | s4
#> n-1 row_4 col_4 | 3 1.10 | g4 39 - | s4
#> n row_5 col_4 | 5 1.61 | g5 37 + | s4
#> # ℹ n = 20
#> # ℹ 1 more variable: condition <chr>
# restore default print
use_show_default()
se
#> class: SummarizedExperiment
#> dim: 5 4
#> metadata(0):
#> assays(2): counts logcounts
#> rownames(5): row_1 row_2 row_3 row_4 row_5
#> rowData names(3): gene length direction
#> colnames(4): col_1 col_2 col_3 col_4
#> colData names(2): sample condition
# explicitly using tibble abstraction
show_tidy(se)
#> # A SummarizedExperiment-tibble Abstraction: 5 × 4
#> .features .samples | counts logcounts | gene length direction | sample
#> <chr> <chr> | <int> <dbl> | <chr> <int> <chr> | <chr>
#> 1 row_1 col_1 | 14 2.64 | g1 1 - | s1
#> 2 row_2 col_1 | 19 2.94 | g2 24 + | s1
#> 3 row_3 col_1 | 16 2.77 | g3 60 + | s1
#> 4 row_4 col_1 | 11 2.40 | g4 39 - | s1
#> 5 row_5 col_1 | 18 2.89 | g5 37 + | s1
#> … … … … … … … … …
#> n-4 row_1 col_4 | 9 2.20 | g1 1 - | s4
#> n-3 row_2 col_4 | 4 1.39 | g2 24 + | s4
#> n-2 row_3 col_4 | 20 3.00 | g3 60 + | s4
#> n-1 row_4 col_4 | 3 1.10 | g4 39 - | s4
#> n row_5 col_4 | 5 1.61 | g5 37 + | s4
#> # ℹ n = 20
#> # ℹ 1 more variable: condition <chr>