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 rank
ed, 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.