For a given matrix of annotation information, this function returns the information ordered according to the best fit with the data.

orderGoAnnotations(
  object,
  fcol = "GOAnnotations",
  k = 1:5,
  n = 5,
  p = 1/3,
  verbose = TRUE,
  seed
)

Arguments

object

An instance of class MSnSet.

fcol

The name of the annotations matrix. Default is GOAnnotations.

k

The number of clusters to test. Default is k = 1:5

n

The minimum number of proteins per component cluster.

p

The normalisation factor, per k tested

verbose

A logical indicating if a progress bar should be displayed. Default is TRUE.

seed

An optional random number generation seed.

Value

An updated MSnSet containing the newly ordered fcol matrix.

Details

As there are typically many protein/annotation sets that may fit the data we order protein sets by best fit i.e. cluster tightness, by computing the mean normalised Euclidean distance for all instances per protein set.

For each protein set i.e. proteins that have been labelled with a specified term/information criteria, we find the best k cluster components for the set (the default is to testk = 1:5) according to the minimum mean normalised pairwise Euclidean distance over all component clusters. (Note: when testing k if any components are found to have less than n proteins these components are not included and k is reduced by 1).

Each component cluster is normalised by N^p (where N is the total number of proteins per component, and p is the power). Hueristally, p = 1/3 and normalising by N^1/3 has been found the optimum normalisation factor.

Candidates in the matrix are ordered according to lowest mean normalised pairwise Euclidean distance as we expect high density, tight clusters to have the smallest mean normalised distance.

This function is a wrapper for running clustDist, getNormDist, see the "Annotating spatial proteomics data" vignette for more details.

See also

addGoAnnotations and example therein.

Author

Lisa M Breckels