changeset 14:5150d641d515 draft default tip

planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/small_rna_signatures commit a54b915a3a245a71ca01ec9de2b5426cfb88504c
author artbio
date Thu, 06 Apr 2023 23:00:54 +0000
parents 124f404b0fe7
children
files signature.r signature.xml test-data/global-limited.pdf test-data/global.pdf
diffstat 4 files changed, 114 insertions(+), 24 deletions(-) [+]
line wrap: on
line diff
--- a/signature.r	Sat Feb 25 09:54:28 2023 +0000
+++ b/signature.r	Thu Apr 06 23:00:54 2023 +0000
@@ -22,7 +22,12 @@
     make_option("--plot_method", type = "character",
                 help = "How  data should be plotted (global or lattice)"),
     make_option("--pdf", type = "character", help = "path to the pdf file with plots"),
-    make_option("--title", type = "character", help = "Graph Title")
+    make_option("--title", type = "character", help = "Graph Title"),
+
+    make_option("--npairs_ylim", type = "integer", default = 0, help = "Maximum of Y-scale of the Numbers-of-pairs plot"),
+    make_option("--npairszscore_ylim", type = "integer", default = 0, help = "Maximum of Y-scale of the Number-of-pairs-Z−scores plot"),
+    make_option("--overlapprob_ylim", type = "integer", default = 0, help = "Maximum of Y-scale of the Overlap-probabilities plot"),
+    make_option("--overlapprobzscore_ylim", type = "integer", default = 0, help = "Maximum of Y-scale of the Overlap-probabilities-Z−scores plot")
     )
 parser <- OptionParser(usage = "%prog [options] file", option_list = option_list)
 args <- parse_args(parser)
@@ -34,28 +39,64 @@
 z_dataframe <- read.delim(args$z_dataframe, header = FALSE)
 colnames(z_dataframe) <- c("chrom", "overlap", "sig", "z-score")
 
+# graph limits parameters
+if (args$npairs_ylim == 0) {
+    npairs_ylim <- NULL
+    } else {
+    npairs_ylim <- c(0, args$npairs_ylim)
+}
+
+if (args$npairszscore_ylim == 0) {
+    npairszscore_ylim <- NULL
+    } else {
+    npairszscore_ylim <- c(0, args$npairszscore_ylim)
+}
+
+if (args$overlapprob_ylim == 0) {
+    overlapprob_ylim <- NULL
+    } else {
+    overlapprob_ylim <- c(0, args$overlapprob_ylim)
+}
+
+if (args$overlapprobzscore_ylim == 0) {
+    overlapprobzscore_ylim <- NULL
+    } else {
+    overlapprobzscore_ylim <- c(0, args$overlapprobzscore_ylim)
+}
+
+
 # functions
     globalgraph <- function() {
         pdf(args$pdf)
         par(mfrow = c(2, 2), oma = c(0, 0, 3, 0))
-        plot(z_dataframe[z_dataframe$chrom == "all_chromosomes", c(2, 3)],
-             type = "h", main = "Numbers of pairs", cex.main = 1, xlab = "overlap (nt)",
-             ylab = "Numbers of pairs", col = "darkslateblue", lwd = 4)
 
-        plot(z_dataframe[z_dataframe$chrom == "all_chromosomes", c(2, 4)],
-             type = "l", main = "Number of pairs Z-scores", cex.main = 1, xlab = "overlap (nt)",
-             ylab = "z-score", pch = 19, cex = 0.2, col = "darkslateblue", lwd = 2)
+            plot(z_dataframe[z_dataframe$chrom == "all_chromosomes", c(2, 3)],
+                     type = "h", main = "Numbers of pairs", cex.main = 1, xlab = "overlap (nt)",
+                     ylab = "Numbers of pairs", col = "darkslateblue", lwd = 4,
+                     ylim = npairs_ylim
+                     )
+
+            plot(z_dataframe[z_dataframe$chrom == "all_chromosomes", c(2, 4)],
+                     type = "l", main = "Number of pairs Z-scores", cex.main = 1, xlab = "overlap (nt)",
+                     ylab = "z-score", pch = 19, cex = 0.2, col = "darkslateblue", lwd = 2,
+                     ylim = npairszscore_ylim
+                     )
 
-        plot(h_dataframe[h_dataframe$chrom == "all_chromosomes", c(2, 3)],
-             type = "l", main = "Overlap probabilities", cex.main = 1,
-             xlab = "overlap (nt)",
-             ylab = "Probability [%]", ylim = c(0, 50), pch = 19,
-             col = "darkslateblue", lwd = 2)
+            plot(h_dataframe[h_dataframe$chrom == "all_chromosomes", c(2, 3)],
+                     type = "l", main = "Overlap probabilities", cex.main = 1,
+                     xlab = "overlap (nt)",
+                     ylab = "Probability [%]", pch = 19,
+                     col = "darkslateblue", lwd = 2,
+                     ylim = overlapprob_ylim
+                     )
 
-        plot(h_dataframe[h_dataframe$chrom == "all_chromosomes", c(2, 4)],
-             type = "l", main = "Overlap Probability Z-scores", cex.main = 1,
-             xlab = "overlap (nt)", ylab = "z-score", pch = 19, cex = 0.2,
-             col = "darkslateblue", lwd = 2)
+            plot(h_dataframe[h_dataframe$chrom == "all_chromosomes", c(2, 4)],
+                     type = "l", main = "Overlap Probability Z-scores", cex.main = 1,
+                     xlab = "overlap (nt)", ylab = "z-score", pch = 19, cex = 0.2,
+                     col = "darkslateblue", lwd = 2,
+                     ylim = overlapprobzscore_ylim
+                     )
+
         mtext(args$title, outer = TRUE, cex = 1)
         dev.off()
     }
