Browse code

fixed error on gtf importing dataset files with seqid as other group columns

Simone authored on 17/07/2021 14:32:55
Showing 1 changed files
... ...
@@ -278,6 +278,9 @@ gmql_take <- function(input_data, rows) {
278 278
         #levels(x$start)[x$start] = start_numeric
279 279
         g <- GenomicRanges::makeGRangesFromDataFrame(
280 280
             x,
281
+            seqnames.field = c("seqnames", "seqname",
282
+                               "chromosome", "chrom",
283
+                               "chr", "chromosome_name"),
281 284
             keep.extra.columns = TRUE,
282 285
             start.field = "start",
283 286
             end.field = "end")
Browse code

biocheck

Simone authored on 17/05/2021 09:41:45
Showing 1 changed files
... ...
@@ -32,71 +32,72 @@
32 32
 #' @export
33 33
 #'
34 34
 execute <- function() {
35
-  WrappeR <- J("it/polimi/genomics/r/Wrapper")
36
-  remote_proc <- WrappeR$is_remote_processing()
37
-  datasets <- .jevalArray(WrappeR$get_dataset_list(), simplify = TRUE)
38
-  exists_credential <- exists("GMQL_credentials", envir = .GlobalEnv)
39
-  
40
-  if(!remote_proc && exists_credential)
41
-    .download_or_upload(datasets)
42
-  
43
-  response <- WrappeR$execute()
44
-  error <- strtoi(response[1])
45
-  val <- response[2]
46
-  if(error)
47
-    stop(val)
48
-  else {
49
-    if(remote_proc) {
50
-      isGTF <- FALSE
51
-      outformat <- WrappeR$outputMaterialize()
52
-      if(identical(outformat, "gtf"))
53
-        isGTF <- TRUE
54
-      
55
-      credential <- get("GMQL_credentials", envir = .GlobalEnv)
56
-      url <- credential$remote_url
57
-      
58
-      if(is.null(url))
59
-        stop("url from GMQL_credentials is missing")
60
-      
61
-      .download_or_upload(datasets)
62
-      res <- serialize_query(url,isGTF,val)
35
+    WrappeR <- J("it/polimi/genomics/r/Wrapper")
36
+    remote_proc <- WrappeR$is_remote_processing()
37
+    datasets <- .jevalArray(WrappeR$get_dataset_list(), simplify = TRUE)
38
+    exists_credential <- exists("GMQL_credentials", envir = .GlobalEnv)
39
+    
40
+    if(!remote_proc && exists_credential)
41
+        .download_or_upload(datasets)
42
+    
43
+    response <- WrappeR$execute()
44
+    error <- strtoi(response[1])
45
+    val <- response[2]
46
+    if(error)
47
+        stop(val)
48
+    else {
49
+        if(remote_proc) {
50
+            isGTF <- FALSE
51
+            outformat <- WrappeR$outputMaterialize()
52
+            if(identical(outformat, "gtf"))
53
+                isGTF <- TRUE
54
+            
55
+            credential <- get("GMQL_credentials", envir = .GlobalEnv)
56
+            url <- credential$remote_url
57
+            
58
+            if(is.null(url))
59
+                stop("url from GMQL_credentials is missing")
60
+            
61
+            .download_or_upload(datasets)
62
+            res <- serialize_query(url,isGTF,val)
63
+        }
63 64
     }
64
-  }
65 65
 }
66 66
 
67 67
 .download_or_upload <- function(datasets) {
68
-  WrappeR <- J("it/polimi/genomics/r/Wrapper")
69
-  data_list <- apply(datasets, 1, as.list)
70
-  
71
-  credential <- get("GMQL_credentials", envir = .GlobalEnv)
72
-  url <- credential$remote_url
73
-  
74
-  if(is.null(url))
75
-    stop("url from GMQL_credentials is missing")
76
-  
77
-  remote <- WrappeR$is_remote_processing()
78
-  if(remote) {
79
-    lapply(data_list,function(x) {
80
-      if(!is.null(x[[1]]) && !is.na(x[[1]]))
81
-        upload_dataset(url,x[[2]],x[[1]],x[[3]]) 
82
-    })
83
-  } else {
84
-    lapply(data_list,function(x) {
85
-      if(!is.null(x[[2]]) && !is.na(x[[2]])) {
86
-        path <- x[[1]]
87
-        # create downloads folder where putting all the downloading dataset
88
-        if(!dir.exists(path))
89
-          dir.create(path)
90
-        
91
-        download_dataset(url,x[[2]], path) 
92
-      }
93
-    })
94
-  }
68
+    WrappeR <- J("it/polimi/genomics/r/Wrapper")
69
+    data_list <- apply(datasets, 1, as.list)
70
+    
71
+    credential <- get("GMQL_credentials", envir = .GlobalEnv)
72
+    url <- credential$remote_url
73
+    
74
+    if(is.null(url))
75
+        stop("url from GMQL_credentials is missing")
76
+    
77
+    remote <- WrappeR$is_remote_processing()
78
+    if(remote) {
79
+        lapply(data_list,function(x) {
80
+            if(!is.null(x[[1]]) && !is.na(x[[1]]))
81
+                upload_dataset(url,x[[2]],x[[1]],x[[3]]) 
82
+        })
83
+    } else {
84
+        lapply(data_list,function(x) {
85
+            if(!is.null(x[[2]]) && !is.na(x[[2]])) {
86
+                path <- x[[1]]
87
+                # create downloads folder where putting all the downloading 
88
+                # dataset
89
+                if(!dir.exists(path))
90
+                    dir.create(path)
91
+                
92
+                download_dataset(url,x[[2]], path) 
93
+            }
94
+        })
95
+    }
95 96
 }
96 97
 
97 98
 collect.GMQLDataset <- function(x,  name = "ds1", dir_out = getwd()) {
98
-  ptr_data <- value(x)
99
-  gmql_materialize(ptr_data, name, dir_out)
99
+    ptr_data <- value(x)
100
+    gmql_materialize(ptr_data, name, dir_out)
100 101
 }
101 102
 
102 103
 
... ...
@@ -151,28 +152,27 @@ collect.GMQLDataset <- function(x,  name = "ds1", dir_out = getwd()) {
151 152
 setMethod("collect", "GMQLDataset",collect.GMQLDataset)
152 153
 
153 154
 gmql_materialize <- function(input_data, name, dir_out) {
154
-  WrappeR <- J("it/polimi/genomics/r/Wrapper")
155
-  remote_proc <- WrappeR$is_remote_processing()
156
-  
157
-  if(grepl("\\.",name))
158
-    stop("dataset name cannot contains dot")
159
-  
160
-  if(!remote_proc) {
161
-    dir_out <- sub("/*[/]$","",dir_out)
162
-    res_dir_out <- file.path(dir_out, name)
163
-    if(!dir.exists(res_dir_out))
164
-      dir.create(res_dir_out)
165
-  }
166
-  else
167
-    res_dir_out <- name
168
-  
169
-  response <- WrappeR$materialize(input_data, res_dir_out)
170
-  error <- strtoi(response[1])
171
-  val <- response[2]
172
-  if(error)
173
-    stop(val)
174
-  else
175
-    invisible(NULL)
155
+    WrappeR <- J("it/polimi/genomics/r/Wrapper")
156
+    remote_proc <- WrappeR$is_remote_processing()
157
+    
158
+    if(grepl("\\.",name))
159
+        stop("dataset name cannot contains dot")
160
+    
161
+    if(!remote_proc) {
162
+        dir_out <- sub("/*[/]$","",dir_out)
163
+        res_dir_out <- file.path(dir_out, name)
164
+        if(!dir.exists(res_dir_out))
165
+            dir.create(res_dir_out)
166
+    } else
167
+        res_dir_out <- name
168
+    
169
+    response <- WrappeR$materialize(input_data, res_dir_out)
170
+    error <- strtoi(response[1])
171
+    val <- response[2]
172
+    if(error)
173
+        stop(val)
174
+    else
175
+        invisible(NULL)
176 176
 }
177 177
 
178 178
 
... ...
@@ -231,72 +231,73 @@ gmql_materialize <- function(input_data, name, dir_out) {
231 231
 #' @rdname take
232 232
 #' @aliases take-method
233 233
 #' @export
234
-setMethod("take", "GMQLDataset",
235
-          function(.data, rows = 0L)
236
-          {
237
-            ptr_data <- value(.data)
238
-            gmql_take(ptr_data, rows)
239
-          })
234
+setMethod(
235
+    "take", 
236
+    "GMQLDataset",
237
+    function(.data, rows = 0L) {
238
+        ptr_data <- value(.data)
239
+        gmql_take(ptr_data, rows)
240
+})
240 241
 
241 242
 gmql_take <- function(input_data, rows) {
242
-  rows <- as.integer(rows[1])
243
-  if(rows<0)
244
-    stop("rows cannot be negative")
245
-  
246
-  WrappeR <- J("it/polimi/genomics/r/Wrapper")
247
-  response <- WrappeR$take(input_data, rows)
248
-  error <- strtoi(response[1])
249
-  data <- response[2]
250
-  if(error)
251
-    stop(data)
252
-  
253
-  reg <- .jevalArray(WrappeR$get_reg(),simplify = TRUE)
254
-  if(is.null(reg))
255
-    stop("no regions defined")
256
-  meta <- .jevalArray(WrappeR$get_meta(),simplify = TRUE)
257
-  if(is.null(meta))
258
-    stop("no metadata defined")
259
-  schema <- .jevalArray(WrappeR$get_schema(),simplify = TRUE)
260
-  if(is.null(schema))
261
-    stop("no schema defined")
262
-  
263
-  reg_data_frame <- as.data.frame(reg)
264
-  if (!length(reg_data_frame)){
265
-    return(GRangesList())
266
-  }
267
-  list <- split(reg_data_frame, reg_data_frame[1])
268
-  seq_name <- c("seqname","start","end","strand",schema)
269
-  
270
-  sampleList <- lapply(list, function(x){
271
-    x <- x[-1]
272
-    names(x) <- seq_name
273
-    #    start_numeric = as.numeric(levels(x$start))[x$start]
274
-    start_numeric = as.numeric(x$start)
275
-    start_numeric = start_numeric + 1
276
-    x$start =  start_numeric
277
-    #levels(x$start)[x$start] = start_numeric
278
-    g <- GenomicRanges::makeGRangesFromDataFrame(
279
-      x,
280
-      keep.extra.columns = TRUE,
281
-      start.field = "start",
282
-      end.field = "end")
283
-  })
284
-  
285
-  gRange_list <- GRangesList(sampleList)
286
-  len = length(gRange_list)
287
-  names(gRange_list) <- paste0("S_",seq_len(len))
288
-  meta_list <- .metadata_from_frame_to_list(meta)
289
-  names(meta_list) <- paste0("S_",seq_len(len))
290
-  S4Vectors::metadata(gRange_list) <- meta_list
291
-  return(gRange_list)
243
+    rows <- as.integer(rows[1])
244
+    if(rows<0)
245
+        stop("rows cannot be negative")
246
+    
247
+    WrappeR <- J("it/polimi/genomics/r/Wrapper")
248
+    response <- WrappeR$take(input_data, rows)
249
+    error <- strtoi(response[1])
250
+    data <- response[2]
251
+    if(error)
252
+        stop(data)
253
+    
254
+    reg <- .jevalArray(WrappeR$get_reg(),simplify = TRUE)
255
+    if(is.null(reg))
256
+        stop("no regions defined")
257
+    meta <- .jevalArray(WrappeR$get_meta(),simplify = TRUE)
258
+    if(is.null(meta))
259
+        stop("no metadata defined")
260
+    schema <- .jevalArray(WrappeR$get_schema(),simplify = TRUE)
261
+    if(is.null(schema))
262
+        stop("no schema defined")
263
+    
264
+    reg_data_frame <- as.data.frame(reg)
265
+    if (!length(reg_data_frame)){
266
+        return(GRangesList())
267
+    }
268
+    list <- split(reg_data_frame, reg_data_frame[1])
269
+    seq_name <- c("seqname","start","end","strand",schema)
270
+    
271
+    sampleList <- lapply(list, function(x){
272
+        x <- x[-1]
273
+        names(x) <- seq_name
274
+        #    start_numeric = as.numeric(levels(x$start))[x$start]
275
+        start_numeric = as.numeric(x$start)
276
+        start_numeric = start_numeric + 1
277
+        x$start =  start_numeric
278
+        #levels(x$start)[x$start] = start_numeric
279
+        g <- GenomicRanges::makeGRangesFromDataFrame(
280
+            x,
281
+            keep.extra.columns = TRUE,
282
+            start.field = "start",
283
+            end.field = "end")
284
+    })
285
+    
286
+    gRange_list <- GRangesList(sampleList)
287
+    len = length(gRange_list)
288
+    names(gRange_list) <- paste0("S_",seq_len(len))
289
+    meta_list <- .metadata_from_frame_to_list(meta)
290
+    names(meta_list) <- paste0("S_",seq_len(len))
291
+    S4Vectors::metadata(gRange_list) <- meta_list
292
+    return(gRange_list)
292 293
 }
293 294
 
294 295
 .metadata_from_frame_to_list <- function(metadata_frame) {
295
-  meta_frame <- as.data.frame(metadata_frame)
296
-  list <- split(meta_frame, meta_frame[1])
297
-  name_value_list <- lapply(list, function(x){x <- x[-1]})
298
-  meta_list <- lapply(name_value_list, function(x){
299
-    stats::setNames(as.list(as.character(x[[2]])), x[[1]])
300
-  })
296
+    meta_frame <- as.data.frame(metadata_frame)
297
+    list <- split(meta_frame, meta_frame[1])
298
+    name_value_list <- lapply(list, function(x){x <- x[-1]})
299
+    meta_list <- lapply(name_value_list, function(x){
300
+        stats::setNames(as.list(as.character(x[[2]])), x[[1]])
301
+    })
301 302
 }
302 303
 
Browse code

fix local processing

Simone authored on 25/04/2021 14:30:39
Showing 1 changed files
... ...
@@ -35,8 +35,9 @@ execute <- function() {
35 35
   WrappeR <- J("it/polimi/genomics/r/Wrapper")
36 36
   remote_proc <- WrappeR$is_remote_processing()
37 37
   datasets <- .jevalArray(WrappeR$get_dataset_list(), simplify = TRUE)
38
+  exists_credential <- exists("GMQL_credentials", envir = .GlobalEnv)
38 39
   
39
-  if(!remote_proc)
40
+  if(!remote_proc && exists_credential)
40 41
     .download_or_upload(datasets)
41 42
   
42 43
   response <- WrappeR$execute()
Browse code

added FULL() parameters, fixed multiple collect

Simone authored on 11/04/2021 18:14:20
Showing 1 changed files
... ...
@@ -75,13 +75,21 @@ execute <- function() {
75 75
   
76 76
   remote <- WrappeR$is_remote_processing()
77 77
   if(remote) {
78
-    lapply(data_list,function(x){
78
+    lapply(data_list,function(x) {
79 79
       if(!is.null(x[[1]]) && !is.na(x[[1]]))
80
-        upload_dataset(url,x[[2]],x[[1]],x[[3]])})
80
+        upload_dataset(url,x[[2]],x[[1]],x[[3]]) 
81
+    })
81 82
   } else {
82
-    lapply(data_list,function(x){
83
-      if(!is.null(x[[2]]) && !is.na(x[[2]]))
84
-        download_dataset(url,x[[2]],x[[1]])})
83
+    lapply(data_list,function(x) {
84
+      if(!is.null(x[[2]]) && !is.na(x[[2]])) {
85
+        path <- x[[1]]
86
+        # create downloads folder where putting all the downloading dataset
87
+        if(!dir.exists(path))
88
+          dir.create(path)
89
+        
90
+        download_dataset(url,x[[2]], path) 
91
+      }
92
+    })
85 93
   }
86 94
 }
87 95
 
... ...
@@ -150,7 +158,7 @@ gmql_materialize <- function(input_data, name, dir_out) {
150 158
   
151 159
   if(!remote_proc) {
152 160
     dir_out <- sub("/*[/]$","",dir_out)
153
-    res_dir_out <- file.path(dir_out,name)
161
+    res_dir_out <- file.path(dir_out, name)
154 162
     if(!dir.exists(res_dir_out))
155 163
       dir.create(res_dir_out)
156 164
   }
Browse code

update documentation

Simone authored on 24/03/2021 19:24:37
Showing 1 changed files
... ...
@@ -51,7 +51,12 @@ execute <- function() {
51 51
       if(identical(outformat, "gtf"))
52 52
         isGTF <- TRUE
53 53
       
54
-      url <- WrappeR$get_url()
54
+      credential <- get("GMQL_credentials", envir = .GlobalEnv)
55
+      url <- credential$remote_url
56
+      
57
+      if(is.null(url))
58
+        stop("url from GMQL_credentials is missing")
59
+      
55 60
       .download_or_upload(datasets)
56 61
       res <- serialize_query(url,isGTF,val)
57 62
     }
... ...
@@ -61,7 +66,13 @@ execute <- function() {
61 66
 .download_or_upload <- function(datasets) {
62 67
   WrappeR <- J("it/polimi/genomics/r/Wrapper")
63 68
   data_list <- apply(datasets, 1, as.list)
64
-  url <- WrappeR$get_url()
69
+  
70
+  credential <- get("GMQL_credentials", envir = .GlobalEnv)
71
+  url <- credential$remote_url
72
+  
73
+  if(is.null(url))
74
+    stop("url from GMQL_credentials is missing")
75
+  
65 76
   remote <- WrappeR$is_remote_processing()
66 77
   if(remote) {
67 78
     lapply(data_list,function(x){
... ...
@@ -74,9 +85,9 @@ execute <- function() {
74 85
   }
75 86
 }
76 87
 
77
-collect.GMQLDataset <- function(x, dir_out = getwd(), name = "ds1") {
88
+collect.GMQLDataset <- function(x,  name = "ds1", dir_out = getwd()) {
78 89
   ptr_data <- value(x)
79
-  gmql_materialize(ptr_data, dir_out, name)
90
+  gmql_materialize(ptr_data, name, dir_out)
80 91
 }
81 92
 
82 93
 
Browse code

fixed upload call

Simone authored on 22/03/2021 21:32:11
Showing 1 changed files
... ...
@@ -66,7 +66,7 @@ execute <- function() {
66 66
   if(remote) {
67 67
     lapply(data_list,function(x){
68 68
       if(!is.null(x[[1]]) && !is.na(x[[1]]))
69
-        upload_dataset(url,x[[2]],x[[1]],x[[3]],FALSE)})
69
+        upload_dataset(url,x[[2]],x[[1]],x[[3]])})
70 70
   } else {
71 71
     lapply(data_list,function(x){
72 72
       if(!is.null(x[[2]]) && !is.na(x[[2]]))
Browse code

update with some news

Simone authored on 21/03/2021 14:34:30
Showing 1 changed files
... ...
@@ -31,53 +31,52 @@
31 31
 #' }
32 32
 #' @export
33 33
 #'
34
-execute <- function()
35
-{
36
-    WrappeR <- J("it/polimi/genomics/r/Wrapper")
37
-    remote_proc <- WrappeR$is_remote_processing()
38
-    datasets <- .jevalArray(WrappeR$get_dataset_list(),simplify = TRUE)
39
-    
40
-    if(!remote_proc)
41
-        .download_or_upload(datasets)
42
-    
43
-    response <- WrappeR$execute()
44
-    error <- strtoi(response[1])
45
-    val <- response[2]
46
-    if(error)
47
-        stop(val)
48
-    else {
49
-        if(remote_proc) {
50
-            isGTF <- FALSE
51
-            outformat <- WrappeR$outputMaterialize()
52
-            if(identical(outformat, "gtf"))
53
-                isGTF <- TRUE
54
-            
55
-            url <- WrappeR$get_url()
56
-            .download_or_upload(datasets)
57
-            res <- serialize_query(url,isGTF,val)
58
-        }
34
+execute <- function() {
35
+  WrappeR <- J("it/polimi/genomics/r/Wrapper")
36
+  remote_proc <- WrappeR$is_remote_processing()
37
+  datasets <- .jevalArray(WrappeR$get_dataset_list(), simplify = TRUE)
38
+  
39
+  if(!remote_proc)
40
+    .download_or_upload(datasets)
41
+  
42
+  response <- WrappeR$execute()
43
+  error <- strtoi(response[1])
44
+  val <- response[2]
45
+  if(error)
46
+    stop(val)
47
+  else {
48
+    if(remote_proc) {
49
+      isGTF <- FALSE
50
+      outformat <- WrappeR$outputMaterialize()
51
+      if(identical(outformat, "gtf"))
52
+        isGTF <- TRUE
53
+      
54
+      url <- WrappeR$get_url()
55
+      .download_or_upload(datasets)
56
+      res <- serialize_query(url,isGTF,val)
59 57
     }
58
+  }
60 59
 }
61 60
 
62 61
 .download_or_upload <- function(datasets) {
63
-    WrappeR <- J("it/polimi/genomics/r/Wrapper")
64
-    data_list <- apply(datasets, 1, as.list)
65
-    url <- WrappeR$get_url()
66
-    remote <- WrappeR$is_remote_processing()
67
-    if(remote) {
68
-        lapply(data_list,function(x){
69
-            if(!is.null(x[[1]]) && !is.na(x[[1]]))
70
-                upload_dataset(url,x[[2]],x[[1]],x[[3]],FALSE)})
71
-    } else {
72
-        lapply(data_list,function(x){
73
-            if(!is.null(x[[2]]) && !is.na(x[[2]]))
74
-                download_dataset(url,x[[2]],x[[1]])})
75
-    }
62
+  WrappeR <- J("it/polimi/genomics/r/Wrapper")
63
+  data_list <- apply(datasets, 1, as.list)
64
+  url <- WrappeR$get_url()
65
+  remote <- WrappeR$is_remote_processing()
66
+  if(remote) {
67
+    lapply(data_list,function(x){
68
+      if(!is.null(x[[1]]) && !is.na(x[[1]]))
69
+        upload_dataset(url,x[[2]],x[[1]],x[[3]],FALSE)})
70
+  } else {
71
+    lapply(data_list,function(x){
72
+      if(!is.null(x[[2]]) && !is.na(x[[2]]))
73
+        download_dataset(url,x[[2]],x[[1]])})
74
+  }
76 75
 }
77 76
 
78 77
 collect.GMQLDataset <- function(x, dir_out = getwd(), name = "ds1") {
79
-    ptr_data <- value(x)
80
-    gmql_materialize(ptr_data, dir_out, name)
78
+  ptr_data <- value(x)
79
+  gmql_materialize(ptr_data, dir_out, name)
81 80
 }
82 81
 
83 82
 
... ...
@@ -95,9 +94,9 @@ collect.GMQLDataset <- function(x, dir_out = getwd(), name = "ds1") {
95 94
 #' @importFrom dplyr collect
96 95
 #' 
97 96
 #' @param x GMQLDataset class object
97
+#' @param name name of the result dataset. By default it is the string "ds1"
98 98
 #' @param dir_out destination folder path. By default it is the current 
99 99
 #' working directory of the R process
100
-#' @param name name of the result dataset. By default it is the string "ds1"
101 100
 #' 
102 101
 #' @details 
103 102
 #' 
... ...
@@ -131,28 +130,29 @@ collect.GMQLDataset <- function(x, dir_out = getwd(), name = "ds1") {
131 130
 #' @export
132 131
 setMethod("collect", "GMQLDataset",collect.GMQLDataset)
133 132
 
134
-gmql_materialize <- function(input_data, dir_out, name) {
135
-    WrappeR <- J("it/polimi/genomics/r/Wrapper")
136
-    remote_proc <- WrappeR$is_remote_processing()
137
-    if(!remote_proc) {
138
-        dir_out <- sub("/*[/]$","",dir_out)
139
-        res_dir_out <- file.path(dir_out,name)
140
-        if(!dir.exists(res_dir_out))
141
-            dir.create(res_dir_out)
142
-    }
143
-    else
144
-        res_dir_out <- dir_out
145
-    
146
-    if(grepl("\\.",name))
147
-        stop("dataset name cannot contains dot")
148
-    
149
-    response <- WrappeR$materialize(input_data, res_dir_out)
150
-    error <- strtoi(response[1])
151
-    val <- response[2]
152
-    if(error)
153
-        stop(val)
154
-    else
155
-        invisible(NULL)
133
+gmql_materialize <- function(input_data, name, dir_out) {
134
+  WrappeR <- J("it/polimi/genomics/r/Wrapper")
135
+  remote_proc <- WrappeR$is_remote_processing()
136
+  
137
+  if(grepl("\\.",name))
138
+    stop("dataset name cannot contains dot")
139
+  
140
+  if(!remote_proc) {
141
+    dir_out <- sub("/*[/]$","",dir_out)
142
+    res_dir_out <- file.path(dir_out,name)
143
+    if(!dir.exists(res_dir_out))
144
+      dir.create(res_dir_out)
145
+  }
146
+  else
147
+    res_dir_out <- name
148
+  
149
+  response <- WrappeR$materialize(input_data, res_dir_out)
150
+  error <- strtoi(response[1])
151
+  val <- response[2]
152
+  if(error)
153
+    stop(val)
154
+  else
155
+    invisible(NULL)
156 156
 }
157 157
 
158 158
 
... ...
@@ -212,72 +212,71 @@ gmql_materialize <- function(input_data, dir_out, name) {
212 212
 #' @aliases take-method
213 213
 #' @export
214 214
 setMethod("take", "GMQLDataset",
215
-            function(.data, rows = 0L)
216
-            {
217
-                ptr_data <- value(.data)
218
-                gmql_take(ptr_data, rows)
219
-            })
215
+          function(.data, rows = 0L)
216
+          {
217
+            ptr_data <- value(.data)
218
+            gmql_take(ptr_data, rows)
219
+          })
220 220
 
221 221
 gmql_take <- function(input_data, rows) {
222
-    rows <- as.integer(rows[1])
223
-    if(rows<0)
224
-        stop("rows cannot be negative")
225
-    
226
-    WrappeR <- J("it/polimi/genomics/r/Wrapper")
227
-    response <- WrappeR$take(input_data, rows)
228
-    error <- strtoi(response[1])
229
-    data <- response[2]
230
-    if(error)
231
-        stop(data)
232
-    
233
-    reg <- .jevalArray(WrappeR$get_reg(),simplify = TRUE)
234
-    if(is.null(reg))
235
-        stop("no regions defined")
236
-    meta <- .jevalArray(WrappeR$get_meta(),simplify = TRUE)
237
-    if(is.null(meta))
238
-        stop("no metadata defined")
239
-    schema <- .jevalArray(WrappeR$get_schema(),simplify = TRUE)
240
-    if(is.null(schema))
241
-        stop("no schema defined")
242
-    
243
-    reg_data_frame <- as.data.frame(reg)
244
-    if (!length(reg_data_frame)){
245
-        return(GRangesList())
246
-    }
247
-    list <- split(reg_data_frame, reg_data_frame[1])
248
-    seq_name <- c("seqname","start","end","strand",schema)
249
-    
250
-    sampleList <- lapply(list, function(x){
251
-        x <- x[-1]
252
-        names(x) <- seq_name
222
+  rows <- as.integer(rows[1])
223
+  if(rows<0)
224
+    stop("rows cannot be negative")
225
+  
226
+  WrappeR <- J("it/polimi/genomics/r/Wrapper")
227
+  response <- WrappeR$take(input_data, rows)
228
+  error <- strtoi(response[1])
229
+  data <- response[2]
230
+  if(error)
231
+    stop(data)
232
+  
233
+  reg <- .jevalArray(WrappeR$get_reg(),simplify = TRUE)
234
+  if(is.null(reg))
235
+    stop("no regions defined")
236
+  meta <- .jevalArray(WrappeR$get_meta(),simplify = TRUE)
237
+  if(is.null(meta))
238
+    stop("no metadata defined")
239
+  schema <- .jevalArray(WrappeR$get_schema(),simplify = TRUE)
240
+  if(is.null(schema))
241
+    stop("no schema defined")
242
+  
243
+  reg_data_frame <- as.data.frame(reg)
244
+  if (!length(reg_data_frame)){
245
+    return(GRangesList())
246
+  }
247
+  list <- split(reg_data_frame, reg_data_frame[1])
248
+  seq_name <- c("seqname","start","end","strand",schema)
249
+  
250
+  sampleList <- lapply(list, function(x){
251
+    x <- x[-1]
252
+    names(x) <- seq_name
253 253
     #    start_numeric = as.numeric(levels(x$start))[x$start]
254
-        start_numeric = as.numeric(x$start)
255
-        start_numeric = start_numeric + 1
256
-        x$start =  start_numeric
257
-        #levels(x$start)[x$start] = start_numeric
258
-        g <- GenomicRanges::makeGRangesFromDataFrame(x,
259
-                                    keep.extra.columns = TRUE,
260
-                                    start.field = "start",
261
-                                    end.field = "end")
262
-        })
263
-    
264
-    gRange_list <- GRangesList(sampleList)
265
-    len = length(gRange_list)
266
-    names(gRange_list) <- paste0("S_",seq_len(len))
267
-    meta_list <- .metadata_from_frame_to_list(meta)
268
-    names(meta_list) <- paste0("S_",seq_len(len))
269
-    S4Vectors::metadata(gRange_list) <- meta_list
270
-    return(gRange_list)
254
+    start_numeric = as.numeric(x$start)
255
+    start_numeric = start_numeric + 1
256
+    x$start =  start_numeric
257
+    #levels(x$start)[x$start] = start_numeric
258
+    g <- GenomicRanges::makeGRangesFromDataFrame(
259
+      x,
260
+      keep.extra.columns = TRUE,
261
+      start.field = "start",
262
+      end.field = "end")
263
+  })
264
+  
265
+  gRange_list <- GRangesList(sampleList)
266
+  len = length(gRange_list)
267
+  names(gRange_list) <- paste0("S_",seq_len(len))
268
+  meta_list <- .metadata_from_frame_to_list(meta)
269
+  names(meta_list) <- paste0("S_",seq_len(len))
270
+  S4Vectors::metadata(gRange_list) <- meta_list
271
+  return(gRange_list)
271 272
 }
272 273
 
273 274
 .metadata_from_frame_to_list <- function(metadata_frame) {
274
-    meta_frame <- as.data.frame(metadata_frame)
275
-    list <- split(meta_frame, meta_frame[1])
276
-    name_value_list <- lapply(list, function(x){x <- x[-1]})
277
-    meta_list <- lapply(name_value_list, function(x){
278
-        stats::setNames(as.list(as.character(x[[2]])), x[[1]])
279
-    })
275
+  meta_frame <- as.data.frame(metadata_frame)
276
+  list <- split(meta_frame, meta_frame[1])
277
+  name_value_list <- lapply(list, function(x){x <- x[-1]})
278
+  meta_list <- lapply(name_value_list, function(x){
279
+    stats::setNames(as.list(as.character(x[[2]])), x[[1]])
280
+  })
280 281
 }
281 282
 
282
-
283
-
Browse code

fixed remote

Simone authored on 19/03/2021 17:30:11
Showing 1 changed files
1 1
old mode 100644
2 2
new mode 100755
... ...
@@ -35,8 +35,10 @@ execute <- function()
35 35
 {
36 36
     WrappeR <- J("it/polimi/genomics/r/Wrapper")
37 37
     remote_proc <- WrappeR$is_remote_processing()
38
+    datasets <- .jevalArray(WrappeR$get_dataset_list(),simplify = TRUE)
39
+    
38 40
     if(!remote_proc)
39
-        .download_or_upload()
41
+        .download_or_upload(datasets)
40 42
     
41 43
     response <- WrappeR$execute()
42 44
     error <- strtoi(response[1])
... ...
@@ -51,15 +53,14 @@ execute <- function()
51 53
                 isGTF <- TRUE
52 54
             
53 55
             url <- WrappeR$get_url()
54
-            .download_or_upload()
56
+            .download_or_upload(datasets)
55 57
             res <- serialize_query(url,isGTF,val)
56 58
         }
57 59
     }
58 60
 }
59 61
 
60
-.download_or_upload <- function() {
62
+.download_or_upload <- function(datasets) {
61 63
     WrappeR <- J("it/polimi/genomics/r/Wrapper")
62
-    datasets <- .jevalArray(WrappeR$get_dataset_list(),simplify = TRUE)
63 64
     data_list <- apply(datasets, 1, as.list)
64 65
     url <- WrappeR$get_url()
65 66
     remote <- WrappeR$is_remote_processing()
Browse code

fix take and read

Simone authored on 09/02/2021 09:07:32
Showing 1 changed files
... ...
@@ -43,10 +43,8 @@ execute <- function()
43 43
     val <- response[2]
44 44
     if(error)
45 45
         stop(val)
46
-    else
47
-    {
48
-        if(remote_proc)
49
-        {
46
+    else {
47
+        if(remote_proc) {
50 48
             isGTF <- FALSE
51 49
             outformat <- WrappeR$outputMaterialize()
52 50
             if(identical(outformat, "gtf"))
... ...
@@ -59,29 +57,24 @@ execute <- function()
59 57
     }
60 58
 }
61 59
 
62
-.download_or_upload <- function()
63
-{
60
+.download_or_upload <- function() {
64 61
     WrappeR <- J("it/polimi/genomics/r/Wrapper")
65 62
     datasets <- .jevalArray(WrappeR$get_dataset_list(),simplify = TRUE)
66 63
     data_list <- apply(datasets, 1, as.list)
67 64
     url <- WrappeR$get_url()
68 65
     remote <- WrappeR$is_remote_processing()
69
-    if(remote)
70
-    {
66
+    if(remote) {
71 67
         lapply(data_list,function(x){
72 68
             if(!is.null(x[[1]]) && !is.na(x[[1]]))
73 69
                 upload_dataset(url,x[[2]],x[[1]],x[[3]],FALSE)})
74
-    }
75
-    else
76
-    {
70
+    } else {
77 71
         lapply(data_list,function(x){
78 72
             if(!is.null(x[[2]]) && !is.na(x[[2]]))
79 73
                 download_dataset(url,x[[2]],x[[1]])})
80 74
     }
81 75
 }
82 76
 
83
-collect.GMQLDataset <- function(x, dir_out = getwd(), name = "ds1")
84
-{
77
+collect.GMQLDataset <- function(x, dir_out = getwd(), name = "ds1") {
85 78
     ptr_data <- value(x)
86 79
     gmql_materialize(ptr_data, dir_out, name)
87 80
 }
... ...
@@ -137,12 +130,10 @@ collect.GMQLDataset <- function(x, dir_out = getwd(), name = "ds1")
137 130
 #' @export
138 131
 setMethod("collect", "GMQLDataset",collect.GMQLDataset)
139 132
 
140
-gmql_materialize <- function(input_data, dir_out, name)
141
-{
133
+gmql_materialize <- function(input_data, dir_out, name) {
142 134
     WrappeR <- J("it/polimi/genomics/r/Wrapper")
143 135
     remote_proc <- WrappeR$is_remote_processing()
144
-    if(!remote_proc)
145
-    {
136
+    if(!remote_proc) {
146 137
         dir_out <- sub("/*[/]$","",dir_out)
147 138
         res_dir_out <- file.path(dir_out,name)
148 139
         if(!dir.exists(res_dir_out))
... ...
@@ -226,8 +217,7 @@ setMethod("take", "GMQLDataset",
226 217
                 gmql_take(ptr_data, rows)
227 218
             })
228 219
 
229
-gmql_take <- function(input_data, rows)
230
-{
220
+gmql_take <- function(input_data, rows) {
231 221
     rows <- as.integer(rows[1])
232 222
     if(rows<0)
233 223
         stop("rows cannot be negative")
... ...
@@ -259,9 +249,11 @@ gmql_take <- function(input_data, rows)
259 249
     sampleList <- lapply(list, function(x){
260 250
         x <- x[-1]
261 251
         names(x) <- seq_name
262
-        start_numeric = as.numeric(levels(x$start))[x$start]
252
+    #    start_numeric = as.numeric(levels(x$start))[x$start]
253
+        start_numeric = as.numeric(x$start)
263 254
         start_numeric = start_numeric + 1
264
-        levels(x$start)[x$start] = start_numeric
255
+        x$start =  start_numeric
256
+        #levels(x$start)[x$start] = start_numeric
265 257
         g <- GenomicRanges::makeGRangesFromDataFrame(x,
266 258
                                     keep.extra.columns = TRUE,
267 259
                                     start.field = "start",
... ...
@@ -277,8 +269,7 @@ gmql_take <- function(input_data, rows)
277 269
     return(gRange_list)
278 270
 }
279 271
 
280
-.metadata_from_frame_to_list <- function(metadata_frame)
281
-{
272
+.metadata_from_frame_to_list <- function(metadata_frame) {
282 273
     meta_frame <- as.data.frame(metadata_frame)
283 274
     list <- split(meta_frame, meta_frame[1])
284 275
     name_value_list <- lapply(list, function(x){x <- x[-1]})
Browse code

ipdated read_gmql

Simone authored on 15/04/2018 11:23:41
Showing 1 changed files
... ...
@@ -250,6 +250,9 @@ gmql_take <- function(input_data, rows)
250 250
         stop("no schema defined")
251 251
     
252 252
     reg_data_frame <- as.data.frame(reg)
253
+    if (!length(reg_data_frame)){
254
+        return(GRangesList())
255
+    }
253 256
     list <- split(reg_data_frame, reg_data_frame[1])
254 257
     seq_name <- c("seqname","start","end","strand",schema)
255 258
     
Browse code

fix on take function

Simone authored on 21/02/2018 18:07:18
Showing 1 changed files
... ...
@@ -264,9 +264,12 @@ gmql_take <- function(input_data, rows)
264 264
                                     start.field = "start",
265 265
                                     end.field = "end")
266 266
         })
267
+    
267 268
     gRange_list <- GRangesList(sampleList)
269
+    len = length(gRange_list)
270
+    names(gRange_list) <- paste0("S_",seq_len(len))
268 271
     meta_list <- .metadata_from_frame_to_list(meta)
269
-    
272
+    names(meta_list) <- paste0("S_",seq_len(len))
270 273
     S4Vectors::metadata(gRange_list) <- meta_list
271 274
     return(gRange_list)
272 275
 }
Browse code

minor fix conversion

Simone authored on 19/02/2018 18:29:10
Showing 1 changed files
... ...
@@ -256,7 +256,9 @@ gmql_take <- function(input_data, rows)
256 256
     sampleList <- lapply(list, function(x){
257 257
         x <- x[-1]
258 258
         names(x) <- seq_name
259
-        x$start = x$start +1
259
+        start_numeric = as.numeric(levels(x$start))[x$start]
260
+        start_numeric = start_numeric + 1
261
+        levels(x$start)[x$start] = start_numeric
260 262
         g <- GenomicRanges::makeGRangesFromDataFrame(x,
261 263
                                     keep.extra.columns = TRUE,
262 264
                                     start.field = "start",
Browse code

fix gtf/gdm conversion

Simone authored on 18/02/2018 15:59:48
Showing 1 changed files
... ...
@@ -256,6 +256,7 @@ gmql_take <- function(input_data, rows)
256 256
     sampleList <- lapply(list, function(x){
257 257
         x <- x[-1]
258 258
         names(x) <- seq_name
259
+        x$start = x$start +1
259 260
         g <- GenomicRanges::makeGRangesFromDataFrame(x,
260 261
                                     keep.extra.columns = TRUE,
261 262
                                     start.field = "start",
Browse code

vignette, add conversion 0-based/1-based

Simone authored on 18/02/2018 15:45:34
Showing 1 changed files
... ...
@@ -152,7 +152,7 @@ gmql_materialize <- function(input_data, dir_out, name)
152 152
         res_dir_out <- dir_out
153 153
     
154 154
     if(grepl("\\.",name))
155
-        stop("name dataset cannot contains dot")
155
+        stop("dataset name cannot contains dot")
156 156
     
157 157
     response <- WrappeR$materialize(input_data, res_dir_out)
158 158
     error <- strtoi(response[1])
Browse code

fix dotù

Simone authored on 29/01/2018 13:17:04
Showing 1 changed files