View source: R/rank.affinity.R
| rank.affinity | R Documentation |
Affinity rankings for groups of species.
rank.affinity(aout, groups, rescale = TRUE, percent = FALSE)
aout |
list, output of |
groups |
named list of indices (integer or logical) for species in each group |
rescale |
logical, rescale average ranks for each group to have the same bounds? |
percent |
logical, take percentages of average ranks for each group (after rescaling)? |
The affinities for all species are ranked, then the average rank for the species in each group is calculated.
The calculations are applied to each set of conditions individually (i.e., each grid point in the affinity affinity calculation).
Unless rescale is FALSE, the average rank of each group is rescaled to have the same bounds (from 1 to the total number of species).
If percent is TRUE, the average ranks of groups (after rescaling) are converted to percentages.
The average rankings are inserted into the values element of aout, and the names of the groups are inserted into the species element.
The result can be used by diagram to make line plots or predominance diagrams (the predominance fields correspond to the groups with highest average ranking of affinity).
The reaction coefficients in the species element of the returned value of aout are not valid.
Because balancing on a basis species (i.e., dividing by its reaction coefficient) would be incorrect, diagram enforces balance = 1 so that that average rankings are used without further modification.
demo("rank.affinity")
# Compare Rubisco proteins from three domains
datfile <- system.file("extdata/protein/rubisco.csv", package = "CHNOSZ")
aafile <- system.file("extdata/protein/rubisco_aa.csv", package = "CHNOSZ")
dat <- read.csv(datfile)
aa <- read.csv(aafile)
groups <- sapply(c("A", "B", "E"), "==", dat$domain, simplify = FALSE)
names(groups) <- c("Archaea", "Bacteria", "Eukaryota")
ip <- add.protein(aa, as.residue = TRUE)
basis("QEC")
aout <- affinity(O2 = c(-74, -66, 100), H2O = c(-4, 4, 100), iprotein = ip)
arank <- rank.affinity(aout, groups = groups)
nspecies <- sapply(groups, sum)
names <- paste0(names(groups), " (", nspecies, ")")
diagram(arank, fill = "terrain", font = 2, names = names, format.names = FALSE)
title("Average rank of affinity for Rubisco in different domains")
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.