--- a/signature.xml	Sat Feb 25 09:54:28 2023 +0000
+++ b/signature.xml	Thu Apr 06 23:00:54 2023 +0000
@@ -1,4 +1,4 @@
-<tool id="signature" name="Small RNA Signatures" version="3.4.2>">
+<tool id="signature" name="Small RNA Signatures" version="3.5.0">
     <description />
     <requirements>
         <requirement type="package" version="1.23.4">numpy</requirement>
@@ -26,9 +26,15 @@
         Rscript '$__tool_directory__'/signature.r
            --h_dataframe '$h_dataframe'
            --z_dataframe '$z_dataframe'
-           --plot_method '$plot_method'
+           --plot_method '$plot_options.plot_method'
            --pdf '$pdf'
            --title "Overlap Signatures of ${minquery}-${maxquery} against ${mintarget}-${maxtarget}nt small RNAs"
+           #if $plot_options.plot_method == "global":
+               --npairs_ylim $plot_options.npairs_ylim
+               --npairszscore_ylim $plot_options.npairszscore_ylim
+               --overlapprob_ylim $plot_options.overlapprob_ylim
+               --overlapprobzscore_ylim $plot_options.overlapprobzscore_ylim
+            #end if
     ]]></command>
     <inputs>
         <param format="bam" label="Compute signature from this bowtie standard output" name="input" type="data" />
@@ -38,10 +44,27 @@
         <param help="'29' = 29 nucleotides" label="Max size of target small RNAs" name="maxtarget" size="3" type="integer" value="29" />
         <param help="'1' = 1 nucleotide overlap" label="Minimal relative overlap analyzed" name="minscope" size="3" type="integer" value="1" />
         <param help="'1' = 1 nucleotide overlap" label="Maximal relative overlap analyzed" name="maxscope" size="3" type="integer" value="26" />
-        <param help="Signature can be computed globally or by item present in the alignment file" label="Graph type" name="plot_method" type="select">
-            <option selected="True" value="global">Global</option>
-            <option value="lattice">Lattice</option>
-        </param>
+        <conditional name="plot_options">
+            <param help="Signature can be computed globally or by item present in the alignment file" label="Graph type" name="plot_method" type="select">
+                <option selected="True" value="global">Global</option>
+                <option value="lattice">Lattice</option>
+            </param>
+            <when value="lattice" />
+            <when value="global">
+                <param name="npairs_ylim" type="integer" value="0" optional="true"
+                       label="Maximum of Y-scale of the Numbers-of-pairs plot"
+                       help="Interger. Leave 0 for self-determination of Y-scale" />
+                <param name="npairszscore_ylim" type="integer" value="0" optional="true"
+                       label="Maximum of Y-scale of the Number-of-pairs-Z−scores plot"
+                       help="Integer. Leave 0 for self-determination of Y-scale" />
+                <param name="overlapprob_ylim" type="integer" value="0" optional="true"
+                       label="Maximum of Y-scale of the Overlap-probabilities plot"
+                       help="Percent value as an Integer. Leave 0 for self-determination of % Y-scale" />
+                <param name="overlapprobzscore_ylim" type="integer" value="0" optional="true"
+                       label="Maximum of Y-scale of the Overlap-probabilities-Z−scores plot"
+                       help="Interger. Leave 0 for self-determination of Y-scale" />
+            </when>
+        </conditional>
     </inputs>
     <outputs>
         <data format="tabular" label="z-signature data frame" name="z_dataframe">
@@ -65,11 +88,14 @@
             <param name="maxtarget" value="29" />
             <param name="minscope" value="5" />
             <param name="maxscope" value="15" />
-            <param name="plot_method" value="global" />
+            <conditional name="plot_options">
+                <param name="plot_method" value="global" />
+            </conditional>
             <output file="h.tab" ftype="tabular" name="h_dataframe" />
             <output file="z.tab" ftype="tabular" name="z_dataframe" />
             <output file="global.pdf" ftype="pdf" name="pdf" />
         </test>
+
         <test>
             <param ftype="bam" name="input" value="sr_bowtie.bam" />
             <param name="minquery" value="23" />
@@ -78,7 +104,30 @@
             <param name="maxtarget" value="29" />
             <param name="minscope" value="5" />
             <param name="maxscope" value="15" />
-            <param name="plot_method" value="lattice" />
+            <conditional name="plot_options">
+                <param name="plot_method" value="global" />
+            </conditional>
+            <param name="npairs_ylim" value="100" />
+            <param name="npairszscore_ylim" value="0" />
+            <param name="overlapprob_ylim" value="1" />
+            <param name="overlapprobzscore_ylim" value="4" />
+
+            <output file="h.tab" ftype="tabular" name="h_dataframe" />
+            <output file="z.tab" ftype="tabular" name="z_dataframe" />
+            <output file="global-limited.pdf" ftype="pdf" name="pdf" />
+        </test>
+
+        <test>
+            <param ftype="bam" name="input" value="sr_bowtie.bam" />
+            <param name="minquery" value="23" />
+            <param name="maxquery" value="29" />
+            <param name="mintarget" value="23" />
+            <param name="maxtarget" value="29" />
+            <param name="minscope" value="5" />
+            <param name="maxscope" value="15" />
+            <conditional name="plot_options">
+                <param name="plot_method" value="lattice" />
+            </conditional>
             <output file="h.tab" ftype="tabular" name="h_dataframe" />
             <output file="z.tab" ftype="tabular" name="z_dataframe" />
             <output file="lattice.pdf" ftype="pdf" name="pdf" />
Binary file test-data/global-limited.pdf has changed
Binary file test-data/global.pdf has changed