annotate fastx_toolkit-0.0.6/scripts/fastx_nucleotide_distribution_graph.sh @ 3:997f5136985f draft default tip

Uploaded
author xilinxu
date Thu, 14 Aug 2014 04:52:17 -0400
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
3
997f5136985f Uploaded
xilinxu
parents:
diff changeset
1 #!/bin/sh
997f5136985f Uploaded
xilinxu
parents:
diff changeset
2
997f5136985f Uploaded
xilinxu
parents:
diff changeset
3 # FASTX-toolkit - FASTA/FASTQ preprocessing tools.
997f5136985f Uploaded
xilinxu
parents:
diff changeset
4 # Copyright (C) 2009 A. Gordon (gordon@cshl.edu)
997f5136985f Uploaded
xilinxu
parents:
diff changeset
5 #
997f5136985f Uploaded
xilinxu
parents:
diff changeset
6 # This program is free software: you can redistribute it and/or modify
997f5136985f Uploaded
xilinxu
parents:
diff changeset
7 # it under the terms of the GNU Affero General Public License as
997f5136985f Uploaded
xilinxu
parents:
diff changeset
8 # published by the Free Software Foundation, either version 3 of the
997f5136985f Uploaded
xilinxu
parents:
diff changeset
9 # License, or (at your option) any later version.
997f5136985f Uploaded
xilinxu
parents:
diff changeset
10 #
997f5136985f Uploaded
xilinxu
parents:
diff changeset
11 # This program is distributed in the hope that it will be useful,
997f5136985f Uploaded
xilinxu
parents:
diff changeset
12 # but WITHOUT ANY WARRANTY; without even the implied warranty of
997f5136985f Uploaded
xilinxu
parents:
diff changeset
13 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
997f5136985f Uploaded
xilinxu
parents:
diff changeset
14 # GNU Affero General Public License for more details.
997f5136985f Uploaded
xilinxu
parents:
diff changeset
15 #
997f5136985f Uploaded
xilinxu
parents:
diff changeset
16 # You should have received a copy of the GNU Affero General Public License
997f5136985f Uploaded
xilinxu
parents:
diff changeset
17 # along with this program. If not, see <http://www.gnu.org/licenses/>.
997f5136985f Uploaded
xilinxu
parents:
diff changeset
18
997f5136985f Uploaded
xilinxu
parents:
diff changeset
19 usage()
997f5136985f Uploaded
xilinxu
parents:
diff changeset
20 {
997f5136985f Uploaded
xilinxu
parents:
diff changeset
21 echo "FASTA/Q Nucleotide Distribution Plotter"
997f5136985f Uploaded
xilinxu
parents:
diff changeset
22 echo
997f5136985f Uploaded
xilinxu
parents:
diff changeset
23 echo "Usage: $0 [-i INPUT.TXT] [-t TITLE] [-p] [-o OUTPUT]"
997f5136985f Uploaded
xilinxu
parents:
diff changeset
24 echo
997f5136985f Uploaded
xilinxu
parents:
diff changeset
25 echo " [-p] - Generate PostScript (.PS) file. Default is PNG image."
997f5136985f Uploaded
xilinxu
parents:
diff changeset
26 echo " [-i INPUT.TXT] - Input file. Should be the output of \"fastx_quality_statistics\" program."
997f5136985f Uploaded
xilinxu
parents:
diff changeset
27 echo " [-o OUTPUT] - Output file name. default is STDOUT."
997f5136985f Uploaded
xilinxu
parents:
diff changeset
28 echo " [-t TITLE] - Title - will be plotted on the graph."
997f5136985f Uploaded
xilinxu
parents:
diff changeset
29 echo
997f5136985f Uploaded
xilinxu
parents:
diff changeset
30 exit
997f5136985f Uploaded
xilinxu
parents:
diff changeset
31 }
997f5136985f Uploaded
xilinxu
parents:
diff changeset
32
997f5136985f Uploaded
xilinxu
parents:
diff changeset
33 #
997f5136985f Uploaded
xilinxu
parents:
diff changeset
34 # Input Data columns: #pos cnt min max sum mean Q1 med Q3 IQR lW rW A_Count C_Count G_Count T_Count N_Count
997f5136985f Uploaded
xilinxu
parents:
diff changeset
35 # As produced by "fastq_quality_statistics" program
997f5136985f Uploaded
xilinxu
parents:
diff changeset
36
997f5136985f Uploaded
xilinxu
parents:
diff changeset
37 TITLE="" # default title is empty
997f5136985f Uploaded
xilinxu
parents:
diff changeset
38 FILENAME=""
997f5136985f Uploaded
xilinxu
parents:
diff changeset
39 OUTPUTTERM="set term png size 1048,768" # default output terminal is "PNG"
997f5136985f Uploaded
xilinxu
parents:
diff changeset
40 OUTPUTFILE="/dev/stdout" # Default output file is simply "stdout"
997f5136985f Uploaded
xilinxu
parents:
diff changeset
41 while getopts ":t:i:o:ph" Option
997f5136985f Uploaded
xilinxu
parents:
diff changeset
42 do
997f5136985f Uploaded
xilinxu
parents:
diff changeset
43 case $Option in
997f5136985f Uploaded
xilinxu
parents:
diff changeset
44 t ) TITLE="for $OPTARG" ;;
997f5136985f Uploaded
xilinxu
parents:
diff changeset
45 i ) FILENAME=$OPTARG ;;
997f5136985f Uploaded
xilinxu
parents:
diff changeset
46 o ) OUTPUTFILE="$OPTARG" ;;
997f5136985f Uploaded
xilinxu
parents:
diff changeset
47 p ) OUTPUTTERM="set term postscript enhanced color \"Helvetica\" 8" ;;
997f5136985f Uploaded
xilinxu
parents:
diff changeset
48 h ) usage ;;
997f5136985f Uploaded
xilinxu
parents:
diff changeset
49 * ) echo "unrecognized argument. use '-h' for usage information."; exit -1 ;;
997f5136985f Uploaded
xilinxu
parents:
diff changeset
50 esac
997f5136985f Uploaded
xilinxu
parents:
diff changeset
51 done
997f5136985f Uploaded
xilinxu
parents:
diff changeset
52 shift $(($OPTIND - 1))
997f5136985f Uploaded
xilinxu
parents:
diff changeset
53
997f5136985f Uploaded
xilinxu
parents:
diff changeset
54
997f5136985f Uploaded
xilinxu
parents:
diff changeset
55 if [ -z "$FILENAME" ]; then
997f5136985f Uploaded
xilinxu
parents:
diff changeset
56 usage
997f5136985f Uploaded
xilinxu
parents:
diff changeset
57 fi
997f5136985f Uploaded
xilinxu
parents:
diff changeset
58
997f5136985f Uploaded
xilinxu
parents:
diff changeset
59 if [ ! -r "$FILENAME" ]; then
997f5136985f Uploaded
xilinxu
parents:
diff changeset
60 echo "Error: can't open input file ($1)." >&2
997f5136985f Uploaded
xilinxu
parents:
diff changeset
61 exit 1
997f5136985f Uploaded
xilinxu
parents:
diff changeset
62 fi
997f5136985f Uploaded
xilinxu
parents:
diff changeset
63
997f5136985f Uploaded
xilinxu
parents:
diff changeset
64 GNUPLOTCMD="
997f5136985f Uploaded
xilinxu
parents:
diff changeset
65 $OUTPUTTERM
997f5136985f Uploaded
xilinxu
parents:
diff changeset
66 set boxwidth 0.75 absolute
997f5136985f Uploaded
xilinxu
parents:
diff changeset
67 set size 1,1
997f5136985f Uploaded
xilinxu
parents:
diff changeset
68 set style fill solid 1.00 border -1
997f5136985f Uploaded
xilinxu
parents:
diff changeset
69 set xlabel \"read position\"
997f5136985f Uploaded
xilinxu
parents:
diff changeset
70 set title \"Nucleotides distribution $TITLE\"
997f5136985f Uploaded
xilinxu
parents:
diff changeset
71 set ylabel \"% of total (per read position)\"
997f5136985f Uploaded
xilinxu
parents:
diff changeset
72 #set grid noxtics nomxtics ytics nomytics noztics nomztics \
997f5136985f Uploaded
xilinxu
parents:
diff changeset
73 # nox2tics nomx2tics noy2tics nomy2tics nocbtics nomcbtics
997f5136985f Uploaded
xilinxu
parents:
diff changeset
74 #set grid layerdefault linetype 0 linewidth 1.000, linetype 0 linewidth 1.000
997f5136985f Uploaded
xilinxu
parents:
diff changeset
75 set key outside right top vertical Left reverse enhanced autotitles columnhead nobox
997f5136985f Uploaded
xilinxu
parents:
diff changeset
76 set key invert samplen 4 spacing 1 width 0 height 0
997f5136985f Uploaded
xilinxu
parents:
diff changeset
77 set style histogram rowstacked
997f5136985f Uploaded
xilinxu
parents:
diff changeset
78 set style data histograms
997f5136985f Uploaded
xilinxu
parents:
diff changeset
79 set noytics
997f5136985f Uploaded
xilinxu
parents:
diff changeset
80 set xtics 1
997f5136985f Uploaded
xilinxu
parents:
diff changeset
81 set yrange [ 0.00000 : 100.000 ] noreverse nowriteback
997f5136985f Uploaded
xilinxu
parents:
diff changeset
82
997f5136985f Uploaded
xilinxu
parents:
diff changeset
83 plot '$FILENAME' using (100.*column(13)/column(18)):xtic(1) title \"A\" lt rgb \"#5050ff\", \
997f5136985f Uploaded
xilinxu
parents:
diff changeset
84 '' using (100.*column(14)/column(18)) title \"C\" lt rgb \"#e00000\", \
997f5136985f Uploaded
xilinxu
parents:
diff changeset
85 '' using (100.*column(15)/column(18)) title \"G\" lt rgb \"#00c000\", \
997f5136985f Uploaded
xilinxu
parents:
diff changeset
86 '' using (100.*column(16)/column(18)) title \"T\" lt rgb \"#e6e600\", \
997f5136985f Uploaded
xilinxu
parents:
diff changeset
87 '' using (100.*column(17)/column(18)) title \"N\" lt rgb \"pink\"
997f5136985f Uploaded
xilinxu
parents:
diff changeset
88 "
997f5136985f Uploaded
xilinxu
parents:
diff changeset
89
997f5136985f Uploaded
xilinxu
parents:
diff changeset
90 echo "$GNUPLOTCMD" | gnuplot > "$OUTPUTFILE"