| Title: | Feature-Wise Normalization for Microbiome Sequencing Data | 
| Version: | 2.4 | 
| Maintainer: | Dillon Lloyd <dtlloyd@ncsu.edu> | 
| Description: | A novel feature-wise normalization method based on a zero-inflated negative binomial model. This method assumes that the effects of sequencing depth vary for each taxon on their mean and also incorporates a rational link of zero probability and taxon dispersion as a function of sequencing depth. Ziyue Wang, Dillon Lloyd, Shanshan Zhao, Alison Motsinger-Reif (2023) <doi:10.1101/2023.10.31.563648>. | 
| License: | GPL-3 | 
| Depends: | R (≥ 4.0.0), microbiome, | 
| Imports: | phyloseq, stats, S4Vectors, BiocGenerics, vegan, methods, MASS, future, future.apply, matrixStats, pscl, parallelly, ggplot2, utils | 
| URL: | https://github.com/wangziyue57/TaxaNorm | 
| biocViews: | Sequencing, Microbiome, Metagenomics, Normalization, Visualization | 
| Suggests: | rmarkdown, knitr | 
| VignetteBuilder: | knitr | 
| Encoding: | UTF-8 | 
| RoxygenNote: | 7.2.3 | 
| BugReports: | https://github.com/wangziyue57/TaxaNorm/issues | 
| NeedsCompilation: | no | 
| Packaged: | 2023-12-11 15:19:47 UTC; Dillon | 
| Author: | Ziyue Wang [aut], Dillon Lloyd [aut, cre, cph], Shanshan Zhao [aut, ctb], Alison Motsinger-Reif [aut, ctb] | 
| Repository: | CRAN | 
| Date/Publication: | 2023-12-12 18:30:05 UTC | 
TaxaNorm: Feature-Wise Normalization for Microbiome Sequencing Data
Description
A novel feature-wise normalization method based on a zero-inflated negative binomial model. This method assumes that the effects of sequencing depth vary for each taxon on their mean and also incorporates a rational link of zero probability and taxon dispersion as a function of sequencing depth. Ziyue Wang, Dillon Lloyd, Shanshan Zhao, Alison Motsinger-Reif (2023) <arXiv:https://www.biorxiv.org/content/10.1101/2023.10.31.563648v1.abstract>.
Author(s)
Maintainer: Dillon Lloyd dtlloyd@ncsu.edu [copyright holder]
Authors:
- Ziyue Wang wangziyue57@gmail.com 
- Shanshan Zhao shanshan.zhao@nih.gov [contributor] 
- Alison Motsinger-Reif alison.motsinger-reif@nih.gov [contributor] 
See Also
Useful links:
- Report bugs at https://github.com/wangziyue57/TaxaNorm/issues 
TaxaNorm data objects
Description
Objects included in the TaxaNorm package, loaded with utils::data
Usage
data(TaxaNorm_Example_Input, package = "TaxaNorm")
data(TaxaNorm_Example_Output, package = "TaxaNorm")
TaxaNorm_Example_Input
Example data #'
TaxaNorm_Example_Output
Example output
Examples
data(TaxaNorm_Example_Input, package = "TaxaNorm")
          data(TaxaNorm_Example_Output, package = "TaxaNorm")
