Mercurial > repos > ecology > claraguess
annotate cluster_ceamarc.R @ 0:52d4151e00d8 draft default tip
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/Ecoregionalization_workflow commit ced658540f05bb07e1e687af30a3fa4ea8e4803c
| author | ecology | 
|---|---|
| date | Wed, 28 May 2025 10:12:06 +0000 | 
| parents | |
| children | 
| rev | line source | 
|---|---|
| 
0
 
52d4151e00d8
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/Ecoregionalization_workflow commit ced658540f05bb07e1e687af30a3fa4ea8e4803c
 
ecology 
parents:  
diff
changeset
 | 
1 ##13/04/2023 | 
| 
 
52d4151e00d8
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/Ecoregionalization_workflow commit ced658540f05bb07e1e687af30a3fa4ea8e4803c
 
ecology 
parents:  
diff
changeset
 | 
2 ##Seguineau Pauline | 
| 
 
52d4151e00d8
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/Ecoregionalization_workflow commit ced658540f05bb07e1e687af30a3fa4ea8e4803c
 
ecology 
parents:  
diff
changeset
 | 
3 ### Clustering with Clara algorithm | 
| 
 
52d4151e00d8
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/Ecoregionalization_workflow commit ced658540f05bb07e1e687af30a3fa4ea8e4803c
 
ecology 
parents:  
diff
changeset
 | 
4 | 
| 
 
52d4151e00d8
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/Ecoregionalization_workflow commit ced658540f05bb07e1e687af30a3fa4ea8e4803c
 
ecology 
parents:  
diff
changeset
 | 
5 #load library | 
| 
 
52d4151e00d8
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/Ecoregionalization_workflow commit ced658540f05bb07e1e687af30a3fa4ea8e4803c
 
ecology 
parents:  
diff
changeset
 | 
6 library(cluster) | 
| 
 
52d4151e00d8
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/Ecoregionalization_workflow commit ced658540f05bb07e1e687af30a3fa4ea8e4803c
 
ecology 
parents:  
diff
changeset
 | 
7 library(dplyr) | 
| 
 
52d4151e00d8
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/Ecoregionalization_workflow commit ced658540f05bb07e1e687af30a3fa4ea8e4803c
 
ecology 
parents:  
diff
changeset
 | 
8 library(tidyverse) | 
| 
 
52d4151e00d8
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/Ecoregionalization_workflow commit ced658540f05bb07e1e687af30a3fa4ea8e4803c
 
ecology 
parents:  
diff
changeset
 | 
9 | 
| 
 
52d4151e00d8
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/Ecoregionalization_workflow commit ced658540f05bb07e1e687af30a3fa4ea8e4803c
 
ecology 
parents:  
diff
changeset
 | 
10 #load arguments | 
| 
 
52d4151e00d8
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/Ecoregionalization_workflow commit ced658540f05bb07e1e687af30a3fa4ea8e4803c
 
ecology 
parents:  
diff
changeset
 | 
11 args = commandArgs(trailingOnly=TRUE) | 
| 
 
52d4151e00d8
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/Ecoregionalization_workflow commit ced658540f05bb07e1e687af30a3fa4ea8e4803c
 
ecology 
parents:  
diff
changeset
 | 
12 if (length(args)==0) | 
| 
 
52d4151e00d8
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/Ecoregionalization_workflow commit ced658540f05bb07e1e687af30a3fa4ea8e4803c
 
ecology 
parents:  
diff
changeset
 | 
