Browse code

Add in parameter arguments for 'tidy_edge'; propogate changes and update necessary files

From: Shana White <vandersm@mail.uc.edu>

git-svn-id: file:///home/git/hedgehog.fhcrc.org/bioconductor/trunk/madman/Rpacks/KEGGlincs@130419 bc3139a8-67e5-0310-9ffc-ced21a209358

Shana White authored on 15/06/2017 17:58:33
Showing 9 changed files

... ...
@@ -19,5 +19,5 @@ biocViews: NetworkInference, GeneExpression, DataRepresentation,
19 19
         ThirdPartyClient,CellBiology,GraphAndNetwork,Pathways,KEGG,Network
20 20
 Imports:
21 21
         AnnotationDbi,KEGGgraph,igraph,plyr,gtools,httr,RJSONIO,KEGGREST,
22
-        methods,graphics,stats,utils, XML
22
+        methods,graphics,stats,utils, XML, grDevices
23 23
 VignetteBuilder: knitr
... ...
@@ -27,6 +27,8 @@ import(hgu133a.db)
27 27
 import(httr)
28 28
 import(methods)
29 29
 import(org.Hs.eg.db)
30
+importFrom(grDevices,col2rgb)
31
+importFrom(grDevices,rgb)
30 32
 importFrom(graphics,barplot)
31 33
 importFrom(graphics,legend)
32 34
 importFrom(graphics,par)
... ...
@@ -24,6 +24,7 @@
24 24
 #' 'expanded' edge information for the specified pathway
25 25
 #' @param convert_KEGG_IDs A logical indicator; if set to TRUE KEGG 
26 26
 #' compounds will remain labeled via KEGG codes (do not need KEGGREST)
27
+#' @param tidy_edge A logical indicator; must be set to FALSE for expanded edges
27 28
 #' @return  A dynamic map in Cytoscape automatically formatted for convenient 
28 29
 #' viewing and, if idicated by user, a data.frame object with detailed 
29 30
 #' information for 'expanded' KEGG edges
