annotate report.Rmd @ 0:315c2ed31af1 draft

planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
author ufz
date Wed, 04 Jun 2025 17:36:40 +0000
parents
children 3a7f73d638ba
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
1 ---
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
2 title: "PHI Prophage-Host Interaction Toolkit report"
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
3 subtitle: "Toolkit for the Detection, Comparison, and Annotation of Prophages in Bacterial Genomes."
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
4 date: "`r format(Sys.Date(), '%B %d, %Y')`"
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
5 output:
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
6 html_document:
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
7 theme: flatly
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
8 toc: yes
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
9 toc_float: false
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
10 number_sections: yes
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
11 code_folding: none
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
12 fig_width: 12
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
13 fig_height: 8
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
14 fig_caption: true
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
15 df_print: paged
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
16 editor_options:
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
17 markdown:
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
18 wrap: 72
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
19 params:
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
20 outdir: "data"
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
21 ---
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
22
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
23
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
24 ------------------------------------------------------------------------
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
25
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
26 ```{r setup_env, include=FALSE}
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
27 knitr::opts_chunk$set(echo = FALSE)
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
28
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
29 cat("params$outdir:", params$outdir, "\n")
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
30 ```
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
31
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
32 ```{r setup_libraries, message=FALSE, warning=FALSE, echo=FALSE, results='asis'}
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
33 # Define required packages
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
34 required_packages <- c("tidyverse", "janitor", "here",
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
35 "kableExtra", "gmoviz", "circlize",
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
36 "GenomicRanges", "patchwork", "fs",
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
37 "tools", "scales", "formattable",
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
38 "pdftools", "base64")
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
39
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
40 # Load required packages
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
41 invisible(lapply(required_packages, library, character.only = TRUE))
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
42 ```
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
43
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
44 ```{r helper_functions, echo=FALSE}
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
45 log_file <- "debug.log"
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
46
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
47 log_debug <- function(message) {
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
48 if (!exists("log_initialized") || !log_initialized) {
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
49 cat(paste0(Sys.time(), " - DEBUG: ", message, "\n"), file = log_file, append = FALSE)
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
50 assign("log_initialized", TRUE, envir = .GlobalEnv)
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
51 } else {
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
52 cat(paste0(Sys.time(), " - DEBUG: ", message, "\n"), file = log_file, append = TRUE)
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
53 }
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
54 }
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
55
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
56 load_file <- function(path) {
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
57 log_debug(paste("Attempting to load:", path))
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
58 if (file.exists(path)) {
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
59 ext <- tools::file_ext(path)
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
60 if (ext %in% c("tsv", "csv")) {
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
61 data <- read_delim(path, delim = ifelse(ext == "csv", ",", "\t"), show_col_types = FALSE) %>% clean_names
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
62 log_debug(paste("Loaded", nrow(data), "rows from", path))
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
63 data
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
64 } else if (ext == "fna") {
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
65 data <- Biostrings::readDNAStringSet(path)
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
66 log_debug(paste("Loaded", length(data), "sequences from", path))
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
67 data
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
68 } else {
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
69 log_debug(paste("Skipping", path, "- unsupported file type"))
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
70 NULL
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
71 }
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
72 } else {
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
73 log_debug(paste("File does not exist:", path))
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
74 NULL
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
75 }
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
76 }
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
77
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
78 get_file_info <- function(path, loaded_data) {
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
79 log_debug(paste("Processing file info for:", path))
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
80 if (file.exists(path)) {
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
81 ext <- tools::file_ext(path)
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
82 if (ext %in% c("tsv", "csv", "fna")) {
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
83 data <- loaded_data[[basename(path)]]
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
84 rows <- if(ext == "fna") length(data) else nrow(data)
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
85 tibble(exists = TRUE, rows = rows, size = file.size(path), path = path)
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
86 } else {
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
87 tibble(exists = TRUE, rows = NA_integer_, size = file.size(path), path = path)
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
88 }
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
89 } else {
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
90 tibble(exists = FALSE, rows = NA_integer_, size = NA_real_, path = NA_character_)
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
91 }
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
92 }
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
93
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
94 process_genome_folder <- function(folder, host_analyses_dir, virus_analyses_dir) {
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
95 log_debug(paste("Processing folder:", folder))
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
96 genome_name <- basename(folder)
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
97
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
98 paths <- list(
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
99 genomad = file.path(host_analyses_dir, "genomad", genome_name, paste0(genome_name, "_summary"), paste0(genome_name, "_virus_summary.tsv")),
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
100 genomad_phages = file.path(host_analyses_dir, "genomad", genome_name, paste0(genome_name, "_summary"), paste0(genome_name, "_virus.fna")),
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
101 genomad_annotations = file.path(host_analyses_dir, "genomad", genome_name, paste0(genome_name, "_summary"), paste0(genome_name, "_virus_genes.tsv")),
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
102 defense_finder = file.path(host_analyses_dir, "defense-finder", genome_name, paste0(genome_name, "_defense_finder_systems.tsv")),
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
103 checkv = file.path(virus_analyses_dir, "checkv", genome_name, "quality_summary.tsv"),
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
104 iphop = file.path(virus_analyses_dir, "iphop", genome_name, "Host_prediction_to_genome_m90.csv"),
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
105 drep = file.path(virus_analyses_dir, "drep_compare", genome_name, "data_tables", "Cdb.csv"),
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
106 phatyp = file.path(virus_analyses_dir, "phatyp", genome_name, "phatyp.csv"),
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
107 abricate = file.path(virus_analyses_dir, "abricate", genome_name, paste0(genome_name, "_virus_vfdb.tsv")),
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
108 vibrant = file.path(virus_analyses_dir, "vibrant", genome_name,
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
109 paste0("VIBRANT_", genome_name, "_virus"),
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
110 paste0("VIBRANT_results_", genome_name, "_virus"),
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
111 paste0("VIBRANT_AMG_individuals_", genome_name, "_virus.tsv"))
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
112 )
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
113
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
114 loaded_data <- map(paths, load_file)
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
115 file_info <- map_dfr(paths, ~get_file_info(.x, loaded_data), .id = "file_type")
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
116
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
117 virus_count <- if(!is.null(loaded_data$genomad)) {
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
118 count <- sum(loaded_data$genomad$virus_score > 0.5, na.rm = TRUE)
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
119 log_debug(paste("Virus count:", count))
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
120 count
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
121 } else {
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
122 log_debug("No genomad summary found, virus count set to 0")
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
123 0
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
124 }
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
125
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
126 log_debug("Returning results from process_genome_folder")
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
127 list(file_info = file_info, virus_count = virus_count, loaded_data = loaded_data)
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
128 }
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
129 ```
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
130
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
131
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
132 ```{r compile_results, message=FALSE, warning=FALSE, echo=FALSE}
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
133 compile_results <- function() {
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
134 base_dir <- params$outdir
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
135 log_debug(paste("Base directory:", base_dir))
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
136
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
137 host_analyses_dir <- file.path(base_dir, "host_analyses")
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
138 virus_analyses_dir <- file.path(base_dir, "virus_analyses")
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
139
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
140 # List all sample-level directories from all tools under virus_analyses
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
141 tool_dirs <- list.dirs(virus_analyses_dir, full.names = TRUE, recursive = FALSE)
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
142
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
143 genome_folders <- list.dirs(file.path(base_dir, "host_analyses", "genomad"),
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
144 full.names = TRUE, recursive = FALSE)
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
145
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
146 # cat(length(genome_folders), "sample(s) processed\n")
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
147
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
148 log_debug("Processing genome folders")
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
149 genome_data <- map(genome_folders, process_genome_folder,
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
150 host_analyses_dir = host_analyses_dir,
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
151 virus_analyses_dir = virus_analyses_dir) %>%
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
152 set_names(basename(genome_folders)) %>%
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
153 compact()
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
154
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
155 log_debug("Creating summary dataframe")
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
156 summary_df <- map_dfr(genome_data, ~{
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
157 file_info <- .x$file_info
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
158 tibble(
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
159 Sample = basename(file_info$path[1]),
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
160 Virus_Count = .x$virus_count,
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
161 geNomad = file_info$exists[file_info$file_type == "genomad"],
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
162 CheckV = file_info$exists[file_info$file_type == "checkv"],
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
163 VIBRANT = file_info$exists[file_info$file_type == "vibrant"],
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
164 dRep = file_info$exists[file_info$file_type == "drep"],
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
165 iPHOP = file_info$exists[file_info$file_type == "iphop"],
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
166 PhaTYP = file_info$exists[file_info$file_type == "phatyp"],
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
167 Defense_Finder = file_info$exists[file_info$file_type == "defense_finder"],
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
168 geNomad_Path = file_info$path[file_info$file_type == "genomad"],
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
169 CheckV_Path = file_info$path[file_info$file_type == "checkv"],
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
170 VIBRANT_Path = file_info$path[file_info$file_type == "vibrant"],
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
171 dRep_Path = file_info$path[file_info$file_type == "drep"],
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
172 PhaTYP_Path = file_info$path[file_info$file_type == "phatyp"],
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
173 Defense_Finder_Path = file_info$path[file_info$file_type == "defense_finder"],
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
174 Virus_Contigs = ifelse(file_info$exists[file_info$file_type == "genomad_phages"],
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
175 file_info$rows[file_info$file_type == "genomad_phages"],
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
176 0)
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
177 )
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
178 }) %>%
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
179 mutate(across(ends_with("_Path"), ~ifelse(is.na(.), "Not available", as.character(.))))
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
180
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
181 host_genomes_fasta <- list.files(
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
182 path = file.path(params$outdir, "genomes"),
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
183 pattern = "\\.fna$",
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
184 full.names = TRUE
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
185 )
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
186
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
187 host_genomes_paths <- tibble(
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
188 name = tools::file_path_sans_ext(basename(host_genomes_fasta)),
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
189 path = host_genomes_fasta
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
190 )
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
191
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
192 data_gtdbtk_host <- read_tsv(
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
193 file.path(params$outdir, "host_analyses/gtdbtk/gtdbtk.bac120.summary.tsv"),
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
194 show_col_types = FALSE
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
195 ) %>% clean_names()
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
196
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
197 data_checkm_host <- read_tsv(
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
198 file.path(params$outdir, "host_analyses/checkm2/quality_report.tsv"),
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
199 show_col_types = FALSE
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
200 ) %>% clean_names()
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
201
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
202 log_debug("Returning summary dataframe, genome data, and host data")
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
203
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
204 log_debug(paste("summary_df dimensions:", nrow(summary_df), "rows,", ncol(summary_df), "columns"))
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
205 log_debug(paste("summary_df column names:", paste(colnames(summary_df), collapse = ", ")))
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
206 log_debug(paste("genome_data length:", length(genome_data)))
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
207 log_debug(paste("genome_data names:", paste(names(genome_data), collapse = ", ")))
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
208 log_debug(paste("host_genomes_paths dimensions:", nrow(host_genomes_paths), "rows,", ncol(host_genomes_paths), "columns"))
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
209 log_debug(paste("host_genomes_paths column names:", paste(colnames(host_genomes_paths), collapse = ", ")))
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
210 log_debug(paste("data_gtdbtk_host dimensions:", nrow(data_gtdbtk_host), "rows,", ncol(data_gtdbtk_host), "columns"))
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
211 log_debug(paste("data_gtdbtk_host column names:", paste(colnames(data_gtdbtk_host), collapse = ", ")))
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
212 log_debug(paste("data_checkm_host dimensions:", nrow(data_checkm_host), "rows,", ncol(data_checkm_host), "columns"))
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
213 log_debug(paste("data_checkm_host column names:", paste(colnames(data_checkm_host), collapse = ", ")))
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
214
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
215 list(
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
216 summary = summary_df,
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
217 genome_data = genome_data,
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
218 host_genomes_paths = host_genomes_paths,
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
219 data_gtdbtk_host = data_gtdbtk_host,
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
220 data_checkm_host = data_checkm_host
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
221 )
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
222 }
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
223 ```
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
224
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
225 ```{r run_main_function, echo=FALSE, message=FALSE, warning=FALSE}
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
226 log_debug("Starting execution of main function")
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
227 result <- compile_results()
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
228
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
229 if (is.null(result)) {
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
230 log_debug("Main function execution failed")
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
231 stop("Main function execution failed")
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
232 }
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
233
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
234 summary_df <- result$summary
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
235 genome_data <- result$genome_data
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
236 host_genomes_paths <- result$host_genomes_paths
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
237 data_gtdbtk_host <- result$data_gtdbtk_host
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
238 data_checkm_host <- result$data_checkm_host
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
239 log_debug("Data extracted successfully")
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
240
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
241 # Remove any extensions from names in data gtdbtk and checm2
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
242 data_gtdbtk_host <- data_gtdbtk_host %>%
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
243 mutate(user_genome = str_remove(user_genome, "\\.[^.]+$"))
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
244
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
245 data_checkm_host <- data_checkm_host %>%
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
246 mutate(name = str_remove(name, "\\.[^.]+$"))
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
247
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
248 result$summary <- result$summary %>%
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
249 mutate(Sample = str_remove(Sample, "_virus_summary.tsv"))
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
250 ```
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
251
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
252 # Summary {.tabset .tabset-fade}
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
253
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
254 ## Overview Table
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
255
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
256 This table provides sample-by-sample information on detected viruses and key host genome statistics. It includes taxonomy, virus count, genome quality classification, CheckM2 metrics (completeness and contamination), and genome assembly statistics such as size and N50.
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
257
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
258 ```{r render_table, message=FALSE, warning=FALSE, echo=FALSE, results='asis'}
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
259 data <- result$summary
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
260
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
261 log_debug("Assigning checkm2 host data")
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
262 checkm_host_data <- data_checkm_host %>% clean_names() %>%
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
263 select(name, completeness, contamination,
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
264 contig_n50, genome_size)
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
265
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
266 log_debug("Assigning GTDB-Tk host data")
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
267 gtdbtk_data <- data_gtdbtk_host %>%
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
268 select(user_genome, classification)
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
269
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
270 log_debug("Defining color-blind friendly palette")
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
271 cb_friendly_colors <- list(
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
272 green = "#009E73",
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
273 blue = "#0072B2",
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
274 orange = "#E69F00",
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
275 red = "#D55E00",
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
276 grey = "#999999"
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
277 )
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
278
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
279 log_debug("Defining function to color cells")
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
280 color_cell <- function(values, color_true = cb_friendly_colors$green,
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
281 color_false = cb_friendly_colors$red) {
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
282 ifelse(values,
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
283 cell_spec("Yes", color = "white", bold = TRUE, background = color_true),
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
284 cell_spec("No", color = "white", bold = TRUE, background = color_false))
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
285 }
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
286
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
287 log_debug("Defining function to create bar plot")
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
288 create_bar_plot <- function(values, max_value, color = cb_friendly_colors$grey) {
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
289 sapply(values, function(value) {
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
290 if(is.na(value) || !is.numeric(value)) {
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
291 return("N/A")
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
292 }
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
293 bar_width <- min(max(value, 0), max_value) / max_value * 100
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
294 sprintf('<div style="background-color: %s; width: %f%%; height: 10px;"></div>%.1f%%',
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
295 color, bar_width, value)
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
296 })
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
297 }
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
298
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
299 log_debug("Defining function to format large numbers")
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
300 format_large_number <- function(x) {
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
301 sapply(x, function(value) {
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
302 if (is.na(value) || !is.numeric(value)) {
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
303 return("N/A")
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
304 } else if (value < 1000) {
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
305 return(as.character(value))
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
306 } else if (value < 1e6) {
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
307 return(paste0(round(value / 1e3, 1), "K"))
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
308 } else if (value < 1e9) {
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
309 return(paste0(round(value / 1e6, 1), "M"))
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
310 } else {
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
311 return(paste0(round(value / 1e9, 1), "G"))
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
312 }
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
313 })
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
314 }
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
315
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
316 log_debug("Defining function to extract last known taxonomy level")
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
317 extract_last_known_taxonomy <- function(classification) {
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
318 if (is.na(classification) || classification == "") {
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
319 return(list(level = "Unknown", name = "Unknown"))
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
320 }
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
321
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
322 parts <- strsplit(classification, ";")[[1]]
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
323 for (i in length(parts):1) {
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
324 level <- sub("^[a-z]__", "", parts[i])
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
325 if (level != "") {
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
326 prefix <- sub("__.*$", "", parts[i])
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
327 return(list(level = prefix, name = level))
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
328 }
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
329 }
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
330 return(list(level = "Unknown", name = "Unknown"))
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
331 }
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
332
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
333 log_debug("Defining function to format taxonomy")
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
334 format_taxonomy <- function(classification) {
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
335 result <- extract_last_known_taxonomy(classification)
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
336 if (result$level == "Unknown") {
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
337 return("Unknown")
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
338 } else if (result$level == "s") {
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
339 return(paste0("<i>", result$name, "</i>"))
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
340 } else {
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
341 genus <- str_replace_all(result$name, "_", " ")
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
342 return(paste0("<i>", genus, "</i> sp."))
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
343 }
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
344 }
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
345
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
346 log_debug("Defining function to calculate quality score and determine genome quality class")
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
347 calculate_quality_score_and_class <- function(completeness, contamination) {
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
348 if (is.na(completeness) || is.na(contamination)) {
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
349 return(list(
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
350 score = cell_spec("N/A", color = "white", bold = TRUE, background = cb_friendly_colors$grey),
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
351 class = cell_spec("Unknown", color = "white", bold = TRUE, background = cb_friendly_colors$grey),
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
352 numeric_score = NA
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
353 ))
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
354 }
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
355
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
356 quality_score <- completeness - (5 * contamination)
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
357 formatted_score <- sprintf("%.1f", quality_score)
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
358
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
359 if (completeness > 90 && contamination < 5) {
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
360 class <- "High-quality draft"
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
361 color <- cb_friendly_colors$green
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
362 } else if (completeness >= 50 && contamination < 10) {
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
363 class <- "Medium-quality draft"
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
364 color <- cb_friendly_colors$blue
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
365 } else {
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
366 class <- "Low-quality draft"
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
367 color <- cb_friendly_colors$red
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
368 }
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
369
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
370 list(
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
371 score = cell_spec(formatted_score, color = "white", bold = TRUE, background = color),
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
372 class = cell_spec(class, color = "white", bold = TRUE, background = color),
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
373 numeric_score = quality_score
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
374 )
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
375 }
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
376
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
377 log_debug("Preparing the data")
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
378
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
379 table_data <- data %>%
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
380 #mutate(Sample = basename(Sample) %>% trim_sample_name()) %>%
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
381 mutate(Sample = basename(Sample)) %>%
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
382 left_join(checkm_host_data, by = c("Sample" = "name")) %>%
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
383 left_join(gtdbtk_data, by = c("Sample" = "user_genome")) %>%
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
384 mutate(
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
385 quality_data = pmap(list(as.numeric(completeness),
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
386 as.numeric(contamination)),
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
387 calculate_quality_score_and_class),
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
388 Quality_Score = map_chr(quality_data, ~.$score),
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
389 Genome_Quality = map_chr(quality_data, ~.$class),
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
390 Quality_Score_Numeric = map_dbl(quality_data, ~.$numeric_score),
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
391 Virus_Count_Numeric = as.numeric(Virus_Count),
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
392 Virus_Count = cell_spec(
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
393 Virus_Count,
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
394 color = "white",
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
395 bold = TRUE,
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
396 background = case_when(
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
397 Virus_Count == 0 ~ cb_friendly_colors$red,
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
398 Virus_Count == 1 ~ cb_friendly_colors$blue,
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
399 Virus_Count > 1 ~ cb_friendly_colors$green
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
400 )
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
401 ),
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
402 Completeness_Numeric = as.numeric(completeness),
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
403 Completeness = create_bar_plot(as.numeric(completeness), 100),
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
404 Contamination = create_bar_plot(as.numeric(contamination), 100),
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
405 `N50 (contigs)` = format_large_number(as.numeric(contig_n50)),
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
406 `Genome size (bp)` = format_large_number(as.numeric(genome_size)),
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
407 `GTDB Taxonomy` = sapply(classification, format_taxonomy)
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
408 ) %>%
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
409 mutate(`#` = row_number()) %>%
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
410 select(`#`, Sample, `GTDB Taxonomy`, Virus_Count,
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
411 Quality_Score, Genome_Quality, Completeness, Contamination,
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
412 `Genome size (bp)`, `N50 (contigs)`)
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
413
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
414 log_debug("Creating the table")
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
415 kbl(table_data, escape = FALSE,
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
416 align = c("c", "l", "l", "c", rep("c", 2), rep("r", 2), rep("r", 2))) %>%
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
417 kable_paper(full_width = TRUE) %>%
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
418 column_spec(1, bold = TRUE, width = "2em") %>%
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
419 column_spec(2:3, bold = TRUE) %>%
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
420 column_spec(4:5, width = "5em") %>%
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
421 column_spec(6:7, width = "60px") %>%
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
422 column_spec(8:9, width = "4em") %>%
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
423 add_header_above(c(" " = 4, "Host Genome Quality" = 2, "CheckM Metrics" = 2,
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
424 "Statistics" = 2)) %>%
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
425 kable_styling(bootstrap_options = c("striped", "hover", "condensed", "responsive"),
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
426 font_size = 9,
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
427 html_font = "Arial",
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
428 position = "left") %>%
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
429 row_spec(0, bold = TRUE, color = "white", background = "#333333") %>%
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
430 row_spec(0, extra_css = "border-bottom: 2px solid #000000;") %>%
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
431 column_spec(9, extra_css = "border-right: 2px solid #000000;") %>%
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
432 scroll_box(width = "100%", height = "100%",
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
433 extra_css = "overflow-x: auto; border: 1px solid #ccc; border-radius: 4px;")
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
434 ```
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
435
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
436 ## Tools Documentation
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
437
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
438 The following tools are utilized in this workflow. Each tool name below is a link to its respective documentation.
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
439
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
440 **Host-analyses**
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
441
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
442 - [**CheckM2 v1.1.0**](https://github.com/chklovski/CheckM2): Assesses the quality of the host. Most useful when working with assembled genomes.
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
443
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
444 - [**GTDB-Tk v2.3.2**](https://ecogenomics.github.io/GTDBTk/index.html): Assigns a taxonomy to the host genome.
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
445
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
446 - [**Defense-Finder v2.0.0, models 2.0.2**](https://ecogenomics.github.io/GTDBTk/index.html): Detects known anti-phage systems in the host.
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
447
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
448 - [**geNomad v1.7.1**](https://portal.nersc.gov/genomad/): Predicts and annotates proviruses.
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
449
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
450 **Virus-analyses**
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
451
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
452 - [**CheckV v1.0.1**](https://pypi.org/project/checkv/): Evaluates the quality of viral genomes.
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
453
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
454 - [**dRep v3.4.5**](https://drep.readthedocs.io/en/latest/): Compares viral genomes within the same host.
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
455
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
456 - [**Abricate v1.0.1**](https://github.com/tseemann/abricate): Identifies virulence genes in the prophage genomes with the [VFDB database](https://www.mgc.ac.cn/VFs/).
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
457
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
458 - [**iPHOP v1.3.3**](https://bitbucket.org/srouxjgi/iphop/src/main/): Predicts other potential hosts of viral genomes.
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
459
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
460 - [**VIBRANT v1.2.1**](https://github.com/AnantharamanLab/VIBRANT): Used to identify Auxiliary Metabolic Genes in the prophages.
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
461
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
462 ## Workflow
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
463
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
464 The workflow begins with the input of bacterial genomes by the user. These are processed by the **host-analyses** tools. Prophage prediction is
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
465 performed by **geNomad** only. Afterward, prophages identified by **geNomad** are processed by the **virus-analyses** tools.
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
466
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
467 If more than one prophage is recovered in the same sample, **dRep** is used to compare and determine if the viruses are identical or different within the same host.
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
468
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
469 *PLACEHOLDER FOR PIPELINE*
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
470
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
471 ## R Session Info
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
472
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
473 Information about the R session used to render this markdown document.
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
474
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
475 ```{r}
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
476 sessionInfo()
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
477 ```
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
478
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
479
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
480 # Results {.tabset .tabset-fade}
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
481
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
482 ```{r}
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
483 # Creating combined_unique object
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
484
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
485 combined_unique <- bind_rows(
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
486 checkm_host_data %>%
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
487 # select(bin_id) %>%
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
488 # dplyr::rename(Sample = bin_id),
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
489 select(name) %>%
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
490 dplyr::rename(Sample = name),
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
491
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
492 data %>%
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
493 #mutate(Sample = str_remove(Sample, "_virus_summary.tsv")) %>%
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
494 select(Sample)
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
495 ) %>%
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
496 distinct(Sample) %>%
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
497 arrange(Sample)
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
498
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
499 log_debug(paste("combined_unique samples:", paste(combined_unique$Sample, collapse = ", ")))
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
500 ```
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
501
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
502
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
503
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
504 ```{r main_workflow, fig.width=6, fig.height=6, out.height="100%", out.width='100%', dpi=300, fig.align='center', warning=FALSE, message=FALSE, results='asis'}
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
505 # Process proviruses data
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
506 process_proviruses <- function(data_genomad) {
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
507 proviruses <- data_genomad %>%
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
508 dplyr::filter(topology == "Provirus") %>%
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
509 dplyr::mutate(contig = sub("\\|provirus_.*", "", seq_name)) %>% # take everything before "|provirus"
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
510 dplyr::mutate(contig = paste0("c", as.numeric(factor(contig)))) %>% # map them to c_1, c_2, ...
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
511 dplyr::select(seq_name, coordinates, length, contig, virus_score, n_hallmarks)
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
512
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
513 proviruses <- proviruses %>%
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
514 tidyr::separate(coordinates, into = c("start", "end"), sep = "-")
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
515
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
516 proviruses$start <- as.integer(proviruses$start)
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
517 proviruses$end <- as.integer(proviruses$end)
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
518
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
519 proviruses_gr_features <- GRanges(seqnames = proviruses$contig,
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
520 ranges = IRanges(start = proviruses$start,
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
521 end = proviruses$end))
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
522 proviruses_gr_features$length <- proviruses_gr_features %>% ranges %>% width
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
523 proviruses_gr_features$score <- as.numeric(proviruses$virus_score)
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
524 proviruses_gr_features$n_hallmarks <- as.numeric(proviruses$n_hallmarks)
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
525
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
526 proviruses_gr_features$n_hallmarks_pos <-
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
527 abs(start(proviruses_gr_features) - end(proviruses_gr_features)) / 2
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
528
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
529 return(proviruses_gr_features)
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
530 }
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
531
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
532 plot_genome_ideogram <- function(genome_current, proviruses_gr_features) {
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
533 fasta_file_path <- file.path(params$outdir, "genomes", paste0(genome_current, ".fna"))
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
534 #cat(fasta_file_path, "\n\n")
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
535 genome_ideogram <- getIdeogramData(fasta_file = fasta_file_path)
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
536
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
537 # Replace any seqlevel to c_1, c_2, c_3, ...
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
538 new_seqlevels <- paste0("c", seq_along(seqlevels(genome_ideogram)))
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
539 names(new_seqlevels) <- seqlevels(genome_ideogram)
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
540 genome_ideogram <- GenomeInfoDb::renameSeqlevels(genome_ideogram, new_seqlevels)
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
541 colours <- rep("#a58bc5", length(seqlevels(genome_ideogram)))
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
542
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
543 par(mar = c(2, 2, 2, 2)) # minimal margins around the plot
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
544
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
545 gmovizInitialise(genome_ideogram,
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
546 sector_colours = colours,
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
547 sector_border_colours = colours,
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
548 sector_labels = FALSE
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
549 )
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
550
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
551 for (i in 1:length(proviruses_gr_features)) {
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
552 name <- as.character(seqnames(proviruses_gr_features[i]))
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
553 start <- as.numeric(start(proviruses_gr_features[i]))
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
554 end <- as.numeric(end(proviruses_gr_features[i]))
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
555 region <- data.frame(start = start, end = end)
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
556 circos.genomicRect(seqnames = name,
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
557 region,
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
558 ytop = .5,
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
559 ybottom = 0,
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
560 track.index = 1,
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
561 sector.index = name,
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
562 border = "#e9d27d",
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
563 col = "#e9d27d")
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
564 }
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
565
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
566 length <- as.numeric(proviruses_gr_features$length)
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
567 length <- ifelse(length > 1000000,
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
568 paste0(round(length/1000000, 2), "mb"),
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
569 paste0(round(length/1000, 2), "kb"))
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
570 labels <- paste0(as.character(seqnames(proviruses_gr_features)), " (", length, ")")
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
571 circos.labels(sectors = as.character(seqnames(proviruses_gr_features)),
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
572 x = as.numeric(start(proviruses_gr_features)),
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
573 labels,
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
574 facing = "clockwise")
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
575 }
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
576
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
577 process_sample <- function(sample, combined_unique, host_genomes_paths, genome_data) {
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
578 genome_current <- sample # Add this line
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
579 tryCatch({
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
580 log_debug(paste("Starting to process sample:", sample))
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
581
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
582 # Check if sample exists in genome_data
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
583 if (!(sample %in% names(genome_data))) {
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
584 log_debug(paste("Sample", sample, "not found in genome_data"))
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
585 cat(paste("Error: Sample", sample, "not found in genome_data\n\n"))
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
586 return()
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
587 }
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
588
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
589 cat(paste("## ", sample, "{.tabset .tabset-fade} \n\n"))
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
590
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
591 host_genome_path <- host_genomes_paths$path[host_genomes_paths$name == sample]
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
592 if (length(host_genome_path) == 0) {
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
593 log_debug(paste("Host genome path not found for sample:", sample))
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
594 cat(paste("Error: Host genome path not found for sample", sample, "\n\n"))
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
595 return()
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
596 }
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
597
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
598 host_genome_ideogram <- tryCatch({
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
599 getIdeogramData(fasta_file = host_genome_path)
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
600 }, error = function(e) {
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
601 log_debug(paste("Error loading host genome ideogram for sample", sample, ":", conditionMessage(e)))
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
602 NULL
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
603 })
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
604
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
605 if (is.null(host_genome_ideogram)) {
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
606 cat(paste("Error: Unable to load host genome ideogram for sample", sample, "\n\n"))
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
607 return()
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
608 }
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
609
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
610 sample_data <- genome_data[[sample]]$loaded_data
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
611 genomad_summary <- sample_data$genomad
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
612 genomad_annotation <- sample_data$genomad_annotations
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
613 checkv_data <- sample_data$checkv
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
614 defense_finder_data <- sample_data$defense_finder
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
615 abricate_data <- sample_data$abricate
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
616 iphop_data <- sample_data$iphop
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
617 vibrant_data <- sample_data$vibrant
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
618
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
619 cat("### Host Genome\n\n")
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
620
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
621 cat("**GTDB-Tk taxonomy**: \n\n")
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
622 data_gtdbtk_host %>% filter(user_genome == sample) %>%
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
623 select(classification) %>%
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
624 kbl() %>%
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
625 kable_styling(bootstrap_options = c("striped", "hover", "condensed", "responsive")) %>%
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
626 kable_paper("striped", full_width = TRUE) %>%
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
627 scroll_box(width = "100%", height = "100%") %>%
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
628 cat()
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
629
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
630 # Cat checkm summary for this genome
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
631 cat("**CheckM2 Summary**:\n\n")
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
632 #checkm_summary <- data_checkm_host %>% filter(`bin_id` == sample)
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
633 checkm_summary <- data_checkm_host %>% filter(`name` == sample)
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
634 checkm_summary %>% clean_names %>%
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
635 #select(number_contigs, n50_contigs, completeness, contamination, strain_heterogeneity) %>%
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
636 select(total_contigs, contig_n50, completeness, contamination) %>%
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
637 kbl() %>%
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
638 kable_styling(bootstrap_options = c("striped", "hover", "condensed", "responsive")) %>%
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
639 kable_paper("striped", full_width = TRUE) %>%
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
640 scroll_box(width = "100%", height = "100%") %>%
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
641 cat()
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
642
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
643 # Display defense-finder as a table
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
644 if (!is.null(defense_finder_data) && nrow(defense_finder_data) > 0) {
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
645 cat("**Defense-Finder Systems**:\n\n")
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
646
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
647 defense_finder_data %>%
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
648 select(sys_id, type, subtype, sys_beg, sys_end, protein_in_syst, genes_count, name_of_profiles_in_sys) %>%
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
649 kbl() %>%
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
650 kable_styling(bootstrap_options = c("striped", "hover", "condensed", "responsive")) %>%
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
651 kable_paper("striped", full_width = TRUE) %>%
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
652 scroll_box(width = "100%", height = "100%") %>%
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
653 cat()
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
654 } else {
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
655 cat("No Defense-Finder systems detected.\n\n")
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
656 }
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
657
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
658 if (is.null(genomad_summary) || nrow(genomad_summary) == 0) {
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
659 log_debug(paste("No geNomad summary data found for sample:", sample))
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
660 return()
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
661 }
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
662
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
663 if (length(seqlevels(host_genome_ideogram)) == 1) {
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
664 host_genome_size <- sum(width(host_genome_ideogram))
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
665 } else {
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
666 virus_containing_contigs <- unique(sub("\\|.*", "", genomad_summary$seq_name))
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
667 virus_containing_contigs <- paste0("c_", as.numeric(factor(virus_containing_contigs)))
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
668 filtered_host_genome <- subset_and_update_ideogram(host_genome_ideogram, virus_containing_contigs)
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
669 host_genome_size <- sum(width(filtered_host_genome))
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
670 }
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
671
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
672 # Process proviruses
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
673 proviruses_gr_features <- process_proviruses(genomad_summary)
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
674
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
675 cat("**Genomad and CheckV Summary**:\n\n")
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
676 genomad_summary %>%
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
677 select(seq_name, taxonomy, topology, coordinates, length) %>%
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
678 left_join(
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
679 checkv_data %>% select(contig_id, gene_count, viral_genes, checkv_quality, miuvig_quality),
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
680 by = c("seq_name" = "contig_id")) %>%
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
681 select(seq_name, length, gene_count, viral_genes, checkv_quality, miuvig_quality, taxonomy, topology, coordinates) %>%
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
682 kbl() %>%
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
683 kable_styling(bootstrap_options = c("striped", "hover", "condensed", "responsive")) %>%
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
684 kable_paper("striped", full_width = TRUE) %>%
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
685 scroll_box(width = "100%", height = "100%") %>%
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
686 cat()
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
687
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
688 cat("**Host Genome Ideogram with Phages**:\n\n")
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
689 plot_genome_ideogram(sample, proviruses_gr_features)
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
690 cat('In this circular plot, **"c"** indicates the contig, and the number that follows (e.g., **c1**) represents the contig number.
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
691 If multiple contigs are present in the genome, each will be shown with a distinct label (e.g., **c1**, **c2**, etc.).\n\n')
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
692 cat("\n\n")
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
693
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
694 # Process phage genomes
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
695 cat("### Prophages {.tabset .tabset-fade} \n\n")
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
696 cat("**Select prophage to show: ** \n\n")
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
697 for (i in seq_len(nrow(genomad_summary))) {
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
698 log_debug(paste("Processing phage", i, "of", nrow(genomad_summary), "for sample", sample))
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
699 process_phage(genomad_summary[i, ], genomad_summary, genomad_annotation, checkv_data, host_genome_size)
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
700 }
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
701
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
702 # Plot dREP if applicable
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
703 if (nrow(genomad_summary) > 1) {
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
704 cat("### vOTUs\n\n")
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
705 plot_drep(sample, genomad_summary)
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
706 }
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
707
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
708 # Creating table with Abricate data
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
709 if (nrow(abricate_data) > 0) {
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
710 cat("### Virulence Genes {.tabset .tabset-fade} \n\n")
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
711 cat("Screening of virulence genes present in the prophage contigs. \n\n")
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
712 abricate_data %>% select(-number_file) %>%
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
713 kbl() %>%
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
714 kable_styling(bootstrap_options = c("striped", "hover", "condensed", "responsive")) %>%
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
715 kable_paper("striped", full_width = TRUE) %>%
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
716 scroll_box(width = "100%", height = "100%") %>% cat()
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
717 cat("\n\n")
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
718 }
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
719
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
720 # Creating table with iPHOP
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
721 if (nrow(iphop_data) > 0) {
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
722 cat("### Prophage-Host Prediction {.tabset .tabset-fade} \n\n")
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
723 cat("Prediction of potential hosts for the prophage contigs. \n\n")
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
724 iphop_data %>%
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
725 kbl() %>%
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
726 kable_styling(bootstrap_options = c("striped", "hover", "condensed", "responsive")) %>%
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
727 kable_paper("striped", full_width = TRUE) %>%
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
728 scroll_box(width = "100%", height = "100%") %>% cat()
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
729 cat("\n\n")
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
730 }
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
731
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
732 # Creating table with VIBRANT AMGs
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
733 if (nrow(vibrant_data) > 0) {
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
734 cat("### AMG Predictions {.tabset .tabset-fade} \n\n")
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
735 cat("Prediction of auxiliary metabolic genes in the prophage contigs. \n\n")
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
736 vibrant_data %>%
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
737 kbl() %>%
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
738 kable_styling(bootstrap_options = c("striped", "hover", "condensed", "responsive")) %>%
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
739 kable_paper("striped", full_width = TRUE) %>%
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
740 scroll_box(width = "100%", height = "100%") %>% cat()
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
741 cat("\n\n")
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
742 }
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
743
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
744 log_debug(paste("Finished processing sample:", sample))
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
745 }, error = function(e) {
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
746 log_debug(paste("Error in process_sample for", sample, ":", conditionMessage(e)))
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
747 cat(paste("Error processing sample", sample, ":", conditionMessage(e), "\n\n"))
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
748 })
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
749 }
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
750
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
751 process_phage <- function(virus, genomad_summary, genomad_annotation, checkv_data, host_genome_size) {
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
752 cat(paste("#### Phage ID:", virus$seq_name, " {.tabset .tabset-fade} \n\n"))
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
753
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
754 current_contig <- sub("\\|.*", "", virus$seq_name)
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
755
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
756 provirus_start <- as.numeric(sub(".*provirus_(\\d+)_\\d+", "\\1", virus$seq_name))
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
757 provirus_end <- as.numeric(sub(".*provirus_\\d+_(\\d+)", "\\1", virus$seq_name))
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
758 virus_length <- provirus_end - provirus_start + 1
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
759
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
760 current_contig_base <- sub("\\|provirus_.*", "", virus$seq_name)
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
761 current_provirus_range <- sub(".*\\|provirus_", "", virus$seq_name)
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
762 current_annotations <- genomad_annotation[grepl(paste0(current_contig_base, "\\|provirus_", current_provirus_range, "_"),
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
763 genomad_annotation$gene, fixed = FALSE), ] %>%
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
764 mutate(arrow_pos = ifelse(strand == -1, "start", "end"))
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
765
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
766
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
767 cat("\n\n**Phage–Host Genome Ideogram:**\n\n")
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
768
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
769 plot_phage_circos(virus, genomad_summary, current_annotations, virus_length, host_genome_size, provirus_start, provirus_end, checkv_data)
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
770
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
771 cat("\n\n")
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
772 cat("\n\n**Genes Annotation (geNomad):**\n\n")
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
773
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
774 current_annotations %>%
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
775 select(gene, length, marker, annotation_accessions, annotation_description) %>%
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
776 kbl() %>%
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
777 kable_styling(bootstrap_options = c("striped", "hover", "condensed", "responsive")) %>%
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
778 kable_paper() %>%
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
779 cat()
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
780 cat("\n\n")
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
781 }
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
782
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
783 plot_phage_circos <- function(virus, genomad_summary, current_annotations, virus_length, host_genome_size, provirus_start, provirus_end, checkv_data) {
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
784 tryCatch({
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
785 log_debug("Starting plot_phage_circos function")
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
786 log_debug(paste("Current virus:", virus$seq_name))
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
787 log_debug(paste("Virus length:", virus_length))
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
788 log_debug(paste("Host genome size:", host_genome_size))
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
789 log_debug(paste("Provirus start:", provirus_start))
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
790 log_debug(paste("Provirus end:", provirus_end))
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
791
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
792 # Check for NA or invalid values in input parameters
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
793 if (is.na(virus_length) || virus_length <= 0) {
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
794 log_debug("Error: Invalid virus length")
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
795 return(NULL)
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
796 }
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
797 if (is.na(host_genome_size) || host_genome_size <= 0) {
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
798 log_debug("Error: Invalid host genome size")
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
799 return(NULL)
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
800 }
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
801 if (is.na(provirus_start) || provirus_start < 0) {
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
802 log_debug("Error: Invalid provirus start position")
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
803 return(NULL)
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
804 }
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
805 if (is.na(provirus_end) || provirus_end <= provirus_start) {
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
806 log_debug("Error: Invalid provirus end position")
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
807 return(NULL)
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
808 }
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
809
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
810 # Extract contig information
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
811 current_contig <- sub("\\|.*", "", virus$seq_name)
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
812 log_debug(paste("Current contig:", current_contig))
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
813
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
814 contig_viruses <- genomad_summary[grepl(paste0("^", current_contig), genomad_summary$seq_name), ]
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
815 if (nrow(contig_viruses) == 0) {
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
816 log_debug("Error: No viruses found for the current contig")
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
817 return(NULL)
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
818 }
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
819
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
820 contig_length <- max(as.numeric(sub(".*_(\\d+)$", "\\1", contig_viruses$seq_name)))
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
821 if (is.na(contig_length) || contig_length <= 0) {
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
822 contig_length <- virus_length # Use virus length as fallback if contig length is invalid
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
823 log_debug(paste("Using virus length as contig length:", contig_length))
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
824 } else {
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
825 log_debug(paste("Contig length:", contig_length))
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
826 }
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
827
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
828 if (provirus_end > contig_length) {
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
829 log_debug("Error: Provirus end position exceeds contig length")
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
830 return(NULL)
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
831 }
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
832
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
833 log_debug("Clearing circos")
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
834 circos.clear()
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
835
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
836 log_debug("Setting circos parameters")
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
837 circos.par(start.degree = 180, gap.degree = 10, track.margin = c(0.01, 0.01))
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
838
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
839 main_color <- "#a58bc5"
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
840 zoom_color <- "#e9d27d"
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
841
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
842 zoom_start <- (provirus_start / contig_length) * 100
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
843 zoom_end <- (provirus_end / contig_length) * 100
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
844
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
845 log_debug(paste("Zoom start:", zoom_start))
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
846 log_debug(paste("Zoom end:", zoom_end))
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
847
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
848 log_debug("Initializing circos")
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
849 circos.initialize(factors = c("Zoom", "Main"), xlim = c(0, 100))
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
850
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
851 format_genome_labels <- function(x) {
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
852 ifelse(x >= 1e6, paste0(round(x / 1e6, 2), " Mb"),
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
853 ifelse(x >= 1e3, paste0(round(x / 1e3, 2), " Kb"),
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
854 paste0(x, " bp")))
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
855 }
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
856
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
857 log_debug("Adding link")
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
858 tryCatch({
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
859 circos.link("Main", c(zoom_start, zoom_end), "Zoom", c(0, 100),
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
860 rou1 = 0.8,
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
861 rou2 = 0.97,
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
862 h.ratio = 0.55, # width?
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
863 lty = 2,
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
864 lwd = 0.5,
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
865 h2 = 1,
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
866 col = "grey99", border = "grey80")
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
867 }, error = function(e) {
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
868 log_debug(paste("Error in circos.link:", e$message))
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
869 })
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
870
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
871 log_debug("Adding zoom track")
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
872 circos.track(factors = "Zoom", ylim = c(0, 1), track.height = 0.15,
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
873 panel.fun = function(x, y) {
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
874 circos.rect(0, 0, 100, 1, col = zoom_color, border = NA)
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
875 axis_labels <- seq(0, virus_length, length.out = 6)
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
876 axis_positions <- seq(0, 100, length.out = 6)
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
877 circos.axis(h = "top", major.at = axis_positions,
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
878 labels = format_genome_labels(axis_labels),
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
879 labels.cex = 0.7, direction = "outside")
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
880
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
881 for (i in 1:nrow(current_annotations)) {
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
882 gene_start <- current_annotations$start[i]
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
883 gene_end <- current_annotations$end[i]
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
884 arrow_start <- (gene_start - provirus_start) / virus_length * 100
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
885 arrow_end <- (gene_end - provirus_start) / virus_length * 100
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
886
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
887 circos.arrow(arrow_start, arrow_end, y1 = 0, y2 = 1,
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
888 arrow.head.width = 0.75, arrow.head.length = cm_x(0.1),
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
889 arrow.position = current_annotations$arrow_pos[i],
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
890 col = ifelse(is.na(current_annotations$annotation_description[i]), "grey", "#7fbfff"),
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
891 border = ifelse(is.na(current_annotations$annotation_description[i]), "grey20", "darkblue"))
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
892 }
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
893 }, bg.border = NA)
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
894
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
895 log_debug("Adding main track")
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
896 circos.track(factors = "Main", ylim = c(0, 1), track.height = 0.1,
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
897 panel.fun = function(x, y) {
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
898 circos.rect(xleft = 0, ybottom = 0, xright = 100, ytop = 1, col = main_color, border = NA)
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
899
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
900 for (i in 1:nrow(contig_viruses)) {
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
901 virus_start <- as.numeric(sub(".*provirus_(\\d+)_\\d+", "\\1", contig_viruses$seq_name[i]))
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
902 virus_end <- as.numeric(sub(".*provirus_\\d+_(\\d+)", "\\1", contig_viruses$seq_name[i]))
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
903
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
904 virus_start_percent <- (virus_start / contig_length) * 100
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
905 virus_end_percent <- (virus_end / contig_length) * 100
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
906
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
907 rect_color <- if (contig_viruses$seq_name[i] == virus$seq_name) zoom_color else adjustcolor(zoom_color, alpha.f = 0.7)
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
908
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
909 circos.rect(xleft = virus_start_percent, ybottom = 0,
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
910 xright = virus_end_percent, ytop = 1,
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
911 col = rect_color, border = NA)
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
912 }
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
913
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
914 axis_labels <- seq(0, contig_length, length.out = 6)
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
915 axis_positions <- seq(0, 100, length.out = 6)
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
916 circos.axis(h = "top", major.at = axis_positions,
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
917 labels = format_genome_labels(axis_labels),
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
918 labels.cex = 0.7, direction = "outside")
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
919 }, bg.border = NA)
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
920
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
921 log_debug("Locating phage positions")
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
922 phage_positions <- sapply(1:nrow(contig_viruses), function(i) {
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
923 virus_start <- as.numeric(sub(".*provirus_(\\d+)_\\d+", "\\1", contig_viruses$seq_name[i]))
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
924 virus_end <- as.numeric(sub(".*provirus_\\d+_(\\d+)", "\\1", contig_viruses$seq_name[i]))
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
925 ((virus_start + virus_end) / 2 / contig_length) * 100
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
926 })
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
927
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
928 log_debug("Annotating names on phage positions")
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
929
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
930 # Extract start and end positions from sequence names
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
931 start_positions <- as.numeric(sub(".*provirus_([0-9]+)_.*", "\\1", contig_viruses$seq_name))
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
932 end_positions <- as.numeric(sub(".*provirus_[0-9]+_([0-9]+)", "\\1", contig_viruses$seq_name))
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
933
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
934 # Create phage labels with the desired format
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
935 phage_labels <- paste0(round(contig_viruses$length / 1e3, 2), " Kb")
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
936
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
937 # Apply labels to circos plot
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
938 circos.labels(
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
939 sectors = "Main",
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
940 x = phage_positions,
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
941 labels = phage_labels,
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
942 facing = "reverse.clockwise",
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
943 niceFacing = TRUE,
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
944 col = "black",
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
945 cex = 0.6,
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
946 side = "inside",
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
947 connection_height = 0.02,
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
948 line_col = "gray"
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
949 )
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
950
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
951 center_x <- 50
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
952 virus_name <- virus$seq_name
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
953 taxonomy <- virus$taxonomy
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
954
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
955 log_debug("Adding taxonomy and virus name to the plot")
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
956 circos.text(x = center_x, y = -0.2, labels = taxonomy,
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
957 sector.index = "Zoom", track.index = 1,
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
958 facing = "bending.inside", niceFacing = TRUE,
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
959 adj = c(0.5, 0.7), cex = 0.8)
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
960
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
961 checkv_info <- checkv_data[checkv_data$contig_id == virus$seq_name, ]
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
962 if (nrow(checkv_info) > 0) {
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
963 checkv_quality <- checkv_info$checkv_quality
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
964 gene_count <- checkv_info$gene_count
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
965 viral_genes <- checkv_info$viral_genes
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
966 host_genes <- checkv_info$host_genes
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
967 miuvig_quality <- checkv_info$miuvig_quality
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
968 completeness <- checkv_info$completeness
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
969 completeness_method <- checkv_info$completeness_method
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
970 contamination <- checkv_info$contamination
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
971
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
972 circos.text(
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
973 x = center_x, y = -0.5,
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
974 labels = paste("CheckV Quality:", checkv_quality, " - miuvig Quality:", miuvig_quality),
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
975 sector.index = "Zoom", track.index = 2,
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
976 facing = "bending.inside", niceFacing = TRUE,
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
977 adj = c(0.5, 0), cex = 0.7
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
978 )
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
979
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
980 circos.text(
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
981 x = center_x, y = -1.5,
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
982 labels = paste("Gene Count:", gene_count, " - Viral Genes:", viral_genes, " - Host Genes:", host_genes),
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
983 sector.index = "Zoom", track.index = 2,
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
984 facing = "bending.inside", niceFacing = TRUE,
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
985 adj = c(0.5, 0), cex = 0.7
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
986 )
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
987
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
988 circos.text(
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
989 x = center_x, y = -2.5,
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
990 labels = paste("Completeness:", completeness, " - Contamination:", contamination),
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
991 sector.index = "Zoom", track.index = 2,
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
992 facing = "bending.inside", niceFacing = TRUE,
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
993 adj = c(0.5, 0), cex = 0.7
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
994 )
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
995 }
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
996
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
997 log_debug("Adding legend")
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
998 # Add legend
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
999 legend("topright",
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
1000 legend = c("Annotated gene", "Unknown gene"),
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
1001 fill = c("#7fbfff", "grey"),
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
1002 border = c("darkblue", "grey20"),
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
1003 cex = 0.8,
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
1004 bty = "n")
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
1005
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
1006 log_debug("Clearing circos")
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
1007 circos.clear()
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
1008 log_debug("Finished plot_phage_circos function successfully")
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
1009 }, error = function(e) {
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
1010 log_debug(paste("Error in plot_phage_circos:", e$message))
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
1011 circos.clear()
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
1012 })
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
1013 }
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
1014
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
1015 plot_drep <- function(sample, genomad_summary) {
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
1016 drep_file_path <- file.path(params$outdir, "virus_analyses", "drep_compare", sample, "data_tables", "Cdb.csv")
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
1017 drep_data <- read_csv(drep_file_path) %>% clean_names()
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
1018 drep_data <- cbind(genomad_summary$seq_name, drep_data)
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
1019
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
1020 cat("When more than 1 phage is detected in the host genome, we perform a clustering step using the tool dRep.\n\n")
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
1021 cat("A threshold of 0.95 was applied to the ANI similarity index to define clusters of virus operational taxonomic units (vOTUs).")
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
1022
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
1023 cat("\n\n**Final cluster designations**\n\n")
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
1024 drep_data %>%
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
1025 kbl() %>%
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
1026 kable_styling(bootstrap_options = c("striped", "hover", "condensed", "responsive")) %>%
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
1027 kable_paper("striped", full_width = TRUE) %>%
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
1028 cat()
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
1029
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
1030 # Insert the PDF plot
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
1031 plot_path <- file.path(params$outdir, "virus_analyses", "drep_compare", sample, "figures", "Primary_clustering_dendrogram.pdf")
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
1032 png_path <- file.path(params$outdir, "virus_analyses", "drep_compare", sample, "figures", "Primary_clustering_dendrogram.png")
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
1033
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
1034 if (file.exists(plot_path)) {
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
1035 pdftools::pdf_convert(plot_path, format = "png", filenames = png_path, verbose = FALSE, dpi=150)
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
1036 base64_str <- base64enc::dataURI(file = png_path, mime = "image/png")
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
1037 cat("**Primary clustering plot**\n\n")
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
1038 cat(sprintf(
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
1039 '<div style="text-align: center;"><img src="%s" style="max-width: 100%%; height: auto; border:1px solid #ddd; border-radius:4px; box-shadow: 0 2px 5px rgba(0,0,0,0.1); margin: 1em 0;"></div>',base64_str
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
1040 ))
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
1041 } else {
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
1042 cat("**No dRep clustering plot found.**\n\n")
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
1043 }
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
1044
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
1045 }
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
1046
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
1047 subset_and_update_ideogram <- function(ideogram, contigs) {
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
1048 filtered <- ideogram[seqnames(ideogram) %in% contigs]
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
1049 seqlevels(filtered) <- contigs
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
1050 seqinfo(filtered) <- seqinfo(filtered)[contigs]
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
1051 filtered
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
1052 }
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
1053
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
1054 render_all_samples <- function(test_mode = FALSE) {
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
1055 if (test_mode) {
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
1056 if (nrow(combined_unique) > 0) {
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
1057 cat("**Select sample to show:** \n\n\n")
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
1058 current_sample <- combined_unique$Sample[6]
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
1059 process_sample(current_sample, combined_unique, host_genomes_paths, genome_data)
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
1060 } else {
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
1061 print("No samples can be further analysed.")
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
1062 }
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
1063 } else {
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
1064 cat("**Select sample to show:** \n\n\n")
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
1065 for (i in seq_len(nrow(combined_unique))) {
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
1066 current_sample <- combined_unique$Sample[i]
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
1067 process_sample(current_sample, combined_unique, host_genomes_paths, genome_data)
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
1068 }
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
1069 }
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
1070 }
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
1071
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
1072 # Execute the main function
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
1073 # Test mode processes one sample only
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
1074 render_all_samples(test_mode = F)
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
1075 ```
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
1076
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
1077 # Citation
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
1078
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
1079 Cite this work: XXXXX
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
1080
315c2ed31af1 planemo upload for repository https://github.com/Helmholtz-UFZ/ufz-galaxy-tools/blob/main/tools/phi-toolkit commit 45c746567f48e6c9bcc19ba4e94e87348df3ac7a
ufz
parents:
diff changeset
1081