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
... | ... |
@@ -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 |
... | ... |
@@ -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} |