changeset 0:9e6a43112688 draft default tip

planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/genehunter_modscore/ commit bf4a43ac2ae894eeeb6e608badb6ea7f8288c8d9
author iuc
date Sat, 09 Dec 2017 05:58:25 -0500
parents
children
files genehunter_modscore.xml test-data/datain_1.21 test-data/map_1.21 test-data/pedin_1.21
diffstat 4 files changed, 1108 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/genehunter_modscore.xml	Sat Dec 09 05:58:25 2017 -0500
@@ -0,0 +1,476 @@
+<tool id="genehunter_modscore" name="Genehunter-Modscore" version="@VERSION@.0" >
+    <description>Linkage and Haplotypes analysis</description>
+    <macros>
+        <token name="@VERSION@">3.0.0</token>
+        <xml name="macro_npl_opts" >
+            <param name="extra_npl_score" type="select" label="Type of NPL scoring">
+                <option value="all" selected="true" >All</option>
+                <option value="pairs" >Pairs</option>
+                <option value="hom" >Homozygous</option>
+            </param>
+        </xml>
+        <!-- Input test file collection -->
+        <xml name="test_input_files">
+            <param name="inp_ped" value="pedin_1.21" />
+            <param name="inp_dat" value="datain_1.21" />
+            <param name="inp_map" value="map_1.21" />
+        </xml>
+        <!-- End Input test file collection -->
+        <!-- Output test file(s) -->
+        <xml name="test_output_fparam">
+            <output name="fparam" >
+                <assert_contents>
+                    <has_text_matching expression="\s*\d+\.\d+\s+-\d+\.\d+(\s+\d+\.\d+){2}\s+rs17000204$" />
+                </assert_contents>
+            </output>
+        </xml>
+        <xml name="test_output_haplo">
+            <output name="ihaplo" >
+                <assert_contents>
+                    <has_text_matching expression="1\s+206006\s+206001\s+206002\s+2\s+2(\s+[0-2])+" />
+                </assert_contents>
+            </output>
+        </xml>
+        <!-- End Output test file(s) -->
+    </macros>
+    <requirements>
+        <requirement type="package" version="@VERSION@" >ghm</requirement>
+        <requirement type="package" version="2017.3" >linkage2allegro</requirement>
+    </requirements>
+    <version_command><![CDATA[
+    echo q | ghm | grep -oP "(?<=(\(version\ ))[^)]+"
+    ]]>
+    </version_command>
+    <command detect_errors='exit_code'><![CDATA[
+ghm < '$setup_file'
+
+&& linkage2allegro
+    '${inp_ped}'
+    '${inp_map}'
+    genehunter
+    -l gh.out
+#if $section_haplo.analysis_haplo.extra_haplotype
+    -h haplo.dump
+#end if
+
+&& mv linkage.allegro_lod '${fparam}'
+#if $section_haplo.analysis_haplo.extra_haplotype
+&& mv linkage.allegro_haplo '${ihaplo}'
+#end if
+    ]]>
+    </command>
+    <configfiles>
+        <configfile name="setup_file" ><![CDATA[
+photo gh.out
+
+ps off
+
+## Initiate mod score lod calculation and store IVs, off by default
+modcalc ${section_options.section_pvalues.advanced_options_modcalc.extra_modcalc}
+## global / single / off
+
+haplotype ${section_haplo.analysis_haplo.extra_haplotype}
+## on / off, generate Haplotypes
+
+#if $section_haplo.analysis_haplo.extra_haplotype
+haplotype method ${section_haplo.analysis_haplo.extra_haplotype_method}
+## [MaxProb] / Viterbi
+#end if
+
+analysis ${section_linkage.npl_scoring.extra_mod_analysis}
+## NPL / LOD / BOTH, type of linkage analysis
+
+#if $section_linkage.npl_scoring.extra_mod_analysis.value != 'LOD':
+score ${section_linkage.npl_scoring.extra_npl_score}
+## pairs / all / hom
+#else
+score all
+#end if
+
+#if $section_linkage.extra_singlepoint
+single point ${section_linkage.extra_singlepoint}
+## on / off, dont use multi-point parametric
+#end if
+
+## -- Re-enable in 3.1
+## Algebraic calculation for P-values, default on
+## #if $section_options.section_pvalues.advanced_options_alg.extra_alg
+## alg ${section_options.section_pvalues.advanced_options_alg.extra_alg}
+## Use more memory for algebraic calculations
+## algebra ${section_options.section_pvalues.advanced_options_alg.extra_alg_mem}
+## #end if
+
+## Add custom trait models
+#if $section_options.section_pvalues.advanced_options_model.extra_mod_model
+model ${section_options.section_pvalues.advanced_options_model.extra_mod_modeldisfreq} ${section_options.section_pvalues.advanced_options_model.extra_mod_modelpenet}
+#end if
+
+## Range of markers positions instead of all range
+#if $section_options.section_range.advanced_options_positions.extra_mod_positions
+##    #try
+##        #assert $section_options.section_range.advanced_options_positions.extra_mod_positions_lowest < $section_options.section_range.advanced_options_positions.extra_mod_positions_highest
+##    #except AssertionError
+##       #echo Range minimum is not less than the maximum
+##    #end try
+positions ${section_options.section_range.advanced_options_positions.extra_mod_positions_lowest} ${section_options.section_range.advanced_options_positions.extra_mod_positions_highest}
+#end if
+
+## Untyped, default on
+#if $section_haplo.analysis_haplo.extra_haplotype or $section_options.section_sample.extra_includeuntyped
+include untyped on
+#else:
+include untyped off
+#end if
+
+## Eliminate uninformative individuals, default off
+discard ${section_options.section_sample.extra_discard}
+
+## Use untyped founders, default off
+ufo ${section_options.section_sample.extra_ufo}
+
+## Restrict penetrances so that hom wildtype LEQ het LEQ hom mutant, on default
+pr ${section_options.section_allfreq.extra_mod_penetrancerestrict}
+
+## Restrict disease allele frequency to be not higher than the highest allfreq  (default 0.5)
+#if $section_options.section_allfreq.extra_mod_allfreq
+ar $section_options.section_allfreq.extra_mod_allfreq
+## Set upper disease allele freq for MOD, default 0.5 ( 0 -> 1 )
+ha $section_options.section_allfreq.extra_mod_highallele
+#end if
+
+## Number of parameters varied together in MOD, default 2 ( 1 -> 5 )
+dimensions ${section_options.section_pvalues.extra_mod_dimensions}
+
+## Normalize Allele Frequencies, default off
+naf ${section_options.section_allfreq.extra_nmaf}
+
+## off by default
+#if '${section_options.section_pvalues.advanced_options_modcalc.extra_modcalc}' == 'single':
+## Number of trait models saved in MOD score.
+## Only works if algebraic calc is off, and in single modcalc
+    #if not('${extra_alg}'):
+        #if '${extra_mod_savedmodels}'!=-1:
+saved models $extra_mod_savedmodels
+        #end if
+    #end if
+
+## Long output for modcalc single
+$section_options.section_pvalues.extra_mod_longmod
+
+## Calculate P-values only at the best position, off by default
+$section_options.section_pvalues.extra_mod_bep
+#end if
+
+
+## Calculate p-values for MOD/LOD scores
+#if $section_options.section_pvalues.advanced_options_calcpval.extra_calcpval
+cpv $section_options.section_pvalues.advanced_options_calcpval.extra_calcpval_file
+## Number of replicates in P-score evaluation, default 0
+    #if $section_options.section_pvalues.advanced_options_calcpval.extra_cpv_nor > 0
+nor $section_options.section_pvalues.advanced_options_calcpval.extra_cpv_nor
+    #end if
+#end if
+
+## Number of sequential simulations in P-score evaluation, default 0
+seq ${section_options.section_pvalues.extra_seq}
+
+## Store replicates during P-score evaluation, default off
+str ${section_options.section_pvalues.extra_storereplicates}  ## pre / both / off (default)
+
+## Simulate untyped individuals, required for haplotypes
+#if $section_haplo.analysis_haplo.extra_haplotype or $section_options.section_sample.extra_sun
+sun on
+#else
+sun off
+#end if
+
+## Set random seed for P-score evaluation, default -1
+srs ${section_options.section_pvalues.extra_srs}
+
+## Display distribution of replicates, default off
+sdi ${section_options.section_display.extra_sdi}
+
+#### General
+## Count the number of recombintions, default off
+count recs ${section_options.section_display.extra_countrec}
+
+## Do not skip fully homozygous markers when generating haplotypes, default off
+fin ${section_options.section_sample.extra_cpv_fin}
+
+## Print scores to screen, default on
+display scores on
+
+## Margin before and after marker range to compute scores, default 0 cM
+off end ${section_options.section_range.extra_offend}
+
+## Distance between adjacent scores, either in cM 'distance' irrespective of
+## map, or equal 'steps'. Default steps 2
+increment ${section_options.section_range.advanced_options_increment.extra_increment_type} ${section_options.section_range.advanced_options_increment.extra_increment_sizepavu}
+
+## Units, default haldane
+map function ${section_options.section_display.extra_mapfunc}
+## Units in scan output, default cM
+units ${section_options.section_display.extra_scan_units}
+
+## Max pedigree size  calculated by 2N - F, default 19, trim individuals beyond this
+max bits ${section_options.section_range.extra_maxbits}
+## Split pedigree larger than max ped size, default off
+skip large ${section_options.section_range.extra_maxbits_skiplarge}
+## Stores IBD matrics for linkage, default off
+cs ${section_options.section_pvalues.extra_computesharing}
+
+
+load markers ${inp_dat}
+read map ${inp_map}
+use
+
+scan ${inp_ped}
+
+## Show total scores from a scan of multiple peds
+##  - 'het' [alpha], if not given then alpha varies
+##  - 'stat'
+## default below, overridden by params
+total stat het
+
+
+## TODO:
+## Qualitative / Quantitative trait mapping of sibs, Variance component analysis, TDT
+q
+]]>
+        </configfile>
+    </configfiles>
+    <inputs>
+        <param name="inp_ped" type="data" format="linkage_pedin" label="Pedigree" />
+        <param name="inp_dat" type="data" format="linkage_datain" label="Recombination Freqs" />
+        <param name="inp_map" type="data" format="linkage_map" label="Marker Positions" />
+
+        <section name="section_haplo" title="Haplotypes" expanded="true" >
+            <conditional name="analysis_haplo" >
+                <param name="extra_haplotype" type="boolean" truevalue="on" falsevalue="off" checked="false" label="Haplotype Analysis" />
+                <when value="on">
+                    <param name="extra_haplotype_method" type="select" label="Haplotype Reconstruction Algorithm. MaxProb is fastest, and has more global solution." >
+                        <option value="MaxProb" selected="true" >Maximisation Probability</option>
+                        <option value="Viterbi" >Viterbi</option>
+                    </param>
+                </when>
+                <when value="off" />
+            </conditional>
+        </section>
+
+        <section name="section_linkage" title="Linkage" expanded="false" >
+            <param name="extra_singlepoint" type="boolean" truevalue="on" falsevalue="off" checked="false" label="Single-point Analysis"/>
+            <conditional name="npl_scoring" >
+                <param name="extra_mod_analysis" type="select" label="Type of linkage analysis" >
+                    <option value="BOTH" selected="true" >Both</option>
+                    <option value="NPL" >Non-paremetric Linkage</option>
+                    <option value="LOD" >Logarithm-of-the-Odds</option>
+                </param>
+                <when value="BOTH" ><expand macro="macro_npl_opts" /></when>
+                <when value="NPL" ><expand macro="macro_npl_opts" /></when>
+                <when value="LOD" />
+            </conditional>
+        </section>
+
+        <section name="section_options" expanded="false" title="Advanced Options" >
+            <!-- P-values -->
+            <section name="section_pvalues" expanded="false"
+                     title="P-value Options" >
+                <conditional name="advanced_options_alg" >
+                    <param name="extra_alg" type="boolean" truevalue="on" falsevalue="off" checked="true" label="Use Algebraic calculations for P-Values"/>
+
+                    <when value="on" >
+                        <param name="extra_alg_mem" type="boolean" truevalue="on" falsevalue="off" checked="true" label="Remove large memory restrictions for algebraic calculations" />
+                    </when>
+                    <when value="off" >
+                        <param name="extra_mod_savedmodels" type="integer" value="-1" label="Number of models to save" />
+                    </when>
+                </conditional>
+
+                <conditional name="advanced_options_model" >
+                    <param name="extra_mod_model" type="boolean" truevalue="on" falsevalue="off" checked="false" label="Use custom trait models" />
+                    <when value="on" >
+                        <param name="extra_mod_modeldisfreq" type="float" value="" min="0" max="1" label="Disease allele frequency" />
+                        <param name="extra_mod_modelpenet" type="text" value="" label="3 or 4 penetrances" />
+                    </when>
+                    <when value="off" />
+                </conditional>
+
+                <conditional name="advanced_options_calcpval" >
+                    <param name="extra_calcpval" type="boolean" truevalue="on" falsevalue="off" checked="false" label="Calculate P-values for MOD/LOD scores" />
+
+                    <when value="on" >
+                        <param name="extra_calcpval_file" type="data" format="txt" label="Filename to produce values" />
+                        <param name="extra_cpv_nor" type="integer" value="0" min="0" label="Number of replicates in P-value calculations" />
+                    </when>
+                    <when value="off" />
+                </conditional>
+
+                <conditional name="advanced_options_modcalc" >
+                    <param name="extra_modcalc" type="select" label="Inheritance Vector storage for LOD and P-value calculations" >
+                        <option value="global" >Global</option>
+                        <option value="single" >Single</option>
+                        <option value="off" selected="true" >Off</option>
+                    </param>
+                    <when value="single" >
+                        <param name="extra_mod_longmod" type="boolean" truevalue="lm on" falsevalue="" checked="false" label="Produce long output for scores" />
+                        <param name="extra_mod_bep" type="boolean" truevalue="bep on" falsevalue="" checked="false" label="Calculate P-values only at the best LOD positions" />
+                    </when>
+                    <when value="global" />
+                    <when value="off" />
+                </conditional>
+
+                <param name="extra_seq" type="integer" value="0" min="0" label="Number of sequential simulations in P-value calculations" />
+                <param name="extra_storereplicates" type="select" label="Store replicates during P-value calculations" >
+                    <option value="pre" >Pre</option>
+                    <option value="both" >Both</option>
+                    <option value="off" selected="true" >Off</option>
+                </param>
+                <param name="extra_srs" type="integer" value="-1" label="Set Random seed for P-value calculations" />
+                <param name="extra_computesharing" type="boolean" truevalue="on" falsevalue="off" checked="false" label="Store IBD matrices" />
+                <param name="extra_mod_dimensions" type="integer" min="1" max="5" value="2" label="Number of parameters to vary in LOD calculations" />
+            </section>
+            <!-- End of P Values: Works -->
+
+            <!-- Display Options -->
+            <section name="section_display" expanded="false" title="Display options" >
+                <param name="extra_sdi" type="boolean" truevalue="on" falsevalue="off" checked="false" label="Display distribution of replicates" />
+                <param name="extra_countrec" type="boolean" truevalue="on" falsevalue="off" checked="false" label="Print the number of recombinations" />
+                <param name="extra_mapfunc" type="select" label="Genetic map function units" >
+                    <option value="haldane" selected="true">Haldane</option>
+                    <option value="kosambi" >Kosambi</option>
+                </param>
+                <param name="extra_scan_units" type="select" label="Output units" >
+                    <option value="cM" selected="true">CentiMorgans</option>
+                    <option value="rec-frac" >Recombination Fractions</option>
+                </param>
+            </section>
+            <!-- End of display: Works -->
+
+            <!-- Range section -->
+            <section name="section_range" expanded="false" title="Range options" >
+                <conditional name="advanced_options_positions" >
+                    <param name="extra_mod_positions" type="boolean" truevalue="on" falsevalue="off" checked="false" label="Define custom position range" />
+                    <when value="off" />
+                    <when value="on" >
+                        <param name="extra_mod_positions_lowest" type="float" value="0" min="0" max="1000" label="Lowest position (cM)" />
+                        <param name="extra_mod_positions_highest" type="float" value="1" min="0" max="1000" label="Highest position (cM)" />
+                        <!-- Assert: lowest < higher -->
+                    </when>
+                </conditional>
+
+                <param name="extra_offend" type="float" value="0.0" label="Margin before and after marker range to compute scores (cM)" />
+
+                <conditional name="advanced_options_increment" >
+                    <param name="extra_increment_type" type="select" label="Increment either the genetic distance across the whole range of markers, or the number of equally-spaced steps between adjacent markers" help="Note that the total number of steps (markers * calc. per step)  must not exceed 1000." >
+                        <option value="distance" >Distance</option>
+                        <option value="steps" selected="true" >Steps</option>
+                    </param>
+                    <when value="distance" >
+                        <param name="extra_increment_sizepavu" type="float" min="1.0" value="1" max="1000" label="centiMorgan interval" />
+                    </when>
+                    <when value="steps" >
+                        <param name="extra_increment_sizepavu" type="integer" min="1" value="2" max="30" label="Number of steps between markers." />
+                    </when>
+                </conditional>
+
+                <param name="extra_maxbits" type="integer" min="3" value="19" max="30" label="Max bit-size of the pedigree, computed via '2N-F', for F founders and N non-founders" />
+                <param name="extra_maxbits_skiplarge" type="boolean" truevalue="on" falsevalue="off" checked="false" label="Split pedigrees if larger than the max pedigree size" />
+            </section>
+            <!-- End of range:Works -->
+
+            <!-- Frequency section -->
+            <section name="section_allfreq" title="Allele Frequency Options">
+                <param name="extra_nmaf" type="boolean" truevalue="on" falsevalue="off" checked="false" label="Normalize Allele Frequencies" />
+
+                <param name="extra_mod_allfreq" type="boolean" truevalue="on" falsevalue="off" checked="false" label="Restrict disease allele frequency" />
+
+                <param name="extra_mod_highallele" type="float" min="0" max="1" value="0.5" label="Set maximum disease allele frequency" />
+
+                <param name="extra_mod_penetrancerestrict" type="boolean" truevalue="on" falsevalue="off" checked="true" label="Restrict Penetrances" />
+
+            </section>
+            <!-- End of Frequency section:Works -->
+
+            <!-- Sample Individuals section -->
+            <section name="section_sample" title="Sample Options" >
+                <param name="extra_sun" type="boolean" truevalue="on" falsevalue="off" checked="false" label="Simulate untyped individuals" />
+                <param name="extra_includeuntyped" type="boolean" truevalue="on" falsevalue="off" checked="true" label="Include untyped individuals" />
+                <param name="extra_cpv_fin" type="boolean" truevalue="on" falsevalue="off" checked="true" label="Process fully homozygous (uninformative) genotypes" />
+                <param name="extra_discard" type="boolean" truevalue="on" falsevalue="off" checked="false" label="Discard uninformative individuals"  />
+                <param name="extra_ufo" type="boolean" truevalue="on" falsevalue="off" checked="false" label="Use untyped founders" />
+            </section>
+            <!-- End of sample individuals -->
+        </section>
+        <!-- End of advanced options -->
+    </inputs>
+
+    <outputs>
+        <!-- All outputs convert to an Allegro format -->
+        <data name="ihaplo" format="allegro_ihaplo" label="${tool.name} on ${on_string}: Haplotypes" />
+        <data name="fparam" format="allegro_fparam" label="${tool.name} on ${on_string}: MPT Linkage" />
+    </outputs>
+
+    <tests>
+        <test><!-- Defaults with haplo -->
+            <expand macro="test_input_files" />
+
+            <param name="extra_haplotype" value="on" />
+
+            <expand macro="test_output_fparam" />
+            <expand macro="test_output_haplo" />
+        </test>
+        <test><!-- Haplotypes via Viterbi resolution -->
+            <expand macro="test_input_files" />
+
+            <param name="extra_mod_analysis" value="BOTH" />
+            <param name="extra_haplotype" value="on" />
+            <param name="extra_haplotype_method" value="Viterbi" />
+            <param name="extra_increment_sizepavu" value="10" />
+
+            <expand macro="test_output_haplo" />
+            <expand macro="test_output_fparam" />
+        </test>
+        <test><!-- Parametric LOD with restricted scoring -->
+            <expand macro="test_input_files" />
+
+            <param name="extra_mod_allfreq" value="on" />
+            <param name="extra_mod_highallele" value="0.8" />
+            <param name="extra_npl_score" value="hom" />
+
+            <expand macro="test_output_fparam" />
+        </test>
+        <test><!-- Haplo + Single IBS with computed founders -->
+            <expand macro="test_input_files" />
+
+            <param name="extra_cpv_fin" value="on" />
+            <param name="extra_modcalc" value="single" />
+            <param name="extra_mod_bep" value="bep on" />
+            <param name="extra_srs" value="10" />
+
+            <expand macro="test_output_fparam" />
+        </test>
+    </tests>
+
+    <help><![CDATA[
+
+**Genehunter-MODscore** calculates a *maximized LOD* (MOD) score over a set of genotypes for use in linkage and haplotype analysis.
+
+Haplotypes are generated using either this maximum probability approach, or via slower more conventional Viterbi crawling.
+
+Untyped founders can be simulated by reconstructing their haplotypes from offspring, and points of recombination can still be accurately determined in lieu of this.
+
+Due to the stochastic nature of the analysis, a random seed can be set by the user to produce reproducible results.
+
+Many more configurable options are outlined in the the official manual_.
+
+.. _manual: https://www.helmholtz-muenchen.de/fileadmin/GENEPI/downloads/ghm-3.0.pdf
+
+]]>
+    </help>
+    <citations>
+        <citation type="doi">10.1159/000369065</citation>
+        <citation type="doi">10.1002/gepi.20264</citation>
+        <citation type="doi">10.1093/bioinformatics/btl539</citation>
+        <citation type="doi">10.1186/1471-2156-6-S1-S162</citation>
+    </citations>
+</tool>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/datain_1.21	Sat Dec 09 05:58:25 2017 -0500
@@ -0,0 +1,410 @@
+201 0 0 5
+ 0 0.0 0.0 0 
+ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201
+1  2 	# TRAIT
+ 0.9999 0.0001
+ 1
+ 0.000 0.000 1.000
+3  2 	# rs1296971
+ 0.4583 0.5417
+3  2 	# rs468601
+ 0.1356 0.8644
+3  2 	# rs2821973
+ 0.4083 0.5917
+3  2 	# rs1929150
+ 0.3559 0.6441
+3  2 	# rs2822124
+ 0.4407 0.5593
+3  2 	# rs2775054
+ 0.2583 0.7417
+3  2 	# rs7276618
+ 0.4167 0.5833
+3  2 	# rs392812
+ 0.1000 0.9000
+3  2 	# rs2822368
+ 0.2833 0.7167
+3  2 	# rs6516610
+ 0.3167 0.6833
+3  2 	# rs447455
+ 0.2000 0.8000
+3  2 	# rs437521
+ 0.1667 0.8333
+3  2 	# rs2822554
+ 0.1417 0.8583
+3  2 	# rs2822572
+ 0.1000 0.9000
+3  2 	# rs13050350
+ 0.3167 0.6833
+3  2 	# rs2142236
+ 0.0667 0.9333
+3  2 	# rs2822677
+ 0.0508 0.9492
+3  2 	# rs2822696
+ 0.0833 0.9167
+3  2 	# rs376635
+ 0.4500 0.5500
+3  2 	# rs2822765
+ 0.4333 0.5667
+3  2 	# rs2822780
+ 0.1667 0.8333
+3  2 	# rs465340
+ 0.4917 0.5083
+3  2 	# rs1888398
+ 0.2250 0.7750
+3  2 	# rs458052
+ 0.3333 0.6667
+3  2 	# rs2822907
+ 0.3250 0.6750
+3  2 	# rs8129531
+ 0.2333 0.7667
+3  2 	# rs12053660
+ 0.1500 0.8500
+3  2 	# rs1883003
+ 0.2750 0.7250
+3  2 	# rs2822974
+ 0.4833 0.5167
+3  2 	# rs11088231
+ 0.1667 0.8333
+3  2 	# rs2205239
+ 0.4250 0.5750
+3  2 	# rs2823045
+ 0.2417 0.7583
+3  2 	# rs926164
+ 0.2750 0.7250
+3  2 	# rs2823139
+ 0.2417 0.7583
+3  2 	# rs2823161
+ 0.3667 0.6333
+3  2 	# rs2823194
+ 0.0750 0.9250
+3  2 	# rs2049882
+ 0.0917 0.9083
+3  2 	# rs1736148
+ 0.4417 0.5583
+3  2 	# rs2823301
+ 0.2583 0.7417
+3  2 	# rs6517467
+ 0.2333 0.7667
+3  2 	# rs2064051
+ 0.2333 0.7667
+3  2 	# rs9974915
+ 0.1000 0.9000
+3  2 	# rs2823400
+ 0.3583 0.6417
+3  2 	# rs726634
+ 0.3167 0.6833
+3  2 	# rs7283707
+ 0.1083 0.8917
+3  2 	# rs7283161
+ 0.4333 0.5667
+3  2 	# rs9982633
+ 0.2500 0.7500
+3  2 	# rs2823621
+ 0.4333 0.5667
+3  2 	# rs2051347
+ 0.3000 0.7000
+3  2 	# rs2823702
+ 0.3417 0.6583
+3  2 	# rs189457
+ 0.3167 0.6833
+3  2 	# rs2823748
+ 0.3167 0.6833
+3  2 	# rs2849869
+ 0.2417 0.7583
+3  2 	# rs1667568
+ 0.0917 0.9083
+3  2 	# rs171267
+ 0.4417 0.5583
+3  2 	# rs11911987
+ 0.0333 0.9667
+3  2 	# rs2823881
+ 0.0417 0.9583
+3  2 	# rs2823912
+ 0.0917 0.9083
+3  2 	# rs2032287
+ 0.3333 0.6667
+3  2 	# rs4818278
+ 0.2667 0.7333
+3  2 	# rs11700643
+ 0.2833 0.7167
+3  2 	# rs418989
+ 0.1333 0.8667
+3  2 	# rs4818307
+ 0.0583 0.9417
+3  2 	# rs11701390
+ 0.3667 0.6333
+3  2 	# rs2824192
+ 0.4825 0.5175
+3  2 	# rs2824231
+ 0.4250 0.5750
+3  2 	# rs1501813
+ 0.1917 0.8083
+3  2 	# rs2824273
+ 0.3833 0.6167
+3  2 	# rs2824282
+ 0.3500 0.6500
+3  2 	# rs4536738
+ 0.3000 0.7000
+3  2 	# rs2824292
+ 0.4917 0.5083
+3  2 	# rs208885
+ 0.2250 0.7750
+3  2 	# rs2849886
+ 0.1667 0.8333
+3  2 	# rs764657
+ 0.3917 0.6083
+3  2 	# rs9977638
+ 0.3417 0.6583
+3  2 	# rs2824435
+ 0.2000 0.8000
+3  2 	# rs243570
+ 0.2750 0.7250
+3  2 	# rs243587
+ 0.4917 0.5083
+3  2 	# rs243619
+ 0.4667 0.5333
+3  2 	# rs2824560
+ 0.3333 0.6667
+3  2 	# rs200801
+ 0.5000 0.5000
+3  2 	# rs157740
+ 0.3750 0.6250
+3  2 	# rs2260211
+ 0.1750 0.8250
+3  2 	# rs1491781
+ 0.3750 0.6250
+3  2 	# rs2824646
+ 0.2667 0.7333
+3  2 	# rs2824669
+ 0.3333 0.6667
+3  2 	# rs2824688
+ 0.1417 0.8583
+3  2 	# rs2824699
+ 0.0583 0.9417
+3  2 	# rs2824704
+ 0.3750 0.6250
+3  2 	# rs9983595
+ 0.1750 0.8250
+3  2 	# rs7283555
+ 0.1333 0.8667
+3  2 	# rs2824733
+ 0.2250 0.7750
+3  2 	# rs2824760
+ 0.4167 0.5833
+3  2 	# rs17781453
+ 0.2203 0.7797
+3  2 	# rs978421
+ 0.4583 0.5417
+3  2 	# rs2251831
+ 0.1167 0.8833
+3  2 	# rs1735766
+ 0.3833 0.6167
+3  2 	# rs2824909
+ 0.3667 0.6333
+3  2 	# rs8133676
+ 0.3083 0.6917
+3  2 	# rs8129581
+ 0.0417 0.9583
+3  2 	# rs1159082
+ 0.2083 0.7917
+3  2 	# rs432177
+ 0.2917 0.7083
+3  2 	# rs443581
+ 0.1500 0.8500
+3  2 	# rs2178993
+ 0.4000 0.6000
+3  2 	# rs2825304
+ 0.3917 0.6083
+3  2 	# rs764063
+ 0.4667 0.5333
+3  2 	# rs2825410
+ 0.3917 0.6083
+3  2 	# rs856168
+ 0.2083 0.7917
+3  2 	# rs2825547
+ 0.1167 0.8833
+3  2 	# rs1489734
+ 0.4417 0.5583
+3  2 	# rs434435
+ 0.1583 0.8417
+3  2 	# rs2244367
+ 0.2333 0.7667
+3  2 	# rs2825673
+ 0.1356 0.8644
+3  2 	# rs7277498
+ 0.2917 0.7083
+3  2 	# rs2825728
+ 0.1917 0.8083
+3  2 	# rs2825750
+ 0.0917 0.9083
+3  2 	# rs13433388
+ 0.1167 0.8833
+3  2 	# rs7275645
+ 0.1583 0.8417
+3  2 	# rs2825924
+ 0.3167 0.6833
+3  2 	# rs2825960
+ 0.3250 0.6750
+3  2 	# rs2825977
+ 0.1417 0.8583
+3  2 	# rs2826065
+ 0.4583 0.5417
+3  2 	# rs2826125
+ 0.4083 0.5917
+3  2 	# rs2246644
+ 0.2250 0.7750
+3  2 	# rs2091991
+ 0.2583 0.7417
+3  2 	# rs994455
+ 0.3250 0.6750
+3  2 	# rs2826262
+ 0.1000 0.9000
+3  2 	# rs2826339
+ 0.2833 0.7167
+3  2 	# rs1893329
+ 0.1833 0.8167
+3  2 	# rs2826388
+ 0.4083 0.5917
+3  2 	# rs1351599
+ 0.3250 0.6750
+3  2 	# rs229448
+ 0.3917 0.6083
+3  2 	# rs2826418
+ 0.1417 0.8583
+3  2 	# rs9974471
+ 0.0750 0.9250
+3  2 	# rs2826538
+ 0.2583 0.7417
+3  2 	# rs9981937
+ 0.4500 0.5500
+3  2 	# rs2826596
+ 0.1917 0.8083
+3  2 	# rs6518018
+ 0.4500 0.5500
+3  2 	# rs8126872
+ 0.0583 0.9417
+3  2 	# rs1980966
+ 0.2083 0.7917
+3  2 	# rs2826662
+ 0.4250 0.5750
+3  2 	# rs2826676
+ 0.3000 0.7000
+3  2 	# rs2826713
+ 0.4333 0.5667
+3  2 	# rs1373484
+ 0.2250 0.7750
+3  2 	# rs2826844
+ 0.1500 0.8500
+3  2 	# rs233803
+ 0.0750 0.9250
+3  2 	# rs8134226
+ 0.2500 0.7500
+3  2 	# rs1735990
+ 0.4167 0.5833
+3  2 	# rs2826982
+ 0.3417 0.6583
+3  2 	# rs2827045
+ 0.1083 0.8917
+3  2 	# rs2827102
+ 0.1167 0.8833
+3  2 	# rs2246589
+ 0.2417 0.7583
+3  2 	# rs2154723
+ 0.4667 0.5333
+3  2 	# rs2827203
+ 0.3333 0.6667
+3  2 	# rs2827251
+ 0.0833 0.9167
+3  2 	# rs2827308
+ 0.4583 0.5417
+3  2 	# rs2827322
+ 0.0917 0.9083
+3  2 	# rs2827338
+ 0.3167 0.6833
+3  2 	# rs2014609
+ 0.3000 0.7000
+3  2 	# rs2827606
+ 0.2750 0.7250
+3  2 	# rs2827641
+ 0.2500 0.7500
+3  2 	# rs8127947
+ 0.1250 0.8750
+3  2 	# rs117674
+ 0.3083 0.6917
+3  2 	# rs198114
+ 0.4000 0.6000
+3  2 	# rs405227
+ 0.4083 0.5917
+3  2 	# rs2827880
+ 0.1083 0.8917
+3  2 	# rs8134936
+ 0.0667 0.9333
+3  2 	# rs2828019
+ 0.1667 0.8333
+3  2 	# rs2828068
+ 0.3583 0.6417
+3  2 	# rs2828098
+ 0.4000 0.6000
+3  2 	# rs9980706
+ 0.2333 0.7667
+3  2 	# rs2828167
+ 0.2333 0.7667
+3  2 	# rs2212575
+ 0.3417 0.6583
+3  2 	# rs1514417
+ 0.1917 0.8083
+3  2 	# rs1514414
+ 0.4917 0.5083
+3  2 	# rs2828457
+ 0.1583 0.8417
+3  2 	# rs2828520
+ 0.3417 0.6583
+3  2 	# rs2828549
+ 0.0667 0.9333
+3  2 	# rs2828622
+ 0.2083 0.7917
+3  2 	# rs9977556
+ 0.2000 0.8000
+3  2 	# rs2154734
+ 0.3500 0.6500
+3  2 	# rs1910670
+ 0.2667 0.7333
+3  2 	# rs11087904
+ 0.0917 0.9083
+3  2 	# rs12627150
+ 0.2917 0.7083
+3  2 	# rs2828914
+ 0.1417 0.8583
+3  2 	# rs2829026
+ 0.2667 0.7333
+3  2 	# rs2829049
+ 0.4333 0.5667
+3  2 	# rs2829086
+ 0.3000 0.7000
+3  2 	# rs12053689
+ 0.0167 0.9833
+3  2 	# rs728067
+ 0.3833 0.6167
+3  2 	# rs4816976
+ 0.4083 0.5917
+3  2 	# rs2829227
+ 0.1833 0.8167
+3  2 	# rs17000204
+ 0.0833 0.9167
+3  2 	# rs2829285
+ 0.4167 0.5833
+3  2 	# rs17000332
+ 0.0917 0.9083
+3  2 	# rs17689314
+ 0.0750 0.9250
+3  2 	# rs4283495
+ 0.2083 0.7917
+3  2 	# rs2154526
+ 0.4250 0.5750
+3  2 	# rs2829558
+ 0.3500 0.6500
+3  2 	# rs12626495
+ 0.1667 0.8333
+ 0 0
+ 0.1  0.000699  0.000751  0.001625  0.000626  0.000902  0.001785  0.000970  0.001647  0.001241  0.000538  0.001138  0.000606  0.000504  0.000859  0.000504  0.001582  0.000504  0.001393  0.000552  0.001420  0.000533  0.000638  0.000596  0.000705  0.000567  0.001541  0.003324  0.001431  0.000703  0.001346  0.001978  0.000846  0.000598  0.000547  0.000887  0.002148  0.000873  0.001850  0.000800  0.000771  0.000785  0.000544  0.001836  0.000556  0.001838  0.000854  0.001010  0.001044  0.000913  0.002090  0.000800  0.003138  0.001451  0.000676  0.001048  0.005681  0.001075  0.001309  0.002052  0.002013  0.001811  0.001415  0.000890  0.000620  0.001575  0.000961  0.000590  0.000592  0.001485  0.000536  0.000692  0.003783  0.000504  0.001024  0.001595  0.002290  0.002725  0.001189  0.000622  0.000829  0.000530  0.001256  0.002036  0.001575  0.001122  0.000963  0.000909  0.001877  0.001159  0.000839  0.002653  0.000589  0.001128  0.001040  0.000572  0.000756  0.000518  0.000842  0.000642  0.000931  0.000852  0.000540  0.001125  0.002038  0.000547  0.000527  0.002150  0.001016  0.000564  0.000620  0.000526  0.001174  0.001572  0.000655  0.000776  0.000504  0.000521  0.000512  0.000629  0.000570  0.000515  0.001805  0.001103  0.001429  0.001403  0.003479  0.001278  0.001141  0.000866  0.000947  0.000979  0.000564  0.003575  0.001911  0.001271  0.000622  0.001919  0.000572  0.000855  0.001534  0.000840  0.000885  0.000505  0.000773  0.002112  0.000568  0.000553  0.000694  0.001058  0.000627  0.002328  0.002346  0.001778  0.000921  0.000535  0.000610  0.000785  0.000673  0.000625  0.000566  0.002054  0.001007  0.000625  0.000545  0.000733  0.000851  0.000544  0.001300  0.000559  0.000871  0.000571  0.000574  0.000588  0.000690  0.002225  0.000511  0.000839  0.001752  0.000544  0.001807  0.000633  0.000547  0.001712  0.001575  0.000512  0.000567  0.000586  0.001449  0.000862  0.001286  0.000506  0.000518  0.000545  0.001830  0.000665  0.000949  0.001156  0.001236  0.000501
+ 1      2.0  1.0
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/map_1.21	Sat Dec 09 05:58:25 2017 -0500
@@ -0,0 +1,201 @@
+#Chr    Genpos       Marker     Physpos    Nr
+ 21   0.70496629   rs1296971   13609442    1
+ 21   0.77494263    rs468601   13769165    2
+ 21   0.85010932   rs2821973   13899316    3
+ 21   1.01291458   rs1929150   14051249    4
+ 21   1.07552959   rs2822124   14088675    5
+ 21   1.16577144   rs2775054   14121682    6
+ 21   1.34457997   rs7276618   14197852    7
+ 21   1.44169062    rs392812   14252347    8
+ 21   1.60661592   rs2822368   14311592    9
+ 21   1.73090413   rs6516610   14385827   10
+ 21   1.78470487    rs447455   14502698   11
+ 21   1.89865013    rs437521   14513560   12
+ 21   1.95928889   rs2822554   14585162   13
+ 21   2.00968909   rs2822572   14618073   14
+ 21   2.09569547  rs13050350   14653413   15
+ 21   2.14611500   rs2142236   14748155   16
+ 21   2.30459845   rs2822677   14767432   17
+ 21   2.35507107   rs2822696   14783326   18
+ 21   2.49458320    rs376635   14788185   19
+ 21   2.54981913   rs2822765   14843387   20
+ 21   2.69205997   rs2822780   14875052   21
+ 21   2.74542953    rs465340   14884525   22
+ 21   2.80926447   rs1888398   14981052   23
+ 21   2.86888387    rs458052   15013563   24
+ 21   2.93942924   rs2822907   15057767   25
+ 21   2.99612354   rs8129531   15061195   26
+ 21   3.15050759  rs12053660   15067326   27
+ 21   3.48398239   rs1883003   15147347   28
+ 21   3.62725156   rs2822974   15185311   29
+ 21   3.69755891  rs11088231   15247441   30
+ 21   3.83233721   rs2205239   15365789   31
+ 21   4.03050303   rs2823045   15382630   32
+ 21   4.11519240    rs926164   15435118   33
+ 21   4.17500340   rs2823139   15498654   34
+ 21   4.22973041   rs2823161   15515055   35
+ 21   4.31848934   rs2823194   15568649   36
+ 21   4.53372425   rs2049882   15633372   37
+ 21   4.62105207   rs1736148   15735083   38
+ 21   4.80636119   rs2823301   15780469   39
+ 21   4.88644465   rs6517467   15806025   40
+ 21   4.96357163   rs2064051   15860950   41
+ 21   5.04209154   rs9974915   15879012   42
+ 21   5.09648993   rs2823400   15922925   43
+ 21   5.28044978    rs726634   15952748   44
+ 21   5.33607360   rs7283707   16048865   45
+ 21   5.52020653   rs7283161   16247081   46
+ 21   5.60568022   rs9982633   16341775   47
+ 21   5.70676016   rs2823621   16453860   48
+ 21   5.81125072   rs2051347   16485140   49
+ 21   5.90261793   rs2823702   16551609   50
+ 21   6.11205825    rs189457   16586547   51
+ 21   6.19207523   rs2823748   16597546   52
+ 21   6.50682420   rs2849869   16651064   53
+ 21   6.65214516   rs1667568   16668191   54
+ 21   6.71981324    rs171267   16678743   55
+ 21   6.82475021  rs11911987   16722383   56
+ 21   7.39610093   rs2823881   16856068   57
+ 21   7.50376261   rs2823912   16917157   58
+ 21   7.63480472   rs2032287   16930320   59
+ 21   7.84039602   rs4818278   16998424   60
+ 21   8.04214302  rs11700643   17038979   61
+ 21   8.22354552    rs418989   17157305   62
+ 21   8.36525000   rs4818307   17217065   63
+ 21   8.45433331  rs11701390   17283040   64
+ 21   8.51634344   rs2824192   17343668   65
+ 21   8.67406372   rs2824231   17392912   66
+ 21   8.77025758   rs1501813   17554542   67
+ 21   8.82932246   rs2824273   17561990   68
+ 21   8.88853994   rs2824282   17645542   69
+ 21   9.03723097   rs4536738   17662409   70
+ 21   9.09085593   rs2824292   17709047   71
+ 21   9.16009205    rs208885   17730794   72
+ 21   9.53979856   rs2849886   17786057   73
+ 21   9.59018991    rs764657   17848524   74
+ 21   9.69271956   rs9977638   17890191   75
+ 21   9.85245414   rs2824435   17966268   76
+ 21  10.08197365    rs243570   18050577   77
+ 21  10.35520368    rs243587   18076288   78
+ 21  10.47428859    rs243619   18133788   79
+ 21  10.53651389   rs2824560   18225088   80
+ 21  10.61943861    rs200801   18255517   81
+ 21  10.67244619    rs157740   18325093   82
+ 21  10.79821762   rs2260211   18346822   83
+ 21  11.00225432   rs1491781   18406009   84
+ 21  11.15996564   rs2824646   18428522   85
+ 21  11.27225313   rs2824669   18457462   86
+ 21  11.36867493   rs2824688   18474751   87
+ 21  11.45964144   rs2824699   18483226   88
+ 21  11.64771978   rs2824704   18490357   89
+ 21  11.76380297   rs9983595   18549169   90
+ 21  11.84781755   rs7283555   18581924   91
+ 21  12.11384302   rs2824733   18610953   92
+ 21  12.17280440   rs2824760   18643999   93
+ 21  12.28574212  rs17781453   18653275   94
+ 21  12.38984244    rs978421   18764344   95
+ 21  12.44711692   rs2251831   18789375   96
+ 21  12.52273151   rs1735766   18848058   97
+ 21  12.57455115   rs2824909   18854315   98
+ 21  12.65879321   rs8133676   18997737   99
+ 21  12.72302066   rs8129581   19057910  100
+ 21  12.81618598   rs1159082   19121841  101
+ 21  12.90145984    rs432177   19186337  102
+ 21  12.95549266    rs443581   19216302  103
+ 21  13.06810731   rs2178993   19293300  104
+ 21  13.27236583   rs2825304   19331922  105
+ 21  13.32707225    rs764063   19376899  106
+ 21  13.37982622   rs2825410   19494502  107
+ 21  13.59530607    rs856168   19626353  108
+ 21  13.69705947   rs2825547   19668806  109
+ 21  13.75352001   rs1489734   19793599  110
+ 21  13.81559903    rs434435   19844160  111
+ 21  13.86820051   rs2244367   19866968  112
+ 21  13.98574411   rs2825673   19888587  113
+ 21  14.14320618   rs7277498   19951997  114
+ 21  14.20879296   rs2825728   19969339  115
+ 21  14.28647592   rs2825750   19983882  116
+ 21  14.33689830  rs13433388   20069219  117
+ 21  14.38898773   rs7275645   20167678  118
+ 21  14.44017677   rs2825924   20246520  119
+ 21  14.50315223   rs2825960   20320715  120
+ 21  14.56015678   rs2825977   20348756  121
+ 21  14.61166764   rs2826065   20478347  122
+ 21  14.79246064   rs2826125   20571466  123
+ 21  14.90289354   rs2246644   20645886  124
+ 21  15.04596182   rs2091991   20691564  125
+ 21  15.18648966    rs994455   20705648  126
+ 21  15.53559341   rs2826262   20743064  127
+ 21  15.66356127   rs2826339   20806826  128
+ 21  15.77781450   rs1893329   20830425  129
+ 21  15.86446260   rs2826388   20848008  130
+ 21  15.95926952   rs1351599   20913703  131
+ 21  16.05729287    rs229448   20933061  132
+ 21  16.11368606   rs2826418   20949969  133
+ 21  16.47246854   rs9974471   21056224  134
+ 21  16.66392288   rs2826538   21110606  135
+ 21  16.79121263   rs9981937   21134312  136
+ 21  16.85341215   rs2826596   21183086  137
+ 21  17.04571292   rs6518018   21296154  138
+ 21  17.10290055   rs8126872   21345875  139
+ 21  17.18846294   rs1980966   21384976  140
+ 21  17.34205820   rs2826662   21414302  141
+ 21  17.42614487   rs2826676   21427970  142
+ 21  17.51471805   rs2826713   21451562  143
+ 21  17.56528732   rs1373484   21594668  144
+ 21  17.64265500   rs2826844   21743514  145
+ 21  17.85431911    rs233803   21809131  146
+ 21  17.91111695   rs8134226   21864007  147
+ 21  17.96645267   rs1735990   21972669  148
+ 21  18.03585827   rs2826982   22043979  149
+ 21  18.14172180   rs2827045   22094903  150
+ 21  18.20441422   rs2827102   22169091  151
+ 21  18.43775705   rs2246589   22210543  152
+ 21  18.67287429   rs2154723   22258522  153
+ 21  18.85099488   rs2827203   22289388  154
+ 21  18.94321450   rs2827251   22429921  155
+ 21  18.99671746   rs2827308   22545897  156
+ 21  19.05774110   rs2827322   22564337  157
+ 21  19.13631789   rs2827338   22576117  158
+ 21  19.20362216   rs2014609   22717064  159
+ 21  19.26613313   rs2827606   22865549  160
+ 21  19.32281282   rs2827641   22917993  161
+ 21  19.52863920   rs8127947   23088645  162
+ 21  19.62941496    rs117674   23181728  163
+ 21  19.69196960    rs198114   23321910  164
+ 21  19.74649998    rs405227   23364298  165
+ 21  19.81984364   rs2827880   23421443  166
+ 21  19.90502305   rs8134936   23558338  167
+ 21  19.95943904   rs2828019   23589727  168
+ 21  20.08961268   rs2828068   23618853  169
+ 21  20.14554663   rs2828098   23674565  170
+ 21  20.23269491   rs9980706   23719145  171
+ 21  20.28980444   rs2828167   23752189  172
+ 21  20.34721944   rs2212575   23858500  173
+ 21  20.40601271   rs1514417   23947028  174
+ 21  20.47503438   rs1514414   23981149  175
+ 21  20.69805264   rs2828457   24015036  176
+ 21  20.74919837   rs2828520   24064990  177
+ 21  20.83315713   rs2828549   24145543  178
+ 21  21.00866634   rs2828622   24215779  179
+ 21  21.06311429   rs9977556   24246806  180
+ 21  21.24419008   rs2154734   24262860  181
+ 21  21.30751062   rs1910670   24349615  182
+ 21  21.36223878  rs11087904   24424999  183
+ 21  21.53371556  rs12627150   24432464  184
+ 21  21.69150159   rs2828914   24512033  185
+ 21  21.74270098   rs2829026   24670327  186
+ 21  21.79938994   rs2829049   24704489  187
+ 21  21.85804827   rs2829086   24734850  188
+ 21  22.00320719  rs12053689   24836768  189
+ 21  22.08952329    rs728067   24863804  190
+ 21  22.21825129   rs4816976   24889274  191
+ 21  22.26888477   rs2829227   24946353  192
+ 21  22.32072493  rs17000204   24953391  193
+ 21  22.37522446   rs2829285   25002830  194
+ 21  22.55858143  rs17000332   25025907  195
+ 21  22.62514941  rs17689314   25104707  196
+ 21  22.72017895   rs4283495   25323982  197
+ 21  22.83590284   rs2154526   25411108  198
+ 21  22.95961680   rs2829558   25436468  199
+ 21  23.00970055  rs12626495   25531117  200
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/pedin_1.21	Sat Dec 09 05:58:25 2017 -0500
@@ -0,0 +1,21 @@
+1 111 0 0 1 1   0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+1 112 0 0 2 2   0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+1 206003 111 112 1 0   1 1 1 1 1 1 1 2 2 2 1 2 1 2 2 2 2 2 1 2 2 2 1 2 2 2 1 2 2 2 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 2 2 1 2 2 2 2 2 1 1 2 2 1 1 1 2 1 1 1 2 1 1 2 2 2 2 1 2 1 1 1 2 2 2 1 2 1 2 1 1 2 2 1 2 1 2 2 2 1 1 1 2 2 2 2 2 1 1 1 1 1 2 2 2 1 1 2 2 1 2 2 2 1 1 1 1 1 1 1 2 1 2 1 2 1 2 2 2 2 2 1 1 1 2 1 2 1 1 1 1 1 1 2 2 1 2 2 2 1 1 1 2 1 1 2 2 1 1 1 2 1 2 1 2 1 1 2 2 2 2 2 2 1 1 2 2 1 2 2 2 1 1 2 2 2 2 1 1 2 2 2 2 1 2 1 1 2 2 1 1 2 2 1 2 1 2 2 2 1 2 1 1 1 1 2 2 1 2 1 1 2 2 1 1 1 2 1 2 1 2 1 2 2 2 1 2 2 2 1 2 1 2 1 2 1 2 1 2 1 1 1 1 2 2 1 2 2 2 1 1 1 1 1 2 2 2 1 2 2 2 1 2 1 1 2 2 2 2 1 1 2 2 2 2 1 2 1 1 1 2 1 1 2 2 2 2 2 2 1 1 2 2 1 2 1 2 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 2 1 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 1 2 1 2 1 2 1 2 1 1 2 2 1 1 2 2 1 2 1 2 1 1 1 2 1 2 2 2 1 1 1 2 1 1 1 1 2 2 1 1 2 2 2 2 2 2 1 1 1 2 2 2 2 2
+1 206001 111 112 1 2   1 1 1 1 1 1 1 2 2 2 1 2 1 2 2 2 2 2 1 2 2 2 1 2 2 2 1 2 2 2 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 2 2 1 2 2 2 2 2 1 1 2 2 1 1 1 2 1 1 1 2 1 1 2 2 2 2 1 2 1 1 1 2 2 2 1 2 1 2 1 1 2 2 1 2 1 2 2 2 1 1 1 2 2 2 2 2 1 1 1 1 1 2 2 2 1 1 2 2 1 2 2 2 1 1 1 1 1 1 1 2 1 2 1 2 1 2 2 2 2 2 1 1 1 2 1 2 1 1 1 1 1 1 2 2 1 2 2 2 1 1 1 2 1 1 2 2 1 1 1 2 1 2 1 2 1 1 2 2 2 2 2 2 1 1 2 2 1 2 2 2 1 1 2 2 2 2 1 1 2 2 2 2 1 2 1 1 2 2 1 1 2 2 1 2 1 2 2 2 1 2 1 1 1 1 2 2 1 2 1 1 2 2 1 1 1 2 1 2 1 2 1 2 2 2 1 2 2 2 1 2 1 2 1 2 1 2 1 2 1 1 1 1 2 2 1 2 2 2 1 1 1 1 1 2 2 2 1 2 2 2 1 2 1 1 2 2 2 2 1 1 2 2 2 2 1 2 1 1 1 2 1 1 2 2 2 2 2 2 1 1 2 2 1 2 1 2 1 1 1 1 1 1 1 2 2 2 1 2 1 1 1 2 1 2 2 2 2 2 1 1 1 2 1 2 1 2 2 2 2 2 2 2 1 2 1 2 1 2 2 2 1 1 1 2 1 2 1 1 1 2 1 2 1 1 2 2 1 1 2 2 1 2 1 2 1 2 1 1 1 2 2 2 2 2 1 1 2 2 1 2 2 2
+1 206002 0 0 2 1   1 2 1 2 1 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 1 1 2 2 1 2 1 1 2 2 2 2 1 1 1 1 1 2 1 2 1 1 2 2 2 2 1 2 2 2 1 1 2 2 1 2 1 2 1 2 2 2 1 1 2 2 2 2 1 1 1 2 1 2 2 2 2 2 1 1 2 2 2 2 2 2 1 1 1 2 1 2 1 1 1 2 1 1 1 2 1 1 1 1 2 2 1 1 2 2 2 2 1 2 1 2 1 1 1 1 1 2 1 1 1 1 1 2 2 2 2 2 1 2 1 1 1 2 1 2 1 1 2 2 1 1 2 2 2 2 1 2 1 2 1 2 2 2 1 1 1 1 1 1 2 2 1 1 2 2 1 2 2 2 1 2 1 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 1 1 1 1 2 2 1 1 1 2 1 2 1 2 2 2 1 2 2 2 1 2 1 2 1 2 1 2 2 2 1 1 1 1 1 1 2 2 1 1 2 2 1 2 2 2 1 2 2 2 2 2 1 1 1 1 2 2 1 2 2 2 1 2 2 2 1 1 1 1 1 2 1 2 1 1 2 2 1 1 1 2 1 2 1 2 1 2 1 2 1 2 1 1 2 2 1 1 1 1 2 2 2 2 1 1 1 2 2 2 1 1 2 2 1 2 2 2 1 2 1 2 2 2 2 2 2 2 1 2 1 1 2 2 1 2 1 2 1 1 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 2 2 1 1 1 2 2 2 1 1 1 2 1 2 1 1 1 2 2 2 2 2 1 1 1 2 2 2 1 2 1 1 2 2 1 2 1 2 1 2 1 1 2 2
+1 2060018 0 0 2 1   1 1 1 1 1 2 2 2 1 2 2 2 1 2 2 2 1 2 2 2 2 2 1 2 2 2 1 1 2 2 1 1 1 2 1 2 2 2 1 2 1 1 2 2 1 1 1 2 1 2 1 2 2 2 2 2 0 0 2 2 1 2 2 2 1 1 2 2 1 2 2 2 2 2 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 1 2 1 1 1 2 2 2 1 2 1 1 1 2 1 2 1 1 2 2 1 2 2 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 2 1 1 2 2 2 2 1 1 2 2 2 2 1 1 1 2 2 2 1 2 1 2 2 2 1 2 2 2 1 2 2 2 1 1 2 2 1 2 1 2 1 2 2 2 1 2 2 2 1 1 2 2 2 2 1 2 2 2 2 2 1 1 2 2 2 2 1 2 2 2 1 2 1 1 1 2 1 1 2 2 1 1 1 2 1 1 2 2 2 2 1 2 1 1 1 2 1 2 1 2 2 2 1 2 2 2 2 2 1 2 1 2 1 1 1 1 1 1 1 1 1 1 2 2 2 2 1 1 1 1 1 2 1 2 1 2 2 2 1 1 1 1 1 2 2 2 1 2 2 2 2 2 1 1 1 2 1 1 1 2 1 2 1 2 1 1 2 2 2 2 1 1 2 2 1 1 1 2 1 2 1 2 2 2 2 2 1 2 2 2 1 1 2 2 2 2 1 2 2 2 2 2 2 2 1 1 2 2 2 2 1 2 1 1 1 1 1 2 1 2 1 1 2 2 1 1 1 1 1 2 1 2 2 2 1 2 2 2 1 1 1 1 2 2 1 2 1 2 1 2 2 2 2 2 1 1 1 1 2 2
+1 2060010 206001 2060018 1 0   1 1 1 1 1 1 1 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 1 1 1 2 1 2 1 2 1 1 1 1 1 2 1 1 1 2 1 2 1 2 2 2 2 2 1 1 2 2 1 1 2 2 1 1 2 2 1 1 2 2 2 2 1 2 1 1 1 1 2 2 1 2 1 2 1 2 2 2 1 2 1 2 1 2 1 2 1 1 2 2 2 2 1 1 1 1 1 1 2 2 1 1 2 2 2 2 2 2 1 1 1 1 1 1 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 1 2 2 1 2 1 1 1 2 2 2 1 2 2 2 1 2 1 2 1 1 2 2 1 1 2 2 1 2 0 0 1 1 2 2 2 2 1 2 1 1 2 2 2 2 2 2 1 1 2 2 2 2 1 2 2 2 2 2 1 1 1 2 2 2 1 1 2 2 1 1 1 1 1 2 1 1 1 2 1 1 2 2 1 1 1 2 2 2 1 2 1 2 1 1 2 2 1 1 2 2 1 1 2 2 2 2 1 1 1 1 1 1 1 2 1 1 1 1 1 2 2 2 2 2 1 1 1 1 1 1 1 2 2 2 2 2 1 1 1 1 2 2 2 2 1 2 2 2 2 2 1 2 1 1 1 1 1 2 2 2 1 2 1 2 1 2 2 2 1 2 1 2 1 1 1 2 1 1 2 2 2 2 2 2 1 1 2 2 1 1 2 2 2 2 1 1 1 2 1 2 1 2 1 2 2 2 2 2 1 2 1 2 1 2 1 2 1 1 1 1 1 2 1 1 1 2 2 2 1 2 2 2 1 2 2 2 1 2 1 2 1 2 1 1 1 2 2 2 2 2 1 2 1 2 1 1 2 2
+1 206004 206001 206002 2 2   1 2 1 2 1 1 1 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 1 1 1 1 2 2 1 2 1 1 1 1 1 2 1 1 1 1 2 2 2 2 1 2 2 2 1 1 2 2 1 2 1 2 1 1 2 2 1 1 2 2 2 2 1 2 1 1 1 1 2 2 1 2 1 1 1 2 2 2 1 2 1 2 2 2 1 1 1 1 1 2 1 2 1 2 1 1 1 1 2 2 1 1 2 2 2 2 2 2 1 1 1 1 1 1 2 2 1 2 1 2 1 2 2 2 2 2 1 1 1 1 2 2 1 1 1 1 1 2 1 2 2 2 2 2 1 1 2 2 1 2 2 2 1 1 1 2 1 2 1 2 1 1 2 2 2 2 2 2 1 1 1 2 2 2 2 2 1 2 1 2 2 2 1 2 2 2 2 2 1 1 1 1 2 2 1 1 1 2 1 2 1 2 2 2 1 2 1 2 1 2 1 2 1 2 1 2 2 2 1 1 1 2 1 1 2 2 1 1 2 2 1 1 2 2 1 2 1 2 1 2 1 1 1 2 1 2 1 1 2 2 2 2 2 2 1 1 1 1 1 2 2 2 1 2 2 2 1 1 1 1 2 2 2 2 1 1 1 2 1 2 1 2 1 2 1 1 1 1 2 2 2 2 1 2 1 1 2 2 1 2 1 2 1 2 1 2 1 1 1 2 2 2 2 2 1 2 1 2 1 1 2 2 2 2 1 1 1 1 1 2 1 2 2 2 2 2 1 2 1 1 1 2 1 2 2 2 1 1 1 1 1 2 1 1 2 2 2 2 1 1 1 2 1 2 2 2 1 2 1 2 1 2 1 1 1 1 2 2 2 2 1 2 2 2 1 1 2 2
+1 206006 206001 206002 2 2   1 2 1 2 1 1 1 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 1 1 1 1 2 2 1 2 1 1 1 1 1 2 1 1 1 1 2 2 2 2 1 2 2 2 1 1 2 2 1 2 1 2 1 1 2 2 1 1 2 2 2 2 1 2 1 1 1 1 2 2 1 2 1 1 1 2 2 2 1 2 1 2 2 2 1 1 1 1 1 2 1 2 1 2 1 1 1 1 2 2 1 1 2 2 2 2 2 2 1 1 1 1 1 1 2 2 1 2 1 2 1 2 2 2 2 2 1 1 1 1 2 2 1 1 1 1 1 2 1 2 2 2 2 2 1 2 1 2 1 1 2 2 1 1 1 2 1 2 1 2 1 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 1 1 2 2 2 2 1 1 1 1 2 2 1 1 2 2 1 1 1 1 2 2 1 1 1 2 1 1 2 2 1 1 1 1 2 2 1 1 1 2 1 1 2 2 1 1 2 2 1 2 2 2 2 2 1 2 1 2 1 1 1 2 1 2 1 2 2 2 1 2 2 2 1 1 1 1 1 1 1 2 1 2 2 2 1 1 1 2 1 2 1 2 1 2 2 2 2 2 1 2 1 2 1 1 1 1 2 2 2 2 1 2 1 2 2 2 1 2 1 2 1 1 1 2 1 2 2 2 2 2 2 2 1 2 2 2 1 1 2 2 1 2 1 2 1 1 1 2 1 2 2 2 2 2 1 2 1 1 1 2 1 2 2 2 1 1 1 2 1 2 1 1 1 2 1 2 1 1 2 2 1 2 2 2 1 2 2 2 1 2 1 2 1 1 2 2 1 2 1 1 1 2 1 1 2 2
+1 206008 206001 206002 2 2   1 1 1 1 1 1 1 2 1 2 1 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 1 2 2 2 1 2 1 1 2 2 1 2 1 1 1 1 1 1 1 2 1 1 2 2 2 2 2 2 2 2 1 1 2 2 1 1 2 2 1 2 2 2 1 1 2 2 2 2 1 2 1 2 1 2 2 2 1 2 1 1 1 2 2 2 1 2 1 2 1 2 1 2 1 1 2 2 1 2 1 1 1 1 1 1 2 2 1 1 2 2 2 2 1 2 1 2 1 1 1 1 1 2 1 2 1 2 2 2 2 2 2 2 1 2 1 1 1 2 1 2 1 1 1 2 1 2 2 2 2 2 1 1 2 2 1 2 2 2 1 1 1 2 1 2 1 2 1 1 2 2 2 2 2 2 1 1 1 2 2 2 2 2 1 2 1 2 2 2 1 2 2 2 2 2 1 1 1 1 2 2 1 1 1 2 1 2 1 2 2 2 1 2 1 2 1 2 1 2 1 2 1 2 2 2 1 1 1 2 1 1 2 2 1 1 2 2 1 1 2 2 1 2 1 2 1 2 1 1 1 2 1 2 1 1 2 2 2 2 2 2 1 1 1 1 1 2 2 2 1 2 2 2 1 1 1 1 2 2 2 2 1 1 1 2 1 2 1 2 1 2 1 1 1 1 2 2 2 2 1 2 1 1 2 2 1 2 1 2 1 2 1 2 1 1 1 2 2 2 2 2 1 2 1 2 1 1 2 2 2 2 1 1 1 1 1 2 1 2 2 2 2 2 1 2 1 1 1 2 1 2 2 2 1 1 1 1 1 2 1 1 2 2 2 2 1 1 1 2 1 2 2 2 1 2 1 2 1 2 1 1 1 1 2 2 2 2 1 2 2 2 1 1 2 2
+1 206005 0 0 1 1   1 2 1 1 2 2 1 2 1 1 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 2 1 2 1 2 0 0 1 1 2 2 1 2 1 2 1 2 2 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 2 2 2 2 1 1 2 2 1 2 2 2 2 2 1 2 1 2 1 1 2 2 2 2 1 2 1 1 2 2 1 1 1 1 1 1 1 2 1 1 1 2 2 2 1 2 1 1 1 1 2 2 2 2 1 2 1 2 1 2 1 2 1 2 1 1 1 1 1 2 1 1 1 2 1 1 1 2 1 1 1 2 1 2 2 2 1 2 1 2 1 2 1 1 2 2 1 1 1 1 1 1 1 2 1 1 1 2 1 2 1 1 1 2 1 2 1 2 2 2 1 1 2 2 1 2 2 2 2 2 2 2 1 1 1 1 2 2 2 2 1 1 1 1 2 2 1 2 1 1 1 2 2 2 2 2 1 1 1 2 1 1 2 2 1 1 1 2 1 2 1 2 1 1 1 1 2 2 1 1 2 2 1 2 1 2 2 2 1 1 1 2 1 2 1 2 1 2 1 1 1 2 1 2 1 2 1 1 2 2 1 2 1 2 1 1 1 2 1 1 1 2 1 2 1 2 1 1 2 2 2 2 1 2 1 2 2 2 1 1 2 2 2 2 1 2 2 2 2 2 1 2 1 2 1 2 1 1 1 1 2 2 2 2 1 2 1 1 2 2 1 1 1 2 2 2 1 1 2 2 2 2 2 2 1 2 2 2 1 2 1 1 1 1 1 1 2 2 1 2 1 2 1 1 2 2 1 1 2 2 1 1 2 2 2 2 2 2 1 2 1 2 2 2 1 2 1 2 2 2 2 2 1 1 1 1 1 1 2 2
+1 206007 0 0 1 1   1 1 1 1 1 2 1 2 2 2 1 1 1 2 1 2 1 2 1 2 2 2 1 1 2 2 1 1 2 2 1 2 1 1 2 2 1 2 1 2 1 2 2 2 1 1 1 1 1 2 1 1 1 2 1 2 2 2 1 2 2 2 1 2 1 1 1 2 1 2 1 2 2 2 1 2 1 1 1 1 1 2 1 2 1 1 2 2 2 2 2 2 1 1 1 2 2 2 1 2 1 2 1 2 2 2 1 1 1 1 2 2 1 1 1 2 1 2 1 2 1 2 1 1 1 1 1 1 1 1 1 2 1 2 1 2 1 2 1 2 1 2 1 2 2 2 1 2 1 1 1 1 2 2 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 2 2 2 1 2 2 2 1 2 2 2 1 2 1 2 2 2 2 2 1 1 1 1 1 2 1 2 1 1 2 2 1 2 1 1 1 2 1 2 2 2 2 2 1 1 2 2 1 1 2 2 1 1 1 1 2 2 1 2 1 1 1 1 2 2 1 1 2 2 2 2 2 2 1 1 2 2 2 2 1 1 1 1 1 1 1 2 1 2 2 2 2 2 1 1 1 1 1 2 1 2 1 1 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 1 1 1 2 1 2 1 1 1 2 2 2 1 2 1 2 1 2 2 2 1 2 1 1 1 1 2 2 1 2 2 2 2 2 1 1 2 2 1 1 2 2 2 2 1 1 2 2 2 2 2 2 1 1 2 2 1 1 1 1 1 2 1 2 2 2 1 1 1 1 1 2 1 1 1 2 2 2 1 1 1 2 1 2 2 2 2 2 1 2 1 2 1 1 1 1 2 2 2 2 1 2 2 2 2 2 1 1
+1 211 0 0 1 1   0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+1 212 0 0 1 1   0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+1 2060011 206005 206004 1 0   1 1 1 1 1 2 1 1 1 2 1 2 2 2 2 2 2 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 1 2 2 1 2 1 2 1 1 1 2 1 1 1 2 1 2 2 2 2 2 2 2 1 1 2 2 1 2 2 2 1 1 2 2 1 2 2 2 2 2 1 2 1 1 1 1 2 2 1 2 1 2 1 1 2 2 1 1 1 2 1 2 1 2 1 1 2 2 2 2 1 2 1 1 1 1 2 2 1 2 1 2 1 2 2 2 1 1 1 2 1 1 1 2 1 2 1 1 1 2 1 2 2 2 1 1 1 2 1 2 1 2 1 1 2 2 1 2 1 2 2 2 1 1 1 2 1 2 2 2 1 1 1 2 1 2 1 2 1 1 2 2 2 2 2 2 1 1 1 2 1 2 2 2 2 2 1 2 1 2 1 2 2 2 2 2 1 1 1 1 2 2 1 1 1 1 1 2 2 2 2 2 1 2 2 2 1 2 1 2 1 2 1 2 1 2 1 2 1 1 1 1 2 2 1 1 2 2 1 2 2 2 1 2 1 2 1 2 1 2 1 1 1 2 1 1 1 2 1 2 2 2 1 1 1 2 2 2 2 2 1 1 1 2 1 1 1 2 2 2 2 2 1 1 1 2 1 2 1 2 1 2 1 2 1 1 2 2 2 2 1 1 1 2 2 2 1 2 1 2 1 2 1 2 1 1 1 2 2 2 1 2 1 2 1 2 1 1 1 2 2 2 1 1 1 2 2 2 2 2 2 2 2 2 1 2 1 1 1 1 1 1 2 2 1 1 1 2 1 2 1 2 1 2 2 2 1 1 1 2 2 2 2 2 1 2 1 2 2 2 1 2 1 1 2 2 2 2 1 2 1 2 1 1 2 2
+1 2060012 206005 206004 1 0   2 2 1 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 1 2 1 2 2 2 1 2 2 2 1 1 1 1 2 2 1 2 1 1 1 2 2 2 1 2 1 1 2 2 1 2 1 1 1 2 1 2 1 2 2 2 1 2 1 1 2 2 1 1 2 2 2 2 1 2 1 2 1 1 2 2 2 2 1 1 1 2 2 2 1 2 1 1 1 2 1 1 1 1 1 1 1 2 1 2 1 1 1 1 2 2 1 2 2 2 2 2 1 2 1 2 1 1 1 1 1 2 1 2 1 1 1 1 1 2 1 2 1 1 1 1 2 2 1 2 1 2 1 2 1 1 1 2 2 2 1 1 1 2 1 2 1 2 1 1 1 1 1 1 1 2 1 2 1 2 1 2 2 2 1 1 1 2 2 2 2 2 2 2 1 2 1 2 1 2 2 2 2 2 1 1 1 1 2 2 1 2 1 1 2 2 2 2 2 2 1 2 1 2 1 2 1 2 1 2 2 2 2 2 1 1 1 1 1 1 2 2 1 1 2 2 1 1 1 2 1 2 1 2 2 2 1 1 1 2 2 2 1 1 2 2 2 2 1 2 1 1 1 2 1 2 1 2 1 1 2 2 1 1 1 1 1 2 1 2 1 1 1 2 1 2 1 1 2 2 1 2 1 1 2 2 2 2 1 2 1 2 2 2 1 1 2 2 2 2 1 2 1 1 1 2 2 2 2 2 1 2 1 2 1 1 2 2 2 2 1 1 1 2 2 2 2 2 1 2 2 2 1 1 1 1 1 1 1 1 2 2 1 2 1 1 1 2 1 2 1 2 2 2 1 1 1 2 2 2 2 2 1 1 1 1 2 2 1 1 1 2 2 2 2 2 1 2 1 2 1 1 2 2
+1 2060013 212 206006 1 0   1 2 1 2 1 2 1 2 2 2 1 2 1 2 2 2 1 2 1 2 2 2 1 2 2 2 1 2 2 2 0 0 1 1 1 2 2 2 1 1 1 2 2 2 1 1 1 1 2 2 2 2 1 2 2 2 1 1 2 2 1 2 1 2 1 1 2 2 1 1 2 2 1 2 1 1 1 1 1 2 1 2 2 2 1 1 2 2 2 2 2 2 1 2 1 2 1 1 1 1 1 2 1 1 2 2 1 1 1 2 1 2 1 1 2 2 1 2 2 2 1 2 1 1 1 2 1 2 1 1 1 1 1 2 1 2 1 2 1 1 1 2 1 2 1 2 1 1 1 2 1 1 2 2 1 2 2 2 1 2 1 2 1 2 1 1 1 1 1 1 1 2 1 2 2 2 1 2 2 2 1 2 2 2 1 2 1 2 1 2 2 2 2 2 1 1 2 2 2 2 1 1 1 2 2 2 1 2 2 2 1 2 1 2 2 2 1 1 1 2 1 1 2 2 1 1 1 1 1 2 1 1 1 2 1 1 1 2 1 1 1 2 1 2 2 2 1 2 2 2 2 2 1 1 1 1 1 2 2 2 1 2 1 2 1 2 1 2 1 1 1 2 1 2 1 1 2 2 1 1 1 2 1 1 1 1 1 2 2 2 2 2 1 1 2 2 1 2 1 1 2 2 2 2 1 1 2 2 2 2 1 1 2 2 1 1 1 2 1 2 1 2 2 2 1 2 1 2 2 2 1 1 2 2 1 2 1 2 1 2 2 2 2 2 2 2 2 2 1 2 1 1 1 1 1 1 2 2 1 1 2 2 2 2 1 1 1 1 1 2 1 1 2 2 2 2 2 2 1 1 1 2 2 2 1 2 1 2 2 2 1 2 1 1 1 1 1 1 2 2
+1 2060014 206007 206006 2 2   1 1 1 1 1 2 1 1 2 2 1 1 1 2 2 2 1 2 1 2 2 2 1 2 2 2 1 2 2 2 0 0 1 1 2 2 1 1 1 1 1 2 1 2 1 1 1 1 2 2 1 2 2 2 1 2 1 2 1 2 1 2 1 2 1 1 1 2 1 1 1 2 2 2 2 2 1 1 1 1 1 2 1 2 1 1 1 2 2 2 1 2 1 2 2 2 1 2 1 1 1 2 2 2 1 2 1 1 1 1 2 2 1 1 2 2 1 2 1 2 1 1 1 1 1 1 1 2 1 2 1 2 2 2 2 2 2 2 1 2 1 1 2 2 1 2 1 2 1 1 1 2 2 2 1 2 1 1 1 2 1 2 1 2 1 1 1 2 1 2 1 1 1 2 2 2 1 2 2 2 1 2 2 2 1 2 2 2 1 2 2 2 1 2 1 1 1 2 2 2 1 1 1 2 1 2 1 1 2 2 1 2 1 2 2 2 1 1 1 2 1 1 2 2 1 1 1 1 2 2 1 2 1 2 1 1 2 2 1 1 2 2 1 2 2 2 1 2 1 2 1 2 1 1 1 2 1 1 1 2 1 2 2 2 2 2 1 1 1 1 1 1 1 2 1 2 2 2 1 1 1 2 2 2 2 2 1 2 2 2 2 2 1 2 1 2 1 1 1 1 1 2 2 2 1 2 1 2 2 2 2 2 1 2 1 1 1 1 1 2 1 2 2 2 2 2 1 1 2 2 1 1 2 2 2 2 1 1 1 2 1 2 1 2 1 2 2 2 1 2 1 1 2 2 2 2 2 2 1 1 1 1 1 1 1 1 2 2 2 2 1 1 2 2 1 1 2 2 2 2 2 2 1 1 1 1 1 1 2 2 2 2 1 1 2 2 1 2 1 2
+1 2060015 206007 206006 1 0   1 1 1 1 1 1 1 2 2 2 1 1 2 2 1 2 2 2 1 2 2 2 1 2 2 2 1 1 2 2 1 1 1 1 2 2 2 2 1 2 1 1 2 2 1 1 1 1 1 2 1 2 1 1 2 2 1 2 2 2 2 2 1 2 1 1 2 2 1 2 2 2 2 2 1 1 1 1 1 1 2 2 1 2 1 1 2 2 2 2 2 2 1 1 1 2 1 2 1 2 1 2 1 1 2 2 1 1 1 1 2 2 1 1 1 2 2 2 2 2 1 2 1 1 1 1 1 2 1 1 1 2 1 1 1 2 1 2 1 1 1 2 1 2 1 2 1 1 1 2 1 1 2 2 1 2 1 2 1 1 1 1 1 2 1 1 1 2 1 1 1 2 1 1 2 2 1 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 1 2 1 1 2 2 1 2 1 1 1 2 2 2 1 1 1 2 1 1 1 2 2 2 1 1 2 2 1 1 2 2 1 1 1 1 2 2 1 1 1 1 1 1 2 2 1 1 2 2 2 2 2 2 1 2 2 2 2 2 1 1 1 1 1 2 1 2 2 2 1 2 2 2 1 1 1 1 1 2 1 2 1 1 2 2 1 1 2 2 1 2 1 2 2 2 2 2 2 2 1 1 1 2 1 2 1 1 2 2 2 2 1 2 1 2 1 2 1 2 1 2 1 1 1 2 2 2 2 2 2 2 2 2 1 2 2 2 1 1 2 2 1 2 1 2 1 2 2 2 2 2 1 2 2 2 1 1 1 1 1 1 1 1 2 2 1 1 1 2 2 2 1 1 1 1 1 2 1 1 1 2 2 2 2 2 1 2 1 2 2 2 1 2 1 1 2 2 1 2 1 2 1 2 1 2 1 2
+1 2060016 211 206008 2 2   1 2 1 2 1 1 1 1 2 2 1 1 2 2 2 2 2 2 1 1 2 2 1 2 2 2 1 2 1 2 1 1 1 1 2 2 1 2 1 1 1 1 1 2 1 2 1 1 2 2 2 2 1 2 2 2 1 1 2 2 1 1 2 2 1 1 2 2 1 2 2 2 2 2 1 2 1 1 1 2 2 2 1 2 1 1 1 2 2 2 1 2 2 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 1 2 2 1 2 2 2 1 2 1 2 1 1 1 1 1 1 1 2 2 2 1 2 2 2 2 2 1 2 1 1 1 1 1 2 1 2 1 1 1 1 1 2 2 2 1 2 1 2 2 2 1 2 1 2 1 1 1 2 1 2 1 1 1 1 2 2 2 2 2 2 1 1 2 2 2 2 2 2 1 2 2 2 1 2 1 1 2 2 2 2 1 1 1 2 2 2 1 1 2 2 1 1 1 1 2 2 1 1 1 1 1 1 2 2 1 2 1 1 2 2 1 1 1 2 1 1 2 2 1 1 2 2 1 1 2 2 1 2 1 2 1 1 1 1 1 2 1 1 1 1 1 2 2 2 1 2 1 1 1 1 1 2 2 2 2 2 2 2 1 2 1 1 2 2 2 2 1 2 2 2 2 2 1 2 1 1 1 2 1 1 1 2 1 2 1 2 1 1 2 2 2 2 1 2 1 1 1 1 1 2 1 2 2 2 2 2 1 1 1 2 1 2 2 2 2 2 1 1 1 2 1 2 1 2 1 2 2 2 1 2 1 1 1 2 2 2 2 2 1 1 1 1 1 2 1 1 2 2 1 2 1 1 2 2 1 1 2 2 2 2 2 2 1 2 1 1 1 1 2 2 2 2 1 1 1 2 1 1 2 2
+1 2060017 211 206008 2 2   1 1 1 1 1 1 1 2 1 2 2 2 1 2 2 2 1 2 2 2 2 2 1 1 2 2 1 1 1 2 1 2 1 1 2 2 2 2 1 1 1 1 1 2 1 2 1 1 2 2 2 2 2 2 1 2 0 0 2 2 1 1 2 2 1 2 2 2 1 2 2 2 2 2 1 2 1 2 1 2 2 2 2 2 1 2 2 2 1 2 2 2 1 1 1 1 2 2 1 1 1 2 1 2 1 2 1 1 1 1 2 2 1 1 2 2 1 2 1 2 1 2 1 1 1 1 1 2 1 2 1 1 2 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 1 2 2 1 2 1 1 1 2 2 2 1 2 1 1 1 2 1 1 2 2 1 1 2 2 2 2 2 2 1 1 1 2 1 2 2 2 1 2 1 2 2 2 2 2 2 2 2 2 1 1 1 2 2 2 1 2 1 2 2 2 2 2 2 2 1 2 1 2 1 2 1 1 1 2 1 2 2 2 1 1 1 1 1 1 2 2 1 1 2 2 1 2 1 2 1 2 2 2 1 2 1 2 1 1 1 2 1 2 1 2 2 2 1 2 1 1 1 1 1 2 1 2 1 2 2 2 1 1 1 1 1 2 1 2 1 1 1 2 1 2 1 1 2 2 1 1 1 1 2 2 1 2 1 1 1 2 2 2 1 2 2 2 2 2 1 2 1 2 1 1 1 2 2 2 2 2 1 2 1 1 2 2 2 2 1 2 1 1 1 2 1 2 2 2 2 2 1 2 1 1 1 1 1 1 2 2 1 1 1 2 1 2 1 1 1 2 2 2 1 2 1 2 2 2 2 2 1 1 1 1 2 2 1 1 1 2 2 2 2 2 1 2 1 2 1 1 2 2