Class for Marker Gene Lists

Description

This is the main class used to store sets of marker genes, for use in gene expression deconvolution methods. It serves as a light version of class MarkerSetCollection-class, assuming that all marker identifiers are of the same type (e.g., entrez gene, unigene or probe ids), and are relative to the same platform, organism, etc.. (see details).

isMarkerList tests if an object is a MarkerList-class object.

attachMarkers attaches a marker list to an NMF object, by storing it in an attribute named 'markers'. It actually stores the results from MarkerList(x), that is a MarkerList object.

getMarkers extracts the marker list from the attribute named 'markers' that will generally contain a MarkerList object.

has.markers tells if an object has an attached marker list, i.e. an attribute named 'markers'.

Usage

isMarkerList(x)

S4 (MarkerList)
`summary`(object)

attachMarkers(x, object)

getMarkers(x, err.notfind = NULL, unlist = FALSE)

has.markers(x)

Arguments

x
generally a MarkerList object or any object depending on the method. See their respective description for details.
object
a list of markers, usually a MarkerList object, or any object with an attached list of markers (cf. attachMarkers and getMarkers), depending on the method. See their respective description for details.
err.notfind
a character vector that will prefix an error message if no x has no marker list attached. The error is only thrown if err.notfind is not NULL.
unlist
a single logical specifying if the result should be unlisted Default is FALSE.

Value

summary returns a numeric vector containing the number of markers for each cell-type

attachMarkersreturns object with an attribute named 'markers' that contains the result of MarkerList(x).

getMarkersreturns the attached marker list

has.markersreturns a logical

Details

The objective of the MarkerList class is to simplify the structure and processing of gene lists, compared to handling MarkerSetCollection objects. Conversion methods between these two classes are provided.

The class is essentially a named list, in which each element contains data about a set of marker features/genes, e.g., from a given cell-type. Marker features are assumed to be exclusive to each set, i.e. they appear in only one element of the list. In addition to their identifiers, markers can be associated with numeric values, e.g., corresponding to p-values or specificity scores, or integer, which are then interpreted as indexes relative to some expression data.

It contains the same slots as GeneSet-class, which are used when converting MarkerList objects into MarkerSetCollection objects, to fill the slots of all gene set. For a description of each slot, please see the documentation for GeneSet-class.

