annotate decontam.xml @ 1:e64a5fc0af6e draft

planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/decontam commit 33bc2badb2a878bda5a40587d0b853a32253b8f2
author iuc
date Wed, 23 Oct 2024 13:18:52 +0000
parents 86da5c894956
children 871214ac722e
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
86da5c894956 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/decontam commit 9e0ce6d02ee71d5b974ef615b1c5286bc45d8e6b
iuc
parents:
diff changeset
1 <tool id="decontam" name="Decontam" version="@TOOL_VERSION@+galaxy@VERSION_SUFFIX@" profile="@PROFILE@">
86da5c894956 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/decontam commit 9e0ce6d02ee71d5b974ef615b1c5286bc45d8e6b
iuc
parents:
diff changeset
2 <macros>
86da5c894956 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/decontam commit 9e0ce6d02ee71d5b974ef615b1c5286bc45d8e6b
iuc
parents:
diff changeset
3 <import>macros.xml</import>
86da5c894956 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/decontam commit 9e0ce6d02ee71d5b974ef615b1c5286bc45d8e6b
iuc
parents:
diff changeset
4 </macros>
86da5c894956 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/decontam commit 9e0ce6d02ee71d5b974ef615b1c5286bc45d8e6b
iuc
parents:
diff changeset
5 <expand macro="bio_tools"/>
86da5c894956 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/decontam commit 9e0ce6d02ee71d5b974ef615b1c5286bc45d8e6b
iuc
parents:
diff changeset
6 <expand macro="requirements"/>
86da5c894956 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/decontam commit 9e0ce6d02ee71d5b974ef615b1c5286bc45d8e6b
iuc
parents:
diff changeset
7 <command detect_errors="exit_code"><![CDATA[
86da5c894956 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/decontam commit 9e0ce6d02ee71d5b974ef615b1c5286bc45d8e6b
iuc
parents:
diff changeset
8 Rscript '$rscript'
86da5c894956 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/decontam commit 9e0ce6d02ee71d5b974ef615b1c5286bc45d8e6b
iuc
parents:
diff changeset
9 ]]></command>
86da5c894956 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/decontam commit 9e0ce6d02ee71d5b974ef615b1c5286bc45d8e6b
iuc
parents:
diff changeset
10 <configfiles>
86da5c894956 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/decontam commit 9e0ce6d02ee71d5b974ef615b1c5286bc45d8e6b
iuc
parents:
diff changeset
11 <configfile name="rscript"><![CDATA[
86da5c894956 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/decontam commit 9e0ce6d02ee71d5b974ef615b1c5286bc45d8e6b
iuc
parents:
diff changeset
12 library(tidyverse)
86da5c894956 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/decontam commit 9e0ce6d02ee71d5b974ef615b1c5286bc45d8e6b
iuc
parents:
diff changeset
13 library(phyloseq)
86da5c894956 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/decontam commit 9e0ce6d02ee71d5b974ef615b1c5286bc45d8e6b
iuc
parents:
diff changeset
14 library(ggplot2)
86da5c894956 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/decontam commit 9e0ce6d02ee71d5b974ef615b1c5286bc45d8e6b
iuc
parents:
diff changeset
15 library(decontam)
86da5c894956 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/decontam commit 9e0ce6d02ee71d5b974ef615b1c5286bc45d8e6b
iuc
parents:
diff changeset
16
86da5c894956 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/decontam commit 9e0ce6d02ee71d5b974ef615b1c5286bc45d8e6b
iuc
parents:
diff changeset
17 #if $input_type.select_input == 'phyloseq':
86da5c894956 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/decontam commit 9e0ce6d02ee71d5b974ef615b1c5286bc45d8e6b
iuc
parents:
diff changeset
18 ps <- readRDS("$input_type.phyloseq_object")
86da5c894956 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/decontam commit 9e0ce6d02ee71d5b974ef615b1c5286bc45d8e6b
iuc
parents:
diff changeset
19 sample_data(ps)\$control <- as.logical(sample_data(ps)[["$input_type.control_metadata"]])
86da5c894956 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/decontam commit 9e0ce6d02ee71d5b974ef615b1c5286bc45d8e6b
iuc
parents:
diff changeset
20 #else
86da5c894956 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/decontam commit 9e0ce6d02ee71d5b974ef615b1c5286bc45d8e6b
iuc
parents:
diff changeset
21 ## get OTU table (first column is the OTU/ASV ID)
86da5c894956 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/decontam commit 9e0ce6d02ee71d5b974ef615b1c5286bc45d8e6b
iuc
parents:
diff changeset
22 otu <- read_tsv("$input_type.otu")
86da5c894956 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/decontam commit 9e0ce6d02ee71d5b974ef615b1c5286bc45d8e6b
iuc
parents:
diff changeset
23 otu2 <- otu %>% tibble::column_to_rownames(colnames(otu)[1]) #use first column as rownames
86da5c894956 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/decontam commit 9e0ce6d02ee71d5b974ef615b1c5286bc45d8e6b
iuc
parents:
diff changeset
24 OTU <- otu_table(otu2, taxa_are_rows = FALSE)
86da5c894956 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/decontam commit 9e0ce6d02ee71d5b974ef615b1c5286bc45d8e6b
iuc
parents:
diff changeset
25
86da5c894956 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/decontam commit 9e0ce6d02ee71d5b974ef615b1c5286bc45d8e6b
iuc
parents:
diff changeset
26 ## get metadata table must have matching OTU/ASV ID in first column
86da5c894956 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/decontam commit 9e0ce6d02ee71d5b974ef615b1c5286bc45d8e6b
iuc
parents:
diff changeset
27 meta <- read_tsv("$input_type.metadata")
86da5c894956 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/decontam commit 9e0ce6d02ee71d5b974ef615b1c5286bc45d8e6b
iuc
parents:
diff changeset
28 meta2 <- meta %>% tibble::column_to_rownames(colnames(meta)[1]) #use first column as rownames
86da5c894956 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/decontam commit 9e0ce6d02ee71d5b974ef615b1c5286bc45d8e6b
iuc
parents:
diff changeset
29
86da5c894956 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/decontam commit 9e0ce6d02ee71d5b974ef615b1c5286bc45d8e6b
iuc
parents:
diff changeset
30 control_column = as.integer("$input_type.control") - 1 ##remove one index since the dataframe uses the first column as index
86da5c894956 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/decontam commit 9e0ce6d02ee71d5b974ef615b1c5286bc45d8e6b
iuc
parents:
diff changeset
31
86da5c894956 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/decontam commit 9e0ce6d02ee71d5b974ef615b1c5286bc45d8e6b
iuc
parents:
diff changeset
32 ## convert 0/1 to bool for the control column and store in control column
86da5c894956 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/decontam commit 9e0ce6d02ee71d5b974ef615b1c5286bc45d8e6b
iuc
parents:
diff changeset
33 meta2\$control <- as.logical(meta2[[control_column]])
86da5c894956 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/decontam commit 9e0ce6d02ee71d5b974ef615b1c5286bc45d8e6b
iuc
parents:
diff changeset
34 sampledata <- sample_data(meta2)
86da5c894956 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/decontam commit 9e0ce6d02ee71d5b974ef615b1c5286bc45d8e6b
iuc
parents:
diff changeset
35
86da5c894956 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/decontam commit 9e0ce6d02ee71d5b974ef615b1c5286bc45d8e6b
iuc
parents:
diff changeset
36 ps <- phyloseq(OTU, FALSE, sampledata)
86da5c894956 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/decontam commit 9e0ce6d02ee71d5b974ef615b1c5286bc45d8e6b
iuc
parents:
diff changeset
37
86da5c894956 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/decontam commit 9e0ce6d02ee71d5b974ef615b1c5286bc45d8e6b
iuc
parents:
diff changeset
38 #end if
86da5c894956 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/decontam commit 9e0ce6d02ee71d5b974ef615b1c5286bc45d8e6b
iuc
parents:
diff changeset
39
86da5c894956 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/decontam commit 9e0ce6d02ee71d5b974ef615b1c5286bc45d8e6b
iuc
parents:
diff changeset
40 ## plot library_size_vs_control
86da5c894956 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/decontam commit 9e0ce6d02ee71d5b974ef615b1c5286bc45d8e6b
iuc
parents:
diff changeset
41 df <- as.data.frame(sample_data(ps)) # Put sample_data into a ggplot-friendly data.frame
86da5c894956 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/decontam commit 9e0ce6d02ee71d5b974ef615b1c5286bc45d8e6b
iuc
parents:
diff changeset
42 df\$LibrarySize <- sample_sums(ps)
86da5c894956 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/decontam commit 9e0ce6d02ee71d5b974ef615b1c5286bc45d8e6b
iuc
parents:
diff changeset
43 df <- df[order(df\$LibrarySize),]
86da5c894956 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/decontam commit 9e0ce6d02ee71d5b974ef615b1c5286bc45d8e6b
iuc
parents:
diff changeset
44 df\$Index <- seq(nrow(df))
86da5c894956 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/decontam commit 9e0ce6d02ee71d5b974ef615b1c5286bc45d8e6b
iuc
parents:
diff changeset
45 ggplot(data=df, aes(x=Index, y=LibrarySize, color=control)) + geom_point()
86da5c894956 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/decontam commit 9e0ce6d02ee71d5b974ef615b1c5286bc45d8e6b
iuc
parents:
diff changeset
46 ggsave("$library_size_vs_control", device = "png", width = 10, height = 8, units = "cm")
86da5c894956 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/decontam commit 9e0ce6d02ee71d5b974ef615b1c5286bc45d8e6b
iuc
parents:
diff changeset
47
86da5c894956 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/decontam commit 9e0ce6d02ee71d5b974ef615b1c5286bc45d8e6b
iuc
parents:
diff changeset
48 ## plot prevalence
86da5c894956 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/decontam commit 9e0ce6d02ee71d5b974ef615b1c5286bc45d8e6b
iuc
parents:
diff changeset
49 contamdf.prev <- isContaminant(ps, method="prevalence", neg="control", threshold=$threshold)
86da5c894956 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/decontam commit 9e0ce6d02ee71d5b974ef615b1c5286bc45d8e6b
iuc
parents:
diff changeset
50 table(contamdf.prev\$contaminant)
86da5c894956 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/decontam commit 9e0ce6d02ee71d5b974ef615b1c5286bc45d8e6b
iuc
parents:
diff changeset
51
86da5c894956 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/decontam commit 9e0ce6d02ee71d5b974ef615b1c5286bc45d8e6b
iuc
parents:
diff changeset
52 ps.pa <- transform_sample_counts(ps, function(abund) 1*(abund>0))
86da5c894956 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/decontam commit 9e0ce6d02ee71d5b974ef615b1c5286bc45d8e6b
iuc
parents:
diff changeset
53 ps.pa.neg <- prune_samples(sample_data(ps.pa)\$control == TRUE, ps.pa)
86da5c894956 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/decontam commit 9e0ce6d02ee71d5b974ef615b1c5286bc45d8e6b
iuc
parents:
diff changeset
54 ps.pa.pos <- prune_samples(sample_data(ps.pa)\$control == FALSE, ps.pa)
86da5c894956 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/decontam commit 9e0ce6d02ee71d5b974ef615b1c5286bc45d8e6b
iuc
parents:
diff changeset
55
86da5c894956 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/decontam commit 9e0ce6d02ee71d5b974ef615b1c5286bc45d8e6b
iuc
parents:
diff changeset
56 ## Make data.frame of prevalence in positive and negative samples
86da5c894956 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/decontam commit 9e0ce6d02ee71d5b974ef615b1c5286bc45d8e6b
iuc
parents:
diff changeset
57 df.pa <- data.frame(pa.pos=taxa_sums(ps.pa.pos), pa.neg=taxa_sums(ps.pa.neg),
86da5c894956 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/decontam commit 9e0ce6d02ee71d5b974ef615b1c5286bc45d8e6b
iuc
parents:
diff changeset
58 contaminant=contamdf.prev\$contaminant)
86da5c894956 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/decontam commit 9e0ce6d02ee71d5b974ef615b1c5286bc45d8e6b
iuc
parents:
diff changeset
59 ggplot(data=df.pa, aes(x=pa.neg, y=pa.pos, color=contaminant)) + geom_point() +
86da5c894956 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/decontam commit 9e0ce6d02ee71d5b974ef615b1c5286bc45d8e6b
iuc
parents:
diff changeset
60 xlab("Prevalence (Negative Controls)") + ylab("Prevalence (True Samples)")
86da5c894956 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/decontam commit 9e0ce6d02ee71d5b974ef615b1c5286bc45d8e6b
iuc
parents:
diff changeset
61 ggsave("$prevalence", device = "png", width = 10, height = 8, units = "cm")
86da5c894956 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/decontam commit 9e0ce6d02ee71d5b974ef615b1c5286bc45d8e6b
iuc
parents:
diff changeset
62
86da5c894956 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/decontam commit 9e0ce6d02ee71d5b974ef615b1c5286bc45d8e6b
iuc
parents:
diff changeset
63 ## remove contamination features from original data
86da5c894956 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/decontam commit 9e0ce6d02ee71d5b974ef615b1c5286bc45d8e6b
iuc
parents:
diff changeset
64 #if $input_type.select_input == 'phyloseq':
86da5c894956 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/decontam commit 9e0ce6d02ee71d5b974ef615b1c5286bc45d8e6b
iuc
parents:
diff changeset
65 id_name <- "SampleID"
86da5c894956 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/decontam commit 9e0ce6d02ee71d5b974ef615b1c5286bc45d8e6b
iuc
parents:
diff changeset
66 #else
86da5c894956 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/decontam commit 9e0ce6d02ee71d5b974ef615b1c5286bc45d8e6b
iuc
parents:
diff changeset
67 id_name <- colnames(otu)[1] ## we use the same name for the ID column as the OTU input
86da5c894956 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/decontam commit 9e0ce6d02ee71d5b974ef615b1c5286bc45d8e6b
iuc
parents:
diff changeset
68 #end if
86da5c894956 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/decontam commit 9e0ce6d02ee71d5b974ef615b1c5286bc45d8e6b
iuc
parents:
diff changeset
69
86da5c894956 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/decontam commit 9e0ce6d02ee71d5b974ef615b1c5286bc45d8e6b
iuc
parents:
diff changeset
70 ps.noncontam <- prune_taxa(!contamdf.prev\$contaminant, ps)
86da5c894956 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/decontam commit 9e0ce6d02ee71d5b974ef615b1c5286bc45d8e6b
iuc
parents:
diff changeset
71
86da5c894956 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/decontam commit 9e0ce6d02ee71d5b974ef615b1c5286bc45d8e6b
iuc
parents:
diff changeset
72 otu_table(ps.noncontam) %>%
86da5c894956 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/decontam commit 9e0ce6d02ee71d5b974ef615b1c5286bc45d8e6b
iuc
parents:
diff changeset
73 as.data.frame() %>%
86da5c894956 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/decontam commit 9e0ce6d02ee71d5b974ef615b1c5286bc45d8e6b
iuc
parents:
diff changeset
74 rownames_to_column(id_name) -> otu
86da5c894956 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/decontam commit 9e0ce6d02ee71d5b974ef615b1c5286bc45d8e6b
iuc
parents:
diff changeset
75
86da5c894956 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/decontam commit 9e0ce6d02ee71d5b974ef615b1c5286bc45d8e6b
iuc
parents:
diff changeset
76 write.table(otu,
86da5c894956 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/decontam commit 9e0ce6d02ee71d5b974ef615b1c5286bc45d8e6b
iuc
parents:
diff changeset
77 file="$decontam_otu",
86da5c894956 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/decontam commit 9e0ce6d02ee71d5b974ef615b1c5286bc45d8e6b
iuc
parents:
diff changeset
78 sep = "\t",
86da5c894956 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/decontam commit 9e0ce6d02ee71d5b974ef615b1c5286bc45d8e6b
iuc
parents:
diff changeset
79 row.names=FALSE,
86da5c894956 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/decontam commit 9e0ce6d02ee71d5b974ef615b1c5286bc45d8e6b
iuc
parents:
diff changeset
80 quote = FALSE)
86da5c894956 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/decontam commit 9e0ce6d02ee71d5b974ef615b1c5286bc45d8e6b
iuc
parents:
diff changeset
81
86da5c894956 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/decontam commit 9e0ce6d02ee71d5b974ef615b1c5286bc45d8e6b
iuc
parents:
diff changeset
82 saveRDS(ps.noncontam, "$decontam_phyloseq")
86da5c894956 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/decontam commit 9e0ce6d02ee71d5b974ef615b1c5286bc45d8e6b
iuc
parents:
diff changeset
83
86da5c894956 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/decontam commit 9e0ce6d02ee71d5b974ef615b1c5286bc45d8e6b
iuc
parents:
diff changeset
84 ]]></configfile>
86da5c894956 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/decontam commit 9e0ce6d02ee71d5b974ef615b1c5286bc45d8e6b
iuc
parents:
diff changeset
85 </configfiles>
86da5c894956 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/decontam commit 9e0ce6d02ee71d5b974ef615b1c5286bc45d8e6b
iuc
parents:
diff changeset
86 <inputs>
86da5c894956 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/decontam commit 9e0ce6d02ee71d5b974ef615b1c5286bc45d8e6b
iuc
parents:
diff changeset
87 <conditional name="input_type">
86da5c894956 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/decontam commit 9e0ce6d02ee71d5b974ef615b1c5286bc45d8e6b
iuc
parents:
diff changeset
88 <param name="select_input" type="select" label="Phyloseq or Feature table input" help="This tool can work with phyloseq objects or feature table inputs.">
86da5c894956 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/decontam commit 9e0ce6d02ee71d5b974ef615b1c5286bc45d8e6b
iuc
parents:
diff changeset
89 <option value="phyloseq">Phyloseq</option>
86da5c894956 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/decontam commit 9e0ce6d02ee71d5b974ef615b1c5286bc45d8e6b
iuc
parents:
diff changeset
90 <option value="feature_table">Feature table</option>
86da5c894956 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/decontam commit 9e0ce6d02ee71d5b974ef615b1c5286bc45d8e6b
iuc
parents:
diff changeset
91 </param>
86da5c894956 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/decontam commit 9e0ce6d02ee71d5b974ef615b1c5286bc45d8e6b
iuc
parents:
diff changeset
92 <when value="phyloseq">
86da5c894956 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/decontam commit 9e0ce6d02ee71d5b974ef615b1c5286bc45d8e6b
iuc
parents:
diff changeset
93 <param name="phyloseq_object" type="data" format="phyloseq" label="Phyloseq object"/>
86da5c894956 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/decontam commit 9e0ce6d02ee71d5b974ef615b1c5286bc45d8e6b
iuc
parents:
diff changeset
94 <param name="control_metadata" type="text" label="Control column" help="Column in the phyloseq metadata specifying weather a sample is a negative control (0 for normal samples / 1 for control)"/>
86da5c894956 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/decontam commit 9e0ce6d02ee71d5b974ef615b1c5286bc45d8e6b
iuc
parents:
diff changeset
95 </when>
86da5c894956 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/decontam commit 9e0ce6d02ee71d5b974ef615b1c5286bc45d8e6b
iuc
parents:
diff changeset
96 <when value="feature_table">
86da5c894956 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/decontam commit 9e0ce6d02ee71d5b974ef615b1c5286bc45d8e6b
iuc
parents:
diff changeset
97 <param name="otu" type="data" format="tabular" label="Feature table" help="OTU/ASV or other feature table. The first column must have corresponding IDs to the metadata table."/>
86da5c894956 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/decontam commit 9e0ce6d02ee71d5b974ef615b1c5286bc45d8e6b
iuc
parents:
diff changeset
98 <param name="metadata" type="data" format="tabular" label="Metadata" help="Metadata that contains a column specifying weather a samples is a negativ control (0 for normal samples / 1 for control). The first column must have corresponding IDs to the feature table."/>
86da5c894956 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/decontam commit 9e0ce6d02ee71d5b974ef615b1c5286bc45d8e6b
iuc
parents:
diff changeset
99 <param name="control" type="data_column" data_ref="metadata" use_header_names="true" multiple="false" optional="false" label="Control column" help="Column specifying weather a sample is a negative control (0 for normal samples / 1 for control)."/>
86da5c894956 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/decontam commit 9e0ce6d02ee71d5b974ef615b1c5286bc45d8e6b
iuc
parents:
diff changeset
100 </when>
86da5c894956 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/decontam commit 9e0ce6d02ee71d5b974ef615b1c5286bc45d8e6b
iuc
parents:
diff changeset
101 </conditional>
86da5c894956 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/decontam commit 9e0ce6d02ee71d5b974ef615b1c5286bc45d8e6b
iuc
parents:
diff changeset
102 <param name="threshold" type="float" label="Threshold to detect a contaminant" value="0.1" min="0" max="1" help="Probability of the feature to be a decontaminant in the statistical test being performed." />
86da5c894956 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/decontam commit 9e0ce6d02ee71d5b974ef615b1c5286bc45d8e6b
iuc
parents:
diff changeset
103 </inputs>
86da5c894956 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/decontam commit 9e0ce6d02ee71d5b974ef615b1c5286bc45d8e6b
iuc
parents:
diff changeset
104 <outputs>
86da5c894956 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/decontam commit 9e0ce6d02ee71d5b974ef615b1c5286bc45d8e6b
iuc
parents:
diff changeset
105 <data name="library_size_vs_control" format="png" label="${tool.name} on ${on_string}: Library Size vs Control Plot"/>
86da5c894956 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/decontam commit 9e0ce6d02ee71d5b974ef615b1c5286bc45d8e6b
iuc
parents:
diff changeset
106 <data name="prevalence" format="png" label="${tool.name} on ${on_string}: Prevalence Plot"/>
86da5c894956 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/decontam commit 9e0ce6d02ee71d5b974ef615b1c5286bc45d8e6b
iuc
parents:
diff changeset
107 <data name="decontam_otu" format="tabular" label="${tool.name} on ${on_string}: Removed Contaminants - Feature Table"/>
86da5c894956 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/decontam commit 9e0ce6d02ee71d5b974ef615b1c5286bc45d8e6b
iuc
parents:
diff changeset
108 <data name="decontam_phyloseq" format="phyloseq" label="${tool.name} on ${on_string}: Removed Contaminants - Phyloseq Object"/>
86da5c894956 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/decontam commit 9e0ce6d02ee71d5b974ef615b1c5286bc45d8e6b
iuc
parents:
diff changeset
109 </outputs>
86da5c894956 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/decontam commit 9e0ce6d02ee71d5b974ef615b1c5286bc45d8e6b
iuc
parents:
diff changeset
110 <tests>
86da5c894956 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/decontam commit 9e0ce6d02ee71d5b974ef615b1c5286bc45d8e6b
iuc
parents:
diff changeset
111 <test>
86da5c894956 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/decontam commit 9e0ce6d02ee71d5b974ef615b1c5286bc45d8e6b
iuc
parents:
diff changeset
112 <conditional name="input_type">
86da5c894956 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/decontam commit 9e0ce6d02ee71d5b974ef615b1c5286bc45d8e6b
iuc
parents:
diff changeset
113 <param name="select_input" value="phyloseq"/>
86da5c894956 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/decontam commit 9e0ce6d02ee71d5b974ef615b1c5286bc45d8e6b
iuc
parents:
diff changeset
114 <param name="phyloseq_object" value="phyloseq_input.rds"/>
86da5c894956 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/decontam commit 9e0ce6d02ee71d5b974ef615b1c5286bc45d8e6b
iuc
parents:
diff changeset
115 <param name="control_metadata" value="control"/>
86da5c894956 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/decontam commit 9e0ce6d02ee71d5b974ef615b1c5286bc45d8e6b
iuc
parents:
diff changeset
116 </conditional>
86da5c894956 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/decontam commit 9e0ce6d02ee71d5b974ef615b1c5286bc45d8e6b
iuc
parents:
diff changeset
117 <param name="threshold" value="0.5"/>
86da5c894956 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/decontam commit 9e0ce6d02ee71d5b974ef615b1c5286bc45d8e6b
iuc
parents:
diff changeset
118 <output name="decontam_phyloseq" file="phyloseq_output.rds" ftype="phyloseq"/>
86da5c894956 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/decontam commit 9e0ce6d02ee71d5b974ef615b1c5286bc45d8e6b
iuc
parents:
diff changeset
119 <output name="decontam_otu" file="otu_output.tsv" ftype="tabular"/>
86da5c894956 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/decontam commit 9e0ce6d02ee71d5b974ef615b1c5286bc45d8e6b
iuc
parents:
diff changeset
120 <output name="prevalence" file="Prevalence_Plot.png" ftype="png"/>
86da5c894956 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/decontam commit 9e0ce6d02ee71d5b974ef615b1c5286bc45d8e6b
iuc
parents:
diff changeset
121 <output name="library_size_vs_control" file="Library_Size_vs_Control_Plot.png" ftype="png"/>
86da5c894956 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/decontam commit 9e0ce6d02ee71d5b974ef615b1c5286bc45d8e6b
iuc
parents:
diff changeset
122 </test>
86da5c894956 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/decontam commit 9e0ce6d02ee71d5b974ef615b1c5286bc45d8e6b
iuc
parents:
diff changeset
123 <test>
86da5c894956 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/decontam commit 9e0ce6d02ee71d5b974ef615b1c5286bc45d8e6b
iuc
parents:
diff changeset
124 <conditional name="input_type">
86da5c894956 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/decontam commit 9e0ce6d02ee71d5b974ef615b1c5286bc45d8e6b
iuc
parents:
diff changeset
125 <param name="select_input" value="feature_table"/>
86da5c894956 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/decontam commit 9e0ce6d02ee71d5b974ef615b1c5286bc45d8e6b
iuc
parents:
diff changeset
126 <param name="otu" value="otu_input.tsv"/>
86da5c894956 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/decontam commit 9e0ce6d02ee71d5b974ef615b1c5286bc45d8e6b
iuc
parents:
diff changeset
127 <param name="metadata" value="metadata_input.tsv"/>
86da5c894956 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/decontam commit 9e0ce6d02ee71d5b974ef615b1c5286bc45d8e6b
iuc
parents:
diff changeset
128 <!-- using the index of the column -->
86da5c894956 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/decontam commit 9e0ce6d02ee71d5b974ef615b1c5286bc45d8e6b
iuc
parents:
diff changeset
129 <param name="control" value="8"/>
86da5c894956 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/decontam commit 9e0ce6d02ee71d5b974ef615b1c5286bc45d8e6b
iuc
parents:
diff changeset
130 </conditional>
86da5c894956 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/decontam commit 9e0ce6d02ee71d5b974ef615b1c5286bc45d8e6b
iuc
parents:
diff changeset
131 <param name="threshold" value="0.5"/>
86da5c894956 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/decontam commit 9e0ce6d02ee71d5b974ef615b1c5286bc45d8e6b
iuc
parents:
diff changeset
132 <output name="decontam_phyloseq" file="phyloseq_output2.rds" ftype="phyloseq"/>
86da5c894956 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/decontam commit 9e0ce6d02ee71d5b974ef615b1c5286bc45d8e6b
iuc
parents:
diff changeset
133 <output name="decontam_otu" file="otu_output.tsv" ftype="tabular"/>
86da5c894956 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/decontam commit 9e0ce6d02ee71d5b974ef615b1c5286bc45d8e6b
iuc
parents:
diff changeset
134 <output name="prevalence" file="Prevalence_Plot.png" ftype="png"/>
86da5c894956 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/decontam commit 9e0ce6d02ee71d5b974ef615b1c5286bc45d8e6b
iuc
parents:
diff changeset
135 <output name="library_size_vs_control" file="Library_Size_vs_Control_Plot.png" ftype="png"/>
86da5c894956 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/decontam commit 9e0ce6d02ee71d5b974ef615b1c5286bc45d8e6b
iuc
parents:
diff changeset
136 </test>
86da5c894956 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/decontam commit 9e0ce6d02ee71d5b974ef615b1c5286bc45d8e6b
iuc
parents:
diff changeset
137 </tests>
86da5c894956 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/decontam commit 9e0ce6d02ee71d5b974ef615b1c5286bc45d8e6b
iuc
parents:
diff changeset
138 <help><![CDATA[
86da5c894956 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/decontam commit 9e0ce6d02ee71d5b974ef615b1c5286bc45d8e6b
iuc
parents:
diff changeset
139 Simple Statistical Identification of Contaminating Sequence Features in Marker-Gene or Metagenomics Data
86da5c894956 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/decontam commit 9e0ce6d02ee71d5b974ef615b1c5286bc45d8e6b
iuc
parents:
diff changeset
140 ========================================================================================================
86da5c894956 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/decontam commit 9e0ce6d02ee71d5b974ef615b1c5286bc45d8e6b
iuc
parents:
diff changeset
141
86da5c894956 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/decontam commit 9e0ce6d02ee71d5b974ef615b1c5286bc45d8e6b
iuc
parents:
diff changeset
142 This tool identifies contaminating sequence features in marker-gene or
86da5c894956 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/decontam commit 9e0ce6d02ee71d5b974ef615b1c5286bc45d8e6b
iuc
parents:
diff changeset
143 metagenomics datasets. It can be applied to any type of feature derived from
86da5c894956 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/decontam commit 9e0ce6d02ee71d5b974ef615b1c5286bc45d8e6b
iuc
parents:
diff changeset
144 environmental sequencing data (e.g., ASVs, OTUs, taxonomic groups, MAGs,
86da5c894956 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/decontam commit 9e0ce6d02ee71d5b974ef615b1c5286bc45d8e6b
iuc
parents:
diff changeset
145 etc.). The method requires either DNA quantitation data or sequenced negative
86da5c894956 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/decontam commit 9e0ce6d02ee71d5b974ef615b1c5286bc45d8e6b
iuc
parents:
diff changeset
146 control samples.
86da5c894956 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/decontam commit 9e0ce6d02ee71d5b974ef615b1c5286bc45d8e6b
iuc
parents:
diff changeset
147
86da5c894956 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/decontam commit 9e0ce6d02ee71d5b974ef615b1c5286bc45d8e6b
iuc
parents:
diff changeset
148 .. note::
86da5c894956 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/decontam commit 9e0ce6d02ee71d5b974ef615b1c5286bc45d8e6b
iuc
parents:
diff changeset
149
86da5c894956 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/decontam commit 9e0ce6d02ee71d5b974ef615b1c5286bc45d8e6b
iuc
parents:
diff changeset
150 Currently, only the negative control sample method is implemented in this
86da5c894956 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/decontam commit 9e0ce6d02ee71d5b974ef615b1c5286bc45d8e6b
iuc
parents:
diff changeset
151 wrapper.
86da5c894956 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/decontam commit 9e0ce6d02ee71d5b974ef615b1c5286bc45d8e6b
iuc
parents:
diff changeset
152
86da5c894956 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/decontam commit 9e0ce6d02ee71d5b974ef615b1c5286bc45d8e6b
iuc
parents:
diff changeset
153 **Output**
86da5c894956 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/decontam commit 9e0ce6d02ee71d5b974ef615b1c5286bc45d8e6b
iuc
parents:
diff changeset
154
86da5c894956 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/decontam commit 9e0ce6d02ee71d5b974ef615b1c5286bc45d8e6b
iuc
parents:
diff changeset
155 - If a phyloseq object is provided as input, the output will be a phyloseq
86da5c894956 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/decontam commit 9e0ce6d02ee71d5b974ef615b1c5286bc45d8e6b
iuc
parents:
diff changeset
156 object pruned to include only non-contaminant features.
86da5c894956 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/decontam commit 9e0ce6d02ee71d5b974ef615b1c5286bc45d8e6b
iuc
parents:
diff changeset
157 - If only the feature table or metadata is provided, the output will be a
86da5c894956 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/decontam commit 9e0ce6d02ee71d5b974ef615b1c5286bc45d8e6b
iuc
parents:
diff changeset
158 pruned phyloseq object containing only non-contaminant features, without
86da5c894956 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/decontam commit 9e0ce6d02ee71d5b974ef615b1c5286bc45d8e6b
iuc
parents:
diff changeset
159 the TAX table. The output feature table will also be pruned to include only
86da5c894956 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/decontam commit 9e0ce6d02ee71d5b974ef615b1c5286bc45d8e6b
iuc
parents:
diff changeset
160 non-contaminant features.
86da5c894956 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/decontam commit 9e0ce6d02ee71d5b974ef615b1c5286bc45d8e6b
iuc
parents:
diff changeset
161
86da5c894956 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/decontam commit 9e0ce6d02ee71d5b974ef615b1c5286bc45d8e6b
iuc
parents:
diff changeset
162 **Threshold**
86da5c894956 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/decontam commit 9e0ce6d02ee71d5b974ef615b1c5286bc45d8e6b
iuc
parents:
diff changeset
163
86da5c894956 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/decontam commit 9e0ce6d02ee71d5b974ef615b1c5286bc45d8e6b
iuc
parents:
diff changeset
164 The default threshold for identifying a contaminant is a probability of 0.1
86da5c894956 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/decontam commit 9e0ce6d02ee71d5b974ef615b1c5286bc45d8e6b
iuc
parents:
diff changeset
165 in the statistical test being performed.
86da5c894956 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/decontam commit 9e0ce6d02ee71d5b974ef615b1c5286bc45d8e6b
iuc
parents:
diff changeset
166
86da5c894956 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/decontam commit 9e0ce6d02ee71d5b974ef615b1c5286bc45d8e6b
iuc
parents:
diff changeset
167 In the prevalence test, a special threshold value of 0.5 is notable: this
86da5c894956 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/decontam commit 9e0ce6d02ee71d5b974ef615b1c5286bc45d8e6b
iuc
parents:
diff changeset
168 will identify as contaminants any sequences that are more prevalent in
86da5c894956 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/decontam commit 9e0ce6d02ee71d5b974ef615b1c5286bc45d8e6b
iuc
parents:
diff changeset
169 negative controls than in positive samples.
86da5c894956 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/decontam commit 9e0ce6d02ee71d5b974ef615b1c5286bc45d8e6b
iuc
parents:
diff changeset
170 ]]>
86da5c894956 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/decontam commit 9e0ce6d02ee71d5b974ef615b1c5286bc45d8e6b
iuc
parents:
diff changeset
171 </help>
86da5c894956 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/decontam commit 9e0ce6d02ee71d5b974ef615b1c5286bc45d8e6b
iuc
parents:
diff changeset
172 <expand macro="citations"/>
86da5c894956 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/decontam commit 9e0ce6d02ee71d5b974ef615b1c5286bc45d8e6b
iuc
parents:
diff changeset
173 </tool>