Mercurial > repos > ecology > phylogenetic_occupancy_matcher
annotate PhylOccuMatcher.R @ 0:e260f1a598da draft default tip
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/Phylodiversity_workflow commit 0de557d919c26eb0b5ab61504bc597d551503ac3
author | ecology |
---|---|
date | Tue, 20 May 2025 09:53:38 +0000 |
parents | |
children |
rev | line source |
---|---|
0
e260f1a598da
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/Phylodiversity_workflow commit 0de557d919c26eb0b5ab61504bc597d551503ac3
ecology
parents:
diff
changeset
|
1 #!/bin/Rscript |
e260f1a598da
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/Phylodiversity_workflow commit 0de557d919c26eb0b5ab61504bc597d551503ac3
ecology
parents:
diff
changeset
|
2 # Matice Phylo/Commu |
e260f1a598da
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/Phylodiversity_workflow commit 0de557d919c26eb0b5ab61504bc597d551503ac3
ecology
parents:
diff
changeset
|
3 |
e260f1a598da
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/Phylodiversity_workflow commit 0de557d919c26eb0b5ab61504bc597d551503ac3
ecology
parents:
diff
changeset
|
4 args = commandArgs(trailingOnly=TRUE) |
e260f1a598da
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/Phylodiversity_workflow commit 0de557d919c26eb0b5ab61504bc597d551503ac3
ecology
parents:
diff
changeset
|
5 #args = c( "pycnogonida_tree_2024", "pycnogonida_occ_2024.csv") |
e260f1a598da
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/Phylodiversity_workflow commit 0de557d919c26eb0b5ab61504bc597d551503ac3
ecology
parents:
diff
changeset
|
6 |
e260f1a598da
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/Phylodiversity_workflow commit 0de557d919c26eb0b5ab61504bc597d551503ac3
ecology
parents:
diff
changeset
|
7 library(phyloregion) |
e260f1a598da
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/Phylodiversity_workflow commit 0de557d919c26eb0b5ab61504bc597d551503ac3
ecology
parents:
diff
changeset
|
8 library(ape) |
e260f1a598da
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/Phylodiversity_workflow commit 0de557d919c26eb0b5ab61504bc597d551503ac3
ecology
parents:
diff
changeset
|
9 library(Matrix) |
e260f1a598da
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/Phylodiversity_workflow commit 0de557d919c26eb0b5ab61504bc597d551503ac3
ecology
parents:
diff
changeset
|
10 library(SparseArray) |
e260f1a598da
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/Phylodiversity_workflow commit 0de557d919c26eb0b5ab61504bc597d551503ac3
ecology
parents:
diff
changeset
|
11 |
e260f1a598da
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/Phylodiversity_workflow commit 0de557d919c26eb0b5ab61504bc597d551503ac3
ecology
parents:
diff
changeset
|
12 #install.packages("remotes") |
e260f1a598da
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/Phylodiversity_workflow commit 0de557d919c26eb0b5ab61504bc597d551503ac3
ecology
parents:
diff
changeset
|
13 #remotes::install_github("Bioconductor/SparseArray") |
e260f1a598da
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/Phylodiversity_workflow commit 0de557d919c26eb0b5ab61504bc597d551503ac3
ecology
parents:
diff
changeset
|
14 |
e260f1a598da
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/Phylodiversity_workflow commit 0de557d919c26eb0b5ab61504bc597d551503ac3
ecology
parents:
diff
changeset
|
15 save_as_tabular_fun <- function(){ |
e260f1a598da
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/Phylodiversity_workflow commit 0de557d919c26eb0b5ab61504bc597d551503ac3
ecology
parents:
diff
changeset
|
16 #writeMM(obj = comm_matrix, file = "output.mtx") |
e260f1a598da
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/Phylodiversity_workflow commit 0de557d919c26eb0b5ab61504bc597d551503ac3
ecology
parents:
diff
changeset
|
17 writeSparseCSV(comm_matrix, out_grid, sep="\t", transpose=FALSE, write.zeros=FALSE) |
e260f1a598da
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/Phylodiversity_workflow commit 0de557d919c26eb0b5ab61504bc597d551503ac3
ecology
parents:
diff
changeset
|
18 } |
e260f1a598da
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/Phylodiversity_workflow commit 0de557d919c26eb0b5ab61504bc597d551503ac3
ecology
parents:
diff
changeset
|
19 |
e260f1a598da
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/Phylodiversity_workflow commit 0de557d919c26eb0b5ab61504bc597d551503ac3
ecology
parents:
diff
changeset
|
20 |
e260f1a598da
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/Phylodiversity_workflow commit 0de557d919c26eb0b5ab61504bc597d551503ac3
ecology
parents:
diff
changeset
|
21 save_as_tree_fun <- function(){ |
e260f1a598da
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/Phylodiversity_workflow commit 0de557d919c26eb0b5ab61504bc597d551503ac3
ecology
parents:
diff
changeset
|
22 write.tree(comm_tree, file = out_tree) |
e260f1a598da
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/Phylodiversity_workflow commit 0de557d919c26eb0b5ab61504bc597d551503ac3
ecology
parents:
diff
changeset
|
23 } |
e260f1a598da
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/Phylodiversity_workflow commit 0de557d919c26eb0b5ab61504bc597d551503ac3
ecology
parents:
diff
changeset
|
24 |
e260f1a598da
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/Phylodiversity_workflow commit 0de557d919c26eb0b5ab61504bc597d551503ac3
ecology
parents:
diff
changeset
|
25 |
e260f1a598da
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/Phylodiversity_workflow commit 0de557d919c26eb0b5ab61504bc597d551503ac3
ecology
parents:
diff
changeset
|
26 if (length(args)<4){stop('Usage : input_tree_file input_grid_file output_tree_file output_grid_file') |
e260f1a598da
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/Phylodiversity_workflow commit 0de557d919c26eb0b5ab61504bc597d551503ac3
ecology
parents:
diff
changeset
|
27 }else{ |
e260f1a598da
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/Phylodiversity_workflow commit 0de557d919c26eb0b5ab61504bc597d551503ac3
ecology
parents:
diff
changeset
|
28 tree <- read.tree(args[1]) |
e260f1a598da
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/Phylodiversity_workflow commit 0de557d919c26eb0b5ab61504bc597d551503ac3
ecology
parents:
diff
changeset
|
29 grid <- read.csv2(args[2], dec = ".", sep = "\t", header = T, na.strings = "") |
e260f1a598da
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/Phylodiversity_workflow commit 0de557d919c26eb0b5ab61504bc597d551503ac3
ecology
parents:
diff
changeset
|
30 out_tree <- args[3] |
e260f1a598da
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/Phylodiversity_workflow commit 0de557d919c26eb0b5ab61504bc597d551503ac3
ecology
parents:
diff
changeset
|
31 out_grid <- args[4] |
e260f1a598da
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/Phylodiversity_workflow commit 0de557d919c26eb0b5ab61504bc597d551503ac3
ecology
parents:
diff
changeset
|
32 |
e260f1a598da
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/Phylodiversity_workflow commit 0de557d919c26eb0b5ab61504bc597d551503ac3
ecology
parents:
diff
changeset
|
33 sparse_grid <- long2sparse(grid, grid = "grids", species = "newscientificname") |
e260f1a598da
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/Phylodiversity_workflow commit 0de557d919c26eb0b5ab61504bc597d551503ac3
ecology
parents:
diff
changeset
|
34 |
e260f1a598da
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/Phylodiversity_workflow commit 0de557d919c26eb0b5ab61504bc597d551503ac3
ecology
parents:
diff
changeset
|
35 com.data <- match_phylo_comm(tree, sparse_grid, delete_empty_rows = F) |
e260f1a598da
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/Phylodiversity_workflow commit 0de557d919c26eb0b5ab61504bc597d551503ac3
ecology
parents:
diff
changeset
|
36 |
e260f1a598da
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/Phylodiversity_workflow commit 0de557d919c26eb0b5ab61504bc597d551503ac3
ecology
parents:
diff
changeset
|
37 comm_matrix <- com.data$comm |
e260f1a598da
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/Phylodiversity_workflow commit 0de557d919c26eb0b5ab61504bc597d551503ac3
ecology
parents:
diff
changeset
|
38 #test |
e260f1a598da
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/Phylodiversity_workflow commit 0de557d919c26eb0b5ab61504bc597d551503ac3
ecology
parents:
diff
changeset
|
39 #sum_matrix <- summary(comm_matrix) |
e260f1a598da
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/Phylodiversity_workflow commit 0de557d919c26eb0b5ab61504bc597d551503ac3
ecology
parents:
diff
changeset
|
40 |
e260f1a598da
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/Phylodiversity_workflow commit 0de557d919c26eb0b5ab61504bc597d551503ac3
ecology
parents:
diff
changeset
|
41 comm_tree <- com.data$phy |
e260f1a598da
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/Phylodiversity_workflow commit 0de557d919c26eb0b5ab61504bc597d551503ac3
ecology
parents:
diff
changeset
|
42 |
e260f1a598da
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/Phylodiversity_workflow commit 0de557d919c26eb0b5ab61504bc597d551503ac3
ecology
parents:
diff
changeset
|
43 save_as_tabular_fun() |
e260f1a598da
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/Phylodiversity_workflow commit 0de557d919c26eb0b5ab61504bc597d551503ac3
ecology
parents:
diff
changeset
|
44 save_as_tree_fun() |
e260f1a598da
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/Phylodiversity_workflow commit 0de557d919c26eb0b5ab61504bc597d551503ac3
ecology
parents:
diff
changeset
|
45 } |
e260f1a598da
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/Phylodiversity_workflow commit 0de557d919c26eb0b5ab61504bc597d551503ac3
ecology
parents:
diff
changeset
|
46 |
e260f1a598da
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/Phylodiversity_workflow commit 0de557d919c26eb0b5ab61504bc597d551503ac3
ecology
parents:
diff
changeset
|
47 #comm_matrix_recup <- readSparseCSV("output") |
e260f1a598da
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/Phylodiversity_workflow commit 0de557d919c26eb0b5ab61504bc597d551503ac3
ecology
parents:
diff
changeset
|
48 #comm_matrix_recup <- as(comm_matrix_recup,"dgCMatrix") |