Methods

  1. [signature(x = "MarkerList", i = "ANY", j = "ANY"): MarkerList objects have convenient subset methods, that allow to subset the list not only along the sets (first dimension) but also along the markers, which proves to be very useful to subset markers list based on another set of identifier, e.g., the genes present in some expression data, or in another marker list.

    The method `[` works performs basic strict subsets using integer, character and logical subsetting vectors.

    See [,MarkerList,ANY,ANY-method for more details.

  2. [signature(x = "MarkerList", i = "list", j = "ANY"): This method subsets/reorders each set of marker using a subset specification found in

  3. [signature(x = "MarkerList", i = "missing", j = "list"): This method is equivalent to x[i, , ..., match.names=FALSE], i.e. that each element of the marker list x are subset/reordered as its corresponding one in j, following the lists' order -- with no attempt to match their elements names before subsetting.

  4. annotationsignature(object = "MarkerList"): Extract name of the annotation package from a marker list.

  5. annotation<-signature(object = "MarkerList", value = "character"): Sets the name of the annotation package associated to a marker list.

  6. annotation<-signature(object = "MarkerList", value = "NULL"): Reset the annotation package associated to a marker list

  7. asCBCsignature(object = "MarkerList"): This method combines markers of cell types that belong to the same CBC group.

  8. .atracksignature(object = "MarkerList"): This method allows to add annotation tracks in heatmaps produced by aheatmap, to highlight the position of markers, when plotting either the global expression values or cell type-specific signatures, whether measured or estimated.

  9. combinesignature(x = "MarkerList", y = "factor"): Combine markers from multiple cell types of a MarkerList object, based on groups defined by a given factor.

  10. Comparesignature(e1 = "MarkerList", e2 = "numeric"): Compare compares all embedded values with a given fixed value. This is useful to filter markers based on their associated scores.

  11. connectivitysignature(object = "MarkerList"): Computes the connectivity matrix of each set (i.e. cell/tissue type) of a marker list, i.e. the matrix whose entries are the number of features in common between each pair o cell type.

  12. convertIDssignature(object = "MarkerList", to = "GeneIdentifierType", from = "GeneIdentifierType"): Convert IDs from a MarkerList object.

    In this case, argument unlist indicates if the result should be a simple list containing the mapping (a list) for each cell type or a MarkerList-class object (default).

  13. detailssignature(object = "MarkerList"): Shows more details than the regular show method.

  14. dropsignature(x = "MarkerList"): drop drops empty sets of markers from a MarkerList object, as well as markers with FALSE values if the object is a logical marker list. It returns the reduced MarkerList object.

  15. featureNamessignature(object = "MarkerList"): Returns the character vector of all marker names in the list.

  16. flattensignature(object = "MarkerList"): For MarkerList objects the conversion is similar to what unlist would do, but argument use.names is used slightly differently.

    Secondly, the names of the main elements are append to the marker names (like unlist does if use.names=TRUE) only for marker lists that contain numeric values (e.g. specificity scores). In the other cases, they are used either as values for character marker lists or as duplicated names for integer marker lists.

  17. geneIdTypesignature(object = "MarkerList"): Returns the type of gene identifier used in a marker list.

  18. geneIdType<-signature(object = "MarkerList", value = "NULL"): Sets the type of gene identifier used in a marker list to NullIdentifier().

  19. geneIdType<-signature(object = "MarkerList", value = "character"): Sets the type of gene identifier used in a marker list to a given value.

  20. geneIdType<-signature(object = "MarkerList", value = "GeneIdentifierType"): Sets the type of gene identifier associated with a marker list to a given GeneIdentifierType-class object.

  21. geneValuessignature(object = "MarkerList"): Returns the values embedded in a MarkerList object.

  22. incidencesignature(x = "MarkerList"): Computes the incidence matrix of each feature in each set (i.e. cell/tissue type) of a marker list.

    The matrix is computed by converting the MarkerList object into a GeneSetCollection object, for which a method incidence exists in the GSEABase package.

  23. MarkerListsignature(object = "MarkerList"): This method acts as a Constructor-Copy that returns the input MarkerList object unchanged if no other argument are passed, or creates a new MarkerList object based on object, using the arguments in ... to initialise the slots.

  24. markermapsignature(object = "MarkerList", data = "matrix"): Workhorse method is for markermap.

  25. markermapsignature(object = "MarkerList", data = "ExpressionSet"): The method markermap for ExpressionSet objects calls the main markermap method on the expression matrix exprs(object).

  26. markermapsignature(object = "MarkerList", data = "NMF"): The method markermap for NMF objects calls the main markermap method on the basis matrix basis(object).

  27. markermapsignature(object = "MarkerList", data = "NMFfitX"): The method markermap for NMFfitX objects calls the main markermap method on the best fit fit(object).

  28. reordersignature(x = "MarkerList"): The method reorder for MarkerList objects allows to reorder each set of markers according to some auxiliary reference data, e.g, their gene expression in different cell types.

    See reorder,MarkerList-method for more details.

  29. sapplysignature(X = "MarkerList"): Applies a given function to a MarkerList-class object.

  30. subsetsignature(x = "MarkerList"): subset subset a MarkerList object keeping only the markers that are present with a given reference set, which can be a character vector, the rownames of a matrix or an NMF object, or the feature names of an ExpressionSet. The markers are matched using the function matchIndex, and gene identifier conversion is performed if necessary.

  31. summarysignature(object = "MarkerList"): Summary method for MarkerList objects

  32. summarysignature(object = "MarkerList"): Summary method for MarkerList objects

Heterogeneous marker lists

Due to the structure of MarkerList objects, all gene identifiers must share the same set of characteristics. However, it is possible to associate a MarkerList object with multiple annotation packages, which will be correctly dealt with if all the list's identifiers are found in only one of them. For example the registered maker list ‘Abbas’ is associated with annotation packages hgu133a.db and hgu133b.db.

Author

Renaud Gaujoux