This function executes a ubuntu docker that performs shifted logarithm transformation (Ahlmann-Eltze Nature Methods, vol. 20, pg. 665, 2023; transformGamPoi Bioconductor package)

logTransform(
  group = c("sudo", "docker"),
  file,
  separator,
  overdispersion = 0.05,
  pseudo_count = 4,
  size_factors = TRUE,
  minimum_overdispersion = 0.001,
  scratch.folder,
  outputFolder
)

Arguments

group,

a character string. Two options: sudo or docker, depending to which group the user belongs

file,

a character string indicating the path of the count matrix

separator,

separator used in count file, e.g. '\t', ','

overdispersion,

the simplest count model is the Poisson model. However, the Poisson model assumes that variance = mean. For many applications this is too rigid and the Gamma-Poisson allows a more flexible mean-variance relation (variance = mean + mean^2 * overdispersion).

pseudo_count,

it is set to 4, which is use internally in pseudo-count = 1/( pseudo_count * overdispersion)).

size_factors, TRUE

or False in large scale experiments, each sample is typically of different size (for example different sequencing depths). A size factor is an internal mechanism of GLMs to correct for this effect. normed_sum and poscounts are fairly simple methods and can lead to suboptimal results. For the best performance, I recommend to use deconvolution.

minimum_overdispersion,

the 'acosh_transform' converges against 2 * sqrt(x) for 'overdispersion == 0'. However, the 'shifted_log_transform' would just become '0', thus here we apply the 'minimum_overdispersion' to avoid this behavior.

scratch.folder,

a character string indicating the path of the scratch folder

outputFolder,

a character string indicating the path of the output folder

Value

plot

Author

Luca Alessandri, alessandri [dot] luca1991 [at] gmail [dot] com, University of Torino

Examples

if (FALSE) {
dir.create("scratch")
logTransform(group="docker",file="/home/gianluca/newFunction/setA.csv",separator=",",scratch.folder="/home/gianluca/newFunction/scratch/","/home/gianluca/newFunction/res/")
}