Mercurial > repos > devteam > short_reads_figure_high_quality_length
changeset 0:556ceed24699 draft
Imported from capsule None
author | devteam |
---|---|
date | Mon, 19 May 2014 12:34:37 -0400 |
parents | |
children | 76c4a4ed8e74 |
files | short_reads_figure_high_quality_length.py short_reads_figure_high_quality_length.xml test-data/454.qual test-data/454_high_quality_hist.pdf test-data/solexa.qual test-data/solexa_high_quality_hist.pdf tool_dependencies.xml |
diffstat | 7 files changed, 827 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/short_reads_figure_high_quality_length.py Mon May 19 12:34:37 2014 -0400 @@ -0,0 +1,165 @@ +#!/usr/bin/env python + +import os, sys, math, tempfile, zipfile, re +from rpy import * + +assert sys.version_info[:2] >= ( 2, 4 ) + +def stop_err( msg ): + sys.stderr.write( "%s\n" % msg ) + sys.exit() + +def unzip( filename ): + zip_file = zipfile.ZipFile( filename, 'r' ) + tmpfilename = tempfile.NamedTemporaryFile().name + for name in zip_file.namelist(): + file( tmpfilename, 'a' ).write( zip_file.read( name ) ) + zip_file.close() + return tmpfilename + +def __main__(): + infile_score_name = sys.argv[1].strip() + outfile_R_name = sys.argv[2].strip() + + try: + score_threshold = int( sys.argv[3].strip() ) + except: + stop_err( 'Threshold for quality score must be numerical.' ) + + infile_is_zipped = False + if zipfile.is_zipfile( infile_score_name ): + infile_is_zipped = True + infile_name = unzip( infile_score_name ) + else: + infile_name = infile_score_name + + # detect whether it's tabular or fasta format + seq_method = None + data_type = None + for i, line in enumerate( file( infile_name ) ): + line = line.rstrip( '\r\n' ) + if not line or line.startswith( '#' ): + continue + if data_type == None: + if line.startswith( '>' ): + data_type = 'fasta' + continue + elif len( line.split( '\t' ) ) > 0: + fields = line.split() + for score in fields: + try: + int( score ) + data_type = 'tabular' + seq_method = 'solexa' + break + except: + break + elif data_type == 'fasta': + fields = line.split() + for score in fields: + try: + int( score ) + seq_method = '454' + break + except: + break + if i == 100: + break + + if data_type is None: + stop_err( 'This tool can only use fasta data or tabular data.' ) + if seq_method is None: + stop_err( 'Invalid data for fasta format.') + + cont_high_quality = [] + invalid_lines = 0 + invalid_scores = 0 + if seq_method == 'solexa': + for i, line in enumerate( open( infile_name ) ): + line = line.rstrip( '\r\n' ) + if not line or line.startswith( '#' ): + continue + locs = line.split( '\t' ) + for j, base in enumerate( locs ): + nuc_errors = base.split() + try: + nuc_errors[0] = int( nuc_errors[0] ) + nuc_errors[1] = int( nuc_errors[1] ) + nuc_errors[2] = int( nuc_errors[2] ) + nuc_errors[3] = int( nuc_errors[3] ) + big = max( nuc_errors ) + except: + invalid_scores += 1 + big = 0 + if j == 0: + cont_high_quality.append(1) + else: + if big >= score_threshold: + cont_high_quality[ len( cont_high_quality ) - 1 ] += 1 + else: + cont_high_quality.append(1) + else: # seq_method == '454' + tmp_score = '' + for i, line in enumerate( open( infile_name ) ): + line = line.rstrip( '\r\n' ) + if not line or line.startswith( '#' ): + continue + if line.startswith( '>' ): + if len( tmp_score ) > 0: + locs = tmp_score.split() + for j, base in enumerate( locs ): + try: + base = int( base ) + except: + invalid_scores += 1 + base = 0 + if j == 0: + cont_high_quality.append(1) + else: + if base >= score_threshold: + cont_high_quality[ len( cont_high_quality ) - 1 ] += 1 + else: + cont_high_quality.append(1) + tmp_score = '' + else: + tmp_score = "%s %s" % ( tmp_score, line ) + if len( tmp_score ) > 0: + locs = tmp_score.split() + for j, base in enumerate( locs ): + try: + base = int( base ) + except: + invalid_scores += 1 + base = 0 + if j == 0: + cont_high_quality.append(1) + else: + if base >= score_threshold: + cont_high_quality[ len( cont_high_quality ) - 1 ] += 1 + else: + cont_high_quality.append(1) + + # generate pdf figures + cont_high_quality = array ( cont_high_quality ) + outfile_R_pdf = outfile_R_name + r.pdf( outfile_R_pdf ) + title = "Histogram of continuous high quality scores" + xlim_range = [ 1, max( cont_high_quality ) ] + nclass = max( cont_high_quality ) + if nclass > 100: + nclass = 100 + r.hist( cont_high_quality, probability=True, xlab="Continuous High Quality Score length (bp)", ylab="Frequency (%)", xlim=xlim_range, main=title, nclass=nclass) + r.dev_off() + + if infile_is_zipped and os.path.exists( infile_name ): + # Need to delete temporary file created when we unzipped the infile archive + os.remove( infile_name ) + + if invalid_lines > 0: + print 'Skipped %d invalid lines. ' % invalid_lines + if invalid_scores > 0: + print 'Skipped %d invalid scores. ' % invalid_scores + + r.quit( save="no" ) + +if __name__=="__main__":__main__() \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/short_reads_figure_high_quality_length.xml Mon May 19 12:34:37 2014 -0400 @@ -0,0 +1,74 @@ +<tool id="hist_high_quality_score" name="Histogram" version="1.0.0"> +<description> of high quality score reads </description> +<requirements> + <requirement type="package" version="1.0.3">rpy</requirement> + <requirement type="package" version="2.11.0">R</requirement> +</requirements> +<command interpreter="python">short_reads_figure_high_quality_length.py $input1 $output1 $input2</command> +<inputs> +<page> + <param name="input1" type="data" format="qualsolexa,qual454,txtseq.zip" label="Quality score file" help="No dataset? Read tip below"/> + <param name="input2" type="integer" size="5" value="20" label="Quality score threshold" /> +</page> +</inputs> +<outputs> + <data name="output1" format="pdf" /> +</outputs> +<tests> + <test> + <param name="input1" value="solexa.qual" ftype="qualsolexa" /> + <param name="input2" value="5" /> + <output name="output1" file="solexa_high_quality_hist.pdf" ftype="pdf"/> + </test> + <test> + <param name="input1" value="454.qual" ftype="qual454" /> + <param name="input2" value="5" /> + <output name="output1" file="454_high_quality_hist.pdf" ftype="pdf"/> + </test> +</tests> + +<help> + +.. class:: warningmark + +To use this tool, your dataset needs to be in the *Quality Score* format. Click the pencil icon next to your dataset to set the datatype to *Quality Score* (see below for examples). + +----- + +**What it does** + +This tool takes Quality Files generated by Roche (454), Illumina (Solexa), or ABI SOLiD machines and builds a histogram of lengths of high quality reads. + +----- + +**Examples of Quality Data** + +Roche (454) or ABI SOLiD data:: + + >seq1 + 23 33 34 25 28 28 28 32 23 34 27 4 28 28 31 21 28 + +Illumina (Solexa) data:: + + -40 -40 40 -40 -40 -40 -40 40 + +----- + +**Note** + +- Quality score data:: + + >seq1 + 23 33 34 25 28 28 28 32 23 34 27 4 28 28 31 21 28 + +- If the threshold is set to 20: + + - a low quality score 4 in the middle separated two segments of lengths 11 and 5. + + - The histogram will be built based on the numbers (11, 5). + +- For Illumina (Solexa) data, only the maximal of the 4 values will be used. + + +</help> +</tool>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/454.qual Mon May 19 12:34:37 2014 -0400 @@ -0,0 +1,52 @@ +>EYKX4VC01B65GS length=54 xy=0784_1754 region=1 run=R_2007_11_07_16_15_57_ +33 23 34 25 28 28 28 32 23 34 27 4 28 28 31 21 28 27 27 28 28 28 28 28 28 28 33 23 28 33 24 36 27 31 21 28 28 33 26 33 24 27 28 28 28 28 28 28 28 32 23 28 34 25 +>EYKX4VC01BNCSP length=187 xy=0558_3831 region=1 run=R_2007_11_07_16_15_57_ +27 35 26 25 37 28 37 28 25 28 27 36 27 28 36 27 28 28 27 36 27 30 19 27 28 36 28 23 36 27 27 28 27 27 28 37 29 27 26 27 24 24 36 27 26 28 36 28 24 25 21 28 24 28 26 34 25 26 43 36 +22 9 23 19 28 28 28 28 26 28 39 32 12 27 36 28 28 26 37 28 28 26 28 28 28 27 28 26 36 27 27 27 36 28 27 27 28 28 36 27 36 28 39 32 12 35 28 26 37 29 28 28 28 28 37 29 28 36 28 35 +26 27 37 29 28 26 28 36 28 26 24 38 32 11 28 26 32 24 36 32 18 2 27 25 33 26 32 28 6 18 22 26 17 15 14 28 20 8 22 21 14 22 26 16 26 16 28 20 22 27 18 27 18 27 28 27 20 25 34 27 +27 33 25 34 28 8 26 +>EYKX4VC01CD9FT length=115 xy=0865_1719 region=1 run=R_2007_11_07_16_15_57_ +35 24 16 9 2 27 39 33 13 36 27 36 27 28 28 28 27 28 28 33 23 37 28 28 28 36 27 28 28 28 28 36 27 28 28 28 27 28 28 28 28 28 28 28 37 28 28 28 28 37 28 26 28 36 27 28 28 28 28 28 +28 28 28 37 28 28 35 26 27 28 28 27 36 27 35 25 32 22 28 28 28 28 28 28 28 28 28 34 25 36 27 34 25 28 27 28 28 36 27 28 35 29 6 28 28 28 37 30 8 33 24 28 27 27 27 +>EYKX4VC01B8FW0 length=95 xy=0799_0514 region=1 run=R_2007_11_07_16_15_57_ +28 40 34 15 35 28 6 27 33 23 34 24 32 22 28 28 28 41 34 17 28 28 28 37 30 9 28 28 28 28 28 27 28 37 30 8 28 28 27 28 35 26 27 35 26 28 37 30 9 28 27 28 28 28 34 25 28 28 32 22 +26 28 28 28 28 27 43 36 23 12 1 28 21 28 27 16 28 32 23 27 28 27 28 28 27 28 28 28 32 22 28 26 26 27 28 +>EYKX4VC01BCGYW length=115 xy=0434_3926 region=1 run=R_2007_11_07_16_15_57_ +28 6 26 15 27 28 37 28 41 35 17 28 21 28 23 21 27 36 27 24 36 28 40 34 14 22 25 28 24 27 28 37 28 26 28 27 27 28 28 28 28 27 43 36 22 8 28 26 28 27 26 14 28 25 20 28 34 24 25 40 +33 18 1 19 27 16 36 28 36 28 21 27 25 41 34 16 22 28 37 29 26 26 35 27 28 26 41 34 16 28 28 27 28 37 29 25 43 36 23 12 1 11 39 32 12 28 17 20 28 28 17 36 29 7 24 +>EYKX4VC01AZXC6 length=116 xy=0292_0280 region=1 run=R_2007_11_07_16_15_57_ +35 24 17 11 5 26 24 40 33 14 34 25 33 24 28 27 27 26 28 28 33 24 36 27 28 27 36 27 27 28 27 28 35 26 27 27 28 27 28 28 28 28 28 27 28 36 27 28 28 28 37 28 27 26 35 26 27 28 28 28 +27 28 28 28 37 29 28 35 26 28 27 28 28 35 26 35 26 31 21 28 28 28 28 28 28 28 28 28 34 25 35 26 35 26 28 28 28 28 37 28 27 37 30 9 28 28 28 37 30 9 33 23 28 28 28 27 +>EYKX4VC01CATH5 length=82 xy=0826_0843 region=1 run=R_2007_11_07_16_15_57_ +28 28 41 35 17 33 24 28 27 28 28 28 36 27 28 28 28 36 27 34 25 27 28 28 28 28 28 28 28 37 28 27 35 25 28 26 28 27 28 28 24 36 27 26 26 37 30 9 28 28 28 28 28 25 25 35 26 26 27 35 +25 28 36 28 28 28 31 21 25 13 32 22 41 34 17 0 22 10 32 23 24 28 +>EYKX4VC01BCEIV length=47 xy=0434_0757 region=1 run=R_2007_11_07_16_15_57_ +28 28 26 26 28 26 28 27 28 25 32 22 27 26 25 27 28 28 27 26 27 28 32 23 28 28 34 25 27 22 26 26 27 28 17 28 28 28 28 28 28 34 24 35 25 28 28 +>EYKX4VC01BWERM length=83 xy=0662_0304 region=1 run=R_2007_11_07_16_15_57_ +28 36 27 28 28 35 26 34 24 28 28 28 32 22 28 28 32 23 28 28 32 23 27 28 27 34 27 3 27 43 36 22 9 35 26 37 29 26 27 32 23 28 28 27 28 36 27 28 36 27 28 28 28 28 28 35 26 34 25 28 +36 30 8 28 28 28 28 27 27 28 28 28 28 37 28 28 36 27 28 39 33 13 27 +>EYKX4VC01BT2O7 length=69 xy=0635_1945 region=1 run=R_2007_11_07_16_15_57_ +28 28 28 28 41 34 17 27 28 31 21 28 27 32 23 36 27 28 28 33 24 28 27 28 28 27 32 22 28 34 27 3 27 43 36 22 8 27 28 34 27 3 28 28 28 28 28 28 28 33 23 28 28 28 28 34 24 28 34 24 +28 28 27 36 27 28 37 30 9 +>EYKX4VC01BO0UO length=222 xy=0577_3838 region=1 run=R_2007_11_07_16_15_57_ +27 27 28 36 27 28 39 33 13 28 28 28 27 28 37 28 28 41 35 17 28 28 28 27 28 26 36 27 28 36 27 27 28 27 35 26 27 26 28 28 28 28 28 36 27 28 28 38 31 10 24 27 27 27 27 27 28 28 37 28 +27 28 35 26 28 28 36 27 28 28 27 28 28 28 28 28 28 27 36 28 27 36 27 37 28 27 28 27 28 28 28 27 28 28 27 36 27 26 27 28 28 28 28 28 37 28 37 29 25 28 36 27 28 27 28 34 27 26 24 34 +28 28 28 31 23 27 28 34 27 28 37 33 14 23 37 33 15 38 34 23 13 2 26 24 28 26 35 31 12 36 32 14 31 22 24 28 27 33 26 26 27 27 27 27 28 27 35 30 11 26 27 35 31 12 28 27 26 27 36 32 +14 27 34 27 37 33 15 27 27 34 28 27 23 27 35 31 11 27 28 28 26 34 26 27 28 34 28 28 28 39 35 22 9 27 27 23 27 35 28 34 27 27 +>EYKX4VC01CBCPK length=83 xy=0832_1158 region=1 run=R_2007_11_07_16_15_57_ +28 35 26 28 28 35 26 35 26 28 28 28 34 24 28 28 35 25 28 28 34 25 28 28 27 35 28 5 28 43 36 22 9 35 26 37 28 28 27 32 23 27 28 28 28 36 27 28 36 27 28 28 28 28 28 36 27 35 25 28 +37 30 9 28 28 28 28 28 28 28 28 28 28 36 27 28 35 26 28 38 31 10 28 +>EYKX4VC01B474S length=54 xy=0762_2010 region=1 run=R_2007_11_07_16_15_57_ +28 28 28 28 27 43 36 23 11 33 23 27 25 26 28 28 39 33 13 28 27 29 18 28 26 27 26 28 27 28 36 27 26 28 28 28 28 25 28 41 34 17 24 36 28 37 28 28 26 28 17 27 28 26 +>EYKX4VC01BB4QL length=57 xy=0431_0363 region=1 run=R_2007_11_07_16_15_57_ +36 24 15 7 28 33 26 28 27 27 26 29 18 28 35 26 28 26 28 25 27 27 28 36 27 41 34 20 5 27 36 28 28 28 27 28 32 22 34 25 28 28 28 28 26 28 27 28 36 27 40 34 18 3 28 37 28 +>EYKX4VC01BJ37M length=64 xy=0522_0192 region=1 run=R_2007_11_07_16_15_57_ +28 26 28 28 28 28 28 28 27 28 28 27 27 36 27 37 28 28 28 28 28 28 28 28 28 27 36 29 8 39 33 13 28 36 27 41 34 20 5 28 28 28 27 36 28 28 28 28 27 28 28 28 28 27 37 30 8 27 28 26 +33 26 35 26 +>EYKX4VC01BV9R8 length=54 xy=0660_2038 region=1 run=R_2007_11_07_16_15_57_ +41 34 19 4 27 28 28 30 20 28 28 34 27 4 28 28 27 34 25 27 28 28 28 28 28 28 28 28 28 28 28 28 38 31 11 27 28 28 28 28 37 28 40 33 18 2 24 15 25 24 12 26 34 27 +>EYKX4VC01CEPP8 length=60 xy=0870_2350 region=1 run=R_2007_11_07_16_15_57_ +26 21 40 34 17 26 36 29 8 26 28 22 26 28 28 20 24 28 34 26 23 11 28 28 26 27 26 40 33 14 27 35 26 26 23 10 28 31 21 28 23 27 23 28 36 27 26 36 28 27 36 28 28 27 25 27 27 27 26 28 +>EYKX4VC01BTLME length=78 xy=0630_0292 region=1 run=R_2007_11_07_16_15_57_ +36 27 25 24 33 23 28 26 28 28 28 28 27 27 26 36 27 36 28 28 28 36 27 28 28 27 27 36 28 28 37 29 28 26 36 27 27 28 27 27 28 27 36 28 28 28 36 27 36 27 28 36 28 25 36 28 28 28 27 28 +39 33 13 28 28 37 28 28 41 34 16 28 28 28 26 36 28 24
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/454_high_quality_hist.pdf Mon May 19 12:34:37 2014 -0400 @@ -0,0 +1,300 @@ +%PDF-1.1 +%ρ\r +1 0 obj +<< +/CreationDate (D:20080414133855) +/ModDate (D:20080414133855) +/Title (R Graphics Output) +/Producer (R 2.6.2) +/Creator (R) +>> +endobj +2 0 obj +<< +/Type /Catalog +/Pages 3 0 R +>> +endobj +5 0 obj +<< +/Type /Font +/Subtype /Type1 +/Name /F1 +/BaseFont /ZapfDingbats +>> +endobj +6 0 obj +<< +/Type /Page +/Parent 3 0 R +/Contents 7 0 R +/Resources 4 0 R +>> +endobj +7 0 obj +<< +/Length 8 0 R +>> +stream +q +Q q +BT +0.000 0.000 0.000 rg +/F3 1 Tf 14.00 0.00 -0.00 14.00 81.89 397.45 Tm (Histogram of continuous high quality scores) Tj +/F2 1 Tf 12.00 0.00 -0.00 12.00 118.08 18.72 Tm (Continuous High Quality Score length \(bp\)) Tj +/F2 1 Tf 0.00 12.00 -12.00 0.00 12.96 183.86 Tm (Frequency \(%\)) Tj +ET +Q q +0.000 0.000 0.000 RG +0.75 w +[] 0 d +1 J +1 j +10.00 M +69.47 73.44 m 386.80 73.44 l S +69.47 73.44 m 69.47 66.24 l S +114.80 73.44 m 114.80 66.24 l S +160.13 73.44 m 160.13 66.24 l S +205.47 73.44 m 205.47 66.24 l S +250.80 73.44 m 250.80 66.24 l S +296.13 73.44 m 296.13 66.24 l S +341.47 73.44 m 341.47 66.24 l S +386.80 73.44 m 386.80 66.24 l S +BT +0.000 0.000 0.000 rg +/F2 1 Tf 12.00 0.00 -0.00 12.00 66.13 47.52 Tm (0) Tj +/F2 1 Tf 12.00 0.00 -0.00 12.00 108.13 47.52 Tm (20) Tj +/F2 1 Tf 12.00 0.00 -0.00 12.00 153.46 47.52 Tm (40) Tj +/F2 1 Tf 12.00 0.00 -0.00 12.00 198.79 47.52 Tm (60) Tj +/F2 1 Tf 12.00 0.00 -0.00 12.00 244.13 47.52 Tm (80) Tj +/F2 1 Tf 12.00 0.00 -0.00 12.00 286.13 47.52 Tm (100) Tj +/F2 1 Tf 12.00 0.00 -0.00 12.00 331.46 47.52 Tm (120) Tj +/F2 1 Tf 12.00 0.00 -0.00 12.00 376.79 47.52 Tm (140) Tj +ET +59.04 84.53 m 59.04 328.59 l S +59.04 84.53 m 51.84 84.53 l S +59.04 145.55 m 51.84 145.55 l S +59.04 206.56 m 51.84 206.56 l S +59.04 267.57 m 51.84 267.57 l S +59.04 328.59 m 51.84 328.59 l S +BT +/F2 1 Tf 0.00 12.00 -12.00 0.00 41.76 72.86 Tm (0.00) Tj +/F2 1 Tf 0.00 12.00 -12.00 0.00 41.76 133.87 Tm (0.02) Tj +/F2 1 Tf 0.00 12.00 -12.00 0.00 41.76 194.88 Tm (0.04) Tj +/F2 1 Tf 0.00 12.00 -12.00 0.00 41.76 255.90 Tm (0.06) Tj +/F2 1 Tf 0.00 12.00 -12.00 0.00 41.76 316.91 Tm (0.08) Tj +ET +Q q 59.04 73.44 342.72 299.52 re W n +0.000 0.000 0.000 RG +0.75 w +[] 0 d +1 J +1 j +10.00 M +76.27 84.53 2.27 277.33 re S +78.53 84.53 2.27 0.00 re S +80.80 84.53 2.27 0.00 re S +83.07 84.53 2.27 92.44 re S +85.33 84.53 2.27 0.00 re S +87.60 84.53 2.27 92.44 re S +89.87 84.53 2.27 184.89 re S +92.13 84.53 2.27 92.44 re S +94.40 84.53 2.27 0.00 re S +96.67 84.53 2.27 0.00 re S +98.93 84.53 2.27 0.00 re S +101.20 84.53 2.27 92.44 re S +103.47 84.53 2.27 0.00 re S +105.73 84.53 2.27 0.00 re S +108.00 84.53 2.27 0.00 re S +110.27 84.53 2.27 0.00 re S +112.53 84.53 2.27 0.00 re S +114.80 84.53 2.27 0.00 re S +117.07 84.53 2.27 0.00 re S +119.33 84.53 2.27 0.00 re S +121.60 84.53 2.27 0.00 re S +123.87 84.53 2.27 92.44 re S +126.13 84.53 2.27 0.00 re S +128.40 84.53 2.27 92.44 re S +130.67 84.53 2.27 92.44 re S +132.93 84.53 2.27 0.00 re S +135.20 84.53 2.27 0.00 re S +137.47 84.53 2.27 92.44 re S +139.73 84.53 2.27 92.44 re S +142.00 84.53 2.27 0.00 re S +144.27 84.53 2.27 0.00 re S +146.53 84.53 2.27 0.00 re S +148.80 84.53 2.27 0.00 re S +151.07 84.53 2.27 0.00 re S +153.33 84.53 2.27 92.44 re S +155.60 84.53 2.27 0.00 re S +157.87 84.53 2.27 0.00 re S +160.13 84.53 2.27 0.00 re S +162.40 84.53 2.27 0.00 re S +164.67 84.53 2.27 92.44 re S +166.93 84.53 2.27 0.00 re S +169.20 84.53 2.27 0.00 re S +171.47 84.53 2.27 92.44 re S +173.73 84.53 2.27 92.44 re S +176.00 84.53 2.27 0.00 re S +178.27 84.53 2.27 0.00 re S +180.53 84.53 2.27 0.00 re S +182.80 84.53 2.27 0.00 re S +185.07 84.53 2.27 0.00 re S +187.33 84.53 2.27 92.44 re S +189.60 84.53 2.27 92.44 re S +191.87 84.53 2.27 0.00 re S +194.13 84.53 2.27 92.44 re S +196.40 84.53 2.27 0.00 re S +198.67 84.53 2.27 0.00 re S +200.93 84.53 2.27 0.00 re S +203.20 84.53 2.27 92.44 re S +205.47 84.53 2.27 0.00 re S +207.73 84.53 2.27 92.44 re S +210.00 84.53 2.27 0.00 re S +212.27 84.53 2.27 92.44 re S +214.53 84.53 2.27 0.00 re S +216.80 84.53 2.27 0.00 re S +219.07 84.53 2.27 0.00 re S +221.33 84.53 2.27 0.00 re S +223.60 84.53 2.27 0.00 re S +225.87 84.53 2.27 92.44 re S +228.13 84.53 2.27 0.00 re S +230.40 84.53 2.27 0.00 re S +232.67 84.53 2.27 0.00 re S +234.93 84.53 2.27 0.00 re S +237.20 84.53 2.27 92.44 re S +239.47 84.53 2.27 0.00 re S +241.73 84.53 2.27 0.00 re S +244.00 84.53 2.27 92.44 re S +246.27 84.53 2.27 0.00 re S +248.53 84.53 2.27 0.00 re S +250.80 84.53 2.27 92.44 re S +253.07 84.53 2.27 0.00 re S +255.33 84.53 2.27 92.44 re S +257.60 84.53 2.27 0.00 re S +259.87 84.53 2.27 0.00 re S +262.13 84.53 2.27 0.00 re S +264.40 84.53 2.27 0.00 re S +266.67 84.53 2.27 0.00 re S +268.93 84.53 2.27 0.00 re S +271.20 84.53 2.27 0.00 re S +273.47 84.53 2.27 0.00 re S +275.73 84.53 2.27 0.00 re S +278.00 84.53 2.27 0.00 re S +280.27 84.53 2.27 0.00 re S +282.53 84.53 2.27 0.00 re S +284.80 84.53 2.27 0.00 re S +287.07 84.53 2.27 0.00 re S +289.33 84.53 2.27 0.00 re S +291.60 84.53 2.27 0.00 re S +293.87 84.53 2.27 0.00 re S +296.13 84.53 2.27 0.00 re S +298.40 84.53 2.27 0.00 re S +300.67 84.53 2.27 0.00 re S +302.93 84.53 2.27 0.00 re S +305.20 84.53 2.27 0.00 re S +307.47 84.53 2.27 0.00 re S +309.73 84.53 2.27 0.00 re S +312.00 84.53 2.27 0.00 re S +314.27 84.53 2.27 0.00 re S +316.53 84.53 2.27 0.00 re S +318.80 84.53 2.27 92.44 re S +321.07 84.53 2.27 0.00 re S +323.33 84.53 2.27 0.00 re S +325.60 84.53 2.27 0.00 re S +327.87 84.53 2.27 0.00 re S +330.13 84.53 2.27 92.44 re S +332.40 84.53 2.27 0.00 re S +334.67 84.53 2.27 0.00 re S +336.93 84.53 2.27 0.00 re S +339.20 84.53 2.27 0.00 re S +341.47 84.53 2.27 0.00 re S +343.73 84.53 2.27 0.00 re S +346.00 84.53 2.27 0.00 re S +348.27 84.53 2.27 0.00 re S +350.53 84.53 2.27 0.00 re S +352.80 84.53 2.27 0.00 re S +355.07 84.53 2.27 0.00 re S +357.33 84.53 2.27 0.00 re S +359.60 84.53 2.27 0.00 re S +361.87 84.53 2.27 0.00 re S +364.13 84.53 2.27 0.00 re S +366.40 84.53 2.27 0.00 re S +368.67 84.53 2.27 0.00 re S +370.93 84.53 2.27 0.00 re S +373.20 84.53 2.27 0.00 re S +375.47 84.53 2.27 0.00 re S +377.73 84.53 2.27 0.00 re S +380.00 84.53 2.27 0.00 re S +382.27 84.53 2.27 0.00 re S +384.53 84.53 2.27 0.00 re S +386.80 84.53 2.27 184.89 re S +Q +endstream +endobj +8 0 obj +5571 +endobj +3 0 obj +<< +/Type /Pages +/Kids [ +6 0 R +] +/Count 1 +/MediaBox [0 0 432 432] +>> +endobj +4 0 obj +<< +/ProcSet [/PDF /Text] +/Font << /F1 5 0 R /F2 10 0 R /F3 11 0 R >> +/ExtGState << >> +>> +endobj +9 0 obj +<< +/Type /Encoding +/BaseEncoding /WinAnsiEncoding +/Differences [ 45/minus 96/quoteleft +144/dotlessi /grave /acute /circumflex /tilde /macron /breve /dotaccent +/dieresis /.notdef /ring /cedilla /.notdef /hungarumlaut /ogonek /caron /space] +>> +endobj +10 0 obj << +/Type /Font +/Subtype /Type1 +/Name /F2 +/BaseFont /Helvetica +/Encoding 9 0 R +>> endobj +11 0 obj << +/Type /Font +/Subtype /Type1 +/Name /F3 +/BaseFont /Helvetica-Bold +/Encoding 9 0 R +>> endobj +xref +0 12 +0000000000 65535 f +0000000021 00000 n +0000000163 00000 n +0000006019 00000 n +0000006102 00000 n +0000000212 00000 n +0000000295 00000 n +0000000375 00000 n +0000005999 00000 n +0000006206 00000 n +0000006463 00000 n +0000006560 00000 n +trailer +<< +/Size 12 +/Info 1 0 R +/Root 2 0 R +>> +startxref +6662 +%%EOF
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/solexa.qual Mon May 19 12:34:37 2014 -0400 @@ -0,0 +1,30 @@ + -40 -40 40 -40 40 -40 -40 -40 -40 40 -40 -40 -40 -40 -40 40 -40 40 -40 -40 40 -40 -40 -40 -40 -40 -40 40 -40 -40 40 -40 40 -40 -40 -40 -40 -40 -40 40 -40 -40 -40 40 -40 -40 -40 40 -40 40 -40 -40 -40 -40 -40 40 -40 -40 -40 40 40 -40 -40 -40 -40 40 -40 -40 -40 40 -40 -40 -40 -40 -40 40 40 -40 -40 -40 -40 -40 -40 40 -40 -40 -40 40 40 -40 -40 -40 -40 -40 40 -40 -40 -40 -40 40 -40 -40 40 -40 -40 -40 40 -40 -40 -40 -40 40 -40 -40 -40 40 -40 -40 40 -40 40 -40 -40 -40 40 -40 -40 -40 -40 40 -40 -40 40 -40 -40 -40 -40 -40 -15 15 -40 40 -40 -40 + -40 -40 40 -40 -40 -40 -40 40 -40 -40 40 -40 40 -40 -40 -40 -40 -40 -40 40 40 -40 -40 -40 -40 -40 -40 40 -40 -40 40 -40 -40 -40 -40 40 40 -40 -40 -40 -40 -40 -40 40 -40 -40 40 -40 -40 -40 -40 40 -40 -40 -40 40 -40 -40 40 -40 40 -40 -40 -40 -5 5 -40 -40 -40 -40 40 -40 -40 -40 40 -40 -40 21 -40 -21 -40 40 -40 -40 40 -40 -40 -40 -40 -40 -40 40 40 -40 -40 -40 12 -40 -40 -12 -36 -40 36 -40 -40 -40 40 -40 -4 4 -40 -40 -40 -40 -40 40 -40 -40 14 -14 -40 40 -40 -40 -40 -40 -40 40 -40 -40 -40 40 -40 40 -40 -40 -40 -40 -40 40 -40 -40 -25 25 + -40 -40 40 -40 -40 -40 -40 40 -40 -40 -40 40 -40 -40 40 -40 -40 -40 -40 40 -40 40 -40 -40 -40 -40 40 -40 40 -40 -40 -40 -40 -40 -40 40 40 -40 -40 -40 -40 -40 40 -40 40 -40 -40 -40 40 -40 -40 -40 -40 40 -40 -40 -40 -40 -40 40 -40 -40 -40 40 -40 34 -40 -34 40 -40 -40 -40 -40 -40 -40 40 -40 -25 25 -40 -40 -40 -40 40 -37 -40 37 -40 -40 7 -40 -7 -40 40 -40 -40 -40 -40 -40 40 -40 -40 40 -40 -40 -40 -40 40 40 -40 -40 -40 38 -40 -40 -38 40 -40 -40 -40 40 -40 -40 -40 -40 40 -40 -40 40 -40 -40 -40 11 -16 -13 -22 -40 -40 40 -40 -40 -40 -40 40 + 40 -40 -40 -40 -40 40 -40 -40 -40 40 -40 -40 40 -40 -40 -40 40 -40 -40 -40 -33 33 -40 -40 -40 40 -40 -40 40 -40 -40 -40 -40 -40 40 -40 40 -40 -40 -40 40 -40 -40 -40 -40 40 -40 -40 -40 -40 40 -40 -40 -40 -25 25 -40 -40 40 -40 40 -40 -40 -40 40 -40 -40 -40 40 -40 -40 -40 40 -40 -40 -40 40 -40 -40 -40 -40 -40 27 -27 -5 5 -40 -40 -40 -40 40 -40 -40 -40 -40 40 -40 40 -40 -40 -40 40 -40 -40 -40 -40 -40 40 -40 -40 40 -40 -40 40 -40 -40 -40 -37 37 -40 -40 -40 -40 40 -40 -40 40 -40 -40 -40 -25 25 40 -40 -40 -40 -40 -40 34 -34 -40 40 -40 -40 + -40 -40 40 -40 -40 -40 -40 40 -40 -40 -40 40 -40 -40 -40 40 40 -40 -40 -40 -40 -40 -40 40 -40 -40 40 -40 -40 -40 -40 40 -40 -40 -40 40 -40 -40 40 -40 -40 -40 40 -40 -40 -40 -40 40 -40 -40 -40 40 -40 -40 -40 40 -40 40 -40 -40 40 -40 -40 -40 -40 -40 -40 40 -40 -40 40 -40 -40 -40 40 -40 -40 -40 -40 40 -40 -40 -40 40 -40 -40 -40 40 -40 -40 -2 2 -40 -40 35 -35 -40 -40 -40 40 -40 40 -40 -40 -40 -40 -40 40 40 -40 -40 -40 40 -40 -40 -40 -40 36 -40 -36 -40 -40 -40 40 -40 -40 -40 40 -40 -40 -40 40 5 -5 -40 -28 -40 -16 -40 16 -40 40 -40 -40 + -40 -40 40 -40 -40 40 -40 -40 -40 -40 -40 40 -40 -40 -40 40 -40 -40 -40 40 40 -40 -40 -40 -40 40 -40 -40 -40 40 -40 -40 -40 -40 40 -40 -40 -40 -40 40 -40 40 -40 -40 -40 -40 -40 40 -40 -40 -40 40 -40 -40 -40 40 -40 40 -40 -40 -40 40 -40 -40 40 -40 -40 -40 -40 -40 40 -40 40 -40 -40 -40 40 -40 -40 -40 40 -40 -40 -40 -40 -40 -40 40 -40 -40 -40 40 -40 -40 40 -40 -40 -40 -40 40 -40 -40 -40 40 -40 40 -40 -40 -40 40 -40 -40 40 -40 -40 -40 40 -40 -40 -40 -40 -40 28 -28 -40 -40 -40 40 40 -40 -40 -40 -40 -40 -40 40 -40 40 -40 -40 -40 -40 40 -40 + -40 -40 40 -40 -40 40 -40 -40 -40 -40 -40 40 -40 -40 -40 40 -40 -40 40 -40 -40 -40 -40 40 -40 -40 -40 40 -40 -40 -40 40 40 -40 -40 -40 -40 40 -40 -40 -40 -40 40 -40 40 -40 -40 -40 40 -40 -40 -40 -40 -40 -40 40 -40 -40 -40 40 40 -40 -40 -40 40 -40 -40 -40 40 -40 -40 -40 -40 -40 -40 40 -40 40 -40 -40 -40 -40 40 -40 40 -40 -40 -40 40 -40 -40 -40 -40 -40 40 -40 -40 -40 -40 40 -40 -40 40 -40 -40 -40 40 -40 40 -40 -40 -40 -40 40 -40 -40 -40 -40 -40 40 -40 -40 27 -27 -40 40 -40 -40 -40 -40 -40 40 -40 -40 40 -40 -40 -40 14 -14 -40 40 -40 -40 + -40 -40 40 -40 -40 -40 -40 40 -40 -40 -40 40 40 -40 -40 -40 -40 -40 -40 40 40 -40 -40 -40 40 -40 -40 -40 -40 40 -40 -40 -40 -40 40 -40 -40 40 -40 -40 -40 40 -40 -40 -40 -40 40 -40 40 -40 -40 -40 40 -40 -40 -40 -40 -40 40 -40 -40 40 -40 -40 -40 -40 40 -40 -40 -40 40 -40 -40 -40 -40 40 40 -40 -40 -40 40 -40 -40 -40 40 -40 -40 -40 40 -40 -40 -40 40 -40 -40 -40 -40 -40 -40 40 -40 -40 -40 40 -40 -40 -40 40 -40 -40 -40 40 -36 -40 -40 36 40 -40 -40 -40 -40 -40 -40 40 -40 -40 -40 40 -40 -40 -40 40 -40 -40 -40 40 -40 -40 -40 40 -40 -40 -40 40 + -40 -40 40 -40 -40 -40 -40 40 -40 -40 -40 40 -40 40 -40 -40 -40 -40 -40 40 -40 40 -40 -40 40 -40 -40 -40 -40 40 -40 -40 -40 -40 -40 40 -40 -40 -40 40 -40 40 -40 -40 -40 -40 -40 40 -40 -40 40 -40 -40 -40 -40 40 -40 -40 -40 40 40 -40 -40 -40 -40 40 -40 -40 -40 -40 -40 40 -40 40 -40 -40 -40 40 -40 -40 40 -40 -40 -40 -40 -40 40 -40 -40 40 -40 -40 -40 -40 -40 40 -40 -40 -40 40 -40 40 -40 -40 -40 -40 -40 40 -40 -40 -40 40 -40 40 -40 -40 -40 -40 40 -40 -40 -40 22 -22 -40 40 -40 -40 40 -40 -40 -40 -40 40 -40 -40 -40 40 -40 -40 -40 -40 -40 40 + -40 -40 40 -40 -40 -40 -40 40 -40 -40 40 -40 -40 -40 40 -40 -40 40 -40 -40 -40 40 -40 -40 -40 -40 -40 40 -40 -40 40 -40 -40 -40 -40 40 -40 -40 -40 40 -40 -40 40 -40 40 -40 -40 -40 -40 -40 -40 40 -40 -40 -6 6 -40 40 -40 -40 -40 -40 -40 40 3 -40 -40 -3 40 -40 -40 -40 40 -40 -40 -40 -40 -40 40 -40 -40 -40 40 -40 -0 -40 -40 0 -40 -40 -40 40 40 -40 -40 -40 -40 -40 40 -40 -40 -40 -40 40 -40 -40 -40 40 -40 -40 -40 40 -20 20 -40 -40 -40 -40 -40 40 -40 -40 -40 40 -40 40 -40 -40 8 -40 -40 -8 -40 40 -40 -40 -40 -40 40 -40 -4 4 -40 -40 + -40 -40 40 -40 -40 -40 -40 40 -40 -40 40 -40 40 -40 -40 -40 -40 40 -40 -40 -40 40 -40 -40 -40 -40 40 -40 -1 1 -40 -40 40 -40 -40 -40 -40 -40 -40 40 40 -40 -40 -40 40 -40 -40 -40 40 -40 -40 -40 -40 -40 28 -28 -40 -40 -40 40 -10 -40 10 -40 -40 40 -40 -40 40 -40 -40 -40 -40 2 -2 -40 40 -40 -40 -40 17 -40 -17 -40 -40 40 -40 -40 3 -3 -40 -40 -40 -40 -40 40 -28 -40 28 -40 -40 -40 40 -40 13 -26 -13 -40 40 -40 -40 -40 40 -40 -40 -40 -40 -40 -40 40 -40 -40 18 -18 40 -40 -40 -40 -10 -40 10 -40 -40 -40 40 -40 17 -40 -17 -40 -28 28 -40 -40 + -40 -40 40 -40 -40 40 -40 -40 40 -40 -40 -40 -40 -40 40 -40 5 -40 -40 -5 -40 -40 -40 40 -40 40 -40 -40 -40 -40 40 -40 -40 40 -40 -40 -40 -40 -40 40 40 -40 -40 -40 -40 40 -40 -40 40 -40 -40 -40 -40 40 -40 -40 -40 -40 40 -40 -40 40 -40 -40 40 -40 -40 -40 -40 -40 40 -40 -40 -40 40 -40 40 -40 -40 -40 -10 10 -40 -40 -40 -40 40 -40 -40 28 -28 -40 -40 -40 -40 40 -40 -40 -40 40 -40 -40 -40 40 -40 -40 -40 40 -40 -40 -40 40 -40 40 -40 -40 32 -32 -40 -40 -40 4 -40 -4 -40 -40 40 -40 -40 -40 -40 40 -40 -40 -40 40 -40 40 -40 -40 -40 -40 -40 40 + -40 -40 40 -40 -40 40 -40 -40 -40 -40 -40 40 -40 40 -40 -40 -40 -40 40 -40 -40 -40 -40 40 -40 -40 -40 40 40 -40 -40 -40 -40 -40 -40 40 -40 -40 40 -40 -40 -40 40 -40 -40 -40 -40 40 -40 -40 -40 40 -40 -40 -40 40 -40 40 -40 -40 -40 40 -40 -40 -40 -40 40 -40 -40 -40 -40 40 -40 -40 -40 40 -40 -40 40 -40 -40 40 -40 -40 -40 -40 -40 40 -40 -40 40 -40 -40 40 -40 -40 -40 40 -40 -40 27 -27 -40 -40 -40 -40 -40 40 -40 40 -40 -40 -40 -40 -40 40 -40 40 -40 -40 40 -40 -40 -40 40 -40 -40 -40 40 -40 -40 -40 40 -40 -40 -40 40 -40 -40 -40 -40 40 -40 -40 + -40 -40 40 -40 -40 -40 -40 40 -40 -40 -40 40 -40 -40 40 -40 40 -40 -40 -40 -40 40 -40 -40 -40 -40 40 -40 -40 -40 40 -40 -40 40 -40 -40 -40 40 -40 -40 40 -40 -40 -40 -40 -40 -40 40 40 -40 -40 -40 40 -40 -40 -40 -40 -40 40 -40 -40 -40 40 -40 -40 40 -40 -40 -40 -40 -40 40 -40 -40 40 -40 -15 15 -40 -40 -40 -40 -40 40 -40 -40 -40 40 -40 40 -40 -40 -40 -40 -40 40 -40 -40 40 -40 40 -40 -40 -40 -40 40 -40 -40 -40 -40 40 -40 -40 -40 -40 40 -40 -40 -40 40 -40 40 -40 -40 -40 -40 40 -40 -40 -40 -40 40 -40 -40 40 -40 32 -40 -40 -32 -40 -40 -40 40 + -40 -40 40 -40 -40 -40 -40 40 -40 40 -40 -40 40 -40 -40 -40 40 -40 -40 -40 -40 -40 40 -40 -40 -40 40 -40 40 -40 -40 -40 -40 40 -40 -40 -40 -40 -40 40 -40 -40 40 -40 -40 -40 40 -40 -40 -40 -40 40 -40 -40 -40 40 -40 -40 -40 40 40 -40 -40 -40 -40 -40 40 -40 40 -40 -40 -40 -40 -40 -40 40 40 -40 -40 -40 -40 -40 -40 40 -40 -40 40 -40 40 -40 -40 -40 -40 -40 40 -40 -40 -40 -40 40 -40 40 -40 -40 40 -40 -40 -40 -40 40 -40 -40 40 -40 -40 -40 -40 -40 -40 40 -40 -40 -40 40 -40 -40 -40 40 -40 -40 -40 40 -40 -40 40 -40 -40 -40 -40 40 -40 -40 -40 40 + -40 -40 40 -40 -40 -40 -40 40 -40 -40 40 -40 -40 40 -40 -40 -40 -40 -40 40 -40 -40 40 -40 25 -40 -40 -25 -40 -40 40 -40 -40 -40 -40 40 -40 -40 -40 40 -40 -40 -40 40 -40 -40 -20 20 -40 -40 -40 40 -40 -40 -40 40 -40 -40 -40 40 -40 40 -40 -40 -40 -40 -40 40 -40 -40 40 -40 -40 -40 -40 40 -40 -40 -40 40 40 -40 -40 -40 -31 31 -40 -40 -40 -40 -40 40 -40 -23 23 -40 -40 -40 -40 40 -40 -40 40 -40 15 -15 -40 -40 -40 40 -40 -40 25 -40 -25 -40 -40 -40 -40 40 -40 -40 -40 40 40 -40 -40 -40 39 -40 -40 -40 -40 -40 -40 40 -40 -40 -40 40 -40 -40 -40 40 + -40 -40 40 -40 40 -40 -40 -40 -40 40 -40 -40 -40 40 -40 -40 -40 -40 -40 40 -40 -40 -40 40 -40 -40 40 -40 -40 40 -40 -40 -40 -40 -40 40 -40 -40 40 -40 -40 40 -40 -40 -40 -40 -40 40 40 -40 -40 -40 40 -40 -40 -40 40 -40 -40 -40 -40 -40 40 -40 -40 -40 40 -40 -40 -40 -40 40 -40 40 -40 -40 -40 -40 -40 40 40 -40 -40 -40 -40 -40 40 -40 -40 -40 40 -40 40 -40 -40 -40 -40 -40 40 -40 -40 40 -40 -40 -40 -40 -40 40 40 -40 -40 -40 40 -40 -40 -40 40 -40 -40 -40 -40 -40 40 -40 40 -40 -40 -40 40 -40 -40 -40 -40 -40 -40 40 -40 -40 40 -40 -40 -40 40 -40 + -40 -40 40 -40 -40 -40 40 -40 40 -40 -40 -40 40 -40 -40 -40 40 -40 -40 -40 40 -40 -40 -40 -40 -40 -40 40 -40 -40 40 -40 40 -40 -40 -40 -40 -40 40 -40 40 -40 -40 -40 40 -40 -40 -40 40 -40 -40 -40 40 -40 -40 -40 -40 -40 -40 40 -40 -40 -40 40 -40 40 -40 -40 -40 -40 40 -40 40 -40 -40 -40 -40 40 -40 -40 -40 40 -40 -40 -40 -40 -40 40 40 -40 -40 -40 -40 -40 -40 40 -40 40 -40 -40 -40 40 -40 -40 -40 -40 -40 40 -40 -40 -40 40 -40 -40 40 -40 -40 40 -40 -40 -40 -40 40 -40 -40 40 -40 -40 40 -40 -40 -40 -40 -40 40 -40 -40 40 -40 -40 -40 -40 -40 40 + -40 -40 40 -40 40 -40 -40 -40 -40 -40 40 -40 -40 -40 -40 40 -40 40 -40 -40 -40 -40 -40 40 -40 40 -40 -40 40 -40 -40 -40 -40 -40 -40 40 -40 -40 -40 40 -40 -40 -40 40 -40 -40 -40 40 -40 -40 40 -40 -40 40 -40 -40 40 -40 -40 -40 -40 -40 -40 40 -40 40 -40 -40 -40 -40 -40 40 -40 40 -40 -40 -40 -40 40 -40 -40 -40 40 -40 -40 40 -40 -40 40 -40 -40 -40 40 -40 -40 -40 -40 -40 -40 40 -40 40 -40 -40 -40 -40 -40 40 -40 40 -40 -40 -40 -40 -40 40 -40 -40 -40 40 -40 -40 -40 40 -40 40 -40 -40 -40 -40 -40 40 -40 -40 40 -40 40 -40 -40 -40 -40 -40 -40 40 + -40 -40 40 -40 -40 -40 -40 40 -40 40 -40 -40 40 -40 -40 -40 -40 -40 -40 40 40 -40 -40 -40 40 -40 -40 -40 -40 -40 40 -40 40 -40 -40 -40 -40 -40 40 -40 -40 -40 40 -40 -40 -40 -40 40 -40 -40 -40 40 -40 -40 -40 40 -40 -40 -40 40 40 -40 -40 -40 -40 40 -40 -40 -40 40 -40 -40 -40 -40 -40 40 -40 40 -40 -40 -40 40 -40 -40 40 -40 -40 -40 40 -40 -40 -40 40 -40 -40 -40 -40 -40 -40 40 -40 -40 40 -40 40 -40 -40 -40 40 -40 -40 -40 -40 -40 40 -40 40 -40 -40 -40 40 -40 -40 -40 40 -40 -40 -40 -40 -40 -40 40 40 -40 -40 -40 40 -40 -40 -40 -40 40 -40 -40 + -40 -40 40 -40 -40 40 -40 -40 -40 -40 -40 40 -40 -40 40 -40 -40 -40 40 -40 -40 -40 -40 40 40 -40 -40 -40 40 -40 -40 -40 -40 -40 -40 40 -40 -40 40 -40 -40 -40 40 -40 -40 -40 -40 40 -40 -40 40 -40 -40 -40 40 -40 -40 -40 -40 40 -40 -40 -40 40 -40 -40 -40 40 -40 -40 -40 40 -40 -40 -40 40 -40 -40 -40 40 -40 -40 -40 40 -40 -40 -40 40 -40 -40 -40 40 -40 -40 -40 40 -40 -40 -40 40 -40 -40 -40 40 -40 -40 -40 40 -40 -36 -40 36 -40 -40 -40 40 -40 -40 -40 40 -40 -40 -40 40 -24 -40 -40 24 -40 -40 -40 40 -14 -40 -40 14 -40 -40 -40 40 -40 -40 -40 40 + -40 -40 40 -40 -40 -40 -40 40 -40 -40 -40 40 -40 -40 40 -40 40 -40 -40 -40 -40 -40 40 -40 -40 -40 40 -40 -40 40 -40 -40 -40 -40 -40 40 -40 -40 -40 40 -40 -40 40 -40 -40 40 -40 -40 -40 -40 40 -40 -40 -40 -40 40 -40 -40 -40 40 -40 -40 -40 40 40 -40 -40 -40 -40 -40 -40 40 -40 -40 40 -40 -40 -40 40 -40 -40 -40 -40 40 40 -40 -40 -40 -40 40 -40 -40 -40 -40 40 -40 -40 40 -40 -40 -40 -40 -40 40 -40 -40 40 -40 -40 -40 40 -40 40 -40 -40 -40 -40 40 -40 -40 -40 -40 -40 40 -40 -40 -40 40 -40 -40 -40 40 -40 -40 9 -9 -40 -40 -40 40 23 -40 -40 -23 + -40 -40 40 -40 40 -40 -40 -40 -40 -40 40 -40 -40 -40 20 -20 40 -40 -40 -40 -40 -10 10 -40 14 -40 -40 -14 -40 -40 40 -40 -40 -40 -40 40 -35 -40 35 -40 -40 38 -38 -40 40 -40 -40 -40 -40 -40 13 -13 -40 -40 40 -40 -40 -40 -40 40 29 -29 -40 -40 -40 -40 -40 40 -15 -40 -40 15 40 -40 -40 -40 40 -40 -40 -40 -23 -40 -40 23 40 -40 -40 -40 -1 -40 -40 1 -40 38 -38 -40 40 -40 -40 -40 40 -40 -40 -40 -40 -40 40 -40 -40 -40 40 -40 -40 -40 -40 40 -40 -40 -9 9 -40 -40 -21 21 -40 -40 21 -21 -40 -40 -29 29 -40 -13 13 -40 40 -40 -40 -40 -40 -40 40 -40 + -40 -40 40 -40 -40 -40 40 -40 -40 40 -40 -40 -40 -40 40 -40 40 -40 -40 -40 -40 40 -40 -40 -40 -40 -40 40 -40 -40 -40 40 -40 40 -40 -40 40 -40 -40 -40 -40 40 -40 -40 -40 -40 40 -40 -40 40 -40 -40 -40 40 -40 -40 40 -40 -40 -40 -40 -40 40 -40 40 -40 -40 -40 40 -40 -40 -40 -40 -40 -40 40 40 -40 -40 -40 -40 40 -40 -40 -40 -40 40 -40 40 -40 -40 -40 40 -40 -40 -40 40 -40 -40 -40 -40 -40 -3 3 40 -40 -40 -40 -40 40 -40 -40 -40 40 -40 -40 12 -40 -40 -12 -10 -40 10 -40 -40 -40 40 -40 -40 -40 -40 40 40 -40 -40 -40 -40 -40 -40 40 -21 -40 -40 21 + -40 -40 40 -40 -40 40 -40 -40 -40 -40 -40 40 -40 40 -40 -40 40 -40 -40 -40 -40 -40 -40 40 -40 -40 -40 40 -40 40 -40 -40 40 -40 -40 -40 -40 -40 40 -40 -40 -40 40 -40 -40 40 -40 -40 -40 -40 -40 40 -40 -40 -40 40 -40 40 -40 -40 -40 -40 -40 40 -40 -40 40 -40 -40 40 -40 -40 -40 40 -40 -40 -40 -40 40 -40 -40 -40 -40 40 -40 -40 -40 40 -40 -40 -40 40 -40 -40 -40 40 -40 -40 40 -40 -40 -40 40 -40 40 -40 -40 -40 -40 -40 -40 40 -40 -40 -40 40 -40 -40 -40 40 40 -40 -40 -40 40 -40 -40 -40 -40 40 -40 -40 -40 40 -40 -40 -40 -40 40 -40 40 -40 -40 -40 + -40 -40 40 -40 -40 -40 40 -40 -40 -40 40 -40 40 -40 -40 -40 -40 -40 -40 40 -40 -40 40 -40 40 -40 -40 -40 40 -40 -40 -40 -40 40 -40 -40 40 -40 -40 -40 -40 -40 -40 40 40 -40 -40 -40 40 -40 -40 -40 -40 -40 -40 40 40 -40 -40 -40 40 -40 -40 -40 -40 -40 40 -40 -40 40 -40 -40 40 -40 -40 -40 40 -40 -40 -40 -40 -40 -40 40 -40 -40 40 -40 40 -40 -40 -40 -40 40 -40 -40 -40 -40 40 -40 -40 -1 1 -40 -40 40 -40 -40 40 -40 -40 -40 -40 -31 31 -40 -40 40 -40 -40 40 -40 -40 -40 40 -40 -40 -40 -40 -40 -40 40 40 -40 -40 -40 40 -40 -40 -40 40 -40 -40 -40 + -40 -40 40 -40 -40 -40 -40 40 40 -40 -40 -40 -40 -40 -40 40 -40 -40 -40 40 -40 -40 -40 40 -40 -40 -40 40 40 -40 -40 -40 -40 40 -40 -40 -40 40 -40 -40 40 -40 -40 -40 40 -40 -40 -40 -40 -40 -40 40 -40 -40 40 -40 40 -40 -40 -40 -40 40 -40 -40 -40 40 -40 -40 40 -40 -40 -40 40 -40 -40 -40 40 -40 -40 -40 -40 -40 -40 40 -40 40 -40 -40 40 -40 -40 -40 40 -40 -40 -40 40 -40 -40 -40 -40 -40 40 -40 40 -40 -40 -40 40 -40 -40 -40 40 -40 -40 -40 -40 -40 -40 40 -40 -40 40 -40 40 -40 -40 -40 -40 40 -40 -40 -40 -40 -40 40 -40 40 -40 -40 -40 -40 40 -40 + -40 -40 40 -40 -40 -40 -40 40 -40 -40 -40 40 -40 -40 -40 40 -40 -40 -40 40 -40 -40 -40 40 40 -40 -40 -40 -40 -40 40 -40 -40 -40 -40 40 -40 -40 40 -40 40 -40 -40 -40 -40 -40 40 -40 -40 -40 -40 40 -40 -40 -40 40 -40 -40 40 -40 -40 -40 -40 40 -40 -40 -40 40 -40 40 -40 -40 -40 40 -40 -40 40 -40 -40 -40 -40 -40 -40 40 -40 -40 -40 40 -40 40 -40 -40 -40 -40 -40 40 -40 -40 -40 40 -40 -40 -40 40 40 -40 -40 -40 -40 -40 40 -40 -40 40 -40 -40 -40 -40 -40 40 -40 40 -40 -40 -29 29 -40 -40 -40 -40 -40 40 40 -40 -40 -40 -40 -40 36 -36 40 -40 -40 -40 + -40 -40 40 -40 -40 -40 -40 40 40 -40 -40 -40 -40 -40 -40 40 -40 -40 -40 40 -40 -40 40 -40 20 -20 -40 -40 -40 -40 -40 40 3 -40 -40 -3 40 -40 -40 -40 40 -40 -40 -40 -40 -40 40 -40 -40 40 -40 -40 -40 -40 -40 40 -40 -40 40 -40 -40 -40 -40 40 -40 -40 -40 40 -40 -40 40 -40 -40 40 -40 -40 -40 40 -40 -40 -40 -40 33 -33 40 -40 -40 -40 -13 -40 -40 13 8 -8 -40 -40 -40 28 -28 -40 -29 -40 -40 29 -40 -40 -40 40 2 -40 -2 -26 -40 -28 27 -33 -1 0 -40 -35 31 -31 -40 -40 -40 40 -40 -40 -11 -40 -40 11 40 -40 -40 -40 -40 -40 -40 40 -40 -40 -40 40 + -40 -40 40 -40 -40 40 -40 -40 -40 -40 40 -40 -40 -40 -40 40 40 -40 -40 -40 -40 40 -40 -40 -40 -40 -40 40 -40 -40 -40 40 38 -38 -40 -40 -40 -40 -40 40 -40 -40 -40 40 -40 40 -40 -40 -40 -40 40 -40 -40 40 -40 -40 -40 40 -40 -40 40 -40 -40 -40 -40 40 -40 -40 -40 40 -40 -40 40 -40 -40 -40 -40 -40 -40 40 -40 -40 40 -40 40 -40 -40 -40 -40 -40 -40 40 -40 -40 -40 40 40 -40 -40 -40 -40 -40 -40 40 -40 -40 -40 40 29 -40 -40 -29 -40 40 -40 -40 -40 10 -40 -10 40 -40 -40 -40 -40 -40 2 -2 -13 -40 -40 13 -40 -40 40 -40 -40 -40 -40 40 -40 -40 -40 40
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/solexa_high_quality_hist.pdf Mon May 19 12:34:37 2014 -0400 @@ -0,0 +1,197 @@ +%PDF-1.1 +%ρ\r +1 0 obj +<< +/CreationDate (D:20080414133351) +/ModDate (D:20080414133351) +/Title (R Graphics Output) +/Producer (R 2.6.2) +/Creator (R) +>> +endobj +2 0 obj +<< +/Type /Catalog +/Pages 3 0 R +>> +endobj +5 0 obj +<< +/Type /Font +/Subtype /Type1 +/Name /F1 +/BaseFont /ZapfDingbats +>> +endobj +6 0 obj +<< +/Type /Page +/Parent 3 0 R +/Contents 7 0 R +/Resources 4 0 R +>> +endobj +7 0 obj +<< +/Length 8 0 R +>> +stream +q +Q q +BT +0.000 0.000 0.000 rg +/F3 1 Tf 14.00 0.00 -0.00 14.00 81.89 397.45 Tm (Histogram of continuous high quality scores) Tj +/F2 1 Tf 12.00 0.00 -0.00 12.00 118.08 18.72 Tm (Continuous High Quality Score length \(bp\)) Tj +/F2 1 Tf 0.00 12.00 -12.00 0.00 12.96 183.86 Tm (Frequency \(%\)) Tj +ET +Q q +0.000 0.000 0.000 RG +0.75 w +[] 0 d +1 J +1 j +10.00 M +62.67 73.44 m 380.00 73.44 l S +62.67 73.44 m 62.67 66.24 l S +108.00 73.44 m 108.00 66.24 l S +153.33 73.44 m 153.33 66.24 l S +198.67 73.44 m 198.67 66.24 l S +244.00 73.44 m 244.00 66.24 l S +289.33 73.44 m 289.33 66.24 l S +334.67 73.44 m 334.67 66.24 l S +380.00 73.44 m 380.00 66.24 l S +BT +0.000 0.000 0.000 rg +/F2 1 Tf 12.00 0.00 -0.00 12.00 59.33 47.52 Tm (0) Tj +/F2 1 Tf 12.00 0.00 -0.00 12.00 104.66 47.52 Tm (5) Tj +/F2 1 Tf 12.00 0.00 -0.00 12.00 146.66 47.52 Tm (10) Tj +/F2 1 Tf 12.00 0.00 -0.00 12.00 191.99 47.52 Tm (15) Tj +/F2 1 Tf 12.00 0.00 -0.00 12.00 237.33 47.52 Tm (20) Tj +/F2 1 Tf 12.00 0.00 -0.00 12.00 282.66 47.52 Tm (25) Tj +/F2 1 Tf 12.00 0.00 -0.00 12.00 327.99 47.52 Tm (30) Tj +/F2 1 Tf 12.00 0.00 -0.00 12.00 373.33 47.52 Tm (35) Tj +ET +59.04 84.53 m 59.04 339.68 l S +59.04 84.53 m 51.84 84.53 l S +59.04 148.32 m 51.84 148.32 l S +59.04 212.11 m 51.84 212.11 l S +59.04 275.89 m 51.84 275.89 l S +59.04 339.68 m 51.84 339.68 l S +BT +/F2 1 Tf 0.00 12.00 -12.00 0.00 41.76 76.19 Tm (0.0) Tj +/F2 1 Tf 0.00 12.00 -12.00 0.00 41.76 139.98 Tm (0.1) Tj +/F2 1 Tf 0.00 12.00 -12.00 0.00 41.76 203.77 Tm (0.2) Tj +/F2 1 Tf 0.00 12.00 -12.00 0.00 41.76 267.55 Tm (0.3) Tj +/F2 1 Tf 0.00 12.00 -12.00 0.00 41.76 331.34 Tm (0.4) Tj +ET +Q q 59.04 73.44 342.72 299.52 re W n +0.000 0.000 0.000 RG +0.75 w +[] 0 d +1 J +1 j +10.00 M +71.73 84.53 9.07 27.73 re S +80.80 84.53 9.07 0.00 re S +89.87 84.53 9.07 13.87 re S +98.93 84.53 9.07 27.73 re S +108.00 84.53 9.07 13.87 re S +117.07 84.53 9.07 27.73 re S +126.13 84.53 9.07 13.87 re S +135.20 84.53 9.07 13.87 re S +144.27 84.53 9.07 0.00 re S +153.33 84.53 9.07 41.60 re S +162.40 84.53 9.07 0.00 re S +171.47 84.53 9.07 0.00 re S +180.53 84.53 9.07 55.47 re S +189.60 84.53 9.07 0.00 re S +198.67 84.53 9.07 13.87 re S +207.73 84.53 9.07 0.00 re S +216.80 84.53 9.07 0.00 re S +225.87 84.53 9.07 13.87 re S +234.93 84.53 9.07 0.00 re S +244.00 84.53 9.07 0.00 re S +253.07 84.53 9.07 27.73 re S +262.13 84.53 9.07 0.00 re S +271.20 84.53 9.07 0.00 re S +280.27 84.53 9.07 27.73 re S +289.33 84.53 9.07 0.00 re S +298.40 84.53 9.07 13.87 re S +307.47 84.53 9.07 0.00 re S +316.53 84.53 9.07 0.00 re S +325.60 84.53 9.07 13.87 re S +334.67 84.53 9.07 13.87 re S +343.73 84.53 9.07 0.00 re S +352.80 84.53 9.07 0.00 re S +361.87 84.53 9.07 0.00 re S +370.93 84.53 9.07 0.00 re S +380.00 84.53 9.07 277.33 re S +Q +endstream +endobj +8 0 obj +2671 +endobj +3 0 obj +<< +/Type /Pages +/Kids [ +6 0 R +] +/Count 1 +/MediaBox [0 0 432 432] +>> +endobj +4 0 obj +<< +/ProcSet [/PDF /Text] +/Font << /F1 5 0 R /F2 10 0 R /F3 11 0 R >> +/ExtGState << >> +>> +endobj +9 0 obj +<< +/Type /Encoding +/BaseEncoding /WinAnsiEncoding +/Differences [ 45/minus 96/quoteleft +144/dotlessi /grave /acute /circumflex /tilde /macron /breve /dotaccent +/dieresis /.notdef /ring /cedilla /.notdef /hungarumlaut /ogonek /caron /space] +>> +endobj +10 0 obj << +/Type /Font +/Subtype /Type1 +/Name /F2 +/BaseFont /Helvetica +/Encoding 9 0 R +>> endobj +11 0 obj << +/Type /Font +/Subtype /Type1 +/Name /F3 +/BaseFont /Helvetica-Bold +/Encoding 9 0 R +>> endobj +xref +0 12 +0000000000 65535 f +0000000021 00000 n +0000000163 00000 n +0000003119 00000 n +0000003202 00000 n +0000000212 00000 n +0000000295 00000 n +0000000375 00000 n +0000003099 00000 n +0000003306 00000 n +0000003563 00000 n +0000003660 00000 n +trailer +<< +/Size 12 +/Info 1 0 R +/Root 2 0 R +>> +startxref +3762 +%%EOF
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tool_dependencies.xml Mon May 19 12:34:37 2014 -0400 @@ -0,0 +1,9 @@ +<?xml version="1.0"?> +<tool_dependency> + <package name="rpy" version="1.0.3"> + <repository changeset_revision="82170c94ca7c" name="package_rpy_1_0_3" owner="devteam" toolshed="http://toolshed.g2.bx.psu.edu" /> + </package> + <package name="R" version="2.11.0"> + <repository changeset_revision="5824d2b3bc8b" name="package_r_2_11_0" owner="devteam" toolshed="http://toolshed.g2.bx.psu.edu" /> + </package> +</tool_dependency>