Skip to contents

Calculate Tsallis diversity values for transcripts grouped by gene

Usage

calculate_method(
  x,
  genes,
  norm = TRUE,
  verbose = FALSE,
  q = 2,
  what = c("S", "D"),
  nthreads = 1
)

Arguments

x

Numeric matrix or data.frame of transcript-level expression values (rows = transcripts, columns = samples).

genes

Character vector with length equal to nrow(x) assigning each transcript to a gene.

norm

Logical; if TRUE normalize Tsallis entropy values per gene.

verbose

Logical; show diagnostic messages when TRUE.

q

Numeric scalar or vector of q values to evaluate.

what

Which quantity to return from `calculate_tsallis_entropy`: 'S' (Tsallis entropy) or 'D' (Hill numbers) (default: 'S').

nthreads

Number of threads for parallel processing (default: 1). Set to > 1 to parallelize per-gene entropy calculations.

Value

A data.frame with genes in the first column and per-sample (and per-q) Tsallis entropy values in subsequent columns.

Examples

# Create a small transcript expression matrix (4 transcripts x 2 samples)
mat <- matrix(c(10, 5, 0, 0, 2, 8, 3, 7), nrow = 4, byrow = TRUE)
colnames(mat) <- c('Sample1', 'Sample2')
genes <- c('geneA', 'geneA', 'geneB', 'geneB')

# Calculate Tsallis diversity for q=1
result <- calculate_method(mat, genes, norm = TRUE, q = 1)
result
#>        Gene Sample1_q=1 Sample2_q=1
#> geneA geneA   0.0000000   0.0000000
#> geneB geneB   0.9709506   0.9967916