Mercurial > repos > artbio > small_rna_signatures
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" />