rank.affinity {CHNOSZ}R Documentation

Normalized Sums of Ranks of Chemical Affinities


Affinity ranking for groups of species.


  rank.affinity(aout, groups)



list, output of affinity


named list of indices (integer or numeric) for species in each group


The following calculations are applied to each set of conditions (i.e., grid point if affinity was called with two variables). The ranks of affinities for all species are first computed. Then, the ranks for the species in each group are summed and divided by the number of species in that group (this is the normalization step).


The normalized sum of ranks 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 show the groups with the highest normalized sum of ranks.


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 the normalized sums of ranks are used as-is.

See Also



# Compare Rubisco proteins from three domains
datfile <- system.file("extdata/cpetc/rubisco.csv", package = "CHNOSZ")
fastafile <- system.file("extdata/protein/rubisco.fasta", package = "CHNOSZ")
dat <- read.csv(datfile)
aa <- read.fasta(fastafile)
groups <- sapply(c("A", "B", "E"), "==", dat$domain, simplify = FALSE)
names(groups) <- c("Archaea", "Bacteria", "Eukaryota")
ip <- add.protein(aa, as.residue = TRUE)
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 affinity ranking of Rubisco proteins")

[Package CHNOSZ version 2.0.0 Index]