... ...
@@ -51,7 +52,8 @@ function(pathwayid, cell_line = NA,
51 52
                             only_mapped = TRUE,
52 53
                             layered_nodes = FALSE, graph_title = "default",
53 54
                             get_data = FALSE,
54
-                            convert_KEGG_IDs = TRUE){
55
+                            convert_KEGG_IDs = TRUE, 
56
+                            tidy_edge = FALSE){
55 57
     if (is.na(refine_by_cell_line)){
56 58
         if (is.na(cell_line)){
57 59
             refine_by_cell_line <- FALSE
... ...
@@ -85,14 +87,14 @@ function(pathwayid, cell_line = NA,
85 87
     }
86 88
 
87 89
     if (is.na(cell_line)){
88
-        edge_map <- edge_mapping_info(expanded_edges)
90
+        edge_map <- edge_mapping_info(expanded_edges, tidy_edge = tidy_edge)
89 91
     if (graph_title == "default"){
90 92
         graph_title <- paste0("Pathway = ", pathwayid, ":", 
91 93
                             KGML@pathwayInfo@title)
92 94
         }
93 95
     }
94 96
     if (!is.na(cell_line) & !add_L1000_edge_data){
95
-        edge_map <- edge_mapping_info(expanded_edges)
97
+        edge_map <- edge_mapping_info(expanded_edges, tidy_edge = tidy_edge)
96 98
         if (graph_title == "default"){
97 99
             graph_title <- paste0("Pathway = ", pathwayid, ":", 
98 100
                             KGML@pathwayInfo@title, "Refined by Cell-Line:  ",
... ...
@@ -101,7 +103,7 @@ function(pathwayid, cell_line = NA,
101 103
     }
102 104
     if (nrow(expanded_edges[expanded_edges$type == "maplink",]) == 
103 105
         nrow(expanded_edges) & only_mapped) {
104
-            edge_map <- edge_mapping_info(expanded_edges)
106
+            edge_map <- edge_mapping_info(expanded_edges, tidy_edge = tidy_edge)
105 107
             if (graph_title == "default"){
106 108
                 graph_title <- paste0("Pathway = ", pathwayid, ":", 
107 109
                             KGML@pathwayInfo@title, "Cell-Line: ", 
... ...
@@ -118,7 +120,8 @@ function(pathwayid, cell_line = NA,
118 120
                                             user_data, c(10,12), 
119 121
                                             only_mapped = only_mapped)
120 122
             edge_map <- edge_mapping_info(edges_plus_data, data_added = TRUE, 
121
-                                    significance_markup = significance_markup)
123
+                                    significance_markup = significance_markup,
124
+                                    tidy_edge = tidy_edge)
122 125
             if (graph_title == "default"){
123 126
                 graph_title <- paste0("Pathway = ", pathwayid, ":", 
124 127
                                 KGML@pathwayInfo@title, ",  Cell-Line: ", 
... ...
@@ -126,7 +129,7 @@ function(pathwayid, cell_line = NA,
126 129
             }
127 130
         }
128 131
         else {
129
-            edge_map <- edge_mapping_info(expanded_edges)
132
+            edge_map <- edge_mapping_info(expanded_edges, tidy_edge = tidy_edge)
130 133
             if (graph_title == "default"){
131 134
                 graph_title <- paste0("Pathway = ", pathwayid, ":", 
132 135
                                 KGML@pathwayInfo@title, ",  Cell-Line: ", 
... ...
@@ -8,6 +8,7 @@
8 8
 #' @param significance_markup A logical indicator; if set to TRUE will color 
9 9
 #' edges based on direction and significance of correlation (as determined by 
10 10
 #' user-data-analysis)
11
+#' @param tidy_edge A logical indicator; must be set to FALSE for expanded edges
11 12
 #' @return A data.frame object for edges that will be passed on to the function 
12 13
 #' get_graph_object
13 14
 #' @export
... ...
@@ -12,12 +12,14 @@
12 12
 get_drug_table <- function(pathwayid){
13 13
     
14 14
     url <- paste0("http://www.kegg.jp/kegg-bin/pathway_dd_list?map=",
15
-                  pathwayid)
15
+                    pathwayid)
16 16
     dd_table <- data.frame(
17
-                XML::readHTMLTable(url, header = T, which = 4, as.data.frame = FALSE), 
17
+                XML::readHTMLTable(url, header = TRUE, which = 4, 
18
+                                    as.data.frame = FALSE), 
18 19
                 stringsAsFactors = FALSE)
19 20
     if (nrow(dd_table) > 0){
20
-        d_table <- subset(dd_table, substring(dd_table$Disease.drug, 1, 1) == "D")
21
+        d_table <- subset(dd_table, 
22
+                            substring(dd_table$Disease.drug, 1, 1) == "D")
21 23
         if(nrow(d_table) == 0){
22 24
             warning("No associated drug targets in selected pathway")
23 25
             return()
... ...
@@ -34,10 +36,14 @@ get_drug_table <- function(pathwayid){
34 36
         long_drug <- data.frame("drug_KEGG_ID" = unlist(d_table$drug_KEGG_ID), 
35 37
                                 "drug_name" = unlist(d_table$drug_name), 
36 38
                                 "gene_target" = unlist(d_table$gene_target),
37
-                                 stringsAsFactors = FALSE)
39
+                                stringsAsFactors = FALSE)
38 40
         for (i in 1:nrow(long_drug)){
39
-            long_drug$gene_id[i] <- strsplit(long_drug$gene_target[i], "\\(")[[1]][1]
40
-            long_drug$gene_symbol[i] <- regmatches(long_drug$gene_target[i], gregexpr("(?<=\\().*?(?=\\))", long_drug$gene_target[i], perl=T))[[1]]
41
+            long_drug$gene_id[i] <- strsplit(long_drug$gene_target[i], 
42
+                                            "\\(")[[1]][1]
43
+            long_drug$gene_symbol[i] <- regmatches(long_drug$gene_target[i], 
44
+                                                gregexpr("(?<=\\().*?(?=\\))", 
45
+                                                long_drug$gene_target[i], 
46
+                                                perl=TRUE))[[1]]
41 47
         }
42 48
         drops <- "gene_target"
43 49
         d_table <- long_drug[, names(long_drug) != drops]
... ...
@@ -55,10 +61,11 @@ get_disease_table <- function(pathwayid){
55 61
     url <- paste0("http://www.kegg.jp/kegg-bin/pathway_dd_list?map=",
56 62
                   pathwayid)
57 63
     dd_table <- data.frame(
58
-        XML::readHTMLTable(url, header = T, which = 4, as.data.frame = FALSE), 
64
+        XML::readHTMLTable(url, header = TRUE, which = 4, as.data.frame = FALSE), 
59 65
         stringsAsFactors = FALSE)
60 66
     if (nrow(dd_table) > 0){
61
-        d_table <- subset(dd_table, substring(dd_table$Disease.drug, 1, 1) == "H")
67
+        d_table <- subset(dd_table, 
68
+                          substring(dd_table$Disease.drug, 1, 1) == "H")
62 69
         if(nrow(d_table) == 0){
63 70
             warning("No diseases associated with selected pathway")
64 71
             return()
... ...
@@ -3,9 +3,11 @@
3 3
 #' @export
4 4
 #' @param edges The edge dataframe 
5 5
 #' @param edge_id The numeric value for the edge_id
6
+#' @param data_added A logical indicator; set to TRUE if data is added
6 7
 #' @param by_significance A logical indicator; option if data is added
7 8
 #' @param by_number A logical indicator; gives rough estimate of edge amount
8 9
 #' @return A data frame that has had the given edge condensed for viewing
10
+#' @importFrom grDevices col2rgb rgb
9 11
 #' @examples \dontrun{
10 12
 #' if (tidy_edge == TRUE) {
11 13
 #'    edge_IDs <- seq(min(expanded_edges$edgeID), max(expanded_edges$edgeID))
... ...
@@ -26,7 +28,7 @@
26 28
 #'}
27 29
 #'}
28 30
 
29
-tidy_edge <- function(edges, edge_id, data_added = TRUE, 
31
+tidy_edge <- function(edges, edge_id, data_added = FALSE, 
30 32
                       by_significance = FALSE, by_number = TRUE){
31 33
   edge <- edges[edges$edgeID == edge_id,]
32 34
   edges_1 <- edges[edges$edgeID != edge_id,]
... ...
@@ -8,7 +8,7 @@ KEGG_lincs(pathwayid, cell_line = NA, refine_by_cell_line = NA,
8 8
   add_L1000_edge_data = TRUE, significance_markup = TRUE,
9 9
   data_type = "100_full", pert_time = 96, only_mapped = TRUE,
10 10
   layered_nodes = FALSE, graph_title = "default", get_data = FALSE,
11
-  convert_KEGG_IDs = TRUE)
11
+  convert_KEGG_IDs = TRUE, tidy_edge = FALSE)
12 12
 }
13 13
 \arguments{
14 14
 \item{pathwayid}{A KEGG pathway ID of the form "hsa12345" 
... ...
@@ -46,6 +46,8 @@ mapped to one location}
46 46
 
47 47
 \item{convert_KEGG_IDs}{A logical indicator; if set to TRUE KEGG 
48 48
 compounds will remain labeled via KEGG codes (do not need KEGGREST)}
49
+
50
+\item{tidy_edge}{A logical indicator; must be set to FALSE for expanded edges}
49 51
 }
50 52
 \value{
51 53
 A dynamic map in Cytoscape automatically formatted for convenient 
... ...
@@ -17,6 +17,8 @@ been added (i.e. edges modified by function add_edge_data())}
17 17
 \item{significance_markup}{A logical indicator; if set to TRUE will color 
18 18
 edges based on direction and significance of correlation (as determined by 
19 19
 user-data-analysis)}
20
+
21
+\item{tidy_edge}{A logical indicator; must be set to FALSE for expanded edges}
20 22
 }
21 23
 \value{
22 24
 A data.frame object for edges that will be passed on to the function 
... ...
@@ -4,7 +4,7 @@
4 4
 \alias{tidy_edge}
5 5
 \title{Tidy up pathway by combining edges inside of edge_mapping_info}
6 6
 \usage{
7
-tidy_edge(edges, edge_id, data_added = TRUE, by_significance = FALSE,
7
+tidy_edge(edges, edge_id, data_added = FALSE, by_significance = FALSE,
8 8
   by_number = TRUE)
9 9
 }
10 10
 \arguments{
... ...
@@ -12,6 +12,8 @@ tidy_edge(edges, edge_id, data_added = TRUE, by_significance = FALSE,
12 12
 
13 13
 \item{edge_id}{The numeric value for the edge_id}
14 14
 
15
+\item{data_added}{A logical indicator; set to TRUE if data is added}
16
+
15 17
 \item{by_significance}{A logical indicator; option if data is added}
16 18
 
17 19
 \item{by_number}{A logical indicator; gives rough estimate of edge amount}