13 { | 
| 
 
52d4151e00d8
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/Ecoregionalization_workflow commit ced658540f05bb07e1e687af30a3fa4ea8e4803c
 
ecology 
parents:  
diff
changeset
 | 
14 stop("This tool needs at least one argument") | 
| 
 
52d4151e00d8
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/Ecoregionalization_workflow commit ced658540f05bb07e1e687af30a3fa4ea8e4803c
 
ecology 
parents:  
diff
changeset
 | 
15 }else{ | 
| 
 
52d4151e00d8
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/Ecoregionalization_workflow commit ced658540f05bb07e1e687af30a3fa4ea8e4803c
 
ecology 
parents:  
diff
changeset
 | 
16 data <- args[1] | 
| 
 
52d4151e00d8
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/Ecoregionalization_workflow commit ced658540f05bb07e1e687af30a3fa4ea8e4803c
 
ecology 
parents:  
diff
changeset
 | 
17 enviro <- args[2] | 
| 
 
52d4151e00d8
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/Ecoregionalization_workflow commit ced658540f05bb07e1e687af30a3fa4ea8e4803c
 
ecology 
parents:  
diff
changeset
 | 
18 data.bio <- args[3] | 
| 
 
52d4151e00d8
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/Ecoregionalization_workflow commit ced658540f05bb07e1e687af30a3fa4ea8e4803c
 
ecology 
parents:  
diff
changeset
 | 
19 k <- as.numeric(args[4]) | 
| 
 
52d4151e00d8
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/Ecoregionalization_workflow commit ced658540f05bb07e1e687af30a3fa4ea8e4803c
 
ecology 
parents:  
diff
changeset
 | 
20 metric <- args[5] | 
| 
 
52d4151e00d8
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/Ecoregionalization_workflow commit ced658540f05bb07e1e687af30a3fa4ea8e4803c
 
ecology 
parents:  
diff
changeset
 | 
21 sample <- as.numeric(args[6]) | 
| 
 
52d4151e00d8
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/Ecoregionalization_workflow commit ced658540f05bb07e1e687af30a3fa4ea8e4803c
 
ecology 
parents:  
diff
changeset
 | 
22 } | 
| 
 
52d4151e00d8
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/Ecoregionalization_workflow commit ced658540f05bb07e1e687af30a3fa4ea8e4803c
 
ecology 
parents:  
diff
changeset
 | 
23 | 
| 
 
52d4151e00d8
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/Ecoregionalization_workflow commit ced658540f05bb07e1e687af30a3fa4ea8e4803c
 
ecology 
parents:  
diff
changeset
 | 
24 #load data | 
| 
 
52d4151e00d8
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/Ecoregionalization_workflow commit ced658540f05bb07e1e687af30a3fa4ea8e4803c
 
ecology 
parents:  
diff
changeset
 | 
25 env.data <- read.table(enviro, header=TRUE, sep="\t",dec = ".", na.strings = "-9999") | 
| 
 
52d4151e00d8
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/Ecoregionalization_workflow commit ced658540f05bb07e1e687af30a3fa4ea8e4803c
 
ecology 
parents:  
diff
changeset
 | 
26 data.bio <- read.table(data.bio, header=TRUE, sep="\t") | 
| 
 
52d4151e00d8
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/Ecoregionalization_workflow commit ced658540f05bb07e1e687af30a3fa4ea8e4803c
 
ecology 
parents:  
diff
changeset
 | 
27 test3 <- read.table(data, header = TRUE, sep="\t") | 
| 
 
52d4151e00d8
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/Ecoregionalization_workflow commit ced658540f05bb07e1e687af30a3fa4ea8e4803c
 
ecology 
parents:  
diff
changeset
 | 
28 | 
| 
 
52d4151e00d8
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/Ecoregionalization_workflow commit ced658540f05bb07e1e687af30a3fa4ea8e4803c
 
ecology 
parents:  
diff
changeset
 | 
29 ###################################################################################################### | 
| 
 
52d4151e00d8
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/Ecoregionalization_workflow commit ced658540f05bb07e1e687af30a3fa4ea8e4803c
 
ecology 
parents:  
diff
changeset
 | 
30 #Make clustering | 
| 
 
52d4151e00d8
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/Ecoregionalization_workflow commit ced658540f05bb07e1e687af30a3fa4ea8e4803c
 
ecology 
parents:  
diff
changeset
 | 
31 | 
| 
 
52d4151e00d8
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/Ecoregionalization_workflow commit ced658540f05bb07e1e687af30a3fa4ea8e4803c
 
ecology 
parents:  
diff
changeset
 | 
32 k <- k #number of clusters | 
| 
 
52d4151e00d8
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/Ecoregionalization_workflow commit ced658540f05bb07e1e687af30a3fa4ea8e4803c
 
ecology 
parents:  
diff
changeset
 | 
33 test5 <- clara(test3, k, metric = metric, samples = sample, sampsize = min(nrow(test3), (nrow(data.bio)/nrow(test3))+2*k)) | 
| 
 
52d4151e00d8
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/Ecoregionalization_workflow commit ced658540f05bb07e1e687af30a3fa4ea8e4803c
 
ecology 
parents:  
diff
changeset
 | 
34 | 
| 
 
