Browse code

Add GET step for getting raw tables

Shana White authored on 05/07/2018 17:18:40
Showing 1 changed files

... ...
@@ -11,22 +11,21 @@
11 11
 
12 12
 get_drug_table <- function(pathwayid){
13 13
     
14
-    url <- paste0("http://www.kegg.jp/kegg-bin/pathway_dd_list?map=",
15
-                    pathwayid)
16
-    dd_table <- data.frame(
17
-                XML::readHTMLTable(url, header = TRUE, which = 4, 
18
-                                    as.data.frame = FALSE), 
19
-                stringsAsFactors = FALSE)
14
+    raw_tabs <- GET(paste0("http://www.kegg.jp/kegg-bin/pathway_dd_list?map=",
15
+                           pathwayid))
16
+    
17
+    dd_table <- XML::readHTMLTable(rawToChar(raw_tabs$content),which = 4,
18
+                                   stringsAsFactors = F)
20 19
     if (nrow(dd_table) > 0){
21 20
         d_table <- subset(dd_table, 
22
-                            substring(dd_table$Disease.drug, 1, 1) == "D")
21
+                          substring(dd_table[,1], 1, 1) == "D")
23 22
         if(nrow(d_table) == 0){
24 23
             warning("No associated drug targets in selected pathway")
25 24
             return()
26 25
         }
27 26
         names(d_table) <- c("drug_KEGG_ID", "drug_name", "gene_target")
28 27
         d_table$gene_target <- strsplit(d_table$gene_target, " ")
29
-
28
+        
30 29
         for(i in 1:nrow(d_table)){
31 30
             l <- length(unlist(d_table$gene_target[i]))
32 31
             d_table$drug_KEGG_ID[i] <- list(rep(d_table$drug_KEGG_ID[i], l))
... ...
@@ -39,11 +38,11 @@ get_drug_table <- function(pathwayid){
39 38
                                 stringsAsFactors = FALSE)
40 39
         for (i in 1:nrow(long_drug)){
41 40
             long_drug$gene_id[i] <- strsplit(long_drug$gene_target[i], 
42
-                                            "\\(")[[1]][1]
41
+                                             "\\(")[[1]][1]
43 42
             long_drug$gene_symbol[i] <- regmatches(long_drug$gene_target[i], 
44
-                                                gregexpr("(?<=\\().*?(?=\\))", 
45
-                                                long_drug$gene_target[i], 
46
-                                                perl=TRUE))[[1]]
43
+                                                   gregexpr("(?<=\\().*?(?=\\))", 
44
+                                                            long_drug$gene_target[i], 
45
+                                                            perl=TRUE))[[1]]
47 46
         }
48 47
         drops <- "gene_target"
49 48
         d_table <- long_drug[, names(long_drug) != drops]