Mercurial > repos > ecology > obis_data
annotate robis.r @ 1:5bae75c49f2e draft default tip
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/obisindicators commit 13ac67c0a21d742b29e6273cdff058560abad770
author | ecology |
---|---|
date | Tue, 05 Nov 2024 14:17:49 +0000 |
parents | 1fcd81d65467 |
children |
rev | line source |
---|---|
0
1fcd81d65467
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/obisindicators commit b377ff767e3051f301c2f02cfe3e1a17b285ede4
ecology
parents:
diff
changeset
|
1 #Rscript |
1fcd81d65467
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/obisindicators commit b377ff767e3051f301c2f02cfe3e1a17b285ede4
ecology
parents:
diff
changeset
|
2 |
1fcd81d65467
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/obisindicators commit b377ff767e3051f301c2f02cfe3e1a17b285ede4
ecology
parents:
diff
changeset
|
3 ########################################### |
1fcd81d65467
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/obisindicators commit b377ff767e3051f301c2f02cfe3e1a17b285ede4
ecology
parents:
diff
changeset
|
4 ## Retrieve Obis occurences data ## |
1fcd81d65467
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/obisindicators commit b377ff767e3051f301c2f02cfe3e1a17b285ede4
ecology
parents:
diff
changeset
|
5 ########################################### |
1fcd81d65467
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/obisindicators commit b377ff767e3051f301c2f02cfe3e1a17b285ede4
ecology
parents:
diff
changeset
|
6 |
1fcd81d65467
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/obisindicators commit b377ff767e3051f301c2f02cfe3e1a17b285ede4
ecology
parents:
diff
changeset
|
7 ##### Packages : robis |
1fcd81d65467
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/obisindicators commit b377ff767e3051f301c2f02cfe3e1a17b285ede4
ecology
parents:
diff
changeset
|
8 # https://iobis.github.io/robis/articles/getting-started.html |
1fcd81d65467
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/obisindicators commit b377ff767e3051f301c2f02cfe3e1a17b285ede4
ecology
parents:
diff
changeset
|
9 # Get args |
1fcd81d65467
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/obisindicators commit b377ff767e3051f301c2f02cfe3e1a17b285ede4
ecology
parents:
diff
changeset
|
10 args <- commandArgs(trailingOnly = TRUE) |
1fcd81d65467
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/obisindicators commit b377ff767e3051f301c2f02cfe3e1a17b285ede4
ecology
parents:
diff
changeset
|
11 |
1fcd81d65467
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/obisindicators commit b377ff767e3051f301c2f02cfe3e1a17b285ede4
ecology
parents:
diff
changeset
|
12 if (length(args) < 1) { |
1fcd81d65467
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/obisindicators commit b377ff767e3051f301c2f02cfe3e1a17b285ede4
ecology
parents:
diff
changeset
|
13 stop("This tool needs at least 1 argument : longitude, latitude, species or taxonID") |
1fcd81d65467
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/obisindicators commit b377ff767e3051f301c2f02cfe3e1a17b285ede4
ecology
parents:
diff
changeset
|
14 }else { |
1fcd81d65467
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/obisindicators commit b377ff767e3051f301c2f02cfe3e1a17b285ede4
ecology
parents:
diff
changeset
|
15 sname <- args[1] |
1fcd81d65467
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/obisindicators commit b377ff767e3051f301c2f02cfe3e1a17b285ede4
ecology
parents:
diff
changeset
|
16 taxid <- args[2] |
1fcd81d65467
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/obisindicators commit b377ff767e3051f301c2f02cfe3e1a17b285ede4
ecology
parents:
diff
changeset
|
17 lat_min <- args[3] |
1fcd81d65467
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/obisindicators commit b377ff767e3051f301c2f02cfe3e1a17b285ede4
ecology
parents:
diff
changeset
|
18 lat_max <- args[4] |
1fcd81d65467
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/obisindicators commit b377ff767e3051f301c2f02cfe3e1a17b285ede4
ecology
parents:
diff
changeset
|
19 long_min <- args[5] |
1fcd81d65467
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/obisindicators commit b377ff767e3051f301c2f02cfe3e1a17b285ede4
ecology
parents:
diff
changeset
|
20 long_max <- args[6] |
1fcd81d65467
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/obisindicators commit b377ff767e3051f301c2f02cfe3e1a17b285ede4
ecology
parents:
diff
changeset
|
21 } |
1fcd81d65467
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/obisindicators commit b377ff767e3051f301c2f02cfe3e1a17b285ede4
ecology
parents:
diff
changeset
|
22 |
1fcd81d65467
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/obisindicators commit b377ff767e3051f301c2f02cfe3e1a17b285ede4
ecology
parents:
diff
changeset
|
23 if (lat_min == "0.0" & lat_max == "0.0" & long_min == "0.0" & long_max == "0.0") { |
1fcd81d65467
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/obisindicators commit b377ff767e3051f301c2f02cfe3e1a17b285ede4
ecology
parents:
diff
changeset
|
24 lat_min <- "" |
1fcd81d65467
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/obisindicators commit b377ff767e3051f301c2f02cfe3e1a17b285ede4
ecology
parents:
diff
changeset
|
25 lat_max <- "" |
1fcd81d65467
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/obisindicators commit b377ff767e3051f301c2f02cfe3e1a17b285ede4
ecology
parents:
diff
changeset
|
26 long_min <- "" |
1fcd81d65467
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/obisindicators commit b377ff767e3051f301c2f02cfe3e1a17b285ede4
ecology
parents:
diff
changeset
|
27 long_max <- "" |
1fcd81d65467
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/obisindicators commit b377ff767e3051f301c2f02cfe3e1a17b285ede4
ecology
parents:
diff
changeset
|
28 } |
1fcd81d65467
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/obisindicators commit b377ff767e3051f301c2f02cfe3e1a17b285ede4
ecology
parents:
diff
changeset
|
29 |
1fcd81d65467
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/obisindicators commit b377ff767e3051f301c2f02cfe3e1a17b285ede4
ecology
parents:
diff
changeset
|
30 ##### Import data |
1fcd81d65467
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/obisindicators commit b377ff767e3051f301c2f02cfe3e1a17b285ede4
ecology
parents:
diff
changeset
|
31 # Get biological occurrences |
1fcd81d65467
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/obisindicators commit b377ff767e3051f301c2f02cfe3e1a17b285ede4
ecology
parents:
diff
changeset
|
32 if (lat_min != "" & sname != "" & taxid != "") { |
1fcd81d65467
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/obisindicators commit b377ff767e3051f301c2f02cfe3e1a17b285ede4
ecology
parents:
diff
changeset
|
33 my_occs <- robis::occurrence(scientificname = sname, taxonid = taxid, geometry = paste("POLYGON ((", long_min, lat_min, ", ", long_min, lat_max, ", ", long_max, lat_min, ", ", long_max, lat_max, ", ", long_min, lat_min, "))")) |
1fcd81d65467
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/obisindicators commit b377ff767e3051f301c2f02cfe3e1a17b285ede4
ecology
parents:
diff
changeset
|
34 }else if (lat_min != "" & sname != "" & taxid == "") { |
1fcd81d65467
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/obisindicators commit b377ff767e3051f301c2f02cfe3e1a17b285ede4
ecology
parents:
diff
changeset
|
35 my_occs <- robis::occurrence(scientificname = sname, geometry = paste("POLYGON ((", long_min, lat_min, ", ", long_min, lat_max, ", ", long_max, lat_min, ", ", long_max, lat_max, ", ", long_min, lat_min, "))")) |
1fcd81d65467
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/obisindicators commit b377ff767e3051f301c2f02cfe3e1a17b285ede4
ecology
parents:
diff
changeset
|
36 }else if (lat_min != "" & sname == "" & taxid != "") { |
1fcd81d65467
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/obisindicators commit b377ff767e3051f301c2f02cfe3e1a17b285ede4
ecology
parents:
diff
changeset
|
37 my_occs <- robis::occurrence(taxonid = taxid, geometry = paste("POLYGON ((", long_min, lat_min, ", ", long_min, lat_max, ", ", long_max, lat_min, ", ", long_max, lat_max, ", ", long_min, lat_min, "))")) |
1fcd81d65467
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/obisindicators commit b377ff767e3051f301c2f02cfe3e1a17b285ede4
ecology
parents:
diff
changeset
|
38 }else if (lat_min != "" & sname == "" & taxid == "") { |
1fcd81d65467
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/obisindicators commit b377ff767e3051f301c2f02cfe3e1a17b285ede4
ecology
parents:
diff
changeset
|
39 my_occs <- robis::occurrence(geometry = paste("POLYGON ((", long_min, lat_min, ", ", long_min, lat_max, ", ", long_max, lat_min, ", ", long_max, lat_max, ", ", long_min, lat_min, "))")) |
1fcd81d65467
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/obisindicators commit b377ff767e3051f301c2f02cfe3e1a17b285ede4
ecology
parents:
diff
changeset
|
40 }else if (lat_min == "" & sname != "" & taxid != "") { |
1fcd81d65467
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/obisindicators commit b377ff767e3051f301c2f02cfe3e1a17b285ede4
ecology
parents:
diff
changeset
|
41 my_occs <- robis::occurrence(scientificname = sname, taxonid = taxid) |
1fcd81d65467
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/obisindicators commit b377ff767e3051f301c2f02cfe3e1a17b285ede4
ecology
parents:
diff
changeset
|
42 }else if (lat_min == "" & sname == "" & taxid != "") { |
1fcd81d65467
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/obisindicators commit b377ff767e3051f301c2f02cfe3e1a17b285ede4
ecology
parents:
diff
changeset
|
43 my_occs <- robis::occurrence(taxonid = taxid) |
1fcd81d65467
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/obisindicators commit b377ff767e3051f301c2f02cfe3e1a17b285ede4
ecology
parents:
diff
changeset
|
44 }else if (lat_min == "" & sname != "" & taxid == "") { |
1fcd81d65467
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/obisindicators commit b377ff767e3051f301c2f02cfe3e1a17b285ede4
ecology
parents:
diff
changeset
|
45 my_occs <- robis::occurrence(scientificname = sname) |
1fcd81d65467
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/obisindicators commit b377ff767e3051f301c2f02cfe3e1a17b285ede4
ecology
parents:
diff
changeset
|
46 } |
1fcd81d65467
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/obisindicators commit b377ff767e3051f301c2f02cfe3e1a17b285ede4
ecology
parents:
diff
changeset
|
47 |
1fcd81d65467
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/obisindicators commit b377ff767e3051f301c2f02cfe3e1a17b285ede4
ecology
parents:
diff
changeset
|
48 |
1fcd81d65467
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/obisindicators commit b377ff767e3051f301c2f02cfe3e1a17b285ede4
ecology
parents:
diff
changeset
|
49 # Dispay results |
1fcd81d65467
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/obisindicators commit b377ff767e3051f301c2f02cfe3e1a17b285ede4
ecology
parents:
diff
changeset
|
50 |
1fcd81d65467
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/obisindicators commit b377ff767e3051f301c2f02cfe3e1a17b285ede4
ecology
parents:
diff
changeset
|
51 # If empty |
1fcd81d65467
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/obisindicators commit b377ff767e3051f301c2f02cfe3e1a17b285ede4
ecology
parents:
diff
changeset
|
52 if(length(my_occs) == 0) { |
1fcd81d65467
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/obisindicators commit b377ff767e3051f301c2f02cfe3e1a17b285ede4
ecology
parents:
diff
changeset
|
53 cat("\nNo occurrences found.\nLittle tip : Check your input typo, some databases are case sensitive : Genus species.\n") |
1fcd81d65467
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/obisindicators commit b377ff767e3051f301c2f02cfe3e1a17b285ede4
ecology
parents:
diff
changeset
|
54 } |
1fcd81d65467
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/obisindicators commit b377ff767e3051f301c2f02cfe3e1a17b285ede4
ecology
parents:
diff
changeset
|
55 |
1fcd81d65467
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/obisindicators commit b377ff767e3051f301c2f02cfe3e1a17b285ede4
ecology
parents:
diff
changeset
|
56 |
1fcd81d65467
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/obisindicators commit b377ff767e3051f301c2f02cfe3e1a17b285ede4
ecology
parents:
diff
changeset
|
57 write.table(file = "output.tab", my_occs, sep = "\t", dec = ".", na = "", row.names = FALSE, col.names = TRUE, quote = FALSE) |