52d4151e00d8
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/Ecoregionalization_workflow commit ced658540f05bb07e1e687af30a3fa4ea8e4803c
 
ecology 
parents:  
diff
changeset
 | 
35 ####################################################################################################### | 
| 
 
52d4151e00d8
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/Ecoregionalization_workflow commit ced658540f05bb07e1e687af30a3fa4ea8e4803c
 
ecology 
parents:  
diff
changeset
 | 
36 #save results | 
| 
 
52d4151e00d8
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/Ecoregionalization_workflow commit ced658540f05bb07e1e687af30a3fa4ea8e4803c
 
ecology 
parents:  
diff
changeset
 | 
37 | 
| 
 
52d4151e00d8
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/Ecoregionalization_workflow commit ced658540f05bb07e1e687af30a3fa4ea8e4803c
 
ecology 
parents:  
diff
changeset
 | 
38 png("sih.png") | 
| 
 
52d4151e00d8
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/Ecoregionalization_workflow commit ced658540f05bb07e1e687af30a3fa4ea8e4803c
 
ecology 
parents:  
diff
changeset
 | 
39 plot(silhouette(test5)) | 
| 
 
52d4151e00d8
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/Ecoregionalization_workflow commit ced658540f05bb07e1e687af30a3fa4ea8e4803c
 
ecology 
parents:  
diff
changeset
 | 
40 dev.off() | 
| 
 
52d4151e00d8
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/Ecoregionalization_workflow commit ced658540f05bb07e1e687af30a3fa4ea8e4803c
 
ecology 
parents:  
diff
changeset
 | 
41 | 
| 
 
52d4151e00d8
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/Ecoregionalization_workflow commit ced658540f05bb07e1e687af30a3fa4ea8e4803c
 
ecology 
parents:  
diff
changeset
 | 
42 clus <- cbind(data.bio[1:nrow(test3), 1:2],test5$clustering) | 
| 
 
52d4151e00d8
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/Ecoregionalization_workflow commit ced658540f05bb07e1e687af30a3fa4ea8e4803c
 
ecology 
parents:  
diff
changeset
 | 
43 names(clus) <- c("lat", "long", "cluster") | 
| 
 
52d4151e00d8
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/Ecoregionalization_workflow commit ced658540f05bb07e1e687af30a3fa4ea8e4803c
 
ecology 
parents:  
diff
changeset
 | 
44 clus <- cbind(clus,test3,env.data[,3:ncol(env.data)]) | 
| 
 
52d4151e00d8
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/Ecoregionalization_workflow commit ced658540f05bb07e1e687af30a3fa4ea8e4803c
 
ecology 
parents:  
diff
changeset
 | 
45 | 
| 
 
52d4151e00d8
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/Ecoregionalization_workflow commit ced658540f05bb07e1e687af30a3fa4ea8e4803c
 
ecology 
parents:  
diff
changeset
 | 
46 write.table(clus[1:3], file = "points_clus.tsv", quote = FALSE, sep="\t", row.names = FALSE) | 
| 
 
52d4151e00d8
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/Ecoregionalization_workflow commit ced658540f05bb07e1e687af30a3fa4ea8e4803c
 
ecology 
parents:  
diff
changeset
 | 
47 write.table(clus, file = "clus.tsv", quote = FALSE, sep="\t", row.names = FALSE) | 
| 
 
52d4151e00d8
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/Ecoregionalization_workflow commit ced658540f05bb07e1e687af30a3fa4ea8e4803c
 
ecology 
parents:  
diff
changeset
 | 
48 | 
| 
 
52d4151e00d8
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/Ecoregionalization_workflow commit ced658540f05bb07e1e687af30a3fa4ea8e4803c
 
ecology 
parents:  
diff
changeset
 | 
49 | 
| 
 
52d4151e00d8
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/Ecoregionalization_workflow commit ced658540f05bb07e1e687af30a3fa4ea8e4803c
 
ecology 
parents:  
diff
changeset
 | 
50 | 
| 
 
52d4151e00d8
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/Ecoregionalization_workflow commit ced658540f05bb07e1e687af30a3fa4ea8e4803c
 
ecology 
parents:  
diff
changeset
 | 
51 | 
| 
 
52d4151e00d8
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/Ecoregionalization_workflow commit ced658540f05bb07e1e687af30a3fa4ea8e4803c
 
ecology 
parents:  
diff
changeset
 | 
52 | 
