Mercurial > repos > ecology > sdmpredictors_list_layers
diff sdmpredictors_list_layers.R @ 0:f20914d71c9d draft default tip
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/sdmpredictors commit a4635c2349750b45d47b50ff1cecc8c5fdeb58e0
author | ecology |
---|---|
date | Mon, 08 Apr 2024 16:33:11 +0000 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sdmpredictors_list_layers.R Mon Apr 08 16:33:11 2024 +0000 @@ -0,0 +1,119 @@ +#!/bin/Rscript + +args = commandArgs(trailingOnly=TRUE) + +#lister les option pour future et paléo, source internet ? +#donner une erreur quand une option est incorrecte + +library(sdmpredictors) + +layers_modern_fun <- function(argument_number, file_number){ + + data_terrestrial = as.logical(args[argument_number+1]) + data_marine = as.logical(args[argument_number+2]) + data_freshwater = as.logical(args[argument_number+3]) + data_monthly = as.logical(args[argument_number+4]) + data_version = as.numeric(args[argument_number+5]) + + if(data_version==0){data_version <- NULL} + + datasets <- list_datasets(terrestrial = data_terrestrial + , marine = data_marine + , freshwater = data_freshwater) + + write.table(list_layers(datasets + , terrestrial = data_terrestrial + , marine = data_marine + , freshwater = data_freshwater + , monthly = data_monthly + , version = data_version + ), file = paste(as.character(file_number),"data_current.tabular", sep = "_"), sep = "\t", row.names=FALSE) +} + +layers_future_fun <- function(argument_number, file_number){ + + data_terrestrial = as.logical(args[argument_number+1]) + data_marine = as.logical(args[argument_number+2]) + data_freshwater = as.logical(args[argument_number+3]) + data_monthly = as.logical(args[argument_number+4]) + data_version = as.numeric(args[argument_number+5]) + data_scenario = as.character(args[argument_number+6]) + data_year = as.numeric(args[argument_number+7]) + + if(data_version==0){data_version <- NULL} + if(data_scenario=="All"){data_scenario <- NA} + if(data_year==0){data_year <- NA} + + datasets <- list_datasets(terrestrial = data_terrestrial + , marine = data_marine + , freshwater = data_freshwater) + + write.table(list_layers_future(datasets + , terrestrial = data_terrestrial + , marine = data_marine + , freshwater = data_freshwater + , monthly = data_monthly + , version = data_version + , scenario = data_scenario + , year = data_year + ), file = paste(as.character(file_number),"data_future.tabular", sep = "_"), sep = "\t", row.names=FALSE) +} + +layers_paleo_fun <- function(argument_number, file_number){ + + data_terrestrial = as.logical(args[argument_number+1]) + data_marine = as.logical(args[argument_number+2]) + data_freshwater = as.logical(args[argument_number+3]) + data_monthly = as.logical(args[argument_number+4]) + data_version = as.numeric(args[argument_number+5]) + data_model_name = as.character(args[argument_number+6]) + data_epoch = as.character(args[argument_number+7]) + data_years_ago = as.numeric(args[argument_number+8]) + + if(data_version==0){data_versio <- NULL} + if(data_model_name=="All"){data_model_name <- NA} + if(data_epoch=="All"){data_epoch <- NA} + if(data_years_ago==0){data_years_ago <- NA} + + datasets <- list_datasets(terrestrial = data_terrestrial + , marine = data_marine + , freshwater = data_freshwater) + + write.table(list_layers_paleo(datasets + , terrestrial = data_terrestrial + , marine = data_marine + , freshwater = data_freshwater + , monthly = data_monthly + , version = data_versio + , model_name = data_model_name + , epoch = data_epoch + , years_ago = data_years_ago + ), file = paste(as.character(file_number),"data_paleo.tabular", sep = "_"), sep = "\t", row.names=FALSE) +} + + +if (length(args)<0){stop("not enough arguments") +}else{ + n <- 1 + for (a in 1:length(args)) { + if (as.character(args[a]) == "layers_current"){ + layers_modern_fun(a,n) + n <- n+1 + } + + if (as.character(args[a]) == "layers_future"){ + layers_future_fun(a,n) + n <- n+1 + } + + if (as.character(args[a]) == "layers_paleo"){ + layers_paleo_fun(a,n) + n <- n+1 + } +}} + + + + + +