TaxaNorm package generics
Description
TaxaNorm package generics; see class man pages for associated methods
Usage
input_data(x, ...)
input_data(x, ...) <- value
rawdata(x, ...)
rawdata(x, ...) <- value
normdata(x, ...)
normdata(x, ...) <- value
ecdf(x, ...)
ecdf(x, ...) <- value
model_pars(x, ...)
model_pars(x, ...) <- value
converge(x, ...)
converge(x, ...) <- value
llk(x, ...)
llk(x, ...) <- value
final_df(x, ...)
final_df(x, ...) <- value
coefficients(x, ...)
coefficients(x, ...) <- value
mu(x, ...)
mu(x, ...) <- value
theta(x, ...)
theta(x, ...) <- value
pi(x, ...)
pi(x, ...) <- value
Arguments
| x | TaxaNorm S4 object | 
| ... | Included for extendability; not currently used | 
| value | Replacement value | 
Value
TaxaNorm generic functions return the specified slot of the TaxaNorm object given to the function
TaxaNorm_Model_Parameters
Description
S4 class to store TaxaNorm Parameters
Usage
TaxaNorm_Model_Parameters(coefficients, mu, theta, pi)
## S4 method for signature 'TaxaNorm_Model_Parameters'
coefficients(x)
## S4 replacement method for signature 'TaxaNorm_Model_Parameters'
coefficients(x) <- value
## S4 method for signature 'TaxaNorm_Model_Parameters'
mu(x)
## S4 replacement method for signature 'TaxaNorm_Model_Parameters'
mu(x) <- value
## S4 method for signature 'TaxaNorm_Model_Parameters'
theta(x)
## S4 replacement method for signature 'TaxaNorm_Model_Parameters'
theta(x) <- value
## S4 method for signature 'TaxaNorm_Model_Parameters'
pi(x)
## S4 replacement method for signature 'TaxaNorm_Model_Parameters'
pi(x) <- value
Arguments
| coefficients | Passed to  | 
| mu | Passed to  | 
| theta | Passed to  | 
| pi | Passed to  | 
| x | TaxaNorm_Model_Parameters object | 
| value | Replacement value | 
Details
Parameters for TaxaNorm Method
Functions
-  coefficients(TaxaNorm_Model_Parameters): Returncoefficientsslot
-  mu(TaxaNorm_Model_Parameters): Returnmuslot
-  theta(TaxaNorm_Model_Parameters): Returnthetaslot
-  pi(TaxaNorm_Model_Parameters): Returnpislot
Slots
- coefficients
- matrixcoefficients
- mu
- matrixmu
- theta
- matrixtheta
- pi
- matrixpi
Examples
coefficients <-  matrix(c(1,2,3,4,5,6,7,8,9),nrow=3,ncol=3,byrow=TRUE)
mu <- matrix(c(1,2,3,4,5,6,7,8,9),nrow=3,ncol=3,byrow=TRUE)
theta <-  matrix(c(1,2,3,4,5,6,7,8,9),nrow=3,ncol=3,byrow=TRUE)
pi <- matrix(c(1,2,3,4,5,6,7,8,9),nrow=3,ncol=3,byrow=TRUE)
TaxaNorm_Model_Parameters(coefficients = coefficients,mu = mu,theta = theta,pi = pi)
Function to QC TaxNorm algorithm
Description
Function to QC TaxNorm algorithm
Usage
TaxaNorm_Model_QC(TaxaNormResults)
Arguments
| TaxaNormResults | Input data; Results from TaxaNorm normalization | 
Value
a list containing qc taxnorm object
Examples
data("TaxaNorm_Example_Output", package = "TaxaNorm")
TaxaNorm_Model_QC(TaxaNormResults = TaxaNorm_Example_Output)
Function for TaxNorm NMDS
Description
Function for TaxNorm NMDS
Usage
TaxaNorm_NMDS(TaxaNormResults, group_column)
Arguments
| TaxaNormResults | (Required) Input data; should be either a phyloseq object or a count matrix | 
| group_column | column to cluster on | 
Value
NMDS Plot
Examples
data("TaxaNorm_Example_Output", package = "TaxaNorm")
TaxaNorm_NMDS(TaxaNorm_Example_Output, group_column = "body_site")
Function to run TaxaNorm algorithm
Description
Function to run TaxaNorm algorithm
Usage
TaxaNorm_Normalization(
  data,
  depth = NULL,
  group = NULL,
  meta.data = NULL,
  filter.cell.num = 10,
  filter.taxa.count = 0,
  random = FALSE,
  ncores = NULL
)
Arguments
| data | (Required) Input data; should be either a phyloseq object or a count matrix | 
| depth | sequencing depth if pre-calculated. It should be a vector with the same length and order as the column of the count data | 
| group | condition variables if samples are from multiple groups; should be correpsond to the column of the count data. default is NULL, where no grouping is considered | 
| meta.data | meta data for Taxa | 
| filter.cell.num | taxa with "filter.cell.num" in more than the value provided will be filtered | 
| filter.taxa.count | "filter.taxa.count" samples will be removed before testing. default is keep taxa appear in at least 10 samples within each group | 
| random | calculate randomized normal quantile residual | 
| ncores | whether multiple cores is used for parallel computing; default is max(1, detectCores() - 1) | 
Value
a TaxaNorm Object containing the normalized count values and accessory information
Examples
data("TaxaNorm_Example_Input", package = "TaxaNorm")
Normalized_Data <- TaxaNorm_Normalization(data= TaxaNorm_Example_Input,
                                         depth = NULL,
                                         group = sample_data(TaxaNorm_Example_Input)$body_site,
                                         meta.data = NULL,
                                         filter.cell.num = 10,
                                         filter.taxa.count = 0,
                                         random = FALSE,
                                         ncores = 1)
