Skip to contents

Annotations are often useful in a network context, e.g. one might want to label the interacting partners by their pathway membership. This function takes a network data frame and joins an annotation data frame from both the left and the right side, so both the source and target molecular entities will be labeled by their annotations. If one entity has many annotations these will yield many rows, hence the interacting pairs won't be unique across the data frame any more. Also if one entity has really many annotations the resulting data frame might be huge, we recommend to be careful with that. Finally, if you want to do the same but with intercell annotations, there is the import_intercell_network function.


  network = NULL,
  annot = NULL,
  network_args = list(),
  annot_args = list(),



Behaviour depends on type: if list, will be passed as arguments to import_omnipath_interactions to obtain a network data frame; if a data frame or tibble, it will be used as a network data frame; if a character vector, will be assumed to be a set of resource names and interactions will be queried from these resources.


Either the name of an annotation resource (for a list of available resources call get_annotation_resources), or an annotation data frame. If the data frame contains more than one resources, only the first one will be used.


List: if `network` is a resource name, pass these additional arguments to import_omnipath_interactions.


List: if `annot` is a resource name, pass these additional arguments to import_omnipath_annotations.


Column names selected from the annotation data frame (passed to dplyr::select, if empty all columns will be selected.)


A data frame of interactions with annotations for both interacting entities.


signalink_with_pathways <-
    annotated_network('SignaLink3', 'SignaLink_pathway')