0
|
1 <tool id="qual_stats_boxplot" name="Boxplot" version="1.0.0">
|
|
2 <description>of quality statistics</description>
|
|
3 <command>gnuplot < '$gnuplot_commands' 2>&1 || echo "Error running gnuplot." >&2</command>
|
|
4 <requirements>
|
|
5 <requirement type="binary" version="gnuplot 4.2 patchlevel 2">gnuplot</requirement>
|
|
6 </requirements>
|
|
7 <inputs>
|
|
8 <param name="input_file" type="data" format="tabular" label="Quality Statistics File"/>
|
|
9 <param name="title" type="text" value="Box plot in Galaxy" label="Title for plot" size="50"/>
|
|
10 <param name="graph_size" type="text" value="2048,768" label="Dimensions of Graph"/>
|
|
11 <param name="xlabel" type="text" value="X Axis Label" label="X axis label" size="50"/>
|
|
12 <param name="ylabel" type="text" value="Score Value" label="Y axis label" size="50"/>
|
|
13 <param name="xcol" type="data_column" data_ref="input_file" label="Column for X axis position" default_value="1" help="A unique number; c1 if plotting output of FASTQ summary"/>
|
|
14 <param name="q1col" type="data_column" data_ref="input_file" label="Column for Q1" default_value="7" help="c7 if plotting output of FASTQ summary"/>
|
|
15 <param name="medcol" type="data_column" data_ref="input_file" label="Column for Median" default_value="8" help="c8 if plotting output of FASTQ summary"/>
|
|
16 <param name="q3col" type="data_column" data_ref="input_file" label="Column for Q3" default_value="9" help="c9 if plotting output of FASTQ summary"/>
|
|
17 <param name="lwcol" type="data_column" data_ref="input_file" label="Column for left whisker" default_value="11" help="c11 if plotting output of FASTQ summary"/>
|
|
18 <param name="rwcol" type="data_column" data_ref="input_file" label="Column for right whisker" default_value="12" help="c12 if plotting output of FASTQ summary"/>
|
|
19 <conditional name="use_outliers">
|
|
20 <param name="use_outliers_type" type="select" label="Plot Outliers">
|
|
21 <option value="use_outliers" selected="true">Plot Outliers</option>
|
|
22 <option value="dont_use_outliers">Don't Plot Outliers</option>
|
|
23 </param>
|
|
24 <when value="use_outliers">
|
|
25 <param name="outliercol" type="data_column" data_ref="input_file" label="Column for Outliers" default_value="13" help="c13 if plotting output of FASTQ summary"/>
|
|
26 </when>
|
|
27 <when value="dont_use_outliers">
|
|
28 </when>
|
|
29 </conditional>
|
|
30 </inputs>
|
|
31 <configfiles>
|
|
32 <configfile name="gnuplot_commands">
|
|
33 set output '$output_file'
|
|
34 set term png size ${graph_size}
|
|
35 set boxwidth 0.8
|
|
36 set key right tmargin
|
|
37 set xlabel "${xlabel}"
|
|
38 set ylabel "${ylabel}"
|
|
39 set title "${title}"
|
|
40 set xtics 1
|
|
41 set ytics 1
|
|
42 set grid ytics
|
|
43 set offsets 1, 1, 1, 1
|
|
44 plot '${input_file}' using ${xcol}:${q1col}:${lwcol}:${rwcol}:${q3col} with candlesticks lt 1 lw 1 title 'Quartiles' whiskerbars, \
|
|
45 '' using ${xcol}:${medcol}:${medcol}:${medcol}:${medcol} with candlesticks lt -1 lw 2 title 'Medians'\
|
|
46 #if str( $use_outliers['use_outliers_type'] ) == 'use_outliers':
|
|
47 , "< python -c \"for xval, yvals in [ ( fields[${xcol} - 1], fields[${use_outliers['outliercol']} - 1].split( ',' ) ) for fields in [ line.rstrip( '\\n\\r' ).split( '\\t' ) for line in open( '${input_file}' ) if not line.startswith( '#' ) ] if len( fields ) > max( ${xcol} - 1, ${use_outliers['outliercol']} - 1 ) ]: print '\\n'.join( [ '%s\\t%s' % ( xval, yval ) for yval in yvals if yval ] )\"" using 1:2 with points pt 29 title 'Outliers'
|
|
48 #end if
|
|
49 </configfile>
|
|
50 </configfiles>
|
|
51 <outputs>
|
|
52 <data name="output_file" format="png" />
|
|
53 </outputs>
|
|
54 <tests>
|
|
55 <test>
|
|
56 <param name="input_file" value="fastq_stats_1_out.tabular" ftype="tabular" />
|
|
57 <param name="title" value="Boxplot of Summary Statistics for Sanger Reads" />
|
|
58 <param name="graph_size" value="2048,768" />
|
|
59 <param name="xlabel" value="Read Column" />
|
|
60 <param name="ylabel" value="Quality Score Value" />
|
|
61 <param name="xcol" value="1" />
|
|
62 <param name="q1col" value="7" />
|
|
63 <param name="medcol" value="8" />
|
|
64 <param name="q3col" value="9" />
|
|
65 <param name="lwcol" value="11" />
|
|
66 <param name="rwcol" value="12" />
|
|
67 <param name="use_outliers_type" value="use_outliers" />
|
|
68 <param name="outliercol" value="13" />
|
|
69 <output name="output_file" file="boxplot_summary_statistics_out.png" />
|
|
70 </test>
|
|
71 </tests>
|
|
72 <help>
|
|
73
|
|
74 **What it does**
|
|
75
|
|
76 Creates a boxplot graph. Its main purpose is to display a distribution of quality scores produced by *NGS: QC and maniupulation -> FASTQ Summary Statistics* tool.
|
|
77
|
|
78 .. class:: warningmark
|
|
79
|
|
80 **TIP:** If you want to display a distribution of quality scores produced by *NGS: QC and maniupulation -> FASTQ Summary Statistics* and the column assignments within the tool's interface are not automatically set (they will all read "c1" in that case) set columns manually to the following values::
|
|
81
|
|
82 Column for X axis c1
|
|
83 Column for Q1 c7
|
|
84 Column for Median c8
|
|
85 Column for Q3 c9
|
|
86 Column for left whisker c11
|
|
87 Column for right whisker c12
|
|
88 Column for Outliers c13
|
|
89
|
|
90 -----
|
|
91
|
|
92 **Output Example**
|
|
93
|
|
94 * Black horizontal lines are medians
|
|
95 * Rectangular red boxes show the Inter-quartile Range (IQR) (top value is Q3, bottom value is Q1)
|
|
96 * Whiskers show outliers at max. 1.5*IQR
|
|
97
|
|
98 .. image:: ./static/images/solid_qual.png
|
|
99
|
|
100
|
|
101 </help>
|
|
102 </tool>
|