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") | 
