Repository 'samtools_stats'
hg clone https://toolshed.g2.bx.psu.edu/repos/devteam/samtools_stats

Changeset 0:0d71d9467847 (2015-04-22)
Next changeset 1:8cfc17e27132 (2015-11-11)
Commit message:
Uploaded
added:
macros.xml
samtools_stats.xml
samtools_stats_tool_test_output.html
test-data/phiX.bam
test-data/samtools_stats_input.bam
test-data/samtools_stats_out1.tab
test-data/samtools_stats_out2.tab
test-data/samtools_stats_out2/gcc.tab
test-data/samtools_stats_out2/mpc.tab
test-data/samtools_stats_out2/sn.tab
test-data/samtools_stats_ref.fa
tool-data/fasta_indexes.loc.sample
tool_data_table_conf.xml.sample
tool_dependencies.xml
b
diff -r 000000000000 -r 0d71d9467847 macros.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/macros.xml Wed Apr 22 10:29:35 2015 -0400
b
@@ -0,0 +1,70 @@
+<macros>
+    <xml name="requirements">
+        <requirements>
+            <requirement type="package" version="1.2">samtools</requirement>
+            <yield/>
+        </requirements>
+    </xml>
+    <xml name="citations">
+        <citations>
+            <citation type="bibtex">
+                @misc{SAM_def,
+                title={Definition of SAM/BAM format},
+                url = {https://samtools.github.io/hts-specs/SAMv1.pdf},}
+            </citation>
+            <citation type="doi">10.1093/bioinformatics/btp352</citation>
+            <citation type="doi">10.1093/bioinformatics/btr076</citation>
+            <citation type="doi">10.1093/bioinformatics/btr509</citation>
+            <citation type="bibtex">
+                @misc{Danecek_et_al,
+                Author={Danecek, P., Schiffels, S., Durbin, R.},
+                title={Multiallelic calling model in bcftools (-m)},
+                url = {http://samtools.github.io/bcftools/call-m.pdf},}
+            </citation>
+            <citation type="bibtex">
+                @misc{Durbin_VCQC,
+                Author={Durbin, R.},
+                title={Segregation based metric for variant call QC},
+                url = {http://samtools.github.io/bcftools/rd-SegBias.pdf},}
+            </citation>
+            <citation type="bibtex">
+                @misc{Li_SamMath,
+                Author={Li, H.},
+                title={Mathematical Notes on SAMtools Algorithms},
+                url = {http://www.broadinstitute.org/gatk/media/docs/Samtools.pdf},}
+            </citation>
+            <citation type="bibtex">
+                @misc{SamTools_github,
+                title={SAMTools GitHub page},
+                url = {https://github.com/samtools/samtools},}
+            </citation>
+        </citations>
+    </xml>
+    <xml name="version_command">
+        <version_command>samtools --version | head -n 1 | awk '{ print $2 }'</version_command>
+    </xml>
+    <xml name="stdio">
+        <stdio>
+            <exit_code range="1:" level="fatal" description="Error" />
+        </stdio>
+    </xml>
+    <token name="@no-chrom-options@">
+-----
+
+.. class:: warningmark
+
+**No options available? How to re-detect metadata**
+
+If you see a &quot;No options available&quot; within the &quot;**Select references (chromosomes and contigs) you would like to restrict bam to**&quot; drop down, you need to re-detect metadata for the dataset you are trying to process. To do this follow these steps:
+
+1. Click on the **pencil** icon adjacent to the dataset in the history
+2. A new menu will appear in the center pane of the interface
+3. Click **Datatype** tab
+4. Set **New Type** to **BAM**
+5. Click **Save**
+
+The medatada will be re-detected and you will be able to see the list of reference sequences in the &quot;**Select references (chromosomes and contigs) you would like to restrict bam to**&quot; drop-down.
+
+    </token>
+
+</macros>
b
diff -r 000000000000 -r 0d71d9467847 samtools_stats.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/samtools_stats.xml Wed Apr 22 10:29:35 2015 -0400
[
b'@@ -0,0 +1,296 @@\n+<tool id="samtools_stats" name="Stats" version="2.0">\n+    <description>generate statistics for BAM dataset</description>\n+    <macros>\n+    <import>macros.xml</import>\n+  </macros>\n+    <expand macro="requirements"></expand>\n+    <expand macro="stdio"></expand>\n+    <expand macro="version_command"></expand>\n+    <command><![CDATA[\n+        #if $use_reference.use_ref_selector == "yes":\n+            #if $use_reference.reference_source.reference_source_selector == "history":\n+               ln -s "${use_reference.reference_source.ref_file}" && samtools faidx `basename "${use_reference.reference_source.ref_file}"` && samtools stats\n+            #else:\n+                samtools stats\n+            #end if\n+        #else:\n+            samtools stats\n+        #end if\n+        "${input_file}"\n+        --coverage ${coverage_min},${coverage_max},${coverage_step}\n+        ${remove_dups}\n+        #if str( $filter_by_flags.filter_flags ) == "filter":\n+            #if $filter_by_flags.require_flags:\n+                --required-flag ${sum([int(flag) for flag in str($filter_by_flags.require_flags).split(\',\')])}\n+            #end if\n+            #if $filter_by_flags.exclude_flags:\n+                --filtering-flag ${sum([int(flag) for flag in str($filter_by_flags.exclude_flags).split(\',\')])}\n+            #end if\n+        #end if\n+        --GC-depth ${gc_depth}\n+        --insert-size ${insert_size}\n+\n+        ## The code below is commented out because using -I/--id options causes the following exception\n+        ## Samtools-htslib: init_group_id() header parsing not yet implemented\n+\n+        ##if str($read_group) != "":\n+        ##    -I "${read_group}"\n+        ##end if\n+\n+        #if str($read_length) != "0":\n+            --read-length "${read_length}"\n+        #end if\n+        --most-inserts ${most_inserts}\n+        --trim-quality ${trim_quality}\n+        #if $use_reference.use_ref_selector == "yes":\n+            #if $use_reference.reference_source.reference_source_selector != "history":\n+                --ref-seq "${use_reference.reference_source.ref_file.fields.path}"\n+            #else:\n+                --ref-seq "${use_reference.reference_source.ref_file}"\n+            #end if\n+        #end if\n+        > "${output}"\n+        #if $split_output.split_output_selector == "yes":\n+            #set outputs_to_split = str($split_output.generate_tables).split(\',\')\n+            && mkdir split && echo ${split_output.generate_tables} &&\n+\n+            #if \'sn\' in $outputs_to_split:\n+                echo "# Summary Numbers\\n"  > "split/Summary numbers.tab" &&\n+                grep -q ^SN  "${output}" ; if [ $? = 0 ] ; then grep ^SN  "${output}" | cut -f 2- >> "split/Summary numbers.tab"  ; fi &&\n+            #end if\n+\n+            #if \'ffq\' in $outputs_to_split:\n+                echo "# Columns correspond to qualities and rows to cycles. First column is the cycle number\\n" > "split/First Fragment Qualities.tab" &&\n+                grep -q ^FFQ "${output}" ; if [ $? = 0 ] ; then grep ^FFQ "${output}" | cut -f 2- >> "split/First Fragment Qualities.tab" ; fi &&\n+            #end if\n+\n+            #if \'lfq\' in $outputs_to_split:\n+                echo "# Columns correspond to qualities and rows to cycles. First column is the cycle number" > "split/Last Fragment Qualities.tab" &&\n+                grep -q ^LFQ "${output}" ; if [ $? = 0 ] ; then grep ^LFQ "${output}" | cut -f 2- >> "split/Last Fragment Qualities.tab" ; fi &&\n+            #end if\n+\n+            #if \'mpc\' in $outputs_to_split:\n+                echo "# Columns correspond to qualities, rows to cycles. First column is the cycle number, second is the number of N\'s and the rest is the number of mismatches" > "split/Mismatches per cycle.tab" &&\n+                grep -q ^MPC "${output}" ; if [ $? = 0 ] ; then grep ^MPC "${output}" | cut -f 2- >> "split/Mismatches per cycle.tab" ; fi &&\n+            #end if\n+\n+            #if \'gcf\' in $outputs_to_split:\n+                echo "# GC'..b'nce for GC depth">\n+                        <option value="cached">Locally cached</option>\n+                        <option value="history">History</option>\n+                    </param>\n+                    <when value="cached">\n+                        <param name="ref_file" type="select" label="Using genome">\n+                            <options from_data_table="fasta_indexes" />\n+                            <filter type="data_meta" ref="input_file" key="dbkey" column="1" />\n+                        </param>\n+                    </when>\n+                    <when value="history">\n+                        <param name="ref_file" type="data" format="fasta" label="Using file" />\n+                    </when>\n+                </conditional>\n+            </when>\n+            <when value="no" />\n+        </conditional>\n+\n+    </inputs>\n+\n+    <outputs>\n+        <data format="tabular" name="output" label="${tool.name} on ${on_string}">\n+            <discover_datasets pattern="(?P&lt;designation&gt;.+)\\.tab" ext="tabular" visible="true" directory="split" />\n+        </data>\n+    </outputs>\n+    <tests>\n+        <test>\n+            <param name="input_file" value="samtools_stats_input.bam" ftype="bam" />\n+            <param name="use_ref_selector" value="yes" />\n+            <param name="reference_source_selector" value="history" />\n+            <param name="ref_file" value="samtools_stats_ref.fa" ftype="fasta" />\n+            <output name="output" file="samtools_stats_out1.tab" ftype="tabular" lines_diff="4" />\n+        </test>\n+        <test>\n+            <param name="input_file" value="samtools_stats_input.bam" ftype="bam" />\n+            <param name="use_ref_selector" value="yes" />\n+            <param name="reference_source_selector" value="history" />\n+            <param name="ref_file" value="samtools_stats_ref.fa" ftype="fasta" />\n+            <param name="split_output_selector" value="yes" />\n+            <param name="generate_tables" value="sn,mpc,gcc" />\n+            <output name="output" file="samtools_stats_out2.tab" lines_diff="4">\n+                <discovered_dataset designation="Summary numbers" ftype="tabular" file="samtools_stats_out2/sn.tab" />\n+                <discovered_dataset designation="ACGT content per cycle" ftype="tabular" file="samtools_stats_out2/gcc.tab" />\n+                <discovered_dataset designation="Mismatches per cycle" ftype="tabular" file="samtools_stats_out2/mpc.tab" />\n+            </output>\n+        </test>\n+    </tests>\n+    <help><![CDATA[\n+**What it does**\n+\n+This tool runs the ``samtools stats`` command. It has the following options::\n+\n+    -c, --coverage <int>,<int>,<int>    Coverage distribution min,max,step [1,1000,1]\n+    -d, --remove-dups                   Exclude from statistics reads marked as duplicates\n+    -f, --required-flag  <str|int>      Required flag, 0 for unset. See also `samtools flags` [0]\n+    -F, --filtering-flag <str|int>      Filtering flag, 0 for unset. See also `samtools flags` [0]\n+        --GC-depth <float>              the size of GC-depth bins (decreasing bin size increases memory requirement) [2e4]\n+    -h, --help                          This help message\n+    -i, --insert-size <int>             Maximum insert size [8000]\n+    -I, --id <string>                   Include only listed read group or sample name\n+    -l, --read-length <int>             Include in the statistics only reads with the given read length []\n+    -m, --most-inserts <float>          Report only the main part of inserts [0.99]\n+    -q, --trim-quality <int>            The BWA trimming parameter [0]\n+    -r, --ref-seq <file>                Reference sequence (required for GC-depth and mismatches-per-cycle calculation). Galaxy\n+                                        will provide options for selecting a reference cached as this Galaxy instance or choosing\n+                                        one from history.\n+   \n+\n+    ]]></help>\n+    <expand macro="citations"></expand>\n+</tool>\n+\n'
b
diff -r 000000000000 -r 0d71d9467847 samtools_stats_tool_test_output.html
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/samtools_stats_tool_test_output.html Wed Apr 22 10:29:35 2015 -0400
[
b'@@ -0,0 +1,372 @@\n+<!DOCTYPE html>\n+<html lang="en">\n+  <head>\n+    <meta charset="utf-8">\n+    <meta http-equiv="X-UA-Compatible" content="IE=edge">\n+    <meta name="viewport" content="width=device-width, initial-scale=1">\n+    <title>Tool Test Results (powered by Planemo)</title>\n+\n+    <!-- Bootstrap -->\n+    <style>/*!\n+ * Bootstrap v3.3.1 (http://getbootstrap.com)\n+ * Copyright 2011-2014 Twitter, Inc.\n+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n+ *//*! normalize.css v3.0.2 | MIT License | git.io/normalize */html{font-family:sans-serif;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}h1{margin:.67em 0;font-size:2em}mark{color:#000;background:#ff0}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{height:0;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{margin:0;font:inherit;color:inherit}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{padding:0;border:0}input{line-height:normal}input[type=checkbox],input[type=radio]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;-webkit-appearance:textfield}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{padding:.35em .625em .75em;margin:0 2px;border:1px solid silver}legend{padding:0;border:0}textarea{overflow:auto}optgroup{font-weight:700}table{border-spacing:0;border-collapse:collapse}td,th{padding:0}/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */@media print{*,:before,:after{color:#000!important;text-shadow:none!important;background:transparent!important;-webkit-box-shadow:none!important;box-shadow:none!important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}a[href^="#"]:after,a[href^="javascript:"]:after{content:""}pre,blockquote{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}tr,img{page-break-inside:avoid}img{max-width:100%!important}p,h2,h3{orphans:3;widows:3}h2,h3{page-break-after:avoid}select{background:#fff!important}.navbar{display:none}.btn>.caret,.dropup>.btn>.caret{border-top-color:#000!important}.label{border:1px solid #000}.table{border-collapse:collapse!important}.table td,.table th{background-color:#fff!important}.table-bordered th,.table-bordered td{border:1px solid #ddd!important}}@font-face{font-family:\'Glyphicons Halflings\';src:url(../fonts/glyphicons-halflings-regular.eot);src:url(../fonts/glyphicons-halflings-regular.eot?#iefix) format(\'embedded-opentype\'),url(../fonts/glyphicons-halflings-regular.woff) format(\'woff\'),url(../fonts/glyphicons-halflings-regular.ttf) format(\'truetype\'),url(../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular) format(\'svg\')}.glyphicon{position:relative;top:1px;display:inline-block;font-family:\'G'..b'/2z/ntdb9g2n7tq6_bcq4dj9hj9r0000gn/T/tmp69oNhW/tmp/tmpcOV73W /var/folders/2z/ntdb9g2n7tq6_bcq4dj9hj9r0000gn/T/tmp69oNhW/job_working_directory/000/6/galaxy.json /var/folders/2z/ntdb9g2n7tq6_bcq4dj9hj9r0000gn/T/tmp69oNhW/job_working_directory/000/6/metadata_in_HistoryDatasetAssociation_6_uh9zmy,/var/folders/2z/ntdb9g2n7tq6_bcq4dj9hj9r0000gn/T/tmp69oNhW/job_working_directory/000/6/metadata_kwds_HistoryDatasetAssociation_6_6GLt0N,/var/folders/2z/ntdb9g2n7tq6_bcq4dj9hj9r0000gn/T/tmp69oNhW/job_working_directory/000/6/metadata_out_HistoryDatasetAssociation_6_OK7DHx,/var/folders/2z/ntdb9g2n7tq6_bcq4dj9hj9r0000gn/T/tmp69oNhW/job_working_directory/000/6/metadata_results_HistoryDatasetAssociation_6_GeXlkW,/var/folders/2z/ntdb9g2n7tq6_bcq4dj9hj9r0000gn/T/tmp69oNhW/files/000/dataset_6.dat,/var/folders/2z/ntdb9g2n7tq6_bcq4dj9hj9r0000gn/T/tmp69oNhW/job_working_directory/000/6/metadata_override_HistoryDatasetAssociation_6_ZyuaJN; sh -c \\"exit $return_code\\"\\ngalaxy.jobs.runners.local: DEBUG: (6) executing job script: /var/folders/2z/ntdb9g2n7tq6_bcq4dj9hj9r0000gn/T/tmp69oNhW/job_working_directory/000/6/galaxy_6.sh\\ngalaxy.jobs: DEBUG: (6) Persisting job destination (destination id: local:///)\\nrequests.packages.urllib3.connectionpool: INFO: Starting new HTTP connection (1): localhost\\nrequests.packages.urllib3.connectionpool: DEBUG: \\"GET /api/jobs/fa6d20d0fb68383f?key=73391df1185a0911acd55c3f7fae680e HTTP/1.1\\" 200 None\\ngalaxy.jobs.runners.local: DEBUG: execution finished: /var/folders/2z/ntdb9g2n7tq6_bcq4dj9hj9r0000gn/T/tmp69oNhW/job_working_directory/000/6/galaxy_6.sh\\nrequests.packages.urllib3.connectionpool: INFO: Starting new HTTP connection (1): localhost\\nrequests.packages.urllib3.connectionpool: DEBUG: \\"GET /api/jobs/fa6d20d0fb68383f?key=73391df1185a0911acd55c3f7fae680e HTTP/1.1\\" 200 None\\ngalaxy.jobs: DEBUG: job 6 ended (finish() executed in (6680.679 ms))\\nrequests.packages.urllib3.connectionpool: INFO: Starting new HTTP connection (1): localhost\\nrequests.packages.urllib3.connectionpool: DEBUG: \\"GET /api/jobs/fa6d20d0fb68383f?key=73391df1185a0911acd55c3f7fae680e HTTP/1.1\\" 200 None\\nrequests.packages.urllib3.connectionpool: INFO: Starting new HTTP connection (1): localhost\\nrequests.packages.urllib3.connectionpool: DEBUG: \\"GET /api/jobs/fa6d20d0fb68383f?full=true&key=73391df1185a0911acd55c3f7fae680e HTTP/1.1\\" 200 None\\nrequests.packages.urllib3.connectionpool: INFO: Starting new HTTP connection (1): localhost\\nrequests.packages.urllib3.connectionpool: DEBUG: \\"GET /api/jobs/fa6d20d0fb68383f?key=73391df1185a0911acd55c3f7fae680e HTTP/1.1\\" 200 None\\nrequests.packages.urllib3.connectionpool: INFO: Starting new HTTP connection (1): localhost\\nrequests.packages.urllib3.connectionpool: DEBUG: \\"GET /api/histories/5729865256bc2525/contents/fa6d20d0fb68383f/display?raw=true&key=73391df1185a0911acd55c3f7fae680e HTTP/1.1\\" 200 None\\nbase.twilltestcase: DEBUG: keepoutdir: /var/folders/2z/ntdb9g2n7tq6_bcq4dj9hj9r0000gn/T/tmp69oNhW/jobfiles, ofn: /var/folders/2z/ntdb9g2n7tq6_bcq4dj9hj9r0000gn/T/tmp69oNhW/jobfiles/samtools_stats_out2.tab\\nbase.twilltestcase: DEBUG: ## GALAXY_TEST_SAVE=/var/folders/2z/ntdb9g2n7tq6_bcq4dj9hj9r0000gn/T/tmp69oNhW/jobfiles. saved /var/folders/2z/ntdb9g2n7tq6_bcq4dj9hj9r0000gn/T/tmp69oNhW/jobfiles/samtools_stats_out2.tab\\nbase.twilltestcase: INFO: ## files diff on /Users/marten/devel/git/tools-devteam/tool_collections/samtools/samtools_stats/test-data/samtools_stats_out2.tab and /var/folders/2z/ntdb9g2n7tq6_bcq4dj9hj9r0000gn/T/tmp69oNhW/tmp/tmpYr1M8Csamtools_stats_out2.tab lines_diff=2, found diff = 4\\n--------------------- >> end captured logging << ---------------------\\n", "problem_type": "functional.test_toolbox.JobOutputsError"}, "id": "functional.test_toolbox.TestForTool_samtools_stats.test_tool_000001", "has_data": true}], "version": "0.1", "summary": {"num_skips": 0, "num_errors": 0, "num_failures": 2, "num_tests": 2}};\n+        renderTestResults(test_data);\n+      }\n+    </script>\n+  </body>\n+</html>\n'
b
diff -r 000000000000 -r 0d71d9467847 test-data/phiX.bam
b
Binary file test-data/phiX.bam has changed
b
diff -r 000000000000 -r 0d71d9467847 test-data/samtools_stats_input.bam
b
Binary file test-data/samtools_stats_input.bam has changed
b
diff -r 000000000000 -r 0d71d9467847 test-data/samtools_stats_out1.tab
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/samtools_stats_out1.tab Wed Apr 22 10:29:35 2015 -0400
[
b'@@ -0,0 +1,1137 @@\n+# This file was produced by samtools stats (1.2+htslib-1.2.1) and can be plotted using plot-bamstats\n+# The command line was:  stats --coverage 1,1000,1 --GC-depth 20000.0 --insert-size 8000 --most-inserts 0.99 --trim-quality 0 --ref-seq /Users/anton/galaxy-git/database/files/000/dataset_9.dat /Users/anton/galaxy-git/database/files/000/dataset_10.dat\n+# CHK, Checksum\t[2]Read Names\t[3]Sequences\t[4]Qualities\n+# CHK, CRC32 of reads which passed filtering followed by addition (32bit overflow)\n+CHK\t1bd20fd8\t58ad2167\t29883386\n+# Summary Numbers. Use `grep ^SN | cut -f 2-` to extract this part.\n+SN\traw total sequences:\t200\n+SN\tfiltered sequences:\t0\n+SN\tsequences:\t200\n+SN\tis sorted:\t1\n+SN\t1st fragments:\t100\n+SN\tlast fragments:\t100\n+SN\treads mapped:\t25\n+SN\treads mapped and paired:\t0\t# paired-end technology bit set + both mates mapped\n+SN\treads unmapped:\t175\n+SN\treads properly paired:\t0\t# proper-pair bit set\n+SN\treads paired:\t200\t# paired-end technology bit set\n+SN\treads duplicated:\t0\t# PCR or optical duplicate bit set\n+SN\treads MQ0:\t6\t# mapped and MQ=0\n+SN\treads QC failed:\t0\n+SN\tnon-primary alignments:\t0\n+SN\ttotal length:\t50200\t# ignores clipping\n+SN\tbases mapped:\t6275\t# ignores clipping\n+SN\tbases mapped (cigar):\t6275\t# more accurate\n+SN\tbases trimmed:\t0\n+SN\tbases duplicated:\t0\n+SN\tmismatches:\t591\t# from NM fields\n+SN\terror rate:\t9.418327e-02\t# mismatches / bases mapped (cigar)\n+SN\taverage length:\t251\n+SN\tmaximum length:\t251\n+SN\taverage quality:\t34.7\n+SN\tinsert size average:\t0.0\n+SN\tinsert size standard deviation:\t0.0\n+SN\tinward oriented pairs:\t0\n+SN\toutward oriented pairs:\t0\n+SN\tpairs with other orientation:\t0\n+SN\tpairs on different chromosomes:\t0\n+# First Fragment Qualitites. Use `grep ^FFQ | cut -f 2-` to extract this part.\n+# Columns correspond to qualities and rows to cycles. First column is the cycle number.\n+FFQ\t1\t0\t0\t2\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t1\t0\t1\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t3\t2\t0\t20\t38\t32\t1\t0\t0\t0\t0\t0\t0\n+FFQ\t2\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t1\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t3\t0\t0\t18\t36\t36\t6\t0\t0\t0\t0\t0\t0\n+FFQ\t3\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t1\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t2\t1\t0\t14\t31\t46\t5\t0\t0\t0\t0\t0\t0\n+FFQ\t4\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t1\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t1\t1\t0\t8\t36\t42\t11\t0\t0\t0\t0\t0\t0\n+FFQ\t5\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t1\t0\t2\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t1\t0\t0\t12\t35\t43\t6\t0\t0\t0\t0\t0\t0\n+FFQ\t6\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t1\t0\t0\t2\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t1\t7\t8\t0\t0\t81\t0\t0\t0\t0\n+FFQ\t7\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t1\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t9\t13\t1\t0\t76\t0\t0\t0\t0\n+FFQ\t8\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t1\t0\t11\t15\t4\t0\t69\t0\t0\t0\t0\n+FFQ\t9\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t1\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t1\t0\t0\t1\t6\t20\t3\t0\t68\t0\t0\t0\t0\n+FFQ\t10\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t1\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t1\t7\t11\t5\t0\t75\t0\t0\t0\t0\n+FFQ\t11\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t1\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t1\t6\t16\t6\t0\t70\t0\t0\t0\t0\n+FFQ\t12\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t1\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t1\t0\t0\t0\t2\t8\t2\t0\t86\t0\t0\t0\t0\n+FFQ\t13\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t1\t0\t0\t1\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t3\t3\t92\t0\t0\t0\n+FFQ\t14\t0\t0\t1\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t2\t2\t2\t1\t0\t3\t89\t0\t0\t0\n+FFQ\t15\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t1\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t1\t0\t0\t1\t2\t4\t91\t0\t0\t0\n+FFQ\t16\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t1\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t1\t0\t0\t0\t0\t2\t96\t0\t0\t0\n+FFQ\t17\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t1\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t1\t1\t0\t0\t3\t94\t0\t0\t0\n+FFQ\t18\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t2\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t1\t0\t2\t0\t0\t2\t93\t0\t0\t0\n+FFQ\t19\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t1\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t1\t0\t1\t4\t93\t0\t0\t0\n+FFQ\t20\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t1\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t1\t0\t0\t2\t1\t4\t91\t0\t0\t0\n+FFQ\t21\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t1\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t2\t0\t0\t3\t94\t0\t0\t0\n+FFQ\t22\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t1\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t1\t0\t1\t97\t0\t0\t0\n+FFQ\t23\t0\t0\t1\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t1\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t1\t0\t1\t4\t18\t74'..b'.50\n+GCC\t174\t17.50\t23.50\t33.50\t25.50\n+GCC\t175\t33.50\t17.50\t35.50\t13.50\n+GCC\t176\t16.50\t32.50\t28.50\t22.50\n+GCC\t177\t19.00\t22.00\t27.00\t32.00\n+GCC\t178\t16.00\t26.00\t30.00\t28.00\n+GCC\t179\t18.00\t18.00\t22.00\t42.00\n+GCC\t180\t21.00\t22.00\t34.00\t23.00\n+GCC\t181\t20.50\t19.50\t35.50\t24.50\n+GCC\t182\t32.50\t18.50\t22.50\t26.50\n+GCC\t183\t24.50\t13.50\t28.50\t33.50\n+GCC\t184\t15.00\t29.00\t30.00\t26.00\n+GCC\t185\t15.00\t32.00\t33.00\t20.00\n+GCC\t186\t22.50\t23.50\t34.50\t19.50\n+GCC\t187\t19.00\t14.00\t40.00\t27.00\n+GCC\t188\t27.50\t21.50\t27.50\t23.50\n+GCC\t189\t17.00\t22.00\t34.00\t27.00\n+GCC\t190\t23.00\t30.00\t23.00\t24.00\n+GCC\t191\t25.00\t22.00\t28.00\t25.00\n+GCC\t192\t34.50\t24.50\t13.50\t27.50\n+GCC\t193\t18.50\t25.50\t25.50\t30.50\n+GCC\t194\t18.50\t33.50\t24.50\t23.50\n+GCC\t195\t16.00\t26.00\t23.00\t35.00\n+GCC\t196\t21.50\t25.50\t24.50\t28.50\n+GCC\t197\t20.00\t21.00\t23.00\t36.00\n+GCC\t198\t17.00\t21.00\t37.00\t25.00\n+GCC\t199\t20.50\t18.50\t25.50\t35.50\n+GCC\t200\t21.00\t29.00\t21.00\t29.00\n+GCC\t201\t27.00\t21.00\t23.00\t29.00\n+GCC\t202\t21.50\t24.50\t19.50\t34.50\n+GCC\t203\t21.50\t24.50\t26.50\t27.50\n+GCC\t204\t27.00\t29.00\t24.00\t20.00\n+GCC\t205\t19.50\t21.50\t22.50\t36.50\n+GCC\t206\t26.50\t24.50\t21.50\t27.50\n+GCC\t207\t22.50\t21.50\t19.50\t36.50\n+GCC\t208\t14.00\t35.00\t29.00\t22.00\n+GCC\t209\t16.00\t23.00\t12.00\t49.00\n+GCC\t210\t18.50\t19.50\t40.50\t21.50\n+GCC\t211\t26.00\t20.00\t22.00\t32.00\n+GCC\t212\t21.00\t31.00\t18.00\t30.00\n+GCC\t213\t24.00\t15.00\t31.00\t30.00\n+GCC\t214\t17.50\t24.50\t25.50\t32.50\n+GCC\t215\t26.00\t24.00\t23.00\t27.00\n+GCC\t216\t21.50\t17.50\t25.50\t35.50\n+GCC\t217\t26.00\t29.00\t17.00\t28.00\n+GCC\t218\t20.00\t27.00\t21.00\t32.00\n+GCC\t219\t17.00\t21.00\t21.00\t41.00\n+GCC\t220\t25.50\t23.50\t23.50\t27.50\n+GCC\t221\t21.50\t23.50\t20.50\t34.50\n+GCC\t222\t21.50\t21.50\t18.50\t38.50\n+GCC\t223\t20.00\t27.00\t28.00\t25.00\n+GCC\t224\t22.50\t22.50\t24.50\t30.50\n+GCC\t225\t14.50\t35.50\t30.50\t19.50\n+GCC\t226\t20.00\t23.00\t26.00\t31.00\n+GCC\t227\t20.50\t24.50\t23.50\t31.50\n+GCC\t228\t33.00\t19.00\t26.00\t22.00\n+GCC\t229\t22.50\t24.50\t18.50\t34.50\n+GCC\t230\t21.00\t32.00\t16.00\t31.00\n+GCC\t231\t23.00\t28.00\t30.00\t19.00\n+GCC\t232\t23.50\t21.50\t12.50\t42.50\n+GCC\t233\t21.00\t27.00\t25.00\t27.00\n+GCC\t234\t16.50\t27.50\t22.50\t33.50\n+GCC\t235\t20.00\t15.00\t28.00\t37.00\n+GCC\t236\t28.00\t23.00\t21.00\t28.00\n+GCC\t237\t20.50\t19.50\t22.50\t37.50\n+GCC\t238\t21.50\t29.50\t24.50\t24.50\n+GCC\t239\t20.00\t8.00\t17.00\t55.00\n+GCC\t240\t28.00\t24.00\t16.00\t32.00\n+GCC\t241\t22.50\t22.50\t16.50\t38.50\n+GCC\t242\t29.00\t25.00\t13.00\t33.00\n+GCC\t243\t22.50\t15.50\t23.50\t38.50\n+GCC\t244\t20.50\t23.50\t16.50\t39.50\n+GCC\t245\t28.00\t23.00\t19.00\t30.00\n+GCC\t246\t21.00\t29.00\t25.00\t25.00\n+GCC\t247\t32.00\t14.00\t13.00\t41.00\n+GCC\t248\t18.00\t18.00\t25.00\t39.00\n+GCC\t249\t25.00\t23.00\t21.00\t31.00\n+GCC\t250\t27.50\t22.50\t17.50\t32.50\n+GCC\t251\t13.50\t20.50\t36.50\t29.50\n+# Insert sizes. Use `grep ^IS | cut -f 2-` to extract this part. The columns are: insert size, pairs total, inward oriented pairs, outward oriented pairs, other pairs\n+# Read lengths. Use `grep ^RL | cut -f 2-` to extract this part. The columns are: read length, count\n+RL\t251\t200\n+# Indel distribution. Use `grep ^ID | cut -f 2-` to extract this part. The columns are: length, number of insertions, number of deletions\n+ID\t1\t1\t0\n+ID\t2\t1\t0\n+ID\t4\t2\t0\n+ID\t10\t5\t0\n+ID\t13\t1\t0\n+ID\t14\t1\t0\n+ID\t15\t1\t0\n+ID\t18\t1\t0\n+ID\t21\t1\t0\n+ID\t22\t1\t0\n+ID\t23\t2\t0\n+ID\t24\t3\t0\n+ID\t29\t1\t0\n+ID\t35\t2\t0\n+ID\t38\t2\t0\n+# Indels per cycle. Use `grep ^IC | cut -f 2-` to extract this part. The columns are: cycle, number of insertions (fwd), .. (rev) , number of deletions (fwd), .. (rev)\n+IC\t2\t1\t0\t0\t0\n+IC\t4\t2\t0\t0\t0\n+IC\t5\t3\t0\t0\t0\n+IC\t210\t2\t0\t0\t0\n+IC\t219\t1\t0\t0\t0\n+IC\t220\t1\t0\t0\t0\n+IC\t224\t2\t0\t0\t0\n+IC\t225\t2\t0\t0\t0\n+IC\t226\t1\t0\t0\t0\n+IC\t228\t1\t0\t0\t0\n+IC\t230\t1\t0\t0\t0\n+IC\t233\t1\t0\t0\t0\n+IC\t234\t1\t0\t0\t0\n+IC\t235\t1\t0\t0\t0\n+IC\t236\t1\t0\t0\t0\n+IC\t239\t1\t0\t0\t0\n+IC\t240\t1\t0\t0\t0\n+IC\t241\t1\t0\t0\t0\n+IC\t247\t1\t0\t0\t0\n+# Coverage distribution. Use `grep ^COV | cut -f 2-` to extract this part.\n+COV\t[1-1]\t1\t1\n+COV\t[7-7]\t7\t1\n+COV\t[18-18]\t18\t1\n+COV\t[24-24]\t24\t1\n+COV\t[25-25]\t25\t249\n+# GC-depth. Use `grep ^GCD | cut -f 2-` to extract this part. The columns are: GC%, unique sequence percentiles, 10th, 25th, 50th, 75th and 90th depth percentile\n+GCD\t0.0\t100.000\t0.000\t0.000\t0.000\t0.000\t0.000\n'
b
diff -r 000000000000 -r 0d71d9467847 test-data/samtools_stats_out2.tab
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/samtools_stats_out2.tab Wed Apr 22 10:29:35 2015 -0400
[
b'@@ -0,0 +1,1137 @@\n+# This file was produced by samtools stats (1.2+htslib-1.2.1) and can be plotted using plot-bamstats\n+# The command line was:  stats --coverage 1,1000,1 --GC-depth 20000.0 --insert-size 8000 --most-inserts 0.99 --trim-quality 0 --ref-seq /Users/anton/galaxy-git/database/files/000/dataset_9.dat /Users/anton/galaxy-git/database/files/000/dataset_10.dat\n+# CHK, Checksum\t[2]Read Names\t[3]Sequences\t[4]Qualities\n+# CHK, CRC32 of reads which passed filtering followed by addition (32bit overflow)\n+CHK\t1bd20fd8\t58ad2167\t29883386\n+# Summary Numbers. Use `grep ^SN | cut -f 2-` to extract this part.\n+SN\traw total sequences:\t200\n+SN\tfiltered sequences:\t0\n+SN\tsequences:\t200\n+SN\tis sorted:\t1\n+SN\t1st fragments:\t100\n+SN\tlast fragments:\t100\n+SN\treads mapped:\t25\n+SN\treads mapped and paired:\t0\t# paired-end technology bit set + both mates mapped\n+SN\treads unmapped:\t175\n+SN\treads properly paired:\t0\t# proper-pair bit set\n+SN\treads paired:\t200\t# paired-end technology bit set\n+SN\treads duplicated:\t0\t# PCR or optical duplicate bit set\n+SN\treads MQ0:\t6\t# mapped and MQ=0\n+SN\treads QC failed:\t0\n+SN\tnon-primary alignments:\t0\n+SN\ttotal length:\t50200\t# ignores clipping\n+SN\tbases mapped:\t6275\t# ignores clipping\n+SN\tbases mapped (cigar):\t6275\t# more accurate\n+SN\tbases trimmed:\t0\n+SN\tbases duplicated:\t0\n+SN\tmismatches:\t591\t# from NM fields\n+SN\terror rate:\t9.418327e-02\t# mismatches / bases mapped (cigar)\n+SN\taverage length:\t251\n+SN\tmaximum length:\t251\n+SN\taverage quality:\t34.7\n+SN\tinsert size average:\t0.0\n+SN\tinsert size standard deviation:\t0.0\n+SN\tinward oriented pairs:\t0\n+SN\toutward oriented pairs:\t0\n+SN\tpairs with other orientation:\t0\n+SN\tpairs on different chromosomes:\t0\n+# First Fragment Qualitites. Use `grep ^FFQ | cut -f 2-` to extract this part.\n+# Columns correspond to qualities and rows to cycles. First column is the cycle number.\n+FFQ\t1\t0\t0\t2\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t1\t0\t1\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t3\t2\t0\t20\t38\t32\t1\t0\t0\t0\t0\t0\t0\n+FFQ\t2\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t1\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t3\t0\t0\t18\t36\t36\t6\t0\t0\t0\t0\t0\t0\n+FFQ\t3\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t1\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t2\t1\t0\t14\t31\t46\t5\t0\t0\t0\t0\t0\t0\n+FFQ\t4\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t1\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t1\t1\t0\t8\t36\t42\t11\t0\t0\t0\t0\t0\t0\n+FFQ\t5\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t1\t0\t2\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t1\t0\t0\t12\t35\t43\t6\t0\t0\t0\t0\t0\t0\n+FFQ\t6\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t1\t0\t0\t2\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t1\t7\t8\t0\t0\t81\t0\t0\t0\t0\n+FFQ\t7\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t1\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t9\t13\t1\t0\t76\t0\t0\t0\t0\n+FFQ\t8\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t1\t0\t11\t15\t4\t0\t69\t0\t0\t0\t0\n+FFQ\t9\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t1\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t1\t0\t0\t1\t6\t20\t3\t0\t68\t0\t0\t0\t0\n+FFQ\t10\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t1\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t1\t7\t11\t5\t0\t75\t0\t0\t0\t0\n+FFQ\t11\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t1\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t1\t6\t16\t6\t0\t70\t0\t0\t0\t0\n+FFQ\t12\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t1\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t1\t0\t0\t0\t2\t8\t2\t0\t86\t0\t0\t0\t0\n+FFQ\t13\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t1\t0\t0\t1\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t3\t3\t92\t0\t0\t0\n+FFQ\t14\t0\t0\t1\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t2\t2\t2\t1\t0\t3\t89\t0\t0\t0\n+FFQ\t15\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t1\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t1\t0\t0\t1\t2\t4\t91\t0\t0\t0\n+FFQ\t16\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t1\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t1\t0\t0\t0\t0\t2\t96\t0\t0\t0\n+FFQ\t17\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t1\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t1\t1\t0\t0\t3\t94\t0\t0\t0\n+FFQ\t18\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t2\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t1\t0\t2\t0\t0\t2\t93\t0\t0\t0\n+FFQ\t19\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t1\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t1\t0\t1\t4\t93\t0\t0\t0\n+FFQ\t20\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t1\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t1\t0\t0\t2\t1\t4\t91\t0\t0\t0\n+FFQ\t21\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t1\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t2\t0\t0\t3\t94\t0\t0\t0\n+FFQ\t22\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t1\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t1\t0\t1\t97\t0\t0\t0\n+FFQ\t23\t0\t0\t1\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t1\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t1\t0\t1\t4\t18\t74'..b'.50\n+GCC\t174\t17.50\t23.50\t33.50\t25.50\n+GCC\t175\t33.50\t17.50\t35.50\t13.50\n+GCC\t176\t16.50\t32.50\t28.50\t22.50\n+GCC\t177\t19.00\t22.00\t27.00\t32.00\n+GCC\t178\t16.00\t26.00\t30.00\t28.00\n+GCC\t179\t18.00\t18.00\t22.00\t42.00\n+GCC\t180\t21.00\t22.00\t34.00\t23.00\n+GCC\t181\t20.50\t19.50\t35.50\t24.50\n+GCC\t182\t32.50\t18.50\t22.50\t26.50\n+GCC\t183\t24.50\t13.50\t28.50\t33.50\n+GCC\t184\t15.00\t29.00\t30.00\t26.00\n+GCC\t185\t15.00\t32.00\t33.00\t20.00\n+GCC\t186\t22.50\t23.50\t34.50\t19.50\n+GCC\t187\t19.00\t14.00\t40.00\t27.00\n+GCC\t188\t27.50\t21.50\t27.50\t23.50\n+GCC\t189\t17.00\t22.00\t34.00\t27.00\n+GCC\t190\t23.00\t30.00\t23.00\t24.00\n+GCC\t191\t25.00\t22.00\t28.00\t25.00\n+GCC\t192\t34.50\t24.50\t13.50\t27.50\n+GCC\t193\t18.50\t25.50\t25.50\t30.50\n+GCC\t194\t18.50\t33.50\t24.50\t23.50\n+GCC\t195\t16.00\t26.00\t23.00\t35.00\n+GCC\t196\t21.50\t25.50\t24.50\t28.50\n+GCC\t197\t20.00\t21.00\t23.00\t36.00\n+GCC\t198\t17.00\t21.00\t37.00\t25.00\n+GCC\t199\t20.50\t18.50\t25.50\t35.50\n+GCC\t200\t21.00\t29.00\t21.00\t29.00\n+GCC\t201\t27.00\t21.00\t23.00\t29.00\n+GCC\t202\t21.50\t24.50\t19.50\t34.50\n+GCC\t203\t21.50\t24.50\t26.50\t27.50\n+GCC\t204\t27.00\t29.00\t24.00\t20.00\n+GCC\t205\t19.50\t21.50\t22.50\t36.50\n+GCC\t206\t26.50\t24.50\t21.50\t27.50\n+GCC\t207\t22.50\t21.50\t19.50\t36.50\n+GCC\t208\t14.00\t35.00\t29.00\t22.00\n+GCC\t209\t16.00\t23.00\t12.00\t49.00\n+GCC\t210\t18.50\t19.50\t40.50\t21.50\n+GCC\t211\t26.00\t20.00\t22.00\t32.00\n+GCC\t212\t21.00\t31.00\t18.00\t30.00\n+GCC\t213\t24.00\t15.00\t31.00\t30.00\n+GCC\t214\t17.50\t24.50\t25.50\t32.50\n+GCC\t215\t26.00\t24.00\t23.00\t27.00\n+GCC\t216\t21.50\t17.50\t25.50\t35.50\n+GCC\t217\t26.00\t29.00\t17.00\t28.00\n+GCC\t218\t20.00\t27.00\t21.00\t32.00\n+GCC\t219\t17.00\t21.00\t21.00\t41.00\n+GCC\t220\t25.50\t23.50\t23.50\t27.50\n+GCC\t221\t21.50\t23.50\t20.50\t34.50\n+GCC\t222\t21.50\t21.50\t18.50\t38.50\n+GCC\t223\t20.00\t27.00\t28.00\t25.00\n+GCC\t224\t22.50\t22.50\t24.50\t30.50\n+GCC\t225\t14.50\t35.50\t30.50\t19.50\n+GCC\t226\t20.00\t23.00\t26.00\t31.00\n+GCC\t227\t20.50\t24.50\t23.50\t31.50\n+GCC\t228\t33.00\t19.00\t26.00\t22.00\n+GCC\t229\t22.50\t24.50\t18.50\t34.50\n+GCC\t230\t21.00\t32.00\t16.00\t31.00\n+GCC\t231\t23.00\t28.00\t30.00\t19.00\n+GCC\t232\t23.50\t21.50\t12.50\t42.50\n+GCC\t233\t21.00\t27.00\t25.00\t27.00\n+GCC\t234\t16.50\t27.50\t22.50\t33.50\n+GCC\t235\t20.00\t15.00\t28.00\t37.00\n+GCC\t236\t28.00\t23.00\t21.00\t28.00\n+GCC\t237\t20.50\t19.50\t22.50\t37.50\n+GCC\t238\t21.50\t29.50\t24.50\t24.50\n+GCC\t239\t20.00\t8.00\t17.00\t55.00\n+GCC\t240\t28.00\t24.00\t16.00\t32.00\n+GCC\t241\t22.50\t22.50\t16.50\t38.50\n+GCC\t242\t29.00\t25.00\t13.00\t33.00\n+GCC\t243\t22.50\t15.50\t23.50\t38.50\n+GCC\t244\t20.50\t23.50\t16.50\t39.50\n+GCC\t245\t28.00\t23.00\t19.00\t30.00\n+GCC\t246\t21.00\t29.00\t25.00\t25.00\n+GCC\t247\t32.00\t14.00\t13.00\t41.00\n+GCC\t248\t18.00\t18.00\t25.00\t39.00\n+GCC\t249\t25.00\t23.00\t21.00\t31.00\n+GCC\t250\t27.50\t22.50\t17.50\t32.50\n+GCC\t251\t13.50\t20.50\t36.50\t29.50\n+# Insert sizes. Use `grep ^IS | cut -f 2-` to extract this part. The columns are: insert size, pairs total, inward oriented pairs, outward oriented pairs, other pairs\n+# Read lengths. Use `grep ^RL | cut -f 2-` to extract this part. The columns are: read length, count\n+RL\t251\t200\n+# Indel distribution. Use `grep ^ID | cut -f 2-` to extract this part. The columns are: length, number of insertions, number of deletions\n+ID\t1\t1\t0\n+ID\t2\t1\t0\n+ID\t4\t2\t0\n+ID\t10\t5\t0\n+ID\t13\t1\t0\n+ID\t14\t1\t0\n+ID\t15\t1\t0\n+ID\t18\t1\t0\n+ID\t21\t1\t0\n+ID\t22\t1\t0\n+ID\t23\t2\t0\n+ID\t24\t3\t0\n+ID\t29\t1\t0\n+ID\t35\t2\t0\n+ID\t38\t2\t0\n+# Indels per cycle. Use `grep ^IC | cut -f 2-` to extract this part. The columns are: cycle, number of insertions (fwd), .. (rev) , number of deletions (fwd), .. (rev)\n+IC\t2\t1\t0\t0\t0\n+IC\t4\t2\t0\t0\t0\n+IC\t5\t3\t0\t0\t0\n+IC\t210\t2\t0\t0\t0\n+IC\t219\t1\t0\t0\t0\n+IC\t220\t1\t0\t0\t0\n+IC\t224\t2\t0\t0\t0\n+IC\t225\t2\t0\t0\t0\n+IC\t226\t1\t0\t0\t0\n+IC\t228\t1\t0\t0\t0\n+IC\t230\t1\t0\t0\t0\n+IC\t233\t1\t0\t0\t0\n+IC\t234\t1\t0\t0\t0\n+IC\t235\t1\t0\t0\t0\n+IC\t236\t1\t0\t0\t0\n+IC\t239\t1\t0\t0\t0\n+IC\t240\t1\t0\t0\t0\n+IC\t241\t1\t0\t0\t0\n+IC\t247\t1\t0\t0\t0\n+# Coverage distribution. Use `grep ^COV | cut -f 2-` to extract this part.\n+COV\t[1-1]\t1\t1\n+COV\t[7-7]\t7\t1\n+COV\t[18-18]\t18\t1\n+COV\t[24-24]\t24\t1\n+COV\t[25-25]\t25\t249\n+# GC-depth. Use `grep ^GCD | cut -f 2-` to extract this part. The columns are: GC%, unique sequence percentiles, 10th, 25th, 50th, 75th and 90th depth percentile\n+GCD\t0.0\t100.000\t0.000\t0.000\t0.000\t0.000\t0.000\n'
b
diff -r 000000000000 -r 0d71d9467847 test-data/samtools_stats_out2/gcc.tab
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/samtools_stats_out2/gcc.tab Wed Apr 22 10:29:35 2015 -0400
b
@@ -0,0 +1,252 @@
+# ACGT content per cycle. The columns are: cycle, and A,C,G,T counts (percent)
+1 21.50 29.50 33.50 15.50
+2 30.00 16.00 11.00 43.00
+3 33.00 25.00 9.00 33.00
+4 17.00 29.00 13.00 41.00
+5 37.00 22.00 12.00 29.00
+6 36.00 26.00 17.00 21.00
+7 29.50 13.50 31.50 25.50
+8 50.50 14.50 19.50 15.50
+9 17.00 33.00 18.00 32.00
+10 37.00 14.00 21.00 28.00
+11 20.50 14.50 29.50 35.50
+12 30.00 24.00 22.00 24.00
+13 27.00 15.00 21.00 37.00
+14 24.00 22.00 26.00 28.00
+15 25.50 20.50 24.50 29.50
+16 31.00 15.00 20.00 34.00
+17 28.00 25.00 14.00 33.00
+18 30.50 28.50 19.50 21.50
+19 29.00 26.00 21.00 24.00
+20 22.50 23.50 17.50 36.50
+21 35.50 17.50 19.50 27.50
+22 37.50 28.50 15.50 18.50
+23 31.00 19.00 13.00 37.00
+24 37.00 12.00 22.00 29.00
+25 35.50 22.50 17.50 24.50
+26 33.50 18.50 15.50 32.50
+27 34.50 14.50 25.50 25.50
+28 31.00 14.00 24.00 31.00
+29 30.00 27.00 24.00 19.00
+30 31.00 20.00 14.00 35.00
+31 33.50 29.50 13.50 23.50
+32 42.50 20.50 19.50 17.50
+33 25.50 23.50 14.50 36.50
+34 39.50 16.50 20.50 23.50
+35 32.50 23.50 21.50 22.50
+36 42.00 25.00 16.00 17.00
+37 38.00 17.00 19.00 26.00
+38 24.00 26.00 25.00 25.00
+39 22.50 41.50 18.50 17.50
+40 32.00 16.00 21.00 31.00
+41 33.00 28.00 19.00 20.00
+42 30.50 25.50 19.50 24.50
+43 35.00 29.00 15.00 21.00
+44 20.00 27.00 22.00 31.00
+45 40.50 21.50 21.50 16.50
+46 26.50 20.50 22.50 30.50
+47 38.50 29.50 16.50 15.50
+48 27.50 24.50 17.50 30.50
+49 28.50 32.50 10.50 28.50
+50 46.50 20.50 9.50 23.50
+51 34.50 28.50 13.50 23.50
+52 41.50 23.50 20.50 14.50
+53 20.00 28.00 26.00 26.00
+54 31.50 18.50 24.50 25.50
+55 30.50 22.50 16.50 30.50
+56 33.50 22.50 13.50 30.50
+57 23.00 24.00 23.00 30.00
+58 25.00 37.00 19.00 19.00
+59 34.00 23.00 24.00 19.00
+60 29.00 28.00 17.00 26.00
+61 25.50 23.50 24.50 26.50
+62 31.50 22.50 16.50 29.50
+63 27.50 28.50 25.50 18.50
+64 33.50 21.50 25.50 19.50
+65 35.50 19.50 18.50 26.50
+66 34.00 25.00 15.00 26.00
+67 37.00 23.00 19.00 21.00
+68 36.50 29.50 13.50 20.50
+69 38.50 19.50 20.50 21.50
+70 38.50 16.50 18.50 26.50
+71 25.50 38.50 21.50 14.50
+72 29.00 29.00 25.00 17.00
+73 32.50 20.50 21.50 25.50
+74 28.50 32.50 12.50 26.50
+75 41.50 12.50 18.50 27.50
+76 24.50 29.50 23.50 22.50
+77 36.00 21.00 18.00 25.00
+78 27.00 34.00 22.00 17.00
+79 21.50 26.50 25.50 26.50
+80 34.00 19.00 28.00 19.00
+81 17.00 26.00 26.00 31.00
+82 31.00 30.00 23.00 16.00
+83 31.50 26.50 12.50 29.50
+84 19.00 41.00 21.00 19.00
+85 37.50 24.50 16.50 21.50
+86 15.00 48.00 15.00 22.00
+87 41.00 16.00 18.00 25.00
+88 23.50 27.50 27.50 21.50
+89 26.50 27.50 26.50 19.50
+90 18.50 23.50 24.50 33.50
+91 27.00 32.00 22.00 19.00
+92 23.50 17.50 27.50 31.50
+93 25.50 37.50 15.50 21.50
+94 27.00 17.00 24.00 32.00
+95 26.50 37.50 14.50 21.50
+96 29.50 25.50 16.50 28.50
+97 29.00 31.00 21.00 19.00
+98 18.00 33.00 22.00 27.00
+99 24.50 33.50 24.50 17.50
+100 24.50 16.50 24.50 34.50
+101 25.00 40.00 19.00 16.00
+102 17.50 17.50 32.50 32.50
+103 31.00 26.00 16.00 27.00
+104 26.50 29.50 20.50 23.50
+105 34.00 33.00 21.00 12.00
+106 23.00 31.00 26.00 20.00
+107 17.50 35.50 23.50 23.50
+108 24.50 30.50 23.50 21.50
+109 17.00 31.00 22.00 30.00
+110 16.00 35.00 24.00 25.00
+111 24.00 32.00 23.00 21.00
+112 37.00 28.00 16.00 19.00
+113 19.50 22.50 32.50 25.50
+114 17.00 31.00 35.00 17.00
+115 29.50 24.50 23.50 22.50
+116 22.00 30.00 34.00 14.00
+117 27.00 23.00 19.00 31.00
+118 25.50 14.50 34.50 25.50
+119 22.50 34.50 20.50 22.50
+120 17.50 24.50 26.50 31.50
+121 27.50 33.50 22.50 16.50
+122 17.00 23.00 25.00 35.00
+123 23.50 46.50 11.50 18.50
+124 9.00 32.00 34.00 25.00
+125 24.00 27.00 19.00 30.00
+126 26.00 17.00 28.00 29.00
+127 26.50 16.50 21.50 35.50
+128 18.00 34.00 31.00 17.00
+129 25.50 25.50 27.50 21.50
+130 25.00 20.00 22.00 33.00
+131 17.50 39.50 24.50 18.50
+132 21.00 28.00 23.00 28.00
+133 13.50 31.50 35.50 19.50
+134 24.50 19.50 30.50 25.50
+135 16.50 23.50 30.50 29.50
+136 28.00 32.00 15.00 25.00
+137 22.50 21.50 30.50 25.50
+138 14.50 34.50 24.50 26.50
+139 20.50 29.50 24.50 25.50
+140 17.00 23.00 30.00 30.00
+141 20.50 23.50 25.50 30.50
+142 18.00 29.00 38.00 15.00
+143 22.00 24.00 27.00 27.00
+144 21.50 30.50 26.50 21.50
+145 22.00 21.00 29.00 28.00
+146 25.00 16.00 39.00 20.00
+147 26.50 22.50 30.50 20.50
+148 12.50 28.50 36.50 22.50
+149 26.50 23.50 23.50 26.50
+150 14.00 29.00 24.00 33.00
+151 19.50 30.50 32.50 17.50
+152 18.50 17.50 29.50 34.50
+153 22.50 22.50 31.50 23.50
+154 22.00 21.00 29.00 28.00
+155 21.00 26.00 19.00 34.00
+156 14.50 23.50 35.50 26.50
+157 22.00 31.00 23.00 24.00
+158 22.50 29.50 24.50 23.50
+159 17.50 12.50 46.50 23.50
+160 24.50 26.50 26.50 22.50
+161 13.00 23.00 45.00 19.00
+162 31.50 16.50 22.50 29.50
+163 19.50 21.50 35.50 23.50
+164 29.00 18.00 21.00 32.00
+165 14.50 17.50 35.50 32.50
+166 17.50 37.50 28.50 16.50
+167 16.50 21.50 31.50 30.50
+168 14.00 25.00 30.00 31.00
+169 18.50 20.50 23.50 37.50
+170 19.00 23.00 28.00 30.00
+171 20.00 28.00 33.00 19.00
+172 19.00 20.00 32.00 29.00
+173 24.50 16.50 33.50 25.50
+174 17.50 23.50 33.50 25.50
+175 33.50 17.50 35.50 13.50
+176 16.50 32.50 28.50 22.50
+177 19.00 22.00 27.00 32.00
+178 16.00 26.00 30.00 28.00
+179 18.00 18.00 22.00 42.00
+180 21.00 22.00 34.00 23.00
+181 20.50 19.50 35.50 24.50
+182 32.50 18.50 22.50 26.50
+183 24.50 13.50 28.50 33.50
+184 15.00 29.00 30.00 26.00
+185 15.00 32.00 33.00 20.00
+186 22.50 23.50 34.50 19.50
+187 19.00 14.00 40.00 27.00
+188 27.50 21.50 27.50 23.50
+189 17.00 22.00 34.00 27.00
+190 23.00 30.00 23.00 24.00
+191 25.00 22.00 28.00 25.00
+192 34.50 24.50 13.50 27.50
+193 18.50 25.50 25.50 30.50
+194 18.50 33.50 24.50 23.50
+195 16.00 26.00 23.00 35.00
+196 21.50 25.50 24.50 28.50
+197 20.00 21.00 23.00 36.00
+198 17.00 21.00 37.00 25.00
+199 20.50 18.50 25.50 35.50
+200 21.00 29.00 21.00 29.00
+201 27.00 21.00 23.00 29.00
+202 21.50 24.50 19.50 34.50
+203 21.50 24.50 26.50 27.50
+204 27.00 29.00 24.00 20.00
+205 19.50 21.50 22.50 36.50
+206 26.50 24.50 21.50 27.50
+207 22.50 21.50 19.50 36.50
+208 14.00 35.00 29.00 22.00
+209 16.00 23.00 12.00 49.00
+210 18.50 19.50 40.50 21.50
+211 26.00 20.00 22.00 32.00
+212 21.00 31.00 18.00 30.00
+213 24.00 15.00 31.00 30.00
+214 17.50 24.50 25.50 32.50
+215 26.00 24.00 23.00 27.00
+216 21.50 17.50 25.50 35.50
+217 26.00 29.00 17.00 28.00
+218 20.00 27.00 21.00 32.00
+219 17.00 21.00 21.00 41.00
+220 25.50 23.50 23.50 27.50
+221 21.50 23.50 20.50 34.50
+222 21.50 21.50 18.50 38.50
+223 20.00 27.00 28.00 25.00
+224 22.50 22.50 24.50 30.50
+225 14.50 35.50 30.50 19.50
+226 20.00 23.00 26.00 31.00
+227 20.50 24.50 23.50 31.50
+228 33.00 19.00 26.00 22.00
+229 22.50 24.50 18.50 34.50
+230 21.00 32.00 16.00 31.00
+231 23.00 28.00 30.00 19.00
+232 23.50 21.50 12.50 42.50
+233 21.00 27.00 25.00 27.00
+234 16.50 27.50 22.50 33.50
+235 20.00 15.00 28.00 37.00
+236 28.00 23.00 21.00 28.00
+237 20.50 19.50 22.50 37.50
+238 21.50 29.50 24.50 24.50
+239 20.00 8.00 17.00 55.00
+240 28.00 24.00 16.00 32.00
+241 22.50 22.50 16.50 38.50
+242 29.00 25.00 13.00 33.00
+243 22.50 15.50 23.50 38.50
+244 20.50 23.50 16.50 39.50
+245 28.00 23.00 19.00 30.00
+246 21.00 29.00 25.00 25.00
+247 32.00 14.00 13.00 41.00
+248 18.00 18.00 25.00 39.00
+249 25.00 23.00 21.00 31.00
+250 27.50 22.50 17.50 32.50
+251 13.50 20.50 36.50 29.50
b
diff -r 000000000000 -r 0d71d9467847 test-data/samtools_stats_out2/mpc.tab
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/samtools_stats_out2/mpc.tab Wed Apr 22 10:29:35 2015 -0400
b
b"@@ -0,0 +1,253 @@\n+# Columns correspond to qualities, rows to cycles. First column is the cycle number, second is the number of N's and the rest is the number of mismatches\n+1\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t1\t2\t0\t0\t0\t0\t0\t0\n+2\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t1\t1\t1\t0\t0\t0\t0\t0\t0\n+3\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t1\t0\t2\t0\t0\t0\t0\t0\t0\n+4\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t1\t2\t0\t0\t0\t0\t0\t0\n+5\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\n+6\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\n+7\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\n+8\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\n+9\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\n+10\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\n+11\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\n+12\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\n+13\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\n+14\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\n+15\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\n+16\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\n+17\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\n+18\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t1\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\n+19\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\n+20\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\n+21\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\n+22\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\n+23\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\n+24\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\n+25\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\n+26\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\n+27\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\n+28\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\n+29\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\n+30\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\n+31\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\n+32\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\n+33\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\n+34\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\n+35\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\n+36\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\n+37\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\n+38\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\n+39\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\n+40\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\n+41\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t1\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\n+42\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\n+43\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\n+44\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0"..b'\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\n+209\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t1\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\n+210\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\n+211\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t1\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\n+212\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\n+213\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t1\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\n+214\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t1\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\n+215\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\n+216\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\n+217\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\n+218\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\n+219\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\n+220\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\n+221\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\n+222\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\n+223\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\n+224\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\n+225\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\n+226\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t2\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t1\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\n+227\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t1\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\n+228\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\n+229\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\n+230\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t1\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\n+231\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\n+232\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t1\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t1\t0\t0\t0\t0\n+233\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t1\t0\t0\t0\n+234\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t1\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t1\t0\t0\t0\n+235\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t1\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\n+236\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t1\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t1\t0\t0\t0\n+237\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t1\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t1\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t1\t0\t0\t0\n+238\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t1\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\n+239\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t1\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t1\t0\t0\t0\n+240\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t1\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\n+241\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t1\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\n+242\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t1\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t1\t0\t0\t0\n+243\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t1\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\n+244\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t1\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\n+245\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t1\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\n+246\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t1\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t1\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\n+247\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t1\t0\t0\t0\t1\t0\t0\t0\n+248\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t1\t1\t3\t2\t0\t0\t0\t0\t0\t0\t0\t0\t2\t1\t0\t0\t0\t0\t0\t0\t0\t2\t0\t0\t0\t3\t0\t0\t0\n+249\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t1\t1\t1\t1\t0\t0\t0\t0\t0\t0\t0\t0\t2\t0\t5\t0\t0\t0\t0\t0\t0\t2\t0\t0\t0\t0\t0\t0\t0\n+250\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t2\t2\t2\t0\t0\t0\t0\t0\t0\t0\t0\t1\t0\t0\t0\t0\t0\t0\t0\t1\t2\t0\t0\t0\t2\t0\t0\t0\n+251\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t4\t2\t2\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t1\t0\t0\t0\t0\t0\t2\t0\t0\t0\t0\t3\t0\t0\t0\n+252\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\n'
b
diff -r 000000000000 -r 0d71d9467847 test-data/samtools_stats_out2/sn.tab
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/samtools_stats_out2/sn.tab Wed Apr 22 10:29:35 2015 -0400
b
@@ -0,0 +1,33 @@
+# Summary Numbers
+
+raw total sequences: 200
+filtered sequences: 0
+sequences: 200
+is sorted: 1
+1st fragments: 100
+last fragments: 100
+reads mapped: 25
+reads mapped and paired: 0 # paired-end technology bit set + both mates mapped
+reads unmapped: 175
+reads properly paired: 0 # proper-pair bit set
+reads paired: 200 # paired-end technology bit set
+reads duplicated: 0 # PCR or optical duplicate bit set
+reads MQ0: 6 # mapped and MQ=0
+reads QC failed: 0
+non-primary alignments: 0
+total length: 50200 # ignores clipping
+bases mapped: 6275 # ignores clipping
+bases mapped (cigar): 6275 # more accurate
+bases trimmed: 0
+bases duplicated: 0
+mismatches: 591 # from NM fields
+error rate: 9.418327e-02 # mismatches / bases mapped (cigar)
+average length: 251
+maximum length: 251
+average quality: 34.7
+insert size average: 0.0
+insert size standard deviation: 0.0
+inward oriented pairs: 0
+outward oriented pairs: 0
+pairs with other orientation: 0
+pairs on different chromosomes: 0
b
diff -r 000000000000 -r 0d71d9467847 test-data/samtools_stats_ref.fa
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/samtools_stats_ref.fa Wed Apr 22 10:29:35 2015 -0400
b
b'@@ -0,0 +1,239 @@\n+>chrM\n+GATCACAGGTCTATCACCCTATTAACCACTCACGGGAGCTCTCCATGCATTTGGTATTTTCGTCTGGGGG\n+GTATGCACGCGATAGCATTGCGAGACGCTGGAGCCGGAGCACCCTATGTCGCAGTATCTGTCTTTGATTC\n+CTGCCTCATCCTATTATTTATCGCACCTACGTTCAATATTACAGGCGAACATACTTACTAAAGTGTGTTA\n+ATTAATTAATGCTTGTAGGACATAATAATAACAATTGAATGTCTGCACAGCCACTTTCCACACAGACATC\n+ATAACAAAAAATTTCCACCAAACCCCCCCTCCCCCGCTTCTGGCCACAGCACTTAAACACATCTCTGCCA\n+AACCCCAAAAACAAAGAACCCTAACACCAGCCTAACCAGATTTCAAATTTTATCTTTTGGCGGTATGCAC\n+TTTTAACAGTCACCCCCCAACTAACACATTATTTTCCCCTCCCACTCCCATACTACTAATCTCATCAATA\n+CAACCCCCGCCCATCCTACCCAGCACACACACACCGCTGCTAACCCCATACCCCGAACCAACCAAACCCC\n+AAAGACACCCCCCACAGTTTATGTAGCTTACCTCCTCAAAGCAATACACTGAAAATGTTTAGACGGGCTC\n+ACATCACCCCATAAACAAATAGGTTTGGTCCTAGCCTTTCTATTAGCTCTTAGTAAGATTACACATGCAA\n+GCATCCCCGTTCCAGTGAGTTCACCCTCTAAATCACCACGATCAAAAGGAACAAGCATCAAGCACGCAGC\n+AATGCAGCTCAAAACGCTTAGCCTAGCCACACCCCCACGGGAAACAGCAGTGATTAACCTTTAGCAATAA\n+ACGAAAGTTTAACTAAGCTATACTAACCCCAGGGTTGGTCAATTTCGTGCCAGCCACCGCGGTCACACGA\n+TTAACCCAAGTCAATAGAAGCCGGCGTAAAGAGTGTTTTAGATCACCCCCTCCCCAATAAAGCTAAAACT\n+CACCTGAGTTGTAAAAAACTCCAGTTGACACAAAATAGACTACGAAAGTGGCTTTAACATATCTGAACAC\n+ACAATAGCTAAGACCCAAACTGGGATTAGATACCCCACTATGCTTAGCCCTAAACCTCAACAGTTAAATC\n+AACAAAACTGCTCGCCAGAACACTACGAGCCACAGCTTAAAACTCAAAGGACCTGGCGGTGCTTCATATC\n+CCTCTAGAGGAGCCTGTTCTGTAATCGATAAACCCCGATCAACCTCACCACCTCTTGCTCAGCCTATATA\n+CCGCCATCTTCAGCAAACCCTGATGAAGGCTACAAAGTAAGCGCAAGTACCCACGTAAAGACGTTAGGTC\n+AAGGTGTAGCCCATGAGGTGGCAAGAAATGGGCTACATTTTCTACCCCAGAAAACTACGATAGCCCTTAT\n+GAAACTTAAGGGTCGAAGGTGGATTTAGCAGTAAACTAAGAGTAGAGTGCTTAGTTGAACAGGGCCCTGA\n+AGCGCGTACACACCGCCCGTCACCCTCCTCAAGTATACTTCAAAGGACATTTAACTAAAACCCCTACGCA\n+TTTATATAGAGGAGACAAGTCGTAACATGGTAAGTGTACTGGAAAGTGCACTTGGACGAACCAGAGTGTA\n+GCTTAACACAAAGCACCCAACTTACACTTAGGAGATTTCAACTTAACTTGACCGCTCTGAGCTAAACCTA\n+GCCCCAAACCCACTCCACCTTACTACCAGACAACCTTAGCCAAACCATTTACCCAAATAAAGTATAGGCG\n+ATAGAAATTGAAACCTGGCGCAATAGATATAGTACCGCAAGGGAAAGATGAAAAATTATAACCAAGCATA\n+ATATAGCAAGGACTAACCCCTATACCTTCTGCATAATGAATTAACTAGAAATAACTTTGCAAGGAGAGCC\n+AAAGCTAAGACCCCCGAAACCAGACGAGCTACCTAAGAACAGCTAAAAGAGCACACCCGTCTATGTAGCA\n+AAATAGTGGGAAGATTTATAGGTAGAGGCGACAAACCTACCGAGCCTGGTGATAGCTGGTTGTCCAAGAT\n+AGAATCTTAGTTCAACTTTAAATTTGCCCACAGAACCCTCTAAATCCCCTTGTAAATTTAACTGTTAGTC\n+CAAAGAGGAACAGCTCTTTGGACACTAGGAAAAAACCTTGTAGAGAGAGTAAAAAATTTAACACCCATAG\n+TAGGCCTAAAAGCAGCCACCAATTAAGAAAGCGTTCAAGCTCAACACCCACTACCTAAAAAATCCCAAAC\n+ATATAACTGAACTCCTCACACCCAATTGGACCAATCTATCACCCTATAGAAGAACTAATGTTAGTATAAG\n+TAACATGAAAACATTCTCCTCCGCATAAGCCTGCGTCAGATTAAAACACTGAACTGACAATTAACAGCCC\n+AATATCTACAATCAACCAACAAGTCATTATTACCCTCACTGTCAACCCAACACAGGCATGCTCATAAGGA\n+AAGGTTAAAAAAAGTAAAAGGAACTCGGCAAATCTTACCCCGCCTGTTTACCAAAAACATCACCTCTAGC\n+ATCACCAGTATTAGAGGCACCGCCTGCCCAGTGACACATGTTTAACGGCCGCGGTACCCTAACCGTGCAA\n+AGGTAGCATAATCACTTGTTCCTTAAATAGGGACCTGTATGAATGGCTCCACGAGGGTTCAGCTGTCTCT\n+TACTTTTAACCAGTGAAATTGACCTGCCCGTGAAGAGGCGGGCATAACACAGCAAGACGAGAAGACCCTA\n+TGGAGCTTTAATTTATTAATGCAAACAGTACCTAACAAACCCACAGGTCCTAAACTACCAAACCTGCATT\n+AAAAATTTCGGTTGGGGCGACCTCGGAGCAGAACCCAACCTCCGAGCAGTACATGCTAAGACTTCACCAG\n+TCAAAGCGAACTACTATACTCAATTGATCCAATAACTTGACCAACGGAACAAGTTACCCTAGGGATAACA\n+GCGCAATCCTATTCTAGAGTCCATATCAACAATAGGGTTTACGACCTCGATGTTGGATCAGGACATCCCG\n+ATGGTGCAGCCGCTATTAAAGGTTCGTTTGTTCAACGATTAAAGTCCTACGTGATCTGAGTTCAGACCGG\n+AGTAATCCAGGTCGGTTTCTATCTACNTTCAAATTCCTCCCTGTACGAAAGGACAAGAGAAATAAGGCCT\n+ACTTCACAAAGCGCCTTCCCCCGTAAATGATATCATCTCAACTTAGTATTATACCCACACCCACCCAAGA\n+ACAGGGTTTGTTAAGATGGCAGAGCCCGGTAATCGCATAAAACTTAAAACTTTACAGTCAGAGGTTCAAT\n+TCCTCTTCTTAACAACATACCCATGGCCAACCTCCTACTCCTCATTGTACCCATTCTAATCGCAATGGCA\n+TTCCTAATGCTTACCGAACGAAAAATTCTAGGCTATATACAACTACGCAAAGGCCCCAACGTTGTAGGCC\n+CCTACGGGCTACTACAACCCTTCGCTGACGCCATAAAACTCTTCACCAAAGAGCCCCTAAAACCCGCCAC\n+ATCTACCATCACCCTCTACATCACCGCCCCGACCTTAGCTCTCACCATCGCTCTTCTACTATGAACCCCC\n+CTCCCCATACCCAACCCCCTGGTCAACCTCAACCTAGGCCTCCTATTTATTCTAGCCACCTCTAGCCTAG\n+CCGTTTACTCAATCCTCTGATCAGGGTGAGCATCAAACTCAAACTACGCCCTGATCGGCGCACTGCGAGC\n+AGTAGCCCAAACAATCTCATATGAAGTCACCCTAGCCATCATTCTACTATCAACATTACTAATAAGTGGC\n+TCCTTTAACCTCTCCACCCTTATCACAACACAAGAACACCTCTGATTACTCCTGCCATCATGACCCTTGG\n+CCATAATATGATT'..b'GTTCTTCAAATATCTACTCATCTTCCTAATTACCATACTAATCTTAGTTACCGCTAA\n+CAACCTATTCCAACTGTTCATCGGCTGAGAGGGCGTAGGAATTATATCCTTCTTGCTCATCAGTTGATGA\n+TACGCCCGAGCAGATGCCAACACAGCAGCCATTCAAGCAATCCTATACAACCGTATCGGCGATATCGGTT\n+TCATCCTCGCCTTAGCATGATTTATCCTACACTCCAACTCATGAGACCCACAACAAATAGCCCTTCTAAA\n+CGCTAATCCAAGCCTCACCCCACTACTAGGCCTCCTCCTAGCAGCAGCAGGCAAATCAGCCCAATTAGGT\n+CTCCACCCCTGACTCCCCTCAGCCATAGAAGGCCCCACCCCAGTCTCAGCCCTACTCCACTCAAGCACTA\n+TAGTTGTAGCAGGAATCTTCTTACTCATCCGCTTCCACCCCCTAGCAGAAAATAGCCCACTAATCCAAAC\n+TCTAACACTATGCTTAGGCGCTATCACCACTCTGTTCGCAGCAGTCTGCGCCCTTACACAAAATGACATC\n+AAAAAAATCGTAGCCTTCTCCACTTCAAGTCAACTAGGACTCATAATAGTTACAATCGGCATCAACCAAC\n+CACACCTAGCATTCCTGCACATCTGTACCCACGCCTTCTTCAAAGCCATACTATTTATGTGCTCCGGGTC\n+CATCATCCACAACCTTAACAATGAACAAGATATTCGAAAAATAGGAGGACTACTCAAAACCATACCTCTC\n+ACTTCAACCTCCCTCACCATTGGCAGCCTAGCATTAGCAGGAATACCTTTCCTCACAGGTTTCTACTCCA\n+AAGACCACATCATCGAAACCGCAAACATATCATACACAAACGCCTGAGCCCTATCTATTACTCTCATCGC\n+TACCTCCCTGACAAGCGCCTATAGCACTCGAATAATTCTTCTCACCCTAACAGGTCAACCTCGCTTCCCC\n+ACCCTTACTAACATTAACGAAAATAACCCCACCCTACTAAACCCCATTAAACGCCTGGCAGCCGGAAGCC\n+TATTCGCAGGATTTCTCATTACTAACAACATTTCCCCCGCATCCCCCTTCCAAACAACAATCCCCCTCTA\n+CCTAAAACTCACAGCCCTCGCTGTCACTTTCCTAGGACTTCTAACAGCCCTAGACCTCAACTACCTAACC\n+AACAAACTTAAAATAAAATCCCCACTATGCACATTTTATTTCTCCAACATACTCGGATTCTACCCTAGCA\n+TCACACACCGCACAATCCCCTATCTAGGCCTTCTTACGAGCCAAAACCTGCCCCTACTCCTCCTAGACCT\n+AACCTGACTAGAAAAGCTATTACCTAAAACAATTTCACAGCACCAAATCTCCACCTCCATCATCACCTCA\n+ACCCAAAAAGGCATAATTAAACTTTACTTCCTCTCTTTCTTCTTCCCACTCATCCTAACCCTACTCCTAA\n+TCACATAACCTATTCCCCCGAGCAATCTCAATTACAATATATACACCAACAAACAATGTTCAACCAGTAA\n+CTACTACTAATCAACGCCCATAATCATACAAAGCCCCCGCACCAATAGGATCCTCCCGAATCAACCCTGA\n+CCCCTCTCCTTCATAAATTATTCAGCTTCCTACACTATTAAAGTTTACCACAACCACCACCCCATCATAC\n+TCTTTCACCCACAGCACCAATCCTACCTCCATCGCTAACCCCACTAAAACACTCACCAAGACCTCAACCC\n+CTGACCCCCATGCCTCAGGATACTCCTCAATAGCCATCGCTGTAGTATATCCAAAGACAACCATCATTCC\n+CCCTAAATAAATTAAAAAAACTATTAAACCCATATAACCTCCCCCAAAATTCAGAATAATAACACACCCG\n+ACCACACCGCTAACAATCAATACTAAACCCCCATAAATAGGAGAAGGCTTAGAAGAAAACCCCACAAACC\n+CCATTACTAAACCCACACTCAACAGAAACAAAGCATACATCATTATTCTCGCACGGACTACAACCACGAC\n+CAATGATATGAAAAACCATCGTTGTATTTCAACTACAAGAACACCAATGACCCCAATACGCAAAACTAAC\n+CCCCTAATAAAATTAATTAACCACTCATTCATCGACCTCCCCACCCCATCCAACATCTCCGCATGATGAA\n+ACTTCGGCTCACTCCTTGGCGCCTGCCTGATCCTCCAAATCACCACAGGACTATTCCTAGCCATGCACTA\n+CTCACCAGACGCCTCAACCGCCTTTTCATCAATCGCCCACATCACTCGAGACGTAAATTATGGCTGAATC\n+ATCCGCTACCTTCACGCCAATGGCGCCTCAATATTCTTTATCTGCCTCTTCCTACACATCGGGCGAGGCC\n+TATATTACGGATCATTTCTCTACTCAGAAACCTGAAACATCGGCATTATCCTCCTGCTTGCAACTATAGC\n+AACAGCCTTCATAGGCTATGTCCTCCCGTGAGGCCAAATATCATTCTGAGGGGCCACAGTAATTACAAAC\n+TTACTATCCGCCATCCCATACATTGGGACAGACCTAGTTCAATGAATCTGAGGAGGCTACTCAGTAGACA\n+GTCCCACCCTCACACGATTCTTTACCTTTCACTTCATCTTGCCCTTCATTATTGCAGCCCTAGCAACACT\n+CCACCTCCTATTCTTGCACGAAACGGGATCAAACAACCCCCTAGGAATCACCTCCCATTCCGATAAAATC\n+ACCTTCCACCCTTACTACACAATCAAAGACGCCCTCGGCTTACTTCTCTTCCTTCTCTCCTTAATGACAT\n+TAACACTATTCTCACCAGACCTCCTAGGCGACCCAGACAATTATACCCTAGCCAACCCCTTAAACACCCC\n+TCCCCACATCAAGCCCGAATGATATTTCCTATTCGCCTACACAATTCTCCGATCCGTCCCTAACAAACTA\n+GGAGGCGTCCTTGCCCTATTACTATCCATCCTCATCCTAGCAATAATCCCCATCCTCCATATATCCAAAC\n+AACAAAGCATAATATTTCGCCCACTAAGCCAATCACTTTATTGACTCCTAGCCGCAGACCTCCTCATTCT\n+AACCTGAATCGGAGGACAACCAGTAAGCTACCCTTTTACCATCATTGGACAAGTAGCATCCGTACTATAC\n+TTCACAACAATCCTAATCCTAATACCAACTATCTCCCTAATTGAAAACAAAATACTCAAATGGGCCTGTC\n+CTTGTAGTATAAACTAATACACCAGTCTTGTAAACCGGAGATGAAAACCTTTTTCCAAGGACAAATCAGA\n+GAAAAAGTCTTTAACTCCACCATTAGCACCCAAAGCTAAGATTCTAATTTAAACTATTCTCTGTTCTTTC\n+ATGGGGAAGCAGATTTGGGTACCACCCAAGTATTGACTCACCCATCAACAACCGCTATGTATTTCGTACA\n+TTACTGCCAGCCACCATGAATATTGTACGGTACCATAAATACTTGACCACCTGTAGTACATAAAAACCCA\n+ATCCACATCAAAACCCCCTCCCCATGCTTACAAGCAAGTACAGCAATCAACCCTCAACTATCACACATCA\n+ACTGCAACTCCAAAGCCACCCCTCACCCACTAGGATACCAACAAACCTACCCACCCTTAACAGTACATAG\n+TACATAAAGCCATTTACCGTACATAGCACATTACAGTCAAATCCCTTCTCGTCCCCATGGATGACCCCCC\n+TCAGATAGGGGTCCCTTGACCACCATCCTCCGTGAAATCAATATCCCGCACAAGAGTGCTACTCTCCTCG\n+CTCCGGGCCCATAACACTTGGGGGTAGCTAAAGTGAACTGTATCCGACATCTGGTTCCTACTTCAGGGTC\n+ATAAAGCCTAAATAGCCCACACGTTCCCCTTAAATAAGACATCACGATG\n+\n'
b
diff -r 000000000000 -r 0d71d9467847 tool-data/fasta_indexes.loc.sample
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/tool-data/fasta_indexes.loc.sample Wed Apr 22 10:29:35 2015 -0400
b
@@ -0,0 +1,29 @@
+#This is a sample file distributed with Galaxy that enables tools
+#to use a directory of Samtools indexed sequences data files.  You will need
+#to create these data files and then create a fasta_indexes.loc file
+#similar to this one (store it in this directory) that points to
+#the directories in which those files are stored. The fasta_indexes.loc
+#file has this format (white space characters are TAB characters):
+#
+# <unique_build_id> <dbkey> <display_name> <file_base_path>
+#
+#So, for example, if you had hg19 Canonical indexed stored in
+#
+# /depot/data2/galaxy/hg19/sam/,
+#
+#then the fasta_indexes.loc entry would look like this:
+#
+#hg19canon hg19 Human (Homo sapiens): hg19 Canonical /depot/data2/galaxy/hg19/sam/hg19canon.fa
+#
+#and your /depot/data2/galaxy/hg19/sam/ directory
+#would contain hg19canon.fa and hg19canon.fa.fai files.
+#
+#Your fasta_indexes.loc file should include an entry per line for
+#each index set you have stored.  The file in the path does actually
+#exist, but it should never be directly used. Instead, the name serves
+#as a prefix for the index file.  For example:
+#
+#hg18canon hg18 Human (Homo sapiens): hg18 Canonical /depot/data2/galaxy/hg18/sam/hg18canon.fa
+#hg18full hg18 Human (Homo sapiens): hg18 Full /depot/data2/galaxy/hg18/sam/hg18full.fa
+#hg19canon hg19 Human (Homo sapiens): hg19 Canonical /depot/data2/galaxy/hg19/sam/hg19canon.fa
+#hg19full hg19 Human (Homo sapiens): hg19 Full /depot/data2/galaxy/hg19/sam/hg19full.fa
b
diff -r 000000000000 -r 0d71d9467847 tool_data_table_conf.xml.sample
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/tool_data_table_conf.xml.sample Wed Apr 22 10:29:35 2015 -0400
b
@@ -0,0 +1,7 @@
+<!-- Use the file tool_data_table_conf.xml.oldlocstyle if you don't want to update your loc files as changed in revision 4550:535d276c92bc-->
+<tables>
+    <table name="fasta_indexes" comment_char="#">
+        <columns>value, dbkey, name, path</columns>
+        <file path="tool-data/fasta_indexes.loc" />
+    </table>
+</tables>
b
diff -r 000000000000 -r 0d71d9467847 tool_dependencies.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/tool_dependencies.xml Wed Apr 22 10:29:35 2015 -0400
b
@@ -0,0 +1,6 @@
+<?xml version="1.0"?>
+<tool_dependency>
+    <package name="samtools" version="1.2">
+        <repository changeset_revision="6eea04363026" name="package_samtools_1_2" owner="iuc" toolshed="https://toolshed.g2.bx.psu.edu" />
+    </package>
+</tool_dependency>