Browse code

new function to add drug edges

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

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

Shana White authored on 27/02/2017 17:26:16
Showing 2 changed files

1 1
new file mode 100644
... ...
@@ -0,0 +1,62 @@
1
+#' Add edges from disease/drug tables  
2
+#' @description Expand edge mappings to include drugs/drug targets
3
+#' for selected pathway
4
+#' @param edges A data.frame object obtained by using the function `expand_kegg_edges`
5
+#' @param KEGG_mappings A data.frame object obtained by using the function `expand_kegg_mappings`
6
+#' @param kegg_drug_table A data.frame object obtained by using the function `get_drug_table`
7
+#' @return A data.frame object similar to the expanded edges data frame but with additional
8
+#' edges representing known drugs/drug targets
9
+#' @export
10
+#' @examples
11
+
12
+#' end_res_KGML <- get_KGML("hsa01522")
13
+#' end_res_KEGG_mappings <- expand_KEGG_mappings(end_res_KGML)
14
+#' end_res_edges <- expand_KEGG_edges(end_res_KGML, end_res_KEGG_mappings)
15
+
16
+#' end_res_drugs <- get_drug_table("hsa01522")
17
+
18
+#' edges_plus_kdrug <- add_kegg_drugs(end_res_edges, end_res_KEGG_mappings, end_res_drugs)
19
+
20
+add_kegg_drugs <- function(edges, KEGG_mappings, kegg_drug_table){
21
+
22
+    edges$u_ID <- paste0(edges$entry1accession,":", edges$entry2accession)
23
+    kegg_drug_table$u_ID <- paste0(kegg_drug_table$drug_KEGG_ID,":", kegg_drug_table$gene_id)
24
+    
25
+    drugs_to_add <- subset(kegg_drug_table, !kegg_drug_table$u_ID %in% edges$u_ID)
26
+    edges_to_add <- data.frame(
27
+       "edgeID" = seq(from = (1 + max(edges$edgeID)), to = (nrow(drugs_to_add) + max(edges$edgeID))), 
28
+       "entry1accession" = drugs_to_add$drug_KEGG_ID,
29
+       "entry2accession" = drugs_to_add$gene_id,
30
+       "entry1" = NA,
31
+       "entry2" = NA,
32
+       "type" = "PCrel",
33
+       "subtype1" = "from_kegg_drug",
34
+       "value" = "--",
35
+       "subtype2" = NA,
36
+       "value2" = NA,
37
+       "specific_subtype" = "from_kegg_drug",
38
+       "is_direct" = 1,
39
+       "entry1type" = "compound",
40
+       "entry2type" = "gene",
41
+       "entry1symbol" = drugs_to_add$drug_name,
42
+       "entry2symbol" = drugs_to_add$gene_symbol,
43
+       "u_ID" = drugs_to_add$u_ID,
44
+       stringsAsFactors = FALSE
45
+    )
46
+    for (i in 1:nrow(edges_to_add)){
47
+        edges_to_add$entry2[i] <- KEGG_mappings$entryID[KEGG_mappings$entryACCESSION == 
48
+                                                            edges_to_add$entry2accession[i]][1]
49
+        if (edges_to_add$entry1accession[i] %in% KEGG_mappings$entryACCESSION){
50
+            edges_to_add$entry1[i] <- KEGG_mappings$entryID[KEGG_mappings$entryACCESSION == 
51
+                                                                edges_to_add$entry1accession[i]][1]
52
+        }
53
+    }
54
+    # Decide whether or not to map to all nodes of gene on map
55
+    # for (i in 1:nrow(edges_to_add)){
56
+    #     edges_to_add$entry2[i] <- list(KEGG_mappings$entryID[KEGG_mappings$entryACCESSION == edges_to_add$entry2accession[i]])
57
+    # }
58
+    all_edges <- rbind(edges[, -c(17)], edges_to_add[, -c(17)])
59
+
60
+}
61
+
62
+#load("/opt/raid10/genomics/shana/KEGG_drug_targets/via_cts_convert/compound_cgs_KEGG_filtered.rda")
0 63
new file mode 100644
... ...
@@ -0,0 +1,31 @@
1
+% Generated by roxygen2: do not edit by hand
2
+% Please edit documentation in R/add_kegg_drugs.R
3
+\name{add_kegg_drugs}
4
+\alias{add_kegg_drugs}
5
+\title{Add edges from disease/drug tables}
6
+\usage{
7
+add_kegg_drugs(edges, KEGG_mappings, kegg_drug_table)
8
+}
9
+\arguments{
10
+\item{edges}{A data.frame object obtained by using the function `expand_kegg_edges`}
11
+
12
+\item{KEGG_mappings}{A data.frame object obtained by using the function `expand_kegg_mappings`}
13
+
14
+\item{kegg_drug_table}{A data.frame object obtained by using the function `get_drug_table`}
15
+}
16
+\value{
17
+A data.frame object similar to the expanded edges data frame but with additional
18
+edges representing known drugs/drug targets
19
+}
20
+\description{
21
+Expand edge mappings to include drugs/drug targets
22
+for selected pathway
23
+}
24
+\examples{
25
+end_res_KGML <- get_KGML("hsa01522")
26
+end_res_KEGG_mappings <- expand_KEGG_mappings(end_res_KGML)
27
+end_res_edges <- expand_KEGG_edges(end_res_KGML, end_res_KEGG_mappings)
28
+end_res_drugs <- get_drug_table("hsa01522")
29
+edges_plus_kdrug <- add_kegg_drugs(end_res_edges, end_res_KEGG_mappings, end_res_drugs)
30
+}
31
+