changeset 0:327f5721612f draft default tip

planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rnasnp commit 6e51a331dbeab2786d8df5fd379ae3a63eb61d83
author rnateam
date Tue, 13 Dec 2016 12:31:56 -0500
parents
children
files rnasnp.xml test-data/seq1.txt test-data/seq1_snp1_mode1.out test-data/seq2.txt test-data/seq2_snp2_mode2.out test-data/seq3.txt test-data/seq3_mode3.out test-data/snp1.txt test-data/snp2.txt test-data/snp3.txt
diffstat 10 files changed, 533 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/rnasnp.xml	Tue Dec 13 12:31:56 2016 -0500
@@ -0,0 +1,176 @@
+<tool id="rnasnp" name="RNAsnp" version="1.2.0">
+    <description> Efficient detection of local RNA secondary structure changes induced by SNPs </description>
+
+    <requirements>
+        <requirement type="package" version="1.2">rnasnp</requirement>
+    </requirements>
+
+    <stdio>
+        <exit_code range="1" level="fatal" description="Error occurred. Please check Tool Standard Error" />
+        <exit_code range=":-1" level="fatal" description="Error occurred. Please check Tool Standard Error" />
+        <exit_code range="2:" level="warning" description="Warning: Tool exited with error_code != 0" />
+    </stdio>
+
+    <version_command>RNAsnp --version</version_command>
+    <command>
+<![CDATA[
+
+    RNAsnp
+        --seq='$seq'
+        --mode=$mode.mode_selector
+        #if $mode.mode_selector == "1"
+            --snp=$mode.snp
+            --cutoff=$mode.cutoff
+            --minLen=$mode.minLen
+        #end if
+        #if $mode.mode_selector == "2"
+            --snp=$mode.snp
+            --winsize=$mode.winsize
+            --span=$mode.span
+            --regionX=$mode.regionX
+            --regionY=$mode.regionY
+        #end if
+        #if $mode.mode_selector == "3"
+            --pvalue1=$mode.pvalue1
+            --pvalue2=$mode.pvalue2
+            --winsizeExt=$mode.winsizeExt
+        #end if
+        --edist=$edist
+        --boltzmannPreFactor=$boltzmannPreFactor
+        --winsizeFold=$mode.winsizeFold
+        > '$outfile'
+
+]]>
+    </command>
+    <inputs>
+        <param argument="--seq" format="txt" type="data" label="Input Alignment File" />
+        <conditional name="mode">
+            <param name="mode_selector" type="select" label="Mode of operation">
+                <option value="1" selected="true">1: Perform global folding by using RNAfold</option>
+                <option value="2">2: Perform local folding by using RNAplfold</option>
+                <option value="3">3: Screen putative structure-disruptive SNPs in an RNA sequence</option>
+            </param>
+            <when value="1">
+                <param argument="--snp" format="txt" type="data" label="List of SNP"  help="The list of SNPs to be tested have to be provided in separate lines"/>
+                <param argument="--winsizeFold" type="select" label="Folding windows size" help="Length of flanking sequence on either side of SNP considered for folding. please make sure that the input sequence is at least twice the size of chosen flanking. This restriction is necessary to keep the size of parameter tables for the p-value calculations manageable. In case the input sequence is less than twice the size of chosen flanking, the RNAsnp takes the nts up to the start and end position of the given sequence from the SNP position and perform the analysis.">
+                    <option value="100"></option> <option value="150" ></option>
+                    <option value="200" selected ="true"></option> <option value="250"></option> <option value="300"></option> <option value="350"></option> <option value="400"></option> <option value="450"></option>
+                    <option value="500"></option> <option value="600"></option> <option value="650"></option> <option value="700"></option> <option value="750"></option> <option value="800"></option>
+                </param>
+
+                <param argument="--cutoff" type="float" value="0.01" label="Cut-off" help="Cut-off for the base pair probabilities."/>
+                <param argument="--minLen" type="integer" value="50" min="1"  label="Minimum length of the sequence interval" help="The structural difference between wild-type and mutant is computed for all sequence intervals with the selected minimum length" />
+            </when>
+            <when value="2">
+                <param argument="--snp" format="txt" type="data" label="List of SNP" help="The list of SNPs to be tested have to be provided in separate lines"/>
+                <param argument="--winsizeFold" type="select" label="Folding windows size" help="Length of flanking sequence on either side of SNP considered for folding. please make sure that the input sequence is at least twice the size of chosen flanking. This restriction is necessary to keep the size of parameter tables for the p-value calculations manageable. In case the input sequence is less than twice the size of chosen flanking, the RNAsnp takes the nts up to the start and end position of the given sequence from the SNP position and perform the analysis.">
+                    <option value="200" selected ="true"></option> <option value="250"></option> <option value="300"></option> <option value="350"></option> <option value="400"></option> <option value="450"></option>
+                    <option value="500"></option> <option value="600"></option> <option value="650"></option> <option value="700"></option> <option value="750"></option> <option value="800"></option>
+                </param>
+
+                <param argument="--cutoff" type="float" value="0.01" min="0" label="Cut-off" help="Cut-off for the base pair probabilities."/>
+                <param argument="--winsize" type="integer"  value="200" min="1" label="Windows size" help="Average the pair probabilities over windows of given size"/>
+                <param argument="--span" type="integer"  value="120" min="1" label="Span" help="Set the maximum allowed separation of a base pair to span. i.e. no pairs (i,j) with j-i > L will be allowed."/>
+                <param argument="--regionX" type="integer" value="20" min="1" label="Length of the local structural element that we expect to have an effect" help=""/>
+                <param argument="--regionY" type="integer" value="120" min="1" label="Length of the interval over which the local structural changes are evaluated" help=""/>
+            </when>
+            <when value="3">
+                <param argument="--winsizeFold" type="select" label="Folding windows size" help="Length of flanking sequence on either side of SNP considered for folding. please make sure that the input sequence is at least twice the size of chosen flanking. This restriction is necessary to keep the size of parameter tables for the p-value calculations manageable. In case the input sequence is less than twice the size of chosen flanking, the RNAsnp takes the nts up to the start and end position of the given sequence from the SNP position and perform the analysis.">
+                    <option value="200" selected ="true"></option> <option value="250"></option> <option value="300"></option> <option value="350"></option> <option value="400"></option> <option value="450"></option>
+                    <option value="500"></option> <option value="600"></option> <option value="650"></option> <option value="700"></option> <option value="750"></option> <option value="800"></option>
+                </param>
+                <param argument="--pvalue1" type="float" value="0.4" min="0" label="p-value threshold to filter SNPs that are predicted using Mode 2" help=""/>
+                <param argument="--pvalue2" type="float" value="0.1" min="0" label="p-value threshold to filter SNPs that are predicted using Mode 1" help=""/>
+                <param argument="--winsizeExt" type="integer" value="200" min="1" label="Windows size" help="size of the flanking region on either side of SNP that includes the local window returned by Mode 2. This subsequence is then passed to Mode 1 for re-computation"/>
+            </when>
+        </conditional>
+        <param argument="--edist" type="integer" value="0" min="0" label="Ensemble Euclidean distance" help="compute ensemble Euclidean distance between the distribution of structures between two sequences"/>
+        <param argument="--boltzmannPreFactor" type="float"  value="1" label="Boltzmann PreFactor" help="Multiply the bolztmann factor with a prefactor alpha"/>
+
+    </inputs>
+    <outputs>
+        <data name="outfile" format="tabular" />
+    </outputs>
+    <tests>
+        <test>
+            <param name="seq" value="seq1.txt"/>
+            <conditional name="mode">
+                <param name="mode_selector" value="1"/>
+                <param name="snp" value="snp1.txt"/>
+            </conditional>
+            <output name="outfile" file="seq1_snp1_mode1.out"/>
+        </test>
+    </tests>
+
+    <help>
+<![CDATA[
+
+**What it does**
+ Efficient detection of local RNA secondary structure changes induced by SNPs
+
+
+ RNAsnp requires an RNA sequence and optionally a list of SNPs to be analyzed. The effect of SNPs on local RNA secondary structure can be detected in three possible modes,
+
+    Mode 1: The first mode is designed to compute the effect of SNPs by using global folding. This option should be used only for short input sequences, since the base pair probabilities are calculated using RNAfold.
+
+    Mode 2: The second mode is designed to compute the effect of SNPs on large sequences. Here the local base pair probabilities are calculated using RNAplfold (with the parameters -W 200 and -L 120).
+
+    Mode 3: The third mode is the combination of the above two. It is intended to determine the positions of putative structure-disruptive SNPs using either transcript or genome sequence.
+
+
+**Input**
+
+Sequence file must contain one sequence (preferably in FASTA format).
+
+SNP file must contain the list of SNPs that are given in separate lines. The
+SNPs are described as, wild-type nucleotide followed by nucleotide position
+followed by mutant nucleotide. In case of multiple SNPs, the SNPs are delimited
+by the special character "-".
+
+Example formats:
+Single SNP: A201G
+where, A is the wild-type nucleotide in the given sequence, 201 is the sequence
+position of wild-type nucleotide and G is the mutant (or SNP).
+
+Multiple SNPs: A201G-U257A-C260G
+The multiple SNPs (which occurs together) are defined next to each other with
+the delimiter "-" between them.
+
+
+**Output**
+
+SNP  w	Slen   GC  interval d  pvalue1 ewin	interval d_max	pvalue2
+
+G1C 200	3344 0.5522 1-46    0.0421 0.0755  200   1-50	0.1581	0.0183
+
+G7A 200	3344 0.5556 1-43    0.2236 0.0207  200	 1-50	0.1570	0.0996
+
+
+Output details:
+
+Column 1: details of the screened SNPs
+
+Column 2: length of the flanking region considered on either side of the SNP to fold
+
+Column 3: length of the given input sequence
+
+Column 4: GC percent of the sequence interval considered for folding
+
+Column 5-7: results of initial screen returned by mode 2
+
+Column 8: ewin is the length of the flanking region considered on either of the SNP that also includes the local interval returned by mode 2. This subsequence is then passed to mode 1 to compute the d_max
+
+Column 9-11: results of final screen returned by mode 1
+
+
+Note: By default, the ewin(-e) uses the window length of 200. A higher computation speed is achieved if the ewin value is reduced to 100 or 150, however, there will be little difference in the result compare to ewin with 200. In addition, RNAsnp does automatically increase the length of ewin if the defined length is not enough to cover the local interval returned by mode 2.
+
+]]>
+
+    </help>
+
+    <citations>
+        <citation type="doi">10.1002/humu.22273</citation>
+    </citations>
+
+</tool>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/seq1.txt	Tue Dec 13 12:31:56 2016 -0500
@@ -0,0 +1,50 @@
+>gi|1015320|dbj|D32050.1|HUMATS Homo sapiens mRNA for alanyl-tRNA synthetase, complete cds
+GGTACAGCTGCGCGTCTGCGGGAATAGGTGCAGCGGGCCCTTGGCGGGGGACTCTGAGGGAGGAGCTGGG
+GACGGCGACCCTAGGAGAGTTCTTTGGGGTGACTTTCAAGATGGACTCTACTCTAACAGCAAGTGAAATC
+CGGCAGCGATTTATAGATTTCTTCAAGAGGAACGAGCATACGTATGTTCACTCGTCTGCCACCATCCCAT
+TGGATGACCCCACTTTGCTCTTTGCCAATGCAGGCATGAACCAGTTTAAACCCATTTTCCTGAACACAAT
+TGACCCATCTCACCCCATGGCAAAGCTGAGCAGAGCTGCCAATACCCAGAAGTGCATCCGGGCTGGGGGC
+AAACAAAATGACCTGGACGATGTGGGCAAGGATGTCTATCATCACACCTTCTTCGAGATGCTGGGCTCTT
+GGTCTTTTGGAGATTACTTTAAGGAATTGGCATGTAAGATGGCTCTGGAACTCCTCACCCAAGAGTTTGG
+CATTCCCATTGAAAGACTTTATGTTACTTACTTTGGCGGGGATGAAGCAGCTGGCTTAGAAGCAGATCTG
+GAATGCAAACAGATCTGGCAAAATTTGGGGCTGGATGACACCAAAATCCTCCCAGGCAACATGAAGGATA
+ACTTCTGGGAGATGGGTGACACGGGCCCCTGTGGTCCTTGCAGTGAGATCCACTACGACCGGATTGGTGG
+TCGGGACGCCGCACATCTTGTCAACCAGGACGACCCTAATGTGCTGGAGATCTGGAACCTTGTGTTCATC
+CAGTATAACAGGGAAGCTGATGGCATTCTGAAACCTCTTCCCAAGAAAAGCATTGACACAGGGATGGGCC
+TGGAACGACTGGTATCTGTGCTGCAGAATAAGATGTCCAACTATGACACTGACCTTTTTGTCCCTTACTT
+TGAAGCCATTCAGAAGGGCACAGGTGCCCGACCATACACTGGGAAAGTTGGTGCTGAGGATGCCGATGGG
+ATTGACATGGCCTACCGGGTGCTGGCTGACCATGCTCGGACCATCACTGTGGCACTGGCTGATGGTGGCC
+GGCCTGACAACACAGGGCGTGGATATGTGTTGAGACGGATTCTCCGCCGAGCTGTCCGATACGCCCATGA
+AAAGCTCAATGCCAGCAGGGGCTTCTTTGCTACGTTAGTGGATGTTGTCGTCCAGTCCCTGGGAGATGCA
+TTTCCTGAGCTGAAGAAGGACCCAGACATGGTGAAGGACATCATTAATGAAGAAGAGGTGCAGTTTCTCA
+AGACTCTCAGCAGAGGGCGTCGCATCCTGGACAGGAAAATTCAGAGCCTGGGAGACAGCAAGACCATTCC
+CGGAGACACTGCTTGGCTCCTCTATGACACCTATGGGTTTCCAGTGGATCTGACTGGACTGATTGCTGAA
+GAGAAGGGCCTGGTGGTAGACATGGATGGCTTTGAAGAGGAGAGGAAACTGGCCCAGCTGAAATCACAGG
+GCAAGGGAGCTGGTGGGGAAGACCTCATTATGCTGGACATTTACGCTATCGAAGAGCTCCGGGCACGGGG
+TCTGGAGGTCACAGATGATTCCCCAAAGTACAATTACCATTTGGACTCCAGTGGTAGCTATGTATTTGAG
+AACACAGTGGCTACGGTGATGGCTCTGCGCAGGGAGAAGATGTTCGTGGAAGAGGTGTCCACAGGCCAGG
+AGTGTGGAGTGGTGCTGGACAAGACCTGTTTCTATGCTGAGCAAGGAGGCCAGATCTATGACGAAGGCTA
+CCTGGTGAAGGTGGATGACAGCAGTGAAGATAAAACAGAGTTTACAGTGAAGAATGCTCAGGTCCGAGGA
+GGGTATGTGCTACACATTGGAACCATCTACGGTGACCTGAAAGTGGGGGATCAGGTCTGGCTGTTTATTG
+ATGAGCCCCGACGAAGACCCATCATGAGCAACCACACAGCTACGCACATTCTGAACTTCGCCCTGCGCTC
+AGTGCTTGGGGAAGCTGACCAGAAAGGCTCATTGGTTGCTCCTGACCGCCTCAGATTTGACTTTACTGCC
+AAGGGAGCCATGTCCACCCAACAGATCAAGAAGGCTGAAGAGATTGCTAATGAGATGATTGAGGCAGCCA
+AGGCCGTCTATACCCAGGATTGCCCCCTGGCAGCAGCGAAAGCCATCCAGGGCCTACGGGCTGTGTTTGA
+TGAGACCTATCCTGACCCTGTGCGAGTCGTCTCCATTGGGGTCCCGGTGTCCGAGTTGCTGGATGACCCC
+TCTGGGCCTGCTGGCTCCCTGACTTCTGTTGAGTTCTGTGGGGGAACGCACCTGCGGAACTCGAGTCATG
+CAGGAGCTTTTGTGATCGTGACGGAAGAAGCCATTGCCAAGGGTATCCGGAGGATTGTGGCTGTCACAGG
+TGCCGAGGCCCAGAAGGCCCTCAGGAAAGCAGAGAGCTTGAAGAAATGTCTCTCTGTCATGGAAGCCAAA
+GTGAAGGCTCAGACTGCTCCAAACAAGGATGTGCAGAGGGAGATCGCTGACCTTGGAGAGGCCCTGGCCA
+CTGCAGTCATCCCCCAGTGGCAGAAGGATGAATTGCGGGAGACTCTCAAATCCCTAAAGAAGGTCATGGA
+TGACTTGGACCGAGCCAGCAAAGCCGATGTCCAGAAACGAGTGTTAGAGAAGACGAAGCAGTTCATCGAC
+AGCAACCCCAACCAGCCTCTTGTCATCCTGGAGATGGAGAGCGGCGCCTCAGCCAAGGCCCTGAATGAAG
+CCTTGAAGCTCTTCAAGATGCACTCCCCTCAGACTTCTGCCATGCTCTTCACGGTGGACAATGAGGCTGG
+CAAGATCACGTGCCTGTGTCAAGTCCCCCAGAATGCAGCCAATCGGGGCTTAAAAGCCAGCGAGTGGGTG
+CAGCAGGTGTCAGGCTTGATGGACGGTAAAGGTGGTGGCAAGGATGTGTCTGCACAGGCCACAGGCAAGA
+ACGTTGGCTGCCTGCAGGAGGCGCTGCAGCTGGCCACTTCCTTCGCCCAGCTGCGCCTCGGGGATGTAAA
+GAACTGAGTGGGGAAGGAGGAGGCTCCCACTGGATCCATCCGTCCAGCCAAGAGCTCTTCATCTGCTACA
+AGAACATTTGAATCTTGGGACCTTTAAAGAGCCCCTCCTAACCCAGCAGTAACTGGAACACACTTGGGAG
+CAGTCCTATGTCTCAGTGCCCCTTAAATTTCTGCCCTGAGCCCTCCACGTCAGTGCCATCGGTCTAGAAC
+CACTAACCCCGCATTGCTGTTGATCGTCACGCTCGCATCTATAGATAACGGCTCTCCAGACCTGAGCTTT
+CCGCGTCAGCAAGTAGGAATCGTTTTTGCTGCAGAGAATAAAAGGACCACGTGC
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/seq1_snp1_mode1.out	Tue Dec 13 12:31:56 2016 -0500
@@ -0,0 +1,2 @@
+SNP	w	Slen	GC	interval	d_max	p-value	interval	r_min	p-value
+U1013C	200	3344	0.5411	975-1025	0.2432	0.0724	998-1052	0.0615	0.0932
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/seq2.txt	Tue Dec 13 12:31:56 2016 -0500
@@ -0,0 +1,139 @@
+>gi|5420376|emb|AJ238799.1| Hepatitis C virus type 1b complete genome, isolate Con1
+GCCAGCCCCCGATTGGGGGCGACACTCCACCATAGATCACTCCCCTGTGAGGAACTACTGTCTTCACGCA
+GAAAGCGTCTAGCCATGGCGTTAGTATGAGTGTCGTGCAGCCTCCAGGACCCCCCCTCCCGGGAGAGCCA
+TAGTGGTCTGCGGAACCGGTGAGTACACCGGAATTGCCAGGACGACCGGGTCCTTTCTTGGATCAACCCG
+CTCAATGCCTGGAGATTTGGGCGTGCCCCCGCGAGACTGCTAGCCGAGTAGTGTTGGGTCGCGAAAGGCC
+TTGTGGTACTGCCTGATAGGGTGCTTGCGAGTGCCCCGGGAGGTCTCGTAGACCGTGCACCATGAGCACG
+AATCCTAAACCTCAAAGAAAAACCAAACGTAACACCAACCGCCGCCCACAGGACGTCAAGTTCCCGGGCG
+GTGGTCAGATCGTCGGTGGAGTTTACCTGTTGCCGCGCAGGGGCCCCAGGTTGGGTGTGCGCGCGACTAG
+GAAGACTTCCGAGCGGTCGCAACCTCGTGGAAGGCGACAACCTATCCCCAAGGCTCGCCAGCCCGAGGGT
+AGGGCCTGGGCTCAGCCCGGGTACCCCTGGCCCCTCTATGGCAATGAGGGCTTGGGGTGGGCAGGATGGC
+TCCTGTCACCCCGTGGCTCTCGGCCTAGTTGGGGCCCCACGGACCCCCGGCGTAGGTCGCGCAATTTGGG
+TAAGGTCATCGATACCCTCACGTGCGGCTTCGCCGATCTCATGGGGTACATTCCGCTCGTCGGCGCCCCC
+CTAGGGGGCGCTGCCAGGGCCCTGGCGCATGGCGTCCGGGTTCTGGAGGACGGCGTGAACTATGCAACAG
+GGAATCTGCCCGGTTGCTCCTTTTCTATCTTCCTTTTGGCTTTGCTGTCCTGTTTGACCATCCCAGCTTC
+CGCTTATGAAGTGCGCAACGTATCCGGAGTGTACCATGTCACGAACGACTGCTCCAACGCAAGCATTGTG
+TATGAGGCAGCGGACATGATCATGCATACCCCCGGGTGCGTGCCCTGCGTTCGGGAGAACAACTCCTCCC
+GCTGCTGGGTAGCGCTCACTCCCACGCTCGCGGCCAGGAACGCTAGCGTCCCCACTACGACGATACGACG
+CCATGTCGATTTGCTCGTTGGGGCGGCTGCTCTCTGCTCCGCTATGTACGTGGGAGATCTCTGCGGATCT
+GTTTTCCTCGTCGCCCAGCTGTTCACCTTCTCGCCTCGCCGGCACGAGACAGTACAGGACTGCAATTGCT
+CAATATATCCCGGCCACGTGACAGGTCACCGTATGGCTTGGGATATGATGATGAACTGGTCACCTACAGC
+AGCCCTAGTGGTATCGCAGTTACTCCGGATCCCACAAGCTGTCGTGGATATGGTGGCGGGGGCCCATTGG
+GGAGTCCTAGCGGGCCTTGCCTACTATTCCATGGTGGGGAACTGGGCTAAGGTTCTGATTGTGATGCTAC
+TCTTTGCCGGCGTTGACGGGGGAACCTATGTGACAGGGGGGACGATGGCCAAAAACACCCTCGGGATTAC
+GTCCCTCTTTTCACCCGGGTCATCCCAGAAAATCCAGCTTGTAAACACCAACGGCAGCTGGCACATCAAC
+AGGACTGCCCTGAACTGCAATGACTCCCTCAACACTGGGTTCCTTGCTGCGCTGTTCTACGTGCACAAGT
+TCAACTCATCTGGATGCCCAGAGCGCATGGCCAGCTGCAGCCCCATCGACGCGTTCGCTCAGGGGTGGGG
+GCCCATCACTTACAATGAGTCACACAGCTCGGACCAGAGGCCTTATTGTTGGCACTACGCACCCCGGCCG
+TGCGGTATCGTACCCGCGGCGCAGGTGTGTGGTCCAGTGTACTGCTTCACCCCAAGCCCTGTCGTGGTGG
+GGACGACCGACCGGTTCGGCGTCCCTACGTACAGTTGGGGGGAGAATGAGACGGACGTGCTGCTTCTTAA
+CAACACGCGGCCGCCGCAAGGCAACTGGTTTGGCTGTACATGGATGAATAGCACTGGGTTCACCAAGACG
+TGCGGGGGCCCCCCGTGTAACATCGGGGGGATCGGCAATAAAACCTTGACCTGCCCCACGGACTGCTTCC
+GGAAGCACCCCGAGGCCACTTACACCAAGTGTGGTTCGGGGCCTTGGTTGACACCCAGATGCTTGGTCCA
+CTACCCATACAGGCTTTGGCACTACCCCTGCACTGTCAACTTTACCATCTTCAAGGTTAGGATGTACGTG
+GGGGGAGTGGAGCACAGGCTCGAAGCCGCATGCAATTGGACTCGAGGAGAGCGTTGTAACCTGGAGGACA
+GGGACAGATCAGAGCTTAGCCCGCTGCTGCTGTCTACAACGGAGTGGCAGGTATTGCCCTGTTCCTTCAC
+CACCCTACCGGCTCTGTCCACTGGTTTGATCCATCTCCATCAGAACGTCGTGGACGTACAATACCTGTAC
+GGTATAGGGTCGGCGGTTGTCTCCTTTGCAATCAAATGGGAGTATGTCCTGTTGCTCTTCCTTCTTCTGG
+CGGACGCGCGCGTCTGTGCCTGCTTGTGGATGATGCTGCTGATAGCTCAAGCTGAGGCCGCCCTAGAGAA
+CCTGGTGGTCCTCAACGCGGCATCCGTGGCCGGGGCGCATGGCATTCTCTCCTTCCTCGTGTTCTTCTGT
+GCTGCCTGGTACATCAAGGGCAGGCTGGTCCCTGGGGCGGCATATGCCCTCTACGGCGTATGGCCGCTAC
+TCCTGCTCCTGCTGGCGTTACCACCACGAGCATACGCCATGGACCGGGAGATGGCAGCATCGTGCGGAGG
+CGCGGTTTTCGTAGGTCTGATACTCTTGACCTTGTCACCGCACTATAAGCTGTTCCTCGCTAGGCTCATA
+TGGTGGTTACAATATTTTATCACCAGGGCCGAGGCACACTTGCAAGTGTGGATCCCCCCCCTCAACGTTC
+GGGGGGGCCGCGATGCCGTCATCCTCCTCACGTGCGCGATCCACCCAGAGCTAATCTTTACCATCACCAA
+AATCTTGCTCGCCATACTCGGTCCACTCATGGTGCTCCAGGCTGGTATAACCAAAGTGCCGTACTTCGTG
+CGCGCACACGGGCTCATTCGTGCATGCATGCTGGTGCGGAAGGTTGCTGGGGGTCATTATGTCCAAATGG
+CTCTCATGAAGTTGGCCGCACTGACAGGTACGTACGTTTATGACCATCTCACCCCACTGCGGGACTGGGC
+CCACGCGGGCCTACGAGACCTTGCGGTGGCAGTTGAGCCCGTCGTCTTCTCTGATATGGAGACCAAGGTT
+ATCACCTGGGGGGCAGACACCGCGGCGTGTGGGGACATCATCTTGGGCCTGCCCGTCTCCGCCCGCAGGG
+GGAGGGAGATACATCTGGGACCGGCAGACAGCCTTGAAGGGCAGGGGTGGCGACTCCTCGCGCCTATTAC
+GGCCTACTCCCAACAGACGCGAGGCCTACTTGGCTGCATCATCACTAGCCTCACAGGCCGGGACAGGAAC
+CAGGTCGAGGGGGAGGTCCAAGTGGTCTCCACCGCAACACAATCTTTCCTGGCGACCTGCGTCAATGGCG
+TGTGTTGGACTGTCTATCATGGTGCCGGCTCAAAGACCCTTGCCGGCCCAAAGGGCCCAATCACCCAAAT
+GTACACCAATGTGGACCAGGACCTCGTCGGCTGGCAAGCGCCCCCCGGGGCGCGTTCCTTGACACCATGC
+ACCTGCGGCAGCTCGGACCTTTACTTGGTCACGAGGCATGCCGATGTCATTCCGGTGCGCCGGCGGGGCG
+ACAGCAGGGGGAGCCTACTCTCCCCCAGGCCCGTCTCCTACTTGAAGGGCTCTTCGGGCGGTCCACTGCT
+CTGCCCCTCGGGGCACGCTGTGGGCATCTTTCGGGCTGCCGTGTGCACCCGAGGGGTTGCGAAGGCGGTG
+GACTTTGTACCCGTCGAGTCTATGGAAACCACTATGCGGTCCCCGGTCTTCACGGACAACTCGTCCCCTC
+CGGCCGTACCGCAGACATTCCAGGTGGCCCATCTACACGCCCCTACTGGTAGCGGCAAGAGCACTAAGGT
+GCCGGCTGCGTATGCAGCCCAAGGGTATAAGGTGCTTGTCCTGAACCCGTCCGTCGCCGCCACCCTAGGT
+TTCGGGGCGTATATGTCTAAGGCACATGGTATCGACCCTAACATCAGAACCGGGGTAAGGACCATCACCA
+CGGGTGCCCCCATCACGTACTCCACCTATGGCAAGTTTCTTGCCGACGGTGGTTGCTCTGGGGGCGCCTA
+TGACATCATAATATGTGATGAGTGCCACTCAACTGACTCGACCACTATCCTGGGCATCGGCACAGTCCTG
+GACCAAGCGGAGACGGCTGGAGCGCGACTCGTCGTGCTCGCCACCGCTACGCCTCCGGGATCGGTCACCG
+TGCCACATCCAAACATCGAGGAGGTGGCTCTGTCCAGCACTGGAGAAATCCCCTTTTATGGCAAAGCCAT
+CCCCATCGAGACCATCAAGGGGGGGAGGCACCTCATTTTCTGCCATTCCAAGAAGAAATGTGATGAGCTC
+GCCGCGAAGCTGTCCGGCCTCGGACTCAATGCTGTAGCATATTACCGGGGCCTTGATGTATCCGTCATAC
+CAACTAGCGGAGACGTCATTGTCGTAGCAACGGACGCTCTAATGACGGGCTTTACCGGCGATTTCGACTC
+AGTGATCGACTGCAATACATGTGTCACCCAGACAGTCGACTTCAGCCTGGACCCGACCTTCACCATTGAG
+ACGACGACCGTGCCACAAGACGCGGTGTCACGCTCGCAGCGGCGAGGCAGGACTGGTAGGGGCAGGATGG
+GCATTTACAGGTTTGTGACTCCAGGAGAACGGCCCTCGGGCATGTTCGATTCCTCGGTTCTGTGCGAGTG
+CTATGACGCGGGCTGTGCTTGGTACGAGCTCACGCCCGCCGAGACCTCAGTTAGGTTGCGGGCTTACCTA
+AACACACCAGGGTTGCCCGTCTGCCAGGACCATCTGGAGTTCTGGGAGAGCGTCTTTACAGGCCTCACCC
+ACATAGACGCCCATTTCTTGTCCCAGACTAAGCAGGCAGGAGACAACTTCCCCTACCTGGTAGCATACCA
+GGCTACGGTGTGCGCCAGGGCTCAGGCTCCACCTCCATCGTGGGACCAAATGTGGAAGTGTCTCATACGG
+CTAAAGCCTACGCTGCACGGGCCAACGCCCCTGCTGTATAGGCTGGGAGCCGTTCAAAACGAGGTTACTA
+CCACACACCCCATAACCAAATACATCATGGCATGCATGTCGGCTGACCTGGAGGTCGTCACGAGCACCTG
+GGTGCTGGTAGGCGGAGTCCTAGCAGCTCTGGCCGCGTATTGCCTGACAACAGGCAGCGTGGTCATTGTG
+GGCAGGATCATCTTGTCCGGAAAGCCGGCCATCATTCCCGACAGGGAAGTCCTTTACCGGGAGTTCGATG
+AGATGGAAGAGTGCGCCTCACACCTCCCTTACATCGAACAGGGAATGCAGCTCGCCGAACAATTCAAACA
+GAAGGCAATCGGGTTGCTGCAAACAGCCACCAAGCAAGCGGAGGCTGCTGCTCCCGTGGTGGAATCCAAG
+TGGCGGACCCTCGAAGCCTTCTGGGCGAAGCATATGTGGAATTTCATCAGCGGGATACAATATTTAGCAG
+GCTTGTCCACTCTGCCTGGCAACCCCGCGATAGCATCACTGATGGCATTCACAGCCTCTATCACCAGCCC
+GCTCACCACCCAACATACCCTCCTGTTTAACATCCTGGGGGGATGGGTGGCCGCCCAACTTGCTCCTCCC
+AGCGCTGCTTCTGCTTTCGTAGGCGCCGGCATCGCTGGAGCGGCTGTTGGCAGCATAGGCCTTGGGAAGG
+TGCTTGTGGATATTTTGGCAGGTTATGGAGCAGGGGTGGCAGGCGCGCTCGTGGCCTTTAAGGTCATGAG
+CGGCGAGATGCCCTCCACCGAGGACCTGGTTAACCTACTCCCTGCTATCCTCTCCCCTGGCGCCCTAGTC
+GTCGGGGTCGTGTGCGCAGCGATACTGCGTCGGCACGTGGGCCCAGGGGAGGGGGCTGTGCAGTGGATGA
+ACCGGCTGATAGCGTTCGCTTCGCGGGGTAACCACGTCTCCCCCACGCACTATGTGCCTGAGAGCGACGC
+TGCAGCACGTGTCACTCAGATCCTCTCTAGTCTTACCATCACTCAGCTGCTGAAGAGGCTTCACCAGTGG
+ATCAACGAGGACTGCTCCACGCCATGCTCCGGCTCGTGGCTAAGAGATGTTTGGGATTGGATATGCACGG
+TGTTGACTGATTTCAAGACCTGGCTCCAGTCCAAGCTCCTGCCGCGATTGCCGGGAGTCCCCTTCTTCTC
+ATGTCAACGTGGGTACAAGGGAGTCTGGCGGGGCGACGGCATCATGCAAACCACCTGCCCATGTGGAGCA
+CAGATCACCGGACATGTGAAAAACGGTTCCATGAGGATCGTGGGGCCTAGGACCTGTAGTAACACGTGGC
+ATGGAACATTCCCCATTAACGCGTACACCACGGGCCCCTGCACGCCCTCCCCGGCGCCAAATTATTCTAG
+GGCGCTGTGGCGGGTGGCTGCTGAGGAGTACGTGGAGGTTACGCGGGTGGGGGATTTCCACTACGTGACG
+GGCATGACCACTGACAACGTAAAGTGCCCGTGTCAGGTTCCGGCCCCCGAATTCTTCACAGAAGTGGATG
+GGGTGCGGTTGCACAGGTACGCTCCAGCGTGCAAACCCCTCCTACGGGAGGAGGTCACATTCCTGGTCGG
+GCTCAATCAATACCTGGTTGGGTCACAGCTCCCATGCGAGCCCGAACCGGACGTAGCAGTGCTCACTTCC
+ATGCTCACCGACCCCTCCCACATTACGGCGGAGACGGCTAAGCGTAGGCTGGCCAGGGGATCTCCCCCCT
+CCTTGGCCAGCTCATCAGCTAGCCAGCTGTCTGCGCCTTCCTTGAAGGCAACATGCACTACCCGTCATGA
+CTCCCCGGACGCTGACCTCATCGAGGCCAACCTCCTGTGGCGGCAGGAGATGGGCGGGAACATCACCCGC
+GTGGAGTCAGAAAATAAGGTAGTAATTTTGGACTCTTTCGAGCCGCTCCAAGCGGAGGAGGATGAGAGGG
+AAGTATCCGTTCCGGCGGAGATCCTGCGGAGGTCCAGGAAATTCCCTCGAGCGATGCCCATATGGGCACG
+CCCGGATTACAACCCTCCACTGTTAGAGTCCTGGAAGGACCCGGACTACGTCCCTCCAGTGGTACACGGG
+TGTCCATTGCCGCCTGCCAAGGCCCCTCCGATACCACCTCCACGGAGGAAGAGGACGGTTGTCCTGTCAG
+AATCTACCGTGTCTTCTGCCTTGGCGGAGCTCGCCACAAAGACCTTCGGCAGCTCCGAATCGTCGGCCGT
+CGACAGCGGCACGGCAACGGCCTCTCCTGACCAGCCCTCCGACGACGGCGACGCGGGATCCGACGTTGAG
+TCGTACTCCTCCATGCCCCCCCTTGAGGGGGAGCCGGGGGATCCCGATCTCAGCGACGGGTCTTGGTCTA
+CCGTAAGCGAGGAGGCTAGTGAGGACGTCGTCTGCTGCTCGATGTCCTACACATGGACAGGCGCCCTGAT
+CACGCCATGCGCTGCGGAGGAAACCAAGCTGCCCATCAATGCACTGAGCAACTCTTTGCTCCGTCACCAC
+AACTTGGTCTATGCTACAACATCTCGCAGCGCAAGCCTGCGGCAGAAGAAGGTCACCTTTGACAGACTGC
+AGGTCCTGGACGACCACTACCGGGACGTGCTCAAGGAGATGAAGGCGAAGGCGTCCACAGTTAAGGCTAA
+ACTTCTATCCGTGGAGGAAGCCTGTAAGCTGACGCCCCCACATTCGGCCAGATCTAAATTTGGCTATGGG
+GCAAAGGACGTCCGGAACCTATCCAGCAAGGCCGTTAACCACATCCGCTCCGTGTGGAAGGACTTGCTGG
+AAGACACTGAGACACCAATTGACACCACCATCATGGCAAAAAATGAGGTTTTCTGCGTCCAACCAGAGAA
+GGGGGGCCGCAAGCCAGCTCGCCTTATCGTATTCCCAGATTTGGGGGTTCGTGTGTGCGAGAAAATGGCC
+CTTTACGATGTGGTCTCCACCCTCCCTCAGGCCGTGATGGGCTCTTCATACGGATTCCAATACTCTCCTG
+GACAGCGGGTCGAGTTCCTGGTGAATGCCTGGAAAGCGAAGAAATGCCCTATGGGCTTCGCATATGACAC
+CCGCTGTTTTGACTCAACGGTCACTGAGAATGACATCCGTGTTGAGGAGTCAATCTACCAATGTTGTGAC
+TTGGCCCCCGAAGCCAGACAGGCCATAAGGTCGCTCACAGAGCGGCTTTACATCGGGGGCCCCCTGACTA
+ATTCTAAAGGGCAGAACTGCGGCTATCGCCGGTGCCGCGCGAGCGGTGTACTGACGACCAGCTGCGGTAA
+TACCCTCACATGTTACTTGAAGGCCGCTGCGGCCTGTCGAGCTGCGAAGCTCCAGGACTGCACGATGCTC
+GTATGCGGAGACGACCTTGTCGTTATCTGTGAAAGCGCGGGGACCCAAGAGGACGAGGCGAGCCTACGGG
+CCTTCACGGAGGCTATGACTAGATACTCTGCCCCCCCTGGGGACCCGCCCAAACCAGAATACGACTTGGA
+GTTGATAACATCATGCTCCTCCAATGTGTCAGTCGCGCACGATGCATCTGGCAAAAGGGTGTACTATCTC
+ACCCGTGACCCCACCACCCCCCTTGCGCGGGCTGCGTGGGAGACAGCTAGACACACTCCAGTCAATTCCT
+GGCTAGGCAACATCATCATGTATGCGCCCACCTTGTGGGCAAGGATGATCCTGATGACTCATTTCTTCTC
+CATCCTTCTAGCTCAGGAACAACTTGAAAAAGCCCTAGATTGTCAGATCTACGGGGCCTGTTACTCCATT
+GAGCCACTTGACCTACCTCAGATCATTCAACGACTCCATGGCCTTAGCGCATTTTCACTCCATAGTTACT
+CTCCAGGTGAGATCAATAGGGTGGCTTCATGCCTCAGGAAACTTGGGGTACCGCCCTTGCGAGTCTGGAG
+ACATCGGGCCAGAAGTGTCCGCGCTAGGCTACTGTCCCAGGGGGGGAGGGCTGCCACTTGTGGCAAGTAC
+CTCTTCAACTGGGCAGTAAGGACCAAGCTCAAACTCACTCCAATCCCGGCTGCGTCCCAGTTGGATTTAT
+CCAGCTGGTTCGTTGCTGGTTACAGCGGGGGAGACATATATCACAGCCTGTCTCGTGCCCGACCCCGCTG
+GTTCATGTGGTGCCTACTCCTACTTTCTGTAGGGGTAGGCATCTATCTACTCCCCAACCGATGAACGGGG
+AGCTAAACACTCCAGGCCAATAGGCCATCCTGTTTTTTTCCCTTTTTTTTTTTCTTTTTTTTTTTTTTTT
+TTTTTTTTTTTTTTTTTTCTCCTTTTTTTTTCCTCTTTTTTTCCTTTTCTTTCCTTTGGTGGCTCCATCT
+TAGCCCTAGTCACGGCTAGCTGTGAAAGGTCCGTGAGCCGCTTGACTGCAGAGAGTGCTGATACTGGCCT
+CTCTGCAGATCAAGT
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/seq2_snp2_mode2.out	Tue Dec 13 12:31:56 2016 -0500
@@ -0,0 +1,2 @@
+SNP             w   Slen   GC   max_k d_max  p-value interval   d       p-value
+C9294A-U9296G   200 9605 0.4814 9270  7.0487 0.0624  9270-9298  0.2463  0.0099
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/seq3.txt	Tue Dec 13 12:31:56 2016 -0500
@@ -0,0 +1,2 @@
+>gi|56682960|ref|NM_000146.3| Homo sapiens ferritin, light polypeptide (FTL), mRNA
+GCAGTTCGGCGGTCCCGCGGGTCTGTCTCTTGCTTCAACAGTGTTTGGACGGAACAGATCCGGGGACTCTCTTCCAGCCTCCGACCGCCCTCCGATTTCCTCTCCGCTTGCAACCTCCGGGACCATCTTCTCGGCCATCTCCTGCTTCTGGGACCTGCCAGCACCGTTTTTGTGGTTAGCTCCTTCTTGCCAACCAACCATGAGCTCCCAGATTCGTCAGAATTATTCCACCGACGTGGAGGCAGCCGTCAACAGCCTGGTCAATTTGTACCTGCAGGCCTCCTACACCTACCTCTCTCTGGGCTTCTATTTCGACCGCGATGATGTGGCTCTGGAAGGCGTGAGCCACTTCTTCCGCGAATTGGCCGAGGAGAAGCGCGAGGGCTACGAGCGTCTCCTGAAGATGCAAAACCAGCGTGGCGGCCGCGCTCTCTTCCAGGACATCAAGAAGCCAGCTGAAGATGAGTGGGGTAAAACCCCAGACGCCATGAAAGCTGCCATGGCCCTGGAGAAAAAGCTGAACCAGGCCCTTTTGGATCTTCATGCCCTGGGTTCTGCCCGCACGGACCCCCATCTCTGTGACTTCCTGGAGACTCACTTCCTAGATGAGGAAGTGAAGCTTATCAAGAAGATGGGTGACCACCTGACCAACCTCCACAGGCTGGGTGGCCCGGAGGCTGGGCTGGGCGAGTATCTCTTCGAAAGGCTCACTCTCAAGCACGACTAAGAGCCTTCTGAGCCCAGCGACTTCTGAAGGGCCCCTTGCAAAGTAATAGGGCTTCTGCCTAAGCCTCTCCCTCCAGCCAATAGGCAGCTTTCTTAACTATCCTAACAAGCCTTGGACCAAATGGAAATAAAGCTTTTTGATGCA
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/seq3_mode3.out	Tue Dec 13 12:31:56 2016 -0500
@@ -0,0 +1,158 @@
+SNP	w	Slen	GC	interval	d	pvalue1	ewin	interval	d_max	pvalue2
+C18G	200	871	0.5917	7-134	0.1938	0.0521	200	8-136	0.2894	0.0300
+G19A	200	871	0.5890	10-67	0.0779	0.2841	200	147-216	0.2377	0.0488
+G19U	200	871	0.5890	9-67	0.1096	0.1738	200	14-78	0.2050	0.0686
+U22G	200	871	0.5856	11-66	0.2165	0.0348	200	15-64	0.2482	0.0518
+U22A	200	871	0.5856	17-62	0.1034	0.1982	200	15-64	0.2379	0.0572
+U24G	200	871	0.5804	13-66	0.1306	0.1342	200	15-64	0.2300	0.0612
+U24C	200	871	0.5804	17-62	0.2214	0.0354	200	15-64	0.3698	0.0165
+C29G	200	871	0.5764	17-54	0.1108	0.1880	200	15-64	0.1828	0.0998
+G47C	200	871	0.5870	27-53	0.1553	0.0924	200	13-62	0.2068	0.0970
+A58G	200	871	0.5853	7-124	0.2689	0.0171	200	11-134	0.3584	0.0286
+C61G	200	871	0.5862	7-124	0.2035	0.0469	200	12-67	0.2907	0.0436
+G119C	200	871	0.5768	102-134	0.1579	0.0634	200	106-162	0.2463	0.0656
+C123G	200	871	0.5759	104-152	0.0976	0.2067	200	106-162	0.2816	0.0527
+C132G	200	871	0.5753	101-134	0.1489	0.0857	200	86-135	0.2334	0.0898
+U173C	200	871	0.5791	161-205	0.2468	0.0151	200	157-206	0.2965	0.0409
+G175A	200	871	0.5760	168-206	0.1995	0.0337	200	157-206	0.2359	0.0722
+G175C	200	871	0.5760	159-205	0.2822	0.0084	200	157-206	0.2988	0.0400
+G175U	200	871	0.5760	160-205	0.2448	0.0158	200	157-206	0.2590	0.0580
+U176G	200	871	0.5771	168-210	0.2892	0.0083	200	148-211	0.3160	0.0330
+U176A	200	871	0.5771	161-206	0.1782	0.0523	200	148-245	0.2834	0.0449
+U177G	200	871	0.5782	168-210	0.2112	0.0275	200	148-211	0.2638	0.0535
+U177A	200	871	0.5782	159-198	0.2630	0.0112	200	157-206	0.2751	0.0480
+C180A	200	871	0.5816	161-198	0.3182	0.0049	200	157-206	0.2923	0.0420
+C180G	200	871	0.5816	142-196	0.1680	0.0591	200	150-209	0.2780	0.0480
+C183A	200	871	0.5822	168-206	0.2411	0.0148	200	157-206	0.2633	0.0557
+C183G	200	871	0.5822	168-206	0.2123	0.0245	200	157-206	0.2418	0.0682
+U185G	200	871	0.5844	164-196	0.2181	0.0224	200	157-206	0.2211	0.0739
+C186G	200	871	0.5829	168-206	0.2129	0.0243	200	157-206	0.2409	0.0598
+C190A	200	871	0.5821	168-206	0.2089	0.0342	200	157-206	0.2323	0.0781
+C190G	200	871	0.5821	169-206	0.2357	0.0223	200	157-206	0.2500	0.0664
+A193C	200	871	0.5852	161-198	0.1819	0.0387	200	157-206	0.2047	0.0970
+C194A	200	871	0.5838	161-206	0.1696	0.0525	200	157-206	0.2068	0.0923
+C194G	200	871	0.5838	169-205	0.2459	0.0140	200	157-206	0.2578	0.0570
+C195U	200	871	0.5848	162-203	0.2574	0.0103	200	157-206	0.2341	0.0684
+C207A	200	871	0.5835	168-210	0.2023	0.0355	200	148-211	0.2693	0.0573
+C208G	200	871	0.5810	146-222	0.1694	0.0608	200	146-222	0.2252	0.0852
+G211C	200	871	0.5736	168-212	0.2152	0.0287	200	148-211	0.2651	0.0594
+A212G	200	871	0.5736	145-222	0.2256	0.0242	200	146-222	0.2624	0.0609
+A230C	200	871	0.5786	225-245	0.1066	0.1712	200	227-304	0.2132	0.0953
+G239A	200	871	0.5835	161-240	0.1107	0.1598	200	142-245	0.2323	0.0799
+G239C	200	871	0.5835	154-245	0.1454	0.0903	200	142-245	0.3070	0.0411
+A240U	200	871	0.5835	154-245	0.1253	0.1258	200	142-245	0.2684	0.0577
+A244G	200	871	0.5810	131-248	0.0613	0.3614	200	242-441	0.2532	0.0662
+U273G	200	871	0.5786	237-283	0.1633	0.0673	200	227-287	0.2089	0.0991
+G277C	200	871	0.5761	238-284	0.0631	0.3506	200	317-366	0.3635	0.0253
+A315G	200	871	0.5686	298-436	0.0863	0.2390	200	294-382	0.2233	0.0868
+G320C	200	871	0.5661	315-358	0.0625	0.3540	200	317-366	0.2257	0.0849
+U327G	200	871	0.5661	311-359	0.1266	0.1231	200	301-366	0.3298	0.0337
+U327C	200	871	0.5661	315-357	0.2849	0.0092	200	316-366	0.3349	0.0323
+U327A	200	871	0.5661	311-358	0.1683	0.0620	200	301-366	0.3630	0.0254
+G328A	200	871	0.5661	312-359	0.1532	0.0795	200	317-366	0.3304	0.0335
+G328C	200	871	0.5661	317-357	0.4111	0.0012	200	312-446	0.3102	0.0400
+G328U	200	871	0.5661	317-357	0.1720	0.0583	200	312-446	0.2868	0.0490
+G329A	200	871	0.5686	317-356	0.0696	0.3149	200	312-446	0.3310	0.0334
+G329C	200	871	0.5686	317-357	0.1854	0.0468	200	312-361	0.2975	0.0447
+G329U	200	871	0.5686	322-352	0.1447	0.0915	200	312-444	0.3268	0.0346
+C330A	200	871	0.5711	315-358	0.3260	0.0047	200	317-366	0.3009	0.0433
+C330G	200	871	0.5711	274-358	0.1931	0.0412	200	275-366	0.3970	0.0191
+U331G	200	871	0.5686	315-357	0.2326	0.0216	200	316-365	0.3316	0.0332
+U331C	200	871	0.5686	311-358	0.1754	0.0551	200	312-361	0.2787	0.0527
+U331A	200	871	0.5686	315-357	0.1474	0.0874	200	317-366	0.2808	0.0517
+C332G	200	871	0.5686	316-358	0.1638	0.0667	200	275-366	0.3982	0.0189
+C340A	200	871	0.5611	322-356	0.2171	0.0278	200	311-360	0.3170	0.0377
+A344C	200	871	0.5586	313-358	0.1083	0.1663	200	242-464	0.2673	0.0583
+A344U	200	871	0.5586	316-357	0.0969	0.2007	200	242-464	0.2394	0.0749
+G345A	200	871	0.5586	316-357	0.3970	0.0015	200	316-365	0.3770	0.0225
+G345C	200	871	0.5586	316-357	0.3953	0.0015	200	312-361	0.3913	0.0200
+G345U	200	871	0.5586	316-357	0.3975	0.0014	200	316-365	0.3840	0.0213
+C346A	200	871	0.5586	315-357	0.3814	0.0019	200	312-361	0.3525	0.0278
+C346G	200	871	0.5586	258-367	0.2138	0.0294	200	311-360	0.2124	0.0960
+C347A	200	871	0.5611	315-357	0.2180	0.0274	200	311-360	0.2432	0.0724
+A348C	200	871	0.5636	313-358	0.1225	0.1316	200	312-446	0.3860	0.0209
+C349A	200	871	0.5611	311-366	0.0827	0.2537	200	317-366	0.3847	0.0211
+C349G	200	871	0.5611	311-366	0.0857	0.2416	200	317-366	0.3848	0.0211
+G378C	200	871	0.5711	368-435	0.1408	0.0974	200	288-383	0.2341	0.0786
+C395G	200	871	0.5711	383-444	0.1692	0.0610	200	279-396	0.2719	0.0560
+C445G	200	871	0.5636	436-555	0.1233	0.1299	200	435-556	0.2090	0.0990
+A462G	200	871	0.5636	443-504	0.1476	0.0871	200	447-560	0.2724	0.0557
+G468C	200	871	0.5711	452-484	0.1562	0.0756	200	448-561	0.3013	0.0432
+G469C	200	871	0.5711	451-481	0.1341	0.1088	200	376-556	0.3278	0.0343
+G470U	200	871	0.5736	461-481	0.2249	0.0245	200	448-555	0.2621	0.0611
+A474G	200	871	0.5786	468-560	0.1339	0.1092	200	448-560	0.3886	0.0205
+C477A	200	871	0.5786	466-486	0.1731	0.0573	200	447-560	0.2653	0.0594
+C477G	200	871	0.5786	466-486	0.2043	0.0343	200	448-560	0.2516	0.0671
+C478A	200	871	0.5786	461-481	0.2074	0.0326	200	447-558	0.2269	0.0839
+C478G	200	871	0.5786	461-481	0.1727	0.0577	200	447-558	0.2257	0.0849
+C478U	200	871	0.5786	461-531	0.2135	0.0295	200	448-558	0.2703	0.0568
+C486G	200	871	0.5810	469-560	0.1792	0.0519	200	452-560	0.3707	0.0238
+C486U	200	871	0.5810	442-555	0.1434	0.0933	200	437-556	0.2605	0.0619
+A488U	200	871	0.5835	442-504	0.1024	0.1833	200	437-556	0.2591	0.0627
+G490C	200	871	0.5810	443-504	0.1223	0.1322	200	437-556	0.2745	0.0547
+C498G	200	871	0.5786	442-504	0.1122	0.1560	200	451-504	0.2145	0.0941
+A500U	200	871	0.5786	443-504	0.1220	0.1329	200	435-546	0.2655	0.0592
+U501G	200	871	0.5810	442-556	0.1350	0.1072	200	452-564	0.2959	0.0453
+U501C	200	871	0.5810	442-556	0.0792	0.2687	200	452-564	0.2582	0.0632
+U501A	200	871	0.5810	442-556	0.1216	0.1336	200	452-564	0.2873	0.0488
+G502A	200	871	0.5786	442-504	0.0737	0.2944	200	448-564	0.2112	0.0970
+G502U	200	871	0.5786	443-504	0.0872	0.2357	200	447-564	0.2088	0.0992
+G503A	200	871	0.5761	443-504	0.1000	0.1906	200	375-556	0.2807	0.0518
+G503C	200	871	0.5761	442-504	0.0578	0.3828	200	375-556	0.3079	0.0408
+G503U	200	871	0.5761	439-504	0.1370	0.1037	200	375-556	0.3375	0.0316
+C504G	200	871	0.5736	484-504	0.1543	0.0781	200	485-536	0.2287	0.0826
+C505U	200	871	0.5736	462-531	0.1406	0.0977	200	467-531	0.2824	0.0510
+C506A	200	871	0.5761	498-545	0.1543	0.0781	200	500-549	0.2323	0.0799
+U507G	200	871	0.5786	501-536	0.1399	0.0988	200	487-536	0.2751	0.0544
+U507A	200	871	0.5786	498-536	0.1579	0.0736	200	487-536	0.2953	0.0455
+A510G	200	871	0.5786	461-531	0.1746	0.0559	200	467-531	0.2998	0.0437
+G526C	200	871	0.5786	504-527	0.1315	0.1135	200	371-543	0.2739	0.0550
+C528G	200	871	0.5786	484-504	0.1174	0.1433	200	448-560	0.2623	0.0610
+U538G	200	871	0.5761	479-550	0.1485	0.0858	200	448-560	0.3685	0.0242
+C542G	200	871	0.5761	437-556	0.1471	0.0878	200	436-556	0.2684	0.0577
+C546G	200	871	0.5786	442-560	0.0765	0.2811	200	447-559	0.2643	0.0599
+C546U	200	871	0.5786	436-555	0.0950	0.2071	200	437-556	0.2194	0.0900
+A567U	200	871	0.5786	564-641	0.1412	0.0968	200	562-641	0.2266	0.0842
+G611C	200	871	0.5711	587-637	0.4460	0.0007	200	588-637	0.4910	0.0088
+G611U	200	871	0.5711	582-631	0.2850	0.0091	200	588-637	0.3935	0.0196
+U615G	200	871	0.5736	580-623	0.3044	0.0066	200	575-631	0.4179	0.0160
+G616C	200	871	0.5711	580-617	0.3617	0.0026	200	580-631	0.3970	0.0191
+A623G	200	871	0.5586	564-636	0.1137	0.1523	200	562-636	0.2217	0.0881
+A627C	200	871	0.5511	564-636	0.1108	0.1595	200	562-636	0.2152	0.0935
+A629G	200	871	0.5511	565-636	0.1348	0.1076	200	562-636	0.2352	0.0778
+U637G	200	871	0.5486	561-641	0.1374	0.1030	200	562-641	0.2370	0.0766
+A639U	200	871	0.5486	561-641	0.1267	0.1229	200	562-641	0.2487	0.0689
+G673C	200	871	0.5338	632-674	0.0744	0.2848	200	632-681	0.2025	0.0896
+C678U	200	871	0.5381	670-745	0.2001	0.0314	200	632-681	0.2926	0.0412
+G682U	200	871	0.5359	670-781	0.1327	0.1047	200	634-683	0.3026	0.0371
+C700A	200	871	0.5323	687-734	0.3024	0.0069	200	688-737	0.2130	0.0874
+C700G	200	871	0.5323	687-734	0.2348	0.0200	200	688-737	0.2303	0.0739
+A702G	200	871	0.5351	670-745	0.2305	0.0204	200	677-745	0.2007	0.0987
+G705A	200	871	0.5313	688-734	0.2973	0.0101	200	688-737	0.3114	0.0402
+G705C	200	871	0.5313	688-734	0.3418	0.0052	200	688-737	0.3277	0.0348
+G705U	200	871	0.5313	688-734	0.3782	0.0030	200	688-737	0.3589	0.0265
+G706C	200	871	0.5301	688-734	0.2760	0.0092	200	688-737	0.2796	0.0480
+G706U	200	871	0.5301	688-734	0.3926	0.0013	200	688-737	0.3664	0.0220
+C709G	200	871	0.5289	688-734	0.2638	0.0130	200	688-737	0.2477	0.0659
+U725G	200	871	0.5331	688-734	0.3898	0.0018	200	688-737	0.3540	0.0271
+A729U	200	871	0.5306	700-734	0.2789	0.0089	200	681-741	0.2549	0.0618
+G730U	200	871	0.5292	688-734	0.3585	0.0039	200	688-737	0.3104	0.0448
+C731A	200	871	0.5279	688-734	0.4156	0.0021	200	687-736	0.3854	0.0223
+C731G	200	871	0.5279	688-734	0.3453	0.0057	200	688-737	0.3380	0.0330
+C732A	200	871	0.5294	688-734	0.3023	0.0076	200	686-736	0.2990	0.0407
+U734C	200	871	0.5325	688-734	0.2446	0.0187	200	686-735	0.2282	0.0829
+A767G	200	871	0.5213	746-771	0.0963	0.2207	200	737-786	0.2207	0.0937
+A775U	200	871	0.5185	770-843	0.0638	0.3782	200	737-786	0.2391	0.0796
+U787G	200	871	0.5193	770-814	0.2678	0.0135	200	757-814	0.2145	0.0946
+G811C	200	871	0.5211	773-814	0.1850	0.0578	200	673-819	0.2061	0.0954
+C812G	200	871	0.5192	777-814	0.3720	0.0024	200	765-814	0.2643	0.0577
+C838U	200	871	0.5342	824-862	0.0937	0.2344	200	821-870	0.2084	0.0786
+U855G	200	871	0.5300	812-861	0.1019	0.1781	200	813-862	0.1722	0.0971
+A858G	200	871	0.5280	824-862	0.1187	0.1149	200	813-862	0.2035	0.0669
+C860G	200	871	0.5283	826-863	0.1000	0.1610	200	814-863	0.1686	0.0927
+U862G	200	871	0.5238	800-870	0.0646	0.2581	200	764-871	0.1600	0.0978
+U862A	200	871	0.5238	830-866	0.1325	0.0769	200	770-866	0.1756	0.0819
+U863G	200	871	0.5215	824-866	0.1291	0.0891	200	817-866	0.2549	0.0360
+A867G	200	871	0.5171	830-871	0.1078	0.0925	200	817-871	0.1844	0.0678
+G869C	200	871	0.5172	830-871	0.0884	0.0736	200	814-871	0.1601	0.0522
+C870G	200	871	0.5149	823-870	0.0480	0.0976	200	817-870	0.1080	0.0490
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/snp1.txt	Tue Dec 13 12:31:56 2016 -0500
@@ -0,0 +1,1 @@
+U1013C
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/snp2.txt	Tue Dec 13 12:31:56 2016 -0500
@@ -0,0 +1,1 @@
+C9294A-U9296G
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/snp3.txt	Tue Dec 13 12:31:56 2016 -0500
@@ -0,0 +1,2 @@
+U22G
+A56U