Nothing
#' Combines all other package functions for one-step pathway visualization
#' @export
#' @param pathwayid A KEGG pathway ID of the form "hsa12345"
#' (only human pathways currently)
#' @param cell_line If left as NA will generate a pathway map without
#' data-dependent attributes (such as edge width). To use in combination
#' with LINCS data, choose from the set of cell lines:
#' (A375,A549,ASC,HA1E,HCC515,HEK293T,HEKTE,HEPG2,HT29,MCF7,NCIH716,NPC,PC3,
#' SHSY5Y,SKL,SW480,VCAP)
#' @param refine_by_cell_line A logical indicator
#' @param add_L1000_edge_data A logical indicator
#' @param data_type Choose from data types: (100_full, 100_bing, 50_lm)
#' @param pert_time Choose from (6,24,48,96,120,144,168)
#' @param only_mapped A logical indicator; if set to FALSE will return 'de-novo'
#' edges that 'exist' in data but are not documented in KEGG
#' @param significance_markup A logical indicator; if set to TRUE will color
#' edges based on direction and significance of correlation (as determined by
#' user-data-analysis)
#' @param layered_nodes A logical indicator; if set to TRUE will create a graph
#' with 'stacked' nodes that the user can manipulate when multiple nodes are
#' mapped to one location
#' @param graph_title An optional user-specified graph title
#' @param get_data A logical indicator; if set to true, will return the
#' 'expanded' edge information for the specified pathway
#' @param convert_KEGG_IDs A logical indicator; if set to TRUE KEGG
#' compounds will remain labeled via KEGG codes (do not need KEGGREST)
#' @param tidy_edge A logical indicator; must be set to FALSE for expanded edges
#' @return A dynamic map in Cytoscape automatically formatted for convenient
#' viewing and, if idicated by user, a data.frame object with detailed
#' information for 'expanded' KEGG edges
#' @examples \dontrun{
#'
#' #Default KEGG pathway with colored edges representing type of relationship:
#' KEGG_lincs("hsa04115", convert_KEGG_IDs = FALSE)
#'
#' #KEGG pathway with edge width and color based on observed experimental data:
#' KEGG_lincs("hsa04115", "HA1E")
#'
#' #Have edge information data.frame to be output to the global environment:
#' p53_edge_info <- KEGG_lincs("hsa04115", graph_title = "p53"
#' convert_KEGG_IDs = FALSE, get_data = TRUE)
#' }
KEGG_lincs <-
function(pathwayid, cell_line = NA,
refine_by_cell_line = NA,
add_L1000_edge_data = TRUE,
significance_markup = TRUE,
data_type = "100_full",
pert_time = 96,
only_mapped = TRUE,
layered_nodes = FALSE, graph_title = "default",
get_data = FALSE,
convert_KEGG_IDs = TRUE,
tidy_edge = FALSE){
if (is.na(refine_by_cell_line)){
if (is.na(cell_line)){
refine_by_cell_line <- FALSE
}
else {
refine_by_cell_line <- TRUE
}
}
KGML <- get_KGML(pathwayid, get_if_no_edges = TRUE)
if(!isS4(KGML)){
return()
}
if (!refine_by_cell_line){
KEGG_mappings <- expand_KEGG_mappings(KGML,convert_KEGG_IDs = convert_KEGG_IDs)
}
if (refine_by_cell_line) {
KEGG_mappings <- expand_KEGG_mappings(KGML,convert_KEGG_IDs = convert_KEGG_IDs)
full_mappings <- KEGG_mappings
KEGG_mappings <- refine_mappings(KEGG_mappings, cell_line)
for (i in 1:nrow(full_mappings)){
if(!full_mappings$entryID[i] %in% KEGG_mappings$entryID){
full_mappings$BGcolor[i] <- "#d3d3d3"
full_mappings$in_relationship <- 0
}
}
}
expanded_edges <- expand_KEGG_edges(KGML, KEGG_mappings)
if(expanded_edges$type[1] == "dummy"){
graph_title <- paste0("Pathway = ", pathwayid, ":",
KGML@pathwayInfo@title, "Cell-Line: ", cell_line,
" *No Edges in Pathway")
}
if (is.na(cell_line)){
edge_map <- edge_mapping_info(expanded_edges, tidy_edge = tidy_edge)
if (graph_title == "default"){
graph_title <- paste0("Pathway = ", pathwayid, ":",
KGML@pathwayInfo@title)
}
}
if (!is.na(cell_line) & !add_L1000_edge_data){
edge_map <- edge_mapping_info(expanded_edges, tidy_edge = tidy_edge)
if (graph_title == "default"){
graph_title <- paste0("Pathway = ", pathwayid, ":",
KGML@pathwayInfo@title, "Refined by Cell-Line: ",
cell_line)
}
}
if (nrow(expanded_edges[expanded_edges$type == "maplink",]) ==
nrow(expanded_edges) & only_mapped) {
edge_map <- edge_mapping_info(expanded_edges, tidy_edge = tidy_edge)
if (graph_title == "default"){
graph_title <- paste0("Pathway = ", pathwayid, ":",
KGML@pathwayInfo@title, "Cell-Line: ",
cell_line, " *No Edges in Data")
}
warning("All documented edges are of type 'maplink';
Overlap data cannot be mapped to selected pathway")
}
if(!is.na(cell_line) & add_L1000_edge_data) {
user_data <- overlap_info(KGML, KEGG_mappings, cell_line,
data_type = data_type, pert_time = pert_time)
if (!is.na(user_data)[1,1]) {
edges_plus_data <- add_edge_data(expanded_edges, KEGG_mappings,
user_data, c(11,13),
map_type = "SYMBOL",
only_mapped = only_mapped)
edge_map <- edge_mapping_info(edges_plus_data, data_added = TRUE,
significance_markup = significance_markup,
tidy_edge = tidy_edge)
if (graph_title == "default"){
graph_title <- paste0("Pathway = ", pathwayid, ":",
KGML@pathwayInfo@title, ", Cell-Line: ",
cell_line, ", Data type: ", data_type)
}
}
else {
edge_map <- edge_mapping_info(expanded_edges, tidy_edge = tidy_edge)
if (graph_title == "default"){
graph_title <- paste0("Pathway = ", pathwayid, ":",
KGML@pathwayInfo@title, ", Cell-Line: ",
cell_line, " *No Edges in Data")
}
}
}
if(refine_by_cell_line){
node_map <- node_mapping_info(full_mappings)
}
else{
node_map <- node_mapping_info(KEGG_mappings)
}
graph_object <- get_graph_object(node_map, edge_map,
layered_nodes = layered_nodes)
cyto_vis(graph_object, title = graph_title)
if(get_data){
return(edge_map)
}
}
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.