comparison redelacSticsSimulator.R @ 10:65c00476f417 draft default tip

"planemo upload for repository https://forgemia.inra.fr/redelac/redelac-toolbox/-/tree/4a2264991516b494ed11d1a7d5260ba543696a04/tools/REDELACSticsSimulator commit 4a2264991516b494ed11d1a7d5260ba543696a04-dirty"
author siwaa
date Fri, 27 Oct 2023 09:15:25 +0000
parents 2586f7dbcde1
children
comparison
equal deleted inserted replaced
9:52877f7c9d6b 10:65c00476f417
7 library(data.table) 7 library(data.table)
8 library(readr) 8 library(readr)
9 library(dplyr) 9 library(dplyr)
10 library(stringr) 10 library(stringr)
11 library(readr) 11 library(readr)
12 library(doFuture)
12 13
13 sessionInfo() 14 sessionInfo()
14 15
15 args = commandArgs(trailingOnly = TRUE) 16 args = commandArgs(trailingOnly = TRUE)
16 17
48 49
49 systeme <- successRef$systeme[1] 50 systeme <- successRef$systeme[1]
50 rotation <- successRef$rotation[1] 51 rotation <- successRef$rotation[1]
51 52
52 if (parallel) { 53 if (parallel) {
53 cl <- makeCluster(nbSlots) 54 doFuture::registerDoFuture()
54 print("Inside R, info on the cluster:") 55 future::plan(multisession, workers = nbSlots)
55 print(cl) 56 `%dordopar%` <- `%dofuture%`
56 registerDoParallel(cl)
57 `%dordopar%` <- `%dopar%`
58 } else { 57 } else {
59 `%dordopar%` <- `%do%` 58 `%dordopar%` <- `%do%`
60 } 59 }
61 60
62 successive_usms_tab_split <- list() 61 successive_usms_tab_split <- list()
73 } 72 }
74 73
75 result <- foreach(j = 1:length(casesUpcSol)) %:% 74 result <- foreach(j = 1:length(casesUpcSol)) %:%
76 foreach( 75 foreach(
77 i = 1:nrow(successive_usms_tab_split[[j]]), 76 i = 1:nrow(successive_usms_tab_split[[j]]),
78 .packages = c("foreach", "SticsRFiles", "SticsOnR") 77 .options.future = list(packages =c("foreach", "SticsRFiles", "SticsOnR"))
78
79 ) %dordopar% { 79 ) %dordopar% {
80 if (parallel)
81 sink("./logPaRedelac.txt", append = TRUE)
82 80
83 nusms <- as.numeric(successive_usms_tab_split[[j]][i, 2]) 81 nusms <- as.numeric(successive_usms_tab_split[[j]][i, 2])
84 82
85 vec <- 83 vec <-
86 as.character(successive_usms_tab_split[[j]][i, c(3:(2 + nusms))]) 84 as.character(successive_usms_tab_split[[j]][i, c(3:(2 + nusms))])
95 successive = list_successive_usms 93 successive = list_successive_usms
96 ) 94 )
97 95
98 list_usms <- vec 96 list_usms <- vec
99 97
100 cat(paste0("-->", successive_usms_tab_split[[j]][i, 1], "launched\n")) 98 cat(paste0("--> succession : ", successive_usms_tab_split[[j]][i, 1], " launched\n"))
101 99
102 return(stics_wrapper(model_options = sim_options, situation = list_usms)) 100 return(stics_wrapper(model_options = sim_options, situation = list_usms))
103 101
104 } 102 }
105
106 if (parallel) {
107 stopCluster(cl)
108 sink()
109 cat(read_file("./logPaRedelac.txt"))
110 }
111 103
112 for (j in 1:length(casesUpcSol)) { 104 for (j in 1:length(casesUpcSol)) {
113 splited <- strsplit(casesUpcSol[j], split = "-")[[1]] 105 splited <- strsplit(casesUpcSol[j], split = "-")[[1]]
114 106
115 upc <- splited[1] 107 upc <- splited[1]