Mercurial > repos > bgruening > pandas_rolling_window
changeset 0:a06f7b5c4dc7 draft default tip
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/pandas_rolling_window commit bdbedf42854d16bb00c396045007d4baece0a869
author | bgruening |
---|---|
date | Mon, 20 May 2019 08:42:54 -0400 |
parents | |
children | |
files | pandas_rolling.xml test-data/1 (Kopie).bedgraph test-data/1.bedgraph test-data/1_boxcar.bedgraph test-data/1_hamming.bedgraph test-data/2_boxcar.bedgraph test-data/2_hamming.bedgraph |
diffstat | 7 files changed, 775 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/pandas_rolling.xml Mon May 20 08:42:54 2019 -0400 @@ -0,0 +1,175 @@ +<tool id="pandas_rolling_window" name="Rolling window" version="0.1"> + <description>over a dataframe (e.g. for data smoothing)</description> + <requirements> + <requirement type="package" version="1.16.3">numpy</requirement> + <requirement type="package" version="1.2.1">scipy</requirement> + <requirement type="package" version="0.24.2">pandas</requirement> + </requirements> + <command> +<![CDATA[ + + cat '$pandas_script' && + python '$pandas_script' + +]]> + </command> + <configfiles> + <configfile name="pandas_script"><![CDATA[ +import argparse +import sys + +import pandas as pd + +kwargs = dict() +window_type = '$smooth_function.smooth_function_opts_selector' + +#if $smooth_function.smooth_function_opts_selector == 'gaussian': +kwargs.update({'std': $smooth_function.gaussian_std}) +#elif $smooth_function.smooth_function_opts_selector == 'general_gaussian': +kwargs = ({'power': $smooth_function.ggaussian_power, 'width': $smooth_function.ggaussian_width}) +#elif $smooth_function.smooth_function_opts_selector == 'kaiser': +kwargs.update({'beta': $smooth_function.kaiser_beta}) +#elif $smooth_function.smooth_function_opts_selector == 'slepian': +kwargs.update({'width': $smooth_function.slepian_width}) +#end if + +df = pd.read_csv('${infile}', sep='\t', index_col=None, header=None, dtype={'strand': object} ) + +#if $group_column: +df['aggregate'] = df.groupby( int($group_column)-1, sort=False )[int($value_column)-1].rolling(${window_len}, win_type=window_type, center=$centering ).${statistics}(**kwargs).reset_index(drop=True) +#else: +df['aggregate'] = df[int($value_column)-1].rolling(${window_len}, win_type=window_type, center=$centering ).${statistics}(**kwargs).reset_index(drop=True) +#end if + +df.to_csv('${outfile}', index=False, header=False, sep='\t', na_rep='0', float_format='%.2f') + ]]> </configfile> + </configfiles> + <inputs> + <param name="infile" type="data" format="tabular,bed.interval" label="Select input file in tabular or BED format"/> + <param name="group_column" type="data_column" data_ref="infile" optional="true" label="Optional column to group" + help="For example if you have a chromosome column you probably want to group each chromosome before you apply any function." /> + + <param name="value_column" type="data_column" data_ref="infile" label="Column with the value of interest" + help="" /> + + <conditional name="smooth_function"> + <param name="smooth_function_opts_selector" type="select" label="Provide a window type" + help="For more information please see https://en.wikipedia.org/wiki/Window_function"> + <option value="boxcar" selected="True">Boxcar or Dirichlet, all points are evenly weighted</option> + <option value="triang">triang</option> + <option value="blackman">blackman</option> + <option value="hamming">hamming</option> + <option value="bartlett">bartlett</option> + <option value="parzen">parzen</option> + <option value="bohman">bohman</option> + <option value="blackmanharris">blackmanharris</option> + <option value="nuttall">nuttall</option> + <option value="barthann">barthann</option> + <!--option value="kaiser">kaiser</option> + <option value="gaussian">gaussian</option> + <option value="general_gaussian">general gaussian</option> + <option value="slepian">slepian</option--> + </param> + <when value="boxcar" /> + <when value="triang" /> + <when value="blackman" /> + <when value="hamming" /> + <when value="bartlett" /> + <when value="parzen" /> + <when value="bohman" /> + <when value="blackmanharris" /> + <when value="nuttall" /> + <when value="barthann" /> + <when value="kaiser"> + <param name="kaiser_beta" type="float" value="0.1" min='0.0' label="beta" /> + </when> + <when value="gaussian"> + <param name="gaussian_std" type="float" value="0.1" min='0.0' label="std" /> + </when> + <when value="general_gaussian"> + <param name="ggaussian_power" type="integer" value="2" min='1' label="power" /> + <param name="ggaussian_width" type="integer" value="2" min="1" label="width" /> + </when> + <when value="slepian"> + <param name="slepian_width" type="integer" value="2" min="1" label="width" /> + </when> + </conditional> + + <param name="statistics" type="select" label="Provide a statistical function"> + <option value="count">Number of non-null observations (count)</option> + <option value="sum">Sum of values (sum)</option> + <option value="mean" selected="true">Mean of values (mean)</option> + <option value="median">Arithmetic median of values (median)</option> + <option value="min">Minimum (min)</option> + <option value="max">max (max)</option> + <option value="std">Bessel-corrected sample standard deviation (std)</option> + <option value="var">Unbiased variance (var)</option> + <option value="skew">Sample skewness (3rd moment)</option> + <option value="kurt">Sample kurtosis (4th moment)</option> + <option value="quantil">Sample quantile (value at %)</option> + <option value="cov">Unbiased covariance (binary) (cov)</option> + <option value="corr">Correlation (corr)</option> + </param> + + <param name="centering" type="boolean" truevalue="True" falsevalue="False" label="center smoothed values" + help="By default the labels are set to the right edge of the window. Here you can change that to the center." /> + <!-- Options for all formats.--> + <param name="window_len" type="integer" value="3" min="2" label="Window length"/> + </inputs> + <outputs> + <data name="outfile" format_source="infile" /> + </outputs> + <tests> + <test> + <param name="infile" value="1.bedgraph"/> + <param name="group_column" value="1"/> + <param name="value_column" value="5"/> + <conditional name="smooth_function"> + <param name="smooth_function_opts_selector" value="boxcar"/> + </conditional> + <param name="window_len" value="3"/> + <output name="outfile" value="1_boxcar.bedgraph"/> + </test> + <test> + <!-- None test --> + <param name="infile" value="1.bedgraph"/> + <param name="value_column" value="5"/> + <conditional name="smooth_function"> + <param name="smooth_function_opts_selector" value="boxcar"/> + </conditional> + <param name="window_len" value="3"/> + <output name="outfile" value="2_boxcar.bedgraph"/> + </test> + <test> + <param name="infile" value="1.bedgraph"/> + <param name="group_column" value="1"/> + <param name="value_column" value="5"/> + <conditional name="smooth_function"> + <param name="smooth_function_opts_selector" value="hamming"/> + </conditional> + <param name="window_len" value="3"/> + <param name="statistics" value="sum"/> + <output name="outfile" value="1_hamming.bedgraph"/> + </test> + <test> + <param name="infile" value="1.bedgraph"/> + <param name="value_column" value="5"/> + <conditional name="smooth_function"> + <param name="smooth_function_opts_selector" value="hamming"/> + </conditional> + <param name="window_len" value="3"/> + <param name="statistics" value="sum"/> + <output name="outfile" value="2_hamming.bedgraph"/> + </test> + </tests> + <help> +<![CDATA[ + +**What it does** + +Provides rolling window calculations, e.g. for smoothing values. + + +]]> + </help> +</tool>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/1 (Kopie).bedgraph Mon May 20 08:42:54 2019 -0400 @@ -0,0 +1,100 @@ +chr10 3000180 3000182 100 5 0 5.0 +chr10 3000185 3000187 100 5 0 5.0 +chr10 3000270 3000272 73 11 4 15.0 +chr10 3000294 3000296 100 14 0 14.0 +chr10 3000353 3000355 81 9 2 11.0 +chr10 3000488 3000490 66 4 2 6.0 +chr10 3000657 3000659 66 4 2 6.0 +chr10 3000709 3000711 80 4 1 5.0 +chr10 3000718 3000720 100 5 0 5.0 +chr10 3000923 3000925 80 4 1 5.0 +chr10 3001027 3001029 88 8 1 9.0 +chr10 3001029 3001031 100 9 0 9.0 +chr10 3001055 3001057 100 8 0 8.0 +chr10 3001188 3001190 75 3 1 4.0 +chr10 3001586 3001588 83 5 1 6.0 +chr10 3001747 3001749 100 7 0 7.0 +chr10 3001898 3001900 37 3 5 8.0 +chr10 3001908 3001910 55 5 4 9.0 +chr10 3001923 3001925 100 5 0 5.0 +chr10 3001928 3001930 100 5 0 5.0 +chr10 3001989 3001991 69 9 4 13.0 +chr10 3001996 3001998 84 11 2 13.0 +chr10 3002030 3002032 92 12 1 13.0 +chr10 3002077 3002079 77 7 2 9.0 +chr10 3002089 3002091 100 9 0 9.0 +chr10 3002093 3002095 44 4 5 9.0 +chr10 3002116 3002118 100 7 0 7.0 +chr10 3002147 3002149 80 8 2 10.0 +chr10 3002159 3002161 50 4 4 8.0 +chr10 3002261 3002263 100 16 0 16.0 +chr10 3002320 3002322 92 12 1 13.0 +chr10 3002514 3002516 100 4 0 4.0 +chr10 3002526 3002528 83 5 1 6.0 +chr10 3002539 3002541 100 8 0 8.0 +chr10 3002560 3002562 88 8 1 9.0 +chr10 3002594 3002596 100 8 0 8.0 +chr10 3002607 3002609 88 8 1 9.0 +chr10 3002628 3002630 100 12 0 12.0 +chr10 3002641 3002643 100 9 0 9.0 +chr10 3002904 3002906 100 9 0 9.0 +chr10 3002932 3002934 83 5 1 6.0 +chr10 3003427 3003429 61 8 5 13.0 +chr10 3003435 3003437 84 11 2 13.0 +chr10 3003465 3003467 90 10 1 11.0 +chr10 3003494 3003496 100 9 0 9.0 +chr10 3003584 3003586 60 6 4 10.0 +chr10 3003924 3003926 100 4 0 4.0 +chr10 3003976 3003978 100 12 0 12.0 +chr10 3004035 3004037 71 10 4 14.0 +chr10 3004640 3004642 90 9 1 10.0 +chr10 3005170 3005172 28 2 5 7.0 +chr10 3005441 3005443 21 3 11 14.0 +chr10 3005994 3005996 50 7 7 14.0 +chr10 3008524 3008526 75 9 3 12.0 +chr10 3008594 3008596 90 9 1 10.0 +chr10 3008737 3008739 50 5 5 10.0 +chr10 3008827 3008829 80 12 3 15.0 +chr10 3008937 3008939 84 11 2 13.0 +chr10 3008985 3008987 66 6 3 9.0 +chr10 3009020 3009022 66 10 5 15.0 +chr10 3009103 3009105 50 8 8 16.0 +chr10 3009118 3009120 83 15 3 18.0 +chr10 3009207 3009209 66 6 3 9.0 +chr10 3009577 3009579 80 4 1 5.0 +chr10 3009627 3009629 100 4 0 4.0 +chr10 3010000 3010002 100 8 0 8.0 +chr10 3010399 3010401 58 10 7 17.0 +chr10 3010447 3010449 94 16 1 17.0 +chr10 3011056 3011058 85 6 1 7.0 +chr10 3011170 3011172 68 11 5 16.0 +chr10 3011280 3011282 66 10 5 15.0 +chr10 3011403 3011405 64 22 12 34.0 +chr10 3011468 3011470 92 12 1 13.0 +chr10 3011556 3011558 100 13 0 13.0 +chr10 3011580 3011582 68 11 5 16.0 +chr10 3011870 3011872 90 18 2 20.0 +chr10 3011999 3012001 81 18 4 22.0 +chr10 3012040 3012042 93 14 1 15.0 +chr10 3012053 3012055 66 10 5 15.0 +chr10 3012065 3012067 80 12 3 15.0 +chr10 3012214 3012216 61 11 7 18.0 +chr10 3012269 3012271 50 7 7 14.0 +chr10 3012319 3012321 33 5 10 15.0 +chr10 3012389 3012391 77 14 4 18.0 +chr10 3012415 3012417 77 14 4 18.0 +chr10 3012560 3012562 94 17 1 18.0 +chr10 3012609 3012611 85 12 2 14.0 +chr10 3012619 3012621 85 12 2 14.0 +chr10 3012741 3012743 56 13 10 23.0 +chr10 3012786 3012788 78 15 4 19.0 +chr10 3012790 3012792 63 12 7 19.0 +chr10 3012792 3012794 57 11 8 19.0 +chr10 3012794 3012796 94 17 1 18.0 +chr10 3012796 3012798 55 10 8 18.0 +chr10 3012798 3012800 66 12 6 18.0 +chr10 3012818 3012820 35 7 13 20.0 +chr10 3012824 3012826 16 4 20 24.0 +chr10 3012858 3012860 23 6 20 26.0 +chr10 3012940 3012942 20 2 8 10.0 +chr10 3012977 3012979 7 1 13 14.0
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/1.bedgraph Mon May 20 08:42:54 2019 -0400 @@ -0,0 +1,100 @@ +chr10 3000180 3000182 100 5 0 5.0 +chr10 3000185 3000187 100 5 0 5.0 +chr10 3000270 3000272 73 11 4 15.0 +chr10 3000294 3000296 100 14 0 14.0 +chr10 3000353 3000355 81 9 2 11.0 +chr10 3000488 3000490 66 4 2 6.0 +chr10 3000657 3000659 66 4 2 6.0 +chr10 3000709 3000711 80 4 1 5.0 +chr10 3000718 3000720 100 5 0 5.0 +chr10 3000923 3000925 80 4 1 5.0 +chr10 3001027 3001029 88 8 1 9.0 +chr10 3001029 3001031 100 9 0 9.0 +chr10 3001055 3001057 100 8 0 8.0 +chr10 3001188 3001190 75 3 1 4.0 +chr10 3001586 3001588 83 5 1 6.0 +chr10 3001747 3001749 100 7 0 7.0 +chr10 3001898 3001900 37 3 5 8.0 +chr10 3001908 3001910 55 5 4 9.0 +chr10 3001923 3001925 100 5 0 5.0 +chr10 3001928 3001930 100 5 0 5.0 +chr10 3001989 3001991 69 9 4 13.0 +chr10 3001996 3001998 84 11 2 13.0 +chr10 3002030 3002032 92 12 1 13.0 +chr10 3002077 3002079 77 7 2 9.0 +chr10 3002089 3002091 100 9 0 9.0 +chr10 3002093 3002095 44 4 5 9.0 +chr10 3002116 3002118 100 7 0 7.0 +chr10 3002147 3002149 80 8 2 10.0 +chr10 3002159 3002161 50 4 4 8.0 +chr10 3002261 3002263 100 16 0 16.0 +chr10 3002320 3002322 92 12 1 13.0 +chr10 3002514 3002516 100 4 0 4.0 +chr10 3002526 3002528 83 5 1 6.0 +chr10 3002539 3002541 100 8 0 8.0 +chr10 3002560 3002562 88 8 1 9.0 +chr10 3002594 3002596 100 8 0 8.0 +chr10 3002607 3002609 88 8 1 9.0 +chr10 3002628 3002630 100 12 0 12.0 +chr10 3002641 3002643 100 9 0 9.0 +chr10 3002904 3002906 100 9 0 9.0 +chr10 3002932 3002934 83 5 1 6.0 +chr10 3003427 3003429 61 8 5 13.0 +chr10 3003435 3003437 84 11 2 13.0 +chr10 3003465 3003467 90 10 1 11.0 +chr10 3003494 3003496 100 9 0 9.0 +chr10 3003584 3003586 60 6 4 10.0 +chr10 3003924 3003926 100 4 0 4.0 +chr10 3003976 3003978 100 12 0 12.0 +chr10 3004035 3004037 71 10 4 14.0 +chr10 3004640 3004642 90 9 1 10.0 +chr10 3005170 3005172 28 2 5 7.0 +chr10 3005441 3005443 21 3 11 14.0 +chr10 3005994 3005996 50 7 7 14.0 +chr10 3008524 3008526 75 9 3 12.0 +chr10 3008594 3008596 90 9 1 10.0 +chr10 3008737 3008739 50 5 5 10.0 +chr10 3008827 3008829 80 12 3 15.0 +chr10 3008937 3008939 84 11 2 13.0 +chr10 3008985 3008987 66 6 3 9.0 +chr10 3009020 3009022 66 10 5 15.0 +chr10 3009103 3009105 50 8 8 16.0 +chr10 3009118 3009120 83 15 3 18.0 +chr10 3009207 3009209 66 6 3 9.0 +chr10 3009577 3009579 80 4 1 5.0 +chr10 3009627 3009629 100 4 0 4.0 +chr10 3010000 3010002 100 8 0 8.0 +chr10 3010399 3010401 58 10 7 17.0 +chr10 3010447 3010449 94 16 1 17.0 +chr10 3011056 3011058 85 6 1 7.0 +chr10 3011170 3011172 68 11 5 16.0 +chr10 3011280 3011282 66 10 5 15.0 +chr10 3011403 3011405 64 22 12 34.0 +chr10 3011468 3011470 92 12 1 13.0 +chr10 3011556 3011558 100 13 0 13.0 +chr10 3011580 3011582 68 11 5 16.0 +chr10 3011870 3011872 90 18 2 20.0 +chr10 3011999 3012001 81 18 4 22.0 +chr10 3012040 3012042 93 14 1 15.0 +chr10 3012053 3012055 66 10 5 15.0 +chr10 3012065 3012067 80 12 3 15.0 +chr10 3012214 3012216 61 11 7 18.0 +chr10 3012269 3012271 50 7 7 14.0 +chr10 3012319 3012321 33 5 10 15.0 +chr10 3012389 3012391 77 14 4 18.0 +chr10 3012415 3012417 77 14 4 18.0 +chr10 3012560 3012562 94 17 1 18.0 +chr10 3012609 3012611 85 12 2 14.0 +chr10 3012619 3012621 85 12 2 14.0 +chr10 3012741 3012743 56 13 10 23.0 +chr10 3012786 3012788 78 15 4 19.0 +chr10 3012790 3012792 63 12 7 19.0 +chr10 3012792 3012794 57 11 8 19.0 +chr10 3012794 3012796 94 17 1 18.0 +chr10 3012796 3012798 55 10 8 18.0 +chr10 3012798 3012800 66 12 6 18.0 +chr10 3012818 3012820 35 7 13 20.0 +chr10 3012824 3012826 16 4 20 24.0 +chr10 3012858 3012860 23 6 20 26.0 +chr10 3012940 3012942 20 2 8 10.0 +chr10 3012977 3012979 7 1 13 14.0
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/1_boxcar.bedgraph Mon May 20 08:42:54 2019 -0400 @@ -0,0 +1,100 @@ +chr10 3000180 3000182 100 5 0 5.00 0 +chr10 3000185 3000187 100 5 0 5.00 0 +chr10 3000270 3000272 73 11 4 15.00 7.00 +chr10 3000294 3000296 100 14 0 14.00 10.00 +chr10 3000353 3000355 81 9 2 11.00 11.33 +chr10 3000488 3000490 66 4 2 6.00 9.00 +chr10 3000657 3000659 66 4 2 6.00 5.67 +chr10 3000709 3000711 80 4 1 5.00 4.00 +chr10 3000718 3000720 100 5 0 5.00 4.33 +chr10 3000923 3000925 80 4 1 5.00 4.33 +chr10 3001027 3001029 88 8 1 9.00 5.67 +chr10 3001029 3001031 100 9 0 9.00 7.00 +chr10 3001055 3001057 100 8 0 8.00 8.33 +chr10 3001188 3001190 75 3 1 4.00 6.67 +chr10 3001586 3001588 83 5 1 6.00 5.33 +chr10 3001747 3001749 100 7 0 7.00 5.00 +chr10 3001898 3001900 37 3 5 8.00 5.00 +chr10 3001908 3001910 55 5 4 9.00 5.00 +chr10 3001923 3001925 100 5 0 5.00 4.33 +chr10 3001928 3001930 100 5 0 5.00 5.00 +chr10 3001989 3001991 69 9 4 13.00 6.33 +chr10 3001996 3001998 84 11 2 13.00 8.33 +chr10 3002030 3002032 92 12 1 13.00 10.67 +chr10 3002077 3002079 77 7 2 9.00 10.00 +chr10 3002089 3002091 100 9 0 9.00 9.33 +chr10 3002093 3002095 44 4 5 9.00 6.67 +chr10 3002116 3002118 100 7 0 7.00 6.67 +chr10 3002147 3002149 80 8 2 10.00 6.33 +chr10 3002159 3002161 50 4 4 8.00 6.33 +chr10 3002261 3002263 100 16 0 16.00 9.33 +chr10 3002320 3002322 92 12 1 13.00 10.67 +chr10 3002514 3002516 100 4 0 4.00 10.67 +chr10 3002526 3002528 83 5 1 6.00 7.00 +chr10 3002539 3002541 100 8 0 8.00 5.67 +chr10 3002560 3002562 88 8 1 9.00 7.00 +chr10 3002594 3002596 100 8 0 8.00 8.00 +chr10 3002607 3002609 88 8 1 9.00 8.00 +chr10 3002628 3002630 100 12 0 12.00 9.33 +chr10 3002641 3002643 100 9 0 9.00 9.67 +chr10 3002904 3002906 100 9 0 9.00 10.00 +chr10 3002932 3002934 83 5 1 6.00 7.67 +chr10 3003427 3003429 61 8 5 13.00 7.33 +chr10 3003435 3003437 84 11 2 13.00 8.00 +chr10 3003465 3003467 90 10 1 11.00 9.67 +chr10 3003494 3003496 100 9 0 9.00 10.00 +chr10 3003584 3003586 60 6 4 10.00 8.33 +chr10 3003924 3003926 100 4 0 4.00 6.33 +chr10 3003976 3003978 100 12 0 12.00 7.33 +chr10 3004035 3004037 71 10 4 14.00 8.67 +chr10 3004640 3004642 90 9 1 10.00 10.33 +chr10 3005170 3005172 28 2 5 7.00 7.00 +chr10 3005441 3005443 21 3 11 14.00 4.67 +chr10 3005994 3005996 50 7 7 14.00 4.00 +chr10 3008524 3008526 75 9 3 12.00 6.33 +chr10 3008594 3008596 90 9 1 10.00 8.33 +chr10 3008737 3008739 50 5 5 10.00 7.67 +chr10 3008827 3008829 80 12 3 15.00 8.67 +chr10 3008937 3008939 84 11 2 13.00 9.33 +chr10 3008985 3008987 66 6 3 9.00 9.67 +chr10 3009020 3009022 66 10 5 15.00 9.00 +chr10 3009103 3009105 50 8 8 16.00 8.00 +chr10 3009118 3009120 83 15 3 18.00 11.00 +chr10 3009207 3009209 66 6 3 9.00 9.67 +chr10 3009577 3009579 80 4 1 5.00 8.33 +chr10 3009627 3009629 100 4 0 4.00 4.67 +chr10 3010000 3010002 100 8 0 8.00 5.33 +chr10 3010399 3010401 58 10 7 17.00 7.33 +chr10 3010447 3010449 94 16 1 17.00 11.33 +chr10 3011056 3011058 85 6 1 7.00 10.67 +chr10 3011170 3011172 68 11 5 16.00 11.00 +chr10 3011280 3011282 66 10 5 15.00 9.00 +chr10 3011403 3011405 64 22 12 34.00 14.33 +chr10 3011468 3011470 92 12 1 13.00 14.67 +chr10 3011556 3011558 100 13 0 13.00 15.67 +chr10 3011580 3011582 68 11 5 16.00 12.00 +chr10 3011870 3011872 90 18 2 20.00 14.00 +chr10 3011999 3012001 81 18 4 22.00 15.67 +chr10 3012040 3012042 93 14 1 15.00 16.67 +chr10 3012053 3012055 66 10 5 15.00 14.00 +chr10 3012065 3012067 80 12 3 15.00 12.00 +chr10 3012214 3012216 61 11 7 18.00 11.00 +chr10 3012269 3012271 50 7 7 14.00 10.00 +chr10 3012319 3012321 33 5 10 15.00 7.67 +chr10 3012389 3012391 77 14 4 18.00 8.67 +chr10 3012415 3012417 77 14 4 18.00 11.00 +chr10 3012560 3012562 94 17 1 18.00 15.00 +chr10 3012609 3012611 85 12 2 14.00 14.33 +chr10 3012619 3012621 85 12 2 14.00 13.67 +chr10 3012741 3012743 56 13 10 23.00 12.33 +chr10 3012786 3012788 78 15 4 19.00 13.33 +chr10 3012790 3012792 63 12 7 19.00 13.33 +chr10 3012792 3012794 57 11 8 19.00 12.67 +chr10 3012794 3012796 94 17 1 18.00 13.33 +chr10 3012796 3012798 55 10 8 18.00 12.67 +chr10 3012798 3012800 66 12 6 18.00 13.00 +chr10 3012818 3012820 35 7 13 20.00 9.67 +chr10 3012824 3012826 16 4 20 24.00 7.67 +chr10 3012858 3012860 23 6 20 26.00 5.67 +chr10 3012940 3012942 20 2 8 10.00 4.00 +chr10 3012977 3012979 7 1 13 14.00 3.00
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/1_hamming.bedgraph Mon May 20 08:42:54 2019 -0400 @@ -0,0 +1,100 @@ +chr10 3000180 3000182 100 5 0 5.00 0 +chr10 3000185 3000187 100 5 0 5.00 0 +chr10 3000270 3000272 73 11 4 15.00 21.00 +chr10 3000294 3000296 100 14 0 14.00 30.00 +chr10 3000353 3000355 81 9 2 11.00 34.00 +chr10 3000488 3000490 66 4 2 6.00 27.00 +chr10 3000657 3000659 66 4 2 6.00 17.00 +chr10 3000709 3000711 80 4 1 5.00 12.00 +chr10 3000718 3000720 100 5 0 5.00 13.00 +chr10 3000923 3000925 80 4 1 5.00 13.00 +chr10 3001027 3001029 88 8 1 9.00 17.00 +chr10 3001029 3001031 100 9 0 9.00 21.00 +chr10 3001055 3001057 100 8 0 8.00 25.00 +chr10 3001188 3001190 75 3 1 4.00 20.00 +chr10 3001586 3001588 83 5 1 6.00 16.00 +chr10 3001747 3001749 100 7 0 7.00 15.00 +chr10 3001898 3001900 37 3 5 8.00 15.00 +chr10 3001908 3001910 55 5 4 9.00 15.00 +chr10 3001923 3001925 100 5 0 5.00 13.00 +chr10 3001928 3001930 100 5 0 5.00 15.00 +chr10 3001989 3001991 69 9 4 13.00 19.00 +chr10 3001996 3001998 84 11 2 13.00 25.00 +chr10 3002030 3002032 92 12 1 13.00 32.00 +chr10 3002077 3002079 77 7 2 9.00 30.00 +chr10 3002089 3002091 100 9 0 9.00 28.00 +chr10 3002093 3002095 44 4 5 9.00 20.00 +chr10 3002116 3002118 100 7 0 7.00 20.00 +chr10 3002147 3002149 80 8 2 10.00 19.00 +chr10 3002159 3002161 50 4 4 8.00 19.00 +chr10 3002261 3002263 100 16 0 16.00 28.00 +chr10 3002320 3002322 92 12 1 13.00 32.00 +chr10 3002514 3002516 100 4 0 4.00 32.00 +chr10 3002526 3002528 83 5 1 6.00 21.00 +chr10 3002539 3002541 100 8 0 8.00 17.00 +chr10 3002560 3002562 88 8 1 9.00 21.00 +chr10 3002594 3002596 100 8 0 8.00 24.00 +chr10 3002607 3002609 88 8 1 9.00 24.00 +chr10 3002628 3002630 100 12 0 12.00 28.00 +chr10 3002641 3002643 100 9 0 9.00 29.00 +chr10 3002904 3002906 100 9 0 9.00 30.00 +chr10 3002932 3002934 83 5 1 6.00 23.00 +chr10 3003427 3003429 61 8 5 13.00 22.00 +chr10 3003435 3003437 84 11 2 13.00 24.00 +chr10 3003465 3003467 90 10 1 11.00 29.00 +chr10 3003494 3003496 100 9 0 9.00 30.00 +chr10 3003584 3003586 60 6 4 10.00 25.00 +chr10 3003924 3003926 100 4 0 4.00 19.00 +chr10 3003976 3003978 100 12 0 12.00 22.00 +chr10 3004035 3004037 71 10 4 14.00 26.00 +chr10 3004640 3004642 90 9 1 10.00 31.00 +chr10 3005170 3005172 28 2 5 7.00 21.00 +chr10 3005441 3005443 21 3 11 14.00 14.00 +chr10 3005994 3005996 50 7 7 14.00 12.00 +chr10 3008524 3008526 75 9 3 12.00 19.00 +chr10 3008594 3008596 90 9 1 10.00 25.00 +chr10 3008737 3008739 50 5 5 10.00 23.00 +chr10 3008827 3008829 80 12 3 15.00 26.00 +chr10 3008937 3008939 84 11 2 13.00 28.00 +chr10 3008985 3008987 66 6 3 9.00 29.00 +chr10 3009020 3009022 66 10 5 15.00 27.00 +chr10 3009103 3009105 50 8 8 16.00 24.00 +chr10 3009118 3009120 83 15 3 18.00 33.00 +chr10 3009207 3009209 66 6 3 9.00 29.00 +chr10 3009577 3009579 80 4 1 5.00 25.00 +chr10 3009627 3009629 100 4 0 4.00 14.00 +chr10 3010000 3010002 100 8 0 8.00 16.00 +chr10 3010399 3010401 58 10 7 17.00 22.00 +chr10 3010447 3010449 94 16 1 17.00 34.00 +chr10 3011056 3011058 85 6 1 7.00 32.00 +chr10 3011170 3011172 68 11 5 16.00 33.00 +chr10 3011280 3011282 66 10 5 15.00 27.00 +chr10 3011403 3011405 64 22 12 34.00 43.00 +chr10 3011468 3011470 92 12 1 13.00 44.00 +chr10 3011556 3011558 100 13 0 13.00 47.00 +chr10 3011580 3011582 68 11 5 16.00 36.00 +chr10 3011870 3011872 90 18 2 20.00 42.00 +chr10 3011999 3012001 81 18 4 22.00 47.00 +chr10 3012040 3012042 93 14 1 15.00 50.00 +chr10 3012053 3012055 66 10 5 15.00 42.00 +chr10 3012065 3012067 80 12 3 15.00 36.00 +chr10 3012214 3012216 61 11 7 18.00 33.00 +chr10 3012269 3012271 50 7 7 14.00 30.00 +chr10 3012319 3012321 33 5 10 15.00 23.00 +chr10 3012389 3012391 77 14 4 18.00 26.00 +chr10 3012415 3012417 77 14 4 18.00 33.00 +chr10 3012560 3012562 94 17 1 18.00 45.00 +chr10 3012609 3012611 85 12 2 14.00 43.00 +chr10 3012619 3012621 85 12 2 14.00 41.00 +chr10 3012741 3012743 56 13 10 23.00 37.00 +chr10 3012786 3012788 78 15 4 19.00 40.00 +chr10 3012790 3012792 63 12 7 19.00 40.00 +chr10 3012792 3012794 57 11 8 19.00 38.00 +chr10 3012794 3012796 94 17 1 18.00 40.00 +chr10 3012796 3012798 55 10 8 18.00 38.00 +chr10 3012798 3012800 66 12 6 18.00 39.00 +chr10 3012818 3012820 35 7 13 20.00 29.00 +chr10 3012824 3012826 16 4 20 24.00 23.00 +chr10 3012858 3012860 23 6 20 26.00 17.00 +chr10 3012940 3012942 20 2 8 10.00 12.00 +chr10 3012977 3012979 7 1 13 14.00 9.00
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/2_boxcar.bedgraph Mon May 20 08:42:54 2019 -0400 @@ -0,0 +1,100 @@ +chr10 3000180 3000182 100 5 0 5.00 0 +chr10 3000185 3000187 100 5 0 5.00 0 +chr10 3000270 3000272 73 11 4 15.00 7.00 +chr10 3000294 3000296 100 14 0 14.00 10.00 +chr10 3000353 3000355 81 9 2 11.00 11.33 +chr10 3000488 3000490 66 4 2 6.00 9.00 +chr10 3000657 3000659 66 4 2 6.00 5.67 +chr10 3000709 3000711 80 4 1 5.00 4.00 +chr10 3000718 3000720 100 5 0 5.00 4.33 +chr10 3000923 3000925 80 4 1 5.00 4.33 +chr10 3001027 3001029 88 8 1 9.00 5.67 +chr10 3001029 3001031 100 9 0 9.00 7.00 +chr10 3001055 3001057 100 8 0 8.00 8.33 +chr10 3001188 3001190 75 3 1 4.00 6.67 +chr10 3001586 3001588 83 5 1 6.00 5.33 +chr10 3001747 3001749 100 7 0 7.00 5.00 +chr10 3001898 3001900 37 3 5 8.00 5.00 +chr10 3001908 3001910 55 5 4 9.00 5.00 +chr10 3001923 3001925 100 5 0 5.00 4.33 +chr10 3001928 3001930 100 5 0 5.00 5.00 +chr10 3001989 3001991 69 9 4 13.00 6.33 +chr10 3001996 3001998 84 11 2 13.00 8.33 +chr10 3002030 3002032 92 12 1 13.00 10.67 +chr10 3002077 3002079 77 7 2 9.00 10.00 +chr10 3002089 3002091 100 9 0 9.00 9.33 +chr10 3002093 3002095 44 4 5 9.00 6.67 +chr10 3002116 3002118 100 7 0 7.00 6.67 +chr10 3002147 3002149 80 8 2 10.00 6.33 +chr10 3002159 3002161 50 4 4 8.00 6.33 +chr10 3002261 3002263 100 16 0 16.00 9.33 +chr10 3002320 3002322 92 12 1 13.00 10.67 +chr10 3002514 3002516 100 4 0 4.00 10.67 +chr10 3002526 3002528 83 5 1 6.00 7.00 +chr10 3002539 3002541 100 8 0 8.00 5.67 +chr10 3002560 3002562 88 8 1 9.00 7.00 +chr10 3002594 3002596 100 8 0 8.00 8.00 +chr10 3002607 3002609 88 8 1 9.00 8.00 +chr10 3002628 3002630 100 12 0 12.00 9.33 +chr10 3002641 3002643 100 9 0 9.00 9.67 +chr10 3002904 3002906 100 9 0 9.00 10.00 +chr10 3002932 3002934 83 5 1 6.00 7.67 +chr10 3003427 3003429 61 8 5 13.00 7.33 +chr10 3003435 3003437 84 11 2 13.00 8.00 +chr10 3003465 3003467 90 10 1 11.00 9.67 +chr10 3003494 3003496 100 9 0 9.00 10.00 +chr10 3003584 3003586 60 6 4 10.00 8.33 +chr10 3003924 3003926 100 4 0 4.00 6.33 +chr10 3003976 3003978 100 12 0 12.00 7.33 +chr10 3004035 3004037 71 10 4 14.00 8.67 +chr10 3004640 3004642 90 9 1 10.00 10.33 +chr10 3005170 3005172 28 2 5 7.00 7.00 +chr10 3005441 3005443 21 3 11 14.00 4.67 +chr10 3005994 3005996 50 7 7 14.00 4.00 +chr10 3008524 3008526 75 9 3 12.00 6.33 +chr10 3008594 3008596 90 9 1 10.00 8.33 +chr10 3008737 3008739 50 5 5 10.00 7.67 +chr10 3008827 3008829 80 12 3 15.00 8.67 +chr10 3008937 3008939 84 11 2 13.00 9.33 +chr10 3008985 3008987 66 6 3 9.00 9.67 +chr10 3009020 3009022 66 10 5 15.00 9.00 +chr10 3009103 3009105 50 8 8 16.00 8.00 +chr10 3009118 3009120 83 15 3 18.00 11.00 +chr10 3009207 3009209 66 6 3 9.00 9.67 +chr10 3009577 3009579 80 4 1 5.00 8.33 +chr10 3009627 3009629 100 4 0 4.00 4.67 +chr10 3010000 3010002 100 8 0 8.00 5.33 +chr10 3010399 3010401 58 10 7 17.00 7.33 +chr10 3010447 3010449 94 16 1 17.00 11.33 +chr10 3011056 3011058 85 6 1 7.00 10.67 +chr10 3011170 3011172 68 11 5 16.00 11.00 +chr10 3011280 3011282 66 10 5 15.00 9.00 +chr10 3011403 3011405 64 22 12 34.00 14.33 +chr10 3011468 3011470 92 12 1 13.00 14.67 +chr10 3011556 3011558 100 13 0 13.00 15.67 +chr10 3011580 3011582 68 11 5 16.00 12.00 +chr10 3011870 3011872 90 18 2 20.00 14.00 +chr10 3011999 3012001 81 18 4 22.00 15.67 +chr10 3012040 3012042 93 14 1 15.00 16.67 +chr10 3012053 3012055 66 10 5 15.00 14.00 +chr10 3012065 3012067 80 12 3 15.00 12.00 +chr10 3012214 3012216 61 11 7 18.00 11.00 +chr10 3012269 3012271 50 7 7 14.00 10.00 +chr10 3012319 3012321 33 5 10 15.00 7.67 +chr10 3012389 3012391 77 14 4 18.00 8.67 +chr10 3012415 3012417 77 14 4 18.00 11.00 +chr10 3012560 3012562 94 17 1 18.00 15.00 +chr10 3012609 3012611 85 12 2 14.00 14.33 +chr10 3012619 3012621 85 12 2 14.00 13.67 +chr10 3012741 3012743 56 13 10 23.00 12.33 +chr10 3012786 3012788 78 15 4 19.00 13.33 +chr10 3012790 3012792 63 12 7 19.00 13.33 +chr10 3012792 3012794 57 11 8 19.00 12.67 +chr10 3012794 3012796 94 17 1 18.00 13.33 +chr10 3012796 3012798 55 10 8 18.00 12.67 +chr10 3012798 3012800 66 12 6 18.00 13.00 +chr10 3012818 3012820 35 7 13 20.00 9.67 +chr10 3012824 3012826 16 4 20 24.00 7.67 +chr10 3012858 3012860 23 6 20 26.00 5.67 +chr10 3012940 3012942 20 2 8 10.00 4.00 +chr10 3012977 3012979 7 1 13 14.00 3.00
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/2_hamming.bedgraph Mon May 20 08:42:54 2019 -0400 @@ -0,0 +1,100 @@ +chr10 3000180 3000182 100 5 0 5.00 0 +chr10 3000185 3000187 100 5 0 5.00 0 +chr10 3000270 3000272 73 11 4 15.00 6.28 +chr10 3000294 3000296 100 14 0 14.00 12.52 +chr10 3000353 3000355 81 9 2 11.00 15.60 +chr10 3000488 3000490 66 4 2 6.00 10.44 +chr10 3000657 3000659 66 4 2 6.00 5.04 +chr10 3000709 3000711 80 4 1 5.00 4.64 +chr10 3000718 3000720 100 5 0 5.00 4.72 +chr10 3000923 3000925 80 4 1 5.00 5.64 +chr10 3001027 3001029 88 8 1 9.00 5.04 +chr10 3001029 3001031 100 9 0 9.00 9.04 +chr10 3001055 3001057 100 8 0 8.00 10.28 +chr10 3001188 3001190 75 3 1 4.00 8.96 +chr10 3001586 3001588 83 5 1 6.00 4.04 +chr10 3001747 3001749 100 7 0 7.00 5.80 +chr10 3001898 3001900 37 3 5 8.00 7.64 +chr10 3001908 3001910 55 5 4 9.00 3.96 +chr10 3001923 3001925 100 5 0 5.00 5.64 +chr10 3001928 3001930 100 5 0 5.00 5.80 +chr10 3001989 3001991 69 9 4 13.00 6.12 +chr10 3001996 3001998 84 11 2 13.00 10.28 +chr10 3002030 3002032 92 12 1 13.00 12.68 +chr10 3002077 3002079 77 7 2 9.00 13.44 +chr10 3002089 3002091 100 9 0 9.00 8.68 +chr10 3002093 3002095 44 4 5 9.00 9.88 +chr10 3002116 3002118 100 7 0 7.00 5.28 +chr10 3002147 3002149 80 8 2 10.00 7.96 +chr10 3002159 3002161 50 4 4 8.00 8.88 +chr10 3002261 3002263 100 16 0 16.00 5.92 +chr10 3002320 3002322 92 12 1 13.00 17.28 +chr10 3002514 3002516 100 4 0 4.00 13.60 +chr10 3002526 3002528 83 5 1 6.00 5.36 +chr10 3002539 3002541 100 8 0 8.00 5.96 +chr10 3002560 3002562 88 8 1 9.00 9.04 +chr10 3002594 3002596 100 8 0 8.00 9.28 +chr10 3002607 3002609 88 8 1 9.00 9.28 +chr10 3002628 3002630 100 12 0 12.00 9.60 +chr10 3002641 3002643 100 9 0 9.00 13.36 +chr10 3002904 3002906 100 9 0 9.00 10.68 +chr10 3002932 3002934 83 5 1 6.00 10.12 +chr10 3003427 3003429 61 8 5 13.00 6.36 +chr10 3003435 3003437 84 11 2 13.00 9.28 +chr10 3003465 3003467 90 10 1 11.00 12.44 +chr10 3003494 3003496 100 9 0 9.00 11.60 +chr10 3003584 3003586 60 6 4 10.00 10.28 +chr10 3003924 3003926 100 4 0 4.00 7.04 +chr10 3003976 3003978 100 12 0 12.00 5.44 +chr10 3004035 3004037 71 10 4 14.00 13.12 +chr10 3004640 3004642 90 9 1 10.00 11.68 +chr10 3005170 3005172 28 2 5 7.00 9.96 +chr10 3005441 3005443 21 3 11 14.00 2.96 +chr10 3005994 3005996 50 7 7 14.00 3.72 +chr10 3008524 3008526 75 9 3 12.00 7.96 +chr10 3008594 3008596 90 9 1 10.00 10.28 +chr10 3008737 3008739 50 5 5 10.00 10.12 +chr10 3008827 3008829 80 12 3 15.00 6.68 +chr10 3008937 3008939 84 11 2 13.00 13.28 +chr10 3008985 3008987 66 6 3 9.00 12.44 +chr10 3009020 3009022 66 10 5 15.00 7.68 +chr10 3009103 3009105 50 8 8 16.00 11.12 +chr10 3009118 3009120 83 15 3 18.00 10.00 +chr10 3009207 3009209 66 6 3 9.00 16.12 +chr10 3009577 3009579 80 4 1 5.00 7.52 +chr10 3009627 3009629 100 4 0 4.00 4.80 +chr10 3010000 3010002 100 8 0 8.00 4.96 +chr10 3010399 3010401 58 10 7 17.00 9.12 +chr10 3010447 3010449 94 16 1 17.00 11.92 +chr10 3011056 3011058 85 6 1 7.00 17.28 +chr10 3011170 3011172 68 11 5 16.00 8.16 +chr10 3011280 3011282 66 10 5 15.00 12.28 +chr10 3011403 3011405 64 22 12 34.00 12.64 +chr10 3011468 3011470 92 12 1 13.00 23.76 +chr10 3011556 3011558 100 13 0 13.00 14.80 +chr10 3011580 3011582 68 11 5 16.00 14.84 +chr10 3011870 3011872 90 18 2 20.00 13.48 +chr10 3011999 3012001 81 18 4 22.00 20.32 +chr10 3012040 3012042 93 14 1 15.00 20.56 +chr10 3012053 3012055 66 10 5 15.00 16.24 +chr10 3012065 3012067 80 12 3 15.00 12.08 +chr10 3012214 3012216 61 11 7 18.00 13.68 +chr10 3012269 3012271 50 7 7 14.00 12.52 +chr10 3012319 3012321 33 5 10 15.00 8.28 +chr10 3012389 3012391 77 14 4 18.00 6.68 +chr10 3012415 3012417 77 14 4 18.00 15.52 +chr10 3012560 3012562 94 17 1 18.00 16.48 +chr10 3012609 3012611 85 12 2 14.00 19.08 +chr10 3012619 3012621 85 12 2 14.00 14.32 +chr10 3012741 3012743 56 13 10 23.00 14.00 +chr10 3012786 3012788 78 15 4 19.00 15.16 +chr10 3012790 3012792 63 12 7 19.00 17.00 +chr10 3012792 3012794 57 11 8 19.00 14.08 +chr10 3012794 3012796 94 17 1 18.00 13.32 +chr10 3012796 3012798 55 10 8 18.00 18.68 +chr10 3012798 3012800 66 12 6 18.00 12.32 +chr10 3012818 3012820 35 7 13 20.00 13.36 +chr10 3012824 3012826 16 4 20 24.00 8.28 +chr10 3012858 3012860 23 6 20 26.00 5.04 +chr10 3012940 3012942 20 2 8 10.00 6.48 +chr10 3012977 3012979 7 1 13 14.00 2.56