Mercurial > repos > siwaa > redelac_stics_s
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] |