Function for TaxNorm input data
Description
Function for TaxNorm input data
Usage
TaxaNorm_QC_Input(data)
Arguments
| data | (Required) Input data; should be either a phyloseq object or a count matrix | 
Value
QC PLots
Examples
data("TaxaNorm_Example_Input", package = "TaxaNorm")
qc_data <- TaxaNorm_QC_Input(TaxaNorm_Example_Input)
TaxaNorm Results
Description
S4 class to store TaxaNorm Results
Usage
TaxaNorm_Results(
  input_data,
  rawdata,
  normdata,
  ecdf,
  model_pars,
  converge,
  llk,
  final_df
)
## S4 method for signature 'TaxaNorm_Results'
input_data(x)
## S4 replacement method for signature 'TaxaNorm_Results'
input_data(x) <- value
## S4 method for signature 'TaxaNorm_Results'
rawdata(x)
## S4 replacement method for signature 'TaxaNorm_Results'
rawdata(x) <- value
## S4 method for signature 'TaxaNorm_Results'
normdata(x)
## S4 replacement method for signature 'TaxaNorm_Results'
normdata(x) <- value
## S4 method for signature 'TaxaNorm_Results'
ecdf(x)
## S4 replacement method for signature 'TaxaNorm_Results'
ecdf(x) <- value
## S4 method for signature 'TaxaNorm_Results'
model_pars(x)
## S4 replacement method for signature 'TaxaNorm_Results'
model_pars(x) <- value
## S4 method for signature 'TaxaNorm_Results'
converge(x)
## S4 replacement method for signature 'TaxaNorm_Results'
converge(x) <- value
## S4 method for signature 'TaxaNorm_Results'
llk(x)
## S4 replacement method for signature 'TaxaNorm_Results'
llk(x) <- value
## S4 method for signature 'TaxaNorm_Results'
final_df(x)
## S4 replacement method for signature 'TaxaNorm_Results'
final_df(x) <- value
Arguments
| input_data | passed to  | 
| rawdata | Passed to  | 
| normdata | Passed to  | 
| ecdf | Passed to  | 
| model_pars | Passed to  | 
| converge | Passed to  | 
| llk | Passed to  | 
| final_df | Passed to  | 
| x | TaxaNorm_Results object | 
| value | Replacement value | 
Details
All results from the TaxaNorm method and what was used to get those results
Functions
-  input_data(TaxaNorm_Results): Returninput_dataslot
-  rawdata(TaxaNorm_Results): Returnrawdataslot
-  normdata(TaxaNorm_Results): Returnnormdataslot
-  ecdf(TaxaNorm_Results): Returnecdfslot
-  model_pars(TaxaNorm_Results): Returnmodel_parsslot
-  converge(TaxaNorm_Results): Returnconvergeslot
-  llk(TaxaNorm_Results): Returnllkslot
-  final_df(TaxaNorm_Results): Returnfinal_dfslot
Slots
- input_data
- ANYphyloseq input data
- rawdata
- data.frameData frame of counts to use
- normdata
- data.frameNormalized Data
- ecdf
- data.frameecdf
- model_pars
- TaxaNorm_Model_Parameters list of model parameters 
- converge
- vector(<logical>)converge
- llk
- ANYllk
- final_df
- ANYfinal_df
Examples
coefficients <-  matrix(c(1,2,3,4,5,6,7,8,9),nrow=3,ncol=3,byrow=TRUE)
mu <- matrix(c(1,2,3,4,5,6,7,8,9),nrow=3,ncol=3,byrow=TRUE)
theta <-  matrix(c(1,2,3,4,5,6,7,8,9),nrow=3,ncol=3,byrow=TRUE)
pi <- matrix(c(1,2,3,4,5,6,7,8,9),nrow=3,ncol=3,byrow=TRUE)
model_pars <- TaxaNorm_Model_Parameters(coefficients = coefficients,mu = mu,theta = theta,pi = pi)
data("TaxaNorm_Example_Input", package = "TaxaNorm")
rawdata <- data.frame(Taxa1 = c(1,2,3),Taxa2 = c(3,4,5),Taxa3 = c(6,7,8))
normdata <- data.frame(Taxa1 = c(-1.4,-1.09,-0.73),
Taxa2 = c( -0.36,0,0.36), Taxa3 = c(0.73,1.09,1.46))
ecdf <- data.frame(0.05,0.23,0.89)
converge <- c(TRUE,TRUE,FALSE)
llk <- c(1,1.5,0.5)
final_df <- data.frame(Taxa1 = c(1,2,3),Taxa2 = c(3,4,5),Taxa3 = c(6,7,8))
TaxaNorm_Results(input_data = TaxaNorm_Example_Input,
                                  rawdata = rawdata,
                                   normdata = normdata,
                                   ecdf = ecdf,
                                   model_pars = model_pars,
                                   converge = converge,
                                   llk = llk,
                                   final_df = final_df)
Function to run TaxNorm algorithm
Description
Function to run TaxNorm algorithm
Usage
TaxaNorm_Run_Diagnose(Normalized_Results, prev = TRUE, equiv = TRUE, group)
Arguments
| Normalized_Results | (Required) Input results from from run_norm() | 
| prev | run prev test | 
| equiv | run equiv test | 
| group | group used for taxanorm normalization | 
Value
a list containing the normalized count values
Examples
data("TaxaNorm_Example_Input", package = "TaxaNorm")
data("TaxaNorm_Example_Output", package = "TaxaNorm")
Diagnose_Data <- TaxaNorm_Run_Diagnose(Normalized_Results = TaxaNorm_Example_Output,
                                        prev = TRUE,
                                        equiv = TRUE,
                                        group = sample_data(TaxaNorm_Example_Input)$body_site)