changeset 0:e0a0fd938de4 draft

Uploaded
author iuc
date Thu, 05 Feb 2015 11:52:40 -0500
parents
children 61718851f199
files macros.xml seqtk_comp.xml seqtk_cutN.xml seqtk_dropse.xml seqtk_fqchk.xml seqtk_hety.xml seqtk_listhet.xml seqtk_mergefa.xml seqtk_mergepe.xml seqtk_mutfa.xml seqtk_randbase.xml seqtk_sample.xml seqtk_seq.xml seqtk_subseq.xml seqtk_trimfq.xml test-data/paired_dat.fq test-data/paired_dat1.fq test-data/paired_dat2.fq test-data/seqtk_comp.fa test-data/seqtk_comp.out test-data/seqtk_cutn.fa test-data/seqtk_cutn.out test-data/seqtk_dropse.fq test-data/seqtk_dropse.out test-data/seqtk_fqchk.fq test-data/seqtk_fqchk.out test-data/seqtk_hety.fa test-data/seqtk_hety.out test-data/seqtk_listhet.fa test-data/seqtk_listhet.out test-data/seqtk_mergefa.out test-data/seqtk_mergefa1.fa test-data/seqtk_mergefa2.fa test-data/seqtk_mergefa2.out test-data/seqtk_mutfa.fa test-data/seqtk_mutfa.out test-data/seqtk_mutfa.snp test-data/seqtk_randbase.fa test-data/seqtk_randbase.out test-data/seqtk_sample.fa test-data/seqtk_sample.out test-data/seqtk_seq.fa test-data/seqtk_seq_revcom.fa test-data/seqtk_subseq.fa test-data/seqtk_subseq.out test-data/seqtk_subseq_list.txt test-data/seqtk_trimfq.fq test-data/seqtk_trimfq_be.fq test-data/seqtk_trimfq_default.fq tool_dependencies.xml
diffstat 50 files changed, 1193 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/macros.xml	Thu Feb 05 11:52:40 2015 -0500
@@ -0,0 +1,33 @@
+<?xml version="1.0"?>
+<macros>
+  <xml name="requirements">
+    <requirements>
+      <requirement type="package" version="1.0-r75-dirty">seqtk</requirement>
+      <yield/>
+    </requirements>
+  </xml>
+  <token name="@WRAPPER_VERSION@">1.0-r75-dirty</token>
+  <xml name="stdio">
+    <stdio>
+      <!-- Anything other than zero is an error -->
+      <exit_code range="1:"/>
+      <exit_code range=":-1"/>
+      <!-- In case the return code has not been set propery check stderr too -->
+      <regex match="Error:"/>
+      <regex match="Exception:"/>
+    </stdio>
+  </xml>
+  <xml name="in_fq">
+    <param name="in_file" type="data" format="fastq" label="Input FASTQ file"/>
+  </xml>
+  <xml name="in_faq">
+    <param name="in_file" type="data" format="fasta,fastq" label="Input FASTA/Q file"/>
+  </xml>
+  <token name="@ATTRIBUTION@"><![CDATA[
+**Attribution**
+
+This Galaxy tool relies on the seqtk toolkit from  `lh3/seqtk
+<https://github.com/lh3/seqtk/>`_, developed by Heng Li at the Broad Institute
+  ]]>
+  </token>
+</macros>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/seqtk_comp.xml	Thu Feb 05 11:52:40 2015 -0500
@@ -0,0 +1,52 @@
+<?xml version="1.0"?>
+<tool id="seqtk_comp" name="seqtk_comp" version="@WRAPPER_VERSION@.0">
+  <description>get the nucleotide composition of FASTA/Q</description>
+  <macros>
+    <import>macros.xml</import>
+  </macros>
+  <expand macro="requirements"/>
+  <expand macro="stdio"/>
+  <command><![CDATA[seqtk comp
+#if $in_bed:
+-r $in_bed
+#end if
+
+$in_file | awk 'BEGIN{print "#chr\tlength\t#A\t#C\t#G\t#T\t#2\t#3\t#4\t#CpG\t#tv\t#ts\t#CpG-ts"}1'
+
+> $default]]></command>
+  <inputs>
+    <expand macro="in_faq"/>
+    <param name="in_bed" optional="True" type="data" format="bed" label="bed file"/>
+  </inputs>
+  <outputs>
+    <data format="tabular" hidden="false" name="default" label="Nucleotide composition of $in_file.name"/>
+  </outputs>
+  <tests>
+    <test>
+      <param name="in_file" value="seqtk_comp.fa" ftype="fasta"/>
+      <output name="default" file="seqtk_comp.out" ftype="tabular"/>
+    </test>
+  </tests>
+  <help><![CDATA[
+**What it does**
+
+Reports composition of fasta/fastq sequences. For an example sequence like
+
+::
+    >test0
+    ACTGACTGAA
+    >ambig_ref
+    ACGTCGTGTTVHDBN
+
+The seqtk tool will report:
+
+::
+
+    #chr       length #A #C #G #T #2 #3 #4 #CpG #tv #ts #CpG-ts
+    test0      11     4  2  2  2  0  0  1  0    0   0   0
+    ambig_ref  15     1  2  3  4  0  4  1  4    0   0   0
+
+
+@ATTRIBUTION@
+]]></help>
+</tool>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/seqtk_cutN.xml	Thu Feb 05 11:52:40 2015 -0500
@@ -0,0 +1,52 @@
+<?xml version="1.0"?>
+<tool id="seqtk_cutN" name="seqtk_cutN" version="@WRAPPER_VERSION@.0">
+  <description>cut sequence at long N</description>
+  <macros>
+    <import>macros.xml</import>
+  </macros>
+  <expand macro="requirements"/>
+  <expand macro="stdio"/>
+  <command><![CDATA[seqtk cutN -n $n
+-p $p
+$g
+$in_file
+> $default]]></command>
+  <inputs>
+    <expand macro="in_faq"/>
+    <param label="min size of N tract" help="(-n)" name="n" type="integer" value="1000"/>
+    <param label="penalty for a non-N" help="(-p)" name="p" type="integer" value="10"/>
+    <param checked="false" label="print gaps only, no sequence" help="(-g)" name="g" type="boolean" falsevalue="" truevalue="-g"/>
+  </inputs>
+  <outputs>
+    <data format_source="in_file" hidden="false" name="default" label="$in_file.name split on N runs longer than $n"/>
+  </outputs>
+  <tests>
+    <test>
+      <param name="in_file" value="seqtk_cutn.fa"/>
+      <param name="n" value="1"/>
+      <output name="default" file="seqtk_cutn.out" ftype="fasta"/>
+    </test>
+  </tests>
+  <help><![CDATA[
+**What it does**
+
+Splits long sequences with runs of Ns
+
+::
+
+    >test
+    AACTGATCGATCGATCGNNNNNNNNNNNACATG
+
+This will be split into the component sequences without the ambiguity.
+
+::
+
+    >test:1-17
+    AACTGATCGATCGATCG
+    >test:29-33
+    ACATG
+
+
+@ATTRIBUTION@
+      ]]></help>
+</tool>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/seqtk_dropse.xml	Thu Feb 05 11:52:40 2015 -0500
@@ -0,0 +1,76 @@
+<?xml version="1.0"?>
+<tool id="seqtk_dropse" name="seqtk_dropse" version="@WRAPPER_VERSION@.0">
+  <description>drop unpaired from interleaved Paired End FASTA/Q</description>
+  <macros>
+    <import>macros.xml</import>
+  </macros>
+  <expand macro="requirements"/>
+  <expand macro="stdio"/>
+  <command><![CDATA[seqtk dropse
+      $in_file
+> $default]]></command>
+  <inputs>
+    <expand macro="in_faq"/>
+  </inputs>
+  <outputs>
+    <data format_source="in_file" hidden="false" name="default" label="Only paired-end reads from $in_file.name"/>
+  </outputs>
+  <tests>
+    <test>
+      <param name="in_file" value="seqtk_dropse.fq"/>
+      <output name="default" file="seqtk_dropse.out" ftype="fastq"/>
+    </test>
+  </tests>
+  <help><![CDATA[
+**What it does**
+
+Remove unpaired reads in an interleaved paired-end FASTA/Q file. Given a fastq file with unpaired reads:
+
+::
+
+    @test-6/1
+    AGCTTGACGC
+    +
+    ?.HCF@C>>F
+    @test-6/2
+    TGCGAAGACC
+    +
+    >2?A?A@@7?
+    @test-4/1
+    CTTGACGCTG
+    +
+    I@>3EFCG@C
+    @test-2/1
+    AGACCAAAAT
+    +
+    ??><6E?IFC
+    @test-2/2
+    CTGGCGAATT
+    +
+    ?=?*?A?<?@
+
+This tool will remove the offending reads (test-4/1), leaving just the paired data.
+
+::
+
+    @test-6/1
+    AGCTTGACGC
+    +
+    ?.HCF@C>>F
+    @test-6/2
+    TGCGAAGACC
+    +
+    >2?A?A@@7?
+    @test-2/1
+    AGACCAAAAT
+    +
+    ??><6E?IFC
+    @test-2/2
+    CTGGCGAATT
+    +
+    ?=?*?A?<?@
+
+
+@ATTRIBUTION@
+      ]]></help>
+</tool>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/seqtk_fqchk.xml	Thu Feb 05 11:52:40 2015 -0500
@@ -0,0 +1,58 @@
+<?xml version="1.0"?>
+<tool id="seqtk_fqchk" name="seqtk_fqchk" version="@WRAPPER_VERSION@.0">
+  <description>fastq QC (base/quality summary)</description>
+  <macros>
+    <import>macros.xml</import>
+  </macros>
+  <expand macro="requirements"/>
+  <expand macro="stdio"/>
+  <command><![CDATA[seqtk fqchk
+-q $q
+$in_file | awk '{if(NR<4){print "#"$0}else{print $0}}'
+> $default]]></command>
+  <inputs>
+    <expand macro="in_fq"/>
+    <param name="q" type="integer" value="20" label="quality values" help="use 0 to get the distribution of all quality values (-q)"/>
+  </inputs>
+  <outputs>
+    <data format="tabular" hidden="false" name="default" label="Quality information for $in_file.name"/>
+  </outputs>
+  <tests>
+    <test>
+      <param name="in_file" value="seqtk_fqchk.fq"/>
+      <output name="default" file="seqtk_fqchk.out" ftype="tabular"/>
+    </test>
+  </tests>
+  <help><![CDATA[
+**What it does**
+
+Returns quality score information base-by-base.
+
+::
+
+    @SEQ_ID1
+    GATTTGGGGTTCAAAGCAGTATCGATCAAATAGTAAATCCATTTGTTCAACTCACAGTTT
+    +
+    !''*((((***+))%%%++)(%%%%).1***-+*''))**55CCF>>>>>>CCCCCCC65
+
+each based is examined individually and information reported:
+
+::
+
+    #min_len: 60; max_len: 60; avg_len: 60.00; 15 distinct quality values
+    #POS  #bases  %A     %C    %G     %T     %N   avgQ  errQ  %low   %high
+    #ALL  60      31.7   16.7  18.3   33.3   0.0  15.1  8.7   66.7   33.3
+    1     1       0.0    0.0   100.0  0.0    0.0  0.0   3.0   100.0  0.0
+    2     1       100.0  0.0   0.0    0.0    0.0  6.0   6.0   100.0  0.0
+    3     1       0.0    0.0   0.0    100.0  0.0  6.0   6.0   100.0  0.0
+    4     1       0.0    0.0   0.0    100.0  0.0  9.0   9.0   100.0  0.0
+    5     1       0.0    0.0   0.0    100.0  0.0  7.0   7.0   100.0  0.0
+    6     1       0.0    0.0   100.0  0.0    0.0  7.0   7.0   100.0  0.0
+    7     1       0.0    0.0   100.0  0.0    0.0  7.0   7.0   100.0  0.0
+    8     1       0.0    0.0   100.0  0.0    0.0  7.0   7.0   100.0  0.0
+    9     1       0.0    0.0   100.0  0.0    0.0  9.0   9.0   100.0  0.0
+    10    1       0.0    0.0   0.0    100.0  0.0  9.0   9.0   100.0  0.0
+
+@ATTRIBUTION@
+]]></help>
+</tool>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/seqtk_hety.xml	Thu Feb 05 11:52:40 2015 -0500
@@ -0,0 +1,73 @@
+<?xml version="1.0"?>
+<tool id="seqtk_hety" name="seqtk_hety" version="@WRAPPER_VERSION@.0">
+  <description>regional heterozygosity</description>
+  <macros>
+    <import>macros.xml</import>
+  </macros>
+  <expand macro="requirements"/>
+  <expand macro="stdio"/>
+  <command><![CDATA[seqtk hety -w $w
+-t $t
+$m
+$in_file | awk 'BEGIN{print "#chr\tstart\tend\tA\tB\tnum_het"}1'
+> $default]]></command>
+  <inputs>
+    <expand macro="in_faq"/>
+    <param label="window size" help="(-w)" name="w" type="integer" value="50000"/>
+    <param label="# start positions in a window" help="(-t)" name="t" type="integer" value="5"/>
+    <param checked="false" label="treat lowercases as masked" help="(-m)" name="m" type="boolean" falsevalue="" truevalue="-m"/>
+  </inputs>
+  <outputs>
+    <data format="tabular" hidden="false" name="default" label="Heterozygous regions in $in_file.name"/>
+  </outputs>
+  <tests>
+    <test>
+      <param name="in_file" value="seqtk_hety.fa"/>
+      <param name="w" value="8"/>
+      <output name="default" file="seqtk_hety.out" ftype="tabular"/>
+    </test>
+  </tests>
+  <help><![CDATA[
+**What it does**
+
+Reports on heterozygosity over a region
+
+::
+
+    >het_region
+    ACTTTACATCGAGCMMMMMMMACAGTACTG
+
+As can be seen in the following output:
+
+::
+
+    #chr        start  end  A       B   num_het
+    het_region  0      8    0.00    8   0
+    het_region  8      9    0.00    8   0
+    het_region  9      10   0.00    8   0
+    het_region  10     11   0.00    8   0
+    het_region  11     12   0.00    8   0
+    het_region  12     13   0.00    8   0
+    het_region  13     14   0.00    8   0
+    het_region  14     15   1.00    8   1
+    het_region  15     16   2.00    8   2
+    het_region  16     17   3.00    8   3
+    het_region  17     18   4.00    8   4
+    het_region  18     19   5.00    8   5
+    het_region  19     20   6.00    8   6
+    het_region  20     21   7.00    8   7
+    het_region  21     22   7.00    8   7
+    het_region  22     23   6.00    8   6
+    het_region  23     24   5.00    8   5
+    het_region  24     25   4.00    8   4
+    het_region  25     26   3.00    8   3
+    het_region  26     27   2.00    8   2
+    het_region  27     28   1.00    8   1
+    het_region  28     29   0.00    8   0
+    het_region  29     30   0.00    1   0
+
+If you know what A and B are measures of, please `submit an issue <https://github.com/galaxyproject/tools-iuc/issues>`__ and it will be corrected
+
+@ATTRIBUTION@
+]]></help>
+</tool>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/seqtk_listhet.xml	Thu Feb 05 11:52:40 2015 -0500
@@ -0,0 +1,47 @@
+<?xml version="1.0"?>
+<tool id="seqtk_listhet" name="seqtk_listhet" version="@WRAPPER_VERSION@.0">
+  <description>extract the position of each het</description>
+  <macros>
+    <import>macros.xml</import>
+  </macros>
+  <expand macro="requirements"/>
+  <expand macro="stdio"/>
+  <command><![CDATA[seqtk listhet $in_file  | awk 'BEGIN{print "#chr\tposition\tbase"}1' > $default]]></command>
+  <inputs>
+    <expand macro="in_faq"/>
+  </inputs>
+  <outputs>
+    <data format="tabular" hidden="false" name="default" label="Positions of heterozygous bases in $in_file.name"/>
+  </outputs>
+  <tests>
+    <test>
+      <param name="in_file" value="seqtk_listhet.fa"/>
+      <output name="default" file="seqtk_listhet.out" ftype="tabular"/>
+    </test>
+  </tests>
+  <help><![CDATA[
+**What it does**
+
+Lists regions of heterozygosity.
+
+::
+
+    >ambig
+    ACGTMRWSYKVHDBN
+
+The seqtk suite recognises MRWSYK:
+
+::
+
+    #chr    position  base
+    ambig   5         M
+    ambig   6         R
+    ambig   7         W
+    ambig   8         S
+    ambig   9         Y
+    ambig   10        K
+
+
+@ATTRIBUTION@
+]]></help>
+</tool>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/seqtk_mergefa.xml	Thu Feb 05 11:52:40 2015 -0500
@@ -0,0 +1,68 @@
+<?xml version="1.0"?>
+<tool id="seqtk_mergefa" name="seqtk_mergefa" version="@WRAPPER_VERSION@.0">
+  <description>merge two FASTA/Q files</description>
+  <macros>
+    <import>macros.xml</import>
+  </macros>
+  <expand macro="requirements"/>
+  <expand macro="stdio"/>
+  <command><![CDATA[seqtk mergefa -q $q
+$i
+$m
+$r
+$h
+
+$in_fa1
+$in_fa2
+
+> $default]]></command>
+  <inputs>
+    <param name="in_fa1" type="data" format="fasta,fastq" label="Input FASTA/Q file #1"/>
+    <param name="in_fa2" type="data" format="fasta,fastq" label="Input FASTA/Q file #2"/>
+    <param label="quality threshold" help="(-q)" name="q" type="integer" value="0"/>
+    <param checked="false" label="take intersection" help="(-i)" name="i" type="boolean" falsevalue="" truevalue="-i"/>
+    <param checked="false" label="convert to lowercase when one of the input base is N" help="(-m)" name="m" type="boolean" falsevalue="" truevalue="-m"/>
+    <param checked="false" label="pick a random allele from het" help="(-r)" name="r" type="boolean" falsevalue="" truevalue="-r"/>
+    <param checked="false" label="suppress hets in the input" help="(-h)" name="h" type="boolean" falsevalue="" truevalue="-h"/>
+  </inputs>
+  <outputs>
+    <data format_source="in_fa1" hidden="false" name="default" label="Merger of $in_fa1.name and $in_fa2.name"/>
+  </outputs>
+  <tests>
+    <test>
+      <param name="in_fa1" value="seqtk_mergefa1.fa"/>
+      <param name="in_fa2" value="seqtk_mergefa2.fa"/>
+      <output name="default" file="seqtk_mergefa.out" ftype="fasta"/>
+    </test>
+    <test>
+      <param name="in_fa1" value="seqtk_mergefa1.fa"/>
+      <param name="in_fa2" value="seqtk_mergefa2.fa"/>
+      <param name="m" value="True" />
+      <output name="default" file="seqtk_mergefa2.out" ftype="fasta"/>
+    </test>
+  </tests>
+  <help><![CDATA[
+**What it does**
+
+Merges two fasta files, using ambiguity codes
+
+::
+
+    # seq1.fa
+    >test0
+    ACTGACTGAAA
+
+    # seq2.fa
+    >test0
+    ACTGAMTGCGN
+
+In the following the `-m` option has been set to highlight seqtk-mergefa's features.
+
+::
+
+    >test0
+    ACTGACTGxxa
+
+@ATTRIBUTION@
+]]></help>
+</tool>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/seqtk_mergepe.xml	Thu Feb 05 11:52:40 2015 -0500
@@ -0,0 +1,93 @@
+<?xml version="1.0"?>
+<tool id="seqtk_mergepe" name="seqtk_mergepe" version="@WRAPPER_VERSION@.0">
+  <description>interleave two unpaired FASTA/Q files for a paired-end file</description>
+  <macros>
+    <import>macros.xml</import>
+  </macros>
+  <expand macro="requirements"/>
+  <expand macro="stdio"/>
+  <command><![CDATA[seqtk mergepe
+      $in_fq1
+      $in_fq2
+> $default]]></command>
+  <inputs>
+    <param name="in_fq1" type="data" format="fasta,fastq" label="Input FASTA/Q file #1"/>
+    <param name="in_fq2" type="data" format="fasta,fastq" label="Input FASTA/Q file #2"/>
+  </inputs>
+  <outputs>
+      <data format_source="in_fq1" hidden="false" name="default" label="$in_fq1.name and $in_fq2.name as interleaved paired-end"/>
+  </outputs>
+  <tests>
+    <test>
+      <param name="in_fq1" value="paired_dat1.fq"/>
+      <param name="in_fq2" value="paired_dat2.fq"/>
+      <output name="default" file="paired_dat.fq" ftype="fastq"/>
+    </test>
+  </tests>
+  <help><![CDATA[
+**What it does**
+
+Merge two files which constitute a paired-end file into a single, interleaved, paired-end FASTA/Q file
+
+::
+
+    # r1.fq
+    @test-6/1
+    AGCTTGACGC
+    +
+    ?.HCF@C>>F
+
+    # r2.fq
+    @test-6/2
+    TGCGAAGACC
+    +
+    >2?A?A@@7?
+
+will produce the following paired file:
+
+::
+
+    @test-6/1
+    AGCTTGACGC
+    +
+    ?.HCF@C>>F
+    @test-6/2
+    TGCGAAGACC
+    +
+    >2?A?A@@7?
+
+While this may not have been an illuminating example, it is important to note
+that this tool will properly interleave data. For example if you have the ids:
+
+::
+
+    @r-1/1
+    @r-2/1
+    @r-3/1
+    @r-4/1
+
+and
+
+::
+
+    @r-1/2
+    @r-2/2
+    @r-3/2
+    @r-4/2
+
+These will be interleaved as
+
+::
+
+    @r-1/1
+    @r-1/2
+    @r-2/1
+    @r-2/2
+    @r-3/1
+    @r-3/2
+    @r-4/1
+    @r-4/2
+
+@ATTRIBUTION@
+]]></help>
+</tool>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/seqtk_mutfa.xml	Thu Feb 05 11:52:40 2015 -0500
@@ -0,0 +1,51 @@
+<?xml version="1.0"?>
+<tool id="seqtk_mutfa" name="seqtk_mutfa" version="@WRAPPER_VERSION@.0">
+  <description>point mutate FASTA at specified positions</description>
+  <macros>
+    <import>macros.xml</import>
+  </macros>
+  <expand macro="requirements"/>
+  <expand macro="stdio"/>
+  <command><![CDATA[seqtk mutfa
+      $in_file $in_snp
+> $default]]></command>
+  <inputs>
+    <expand macro="in_faq"/>
+    <param name="in_snp" type="data" format="tabular" label="Input SNP file"/>
+  </inputs>
+  <outputs>
+    <data format_source="in_file" hidden="false" name="default" label="Mutated $in_file.name"/>
+  </outputs>
+  <tests>
+    <test>
+      <param name="in_file" value="seqtk_mutfa.fa"/>
+      <param name="in_snp" value="seqtk_mutfa.snp"/>
+      <output name="default" file="seqtk_mutfa.out" ftype="fasta"/>
+    </test>
+  </tests>
+  <help><![CDATA[
+**What it does**
+
+the SNP inputs consist of 4 columns: chromosome, 1-based-pos, any, base-changed-to.
+
+::
+
+    # Input fasta
+    >test0
+    ACTGACTGAA
+
+    # Input SNP file
+    test0 1 . G
+    test0 4 . A
+
+This will effect the desired mutations in the output file
+
+::
+
+    # Output result
+    >test0
+    GCTAACTGAA
+
+@ATTRIBUTION@
+]]></help>
+</tool>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/seqtk_randbase.xml	Thu Feb 05 11:52:40 2015 -0500
@@ -0,0 +1,45 @@
+<?xml version="1.0"?>
+<tool id="seqtk_randbase" name="seqtk_randbase" version="@WRAPPER_VERSION@.0">
+  <description>choose a random base from hets</description>
+  <macros>
+    <import>macros.xml</import>
+  </macros>
+  <expand macro="requirements"/>
+  <expand macro="stdio"/>
+  <command><![CDATA[seqtk randbase
+      $in_file
+> $default]]></command>
+  <inputs>
+    <expand macro="in_faq"/>
+  </inputs>
+  <outputs>
+    <data format_source="in_file" hidden="false" name="default" label="Unambiguous $in_file.name"/>
+  </outputs>
+  <tests>
+    <test>
+      <param name="in_file" value="seqtk_randbase.fa"/>
+      <output name="default" file="seqtk_randbase.out" ftype="fasta"/>
+    </test>
+  </tests>
+  <help><![CDATA[
+**What it does**
+
+Randomly resolves ambiguous bases
+
+::
+
+    # Input fasta
+    >ambig
+    ACGTMRWSYK
+
+results in
+
+::
+
+    # Output result
+    >ambig
+    ACGTCGTGTT
+
+@ATTRIBUTION@
+]]></help>
+</tool>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/seqtk_sample.xml	Thu Feb 05 11:52:40 2015 -0500
@@ -0,0 +1,38 @@
+<?xml version="1.0"?>
+<tool id="seqtk_sample" name="seqtk_sample" version="@WRAPPER_VERSION@.0">
+  <description/>
+  <macros>
+    <import>macros.xml</import>
+  </macros>
+  <expand macro="requirements"/>
+  <expand macro="stdio"/>
+  <command><![CDATA[seqtk sample -s $s
+      $in_file
+      $subsample_size
+> $default]]></command>
+  <inputs>
+    <expand macro="in_faq" />
+    <param label="RNG seed" help="(-s)" name="s" type="integer" value="4"/>
+    <param label="Subsample (decimal fraction or number)" name="subsample_size" type="integer" value="100"/>
+  </inputs>
+  <outputs>
+    <data format_source="in_file" hidden="false" name="default" label="Subsample of reads from $in_file.name"/>
+  </outputs>
+  <tests>
+    <test>
+      <param name="in_file" value="seqtk_sample.fa"/>
+      <param name="subsample_size" value="4"/>
+      <param name="s" value="4"/>
+      <output name="default" file="seqtk_sample.out" ftype="fasta"/>
+    </test>
+  </tests>
+  <help><![CDATA[
+**What it does**
+
+Takes a random subsample of fasta or fastq sequences. The RNG is seedable to allow for reproducible results, and defaults to `4 <http://xkcd.com/221/>`__.
+
+The subsample size can be a decimal fraction <=1, where 1 implies 100% of the reads should be used. If a number >1 is provided, that many reads will be taken from the dataset.
+
+@ATTRIBUTION@
+]]></help>
+</tool>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/seqtk_seq.xml	Thu Feb 05 11:52:40 2015 -0500
@@ -0,0 +1,76 @@
+<?xml version="1.0"?>
+<tool id="seqtk_seq" name="seqtk_seq" version="@WRAPPER_VERSION@.0">
+  <description>common transformation of FASTA/Q</description>
+  <macros>
+    <import>macros.xml</import>
+  </macros>
+  <expand macro="requirements"/>
+  <expand macro="stdio"/>
+  <command><![CDATA[seqtk seq -q $q
+-X $X
+#if $n and $n != "None" and $n is not None and $n != "":
+-n "$n"
+#end if
+-l $l
+-Q $Q
+-s $s
+-f $f
+#if $M and $M != "None" and $M is not None and $M != "":
+-M "$M"
+#end if
+-L $L
+$c
+$r
+$A
+$C
+$N
+$x1
+$x2
+$V
+
+$in_file
+> $default]]></command>
+  <inputs>
+    <expand macro="in_faq"/>
+    <param label="mask bases with quality lower than INT" help="(-q)" name="q" type="integer" value="0"/>
+    <param label="mask bases with quality higher than INT" help="(-X)" name="X" type="integer" value="255"/>
+    <param area="false" default="0" label="masked bases converted to CHAR; 0 for lowercase" help="(-n)" name="n" type="text"/>
+    <param label="number of residues per line; 0 for 2^32-1" help="(-l)" name="l" type="integer" value="0"/>
+    <param label="quality shift: ASCII-INT gives base quality" help="(-Q)" name="Q" type="integer" value="33"/>
+    <param label="random seed" help="effective with -f (-s)" name="s" type="integer" value="11"/>
+    <param label="sample fraction of sequences" help="(-f)" name="f" type="float" value="1"/>
+    <param area="false" default="null" label="mask regions in BED or name list FILE" help="(-M)" name="M" type="text"/>
+    <param label="drop sequences with length shorter than INT" help="(-L)" name="L" type="integer" value="0"/>
+    <param checked="false" label="mask complement region" help="effective with -M (-c)" name="c" type="boolean" falsevalue="" truevalue="-c"/>
+    <param checked="false" label="reverse complement" help="(-r)" name="r" type="boolean" falsevalue="" truevalue="-r"/>
+    <param checked="false" label="force FASTA output (discard quality)" help="(-A)" name="A" type="boolean" falsevalue="" truevalue="-A"/>
+    <param checked="false" label="drop comments at the header lines" help="(-C)" name="C" type="boolean" falsevalue="" truevalue="-C"/>
+    <param checked="false" label="drop sequences containing ambiguous bases" help="(-N)" name="N" type="boolean" falsevalue="" truevalue="-N"/>
+    <param checked="false" label="output the 2n-1 reads only" help="(-1)" name="x1" type="boolean" falsevalue="" truevalue="-1"/>
+    <param checked="false" label="output the 2n reads only" help="(-2)" name="x2" type="boolean" falsevalue="" truevalue="-2"/>
+    <param checked="false" label="shift quality by '(-Q) - 33' " help="(-V)" name="V" type="boolean" falsevalue="" truevalue="-V"/>
+  </inputs>
+  <outputs>
+    <data format_source="in_file" hidden="false" name="default"/>
+  </outputs>
+  <tests>
+    <test>
+      <!-- This is a sorry excuse for a test for a tool which does way more
+           than it should, but upstream decided to put a TON of functionality
+           into a single tool rather than using the single responsibility
+           principle. -->
+      <param name="in_file" value="seqtk_seq.fa"/>
+      <param name="r" value="True"/>
+      <param name="n" value=""/>
+      <param name="M" value=""/>
+      <output name="default" file="seqtk_seq_revcom.fa" ftype="fasta"/>
+    </test>
+  </tests>
+  <help><![CDATA[
+**What it does**
+
+Various utilities for transforming FASTA/Q data
+
+@ATTRIBUTION@
+]]></help>
+</tool>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/seqtk_subseq.xml	Thu Feb 05 11:52:40 2015 -0500
@@ -0,0 +1,83 @@
+<?xml version="1.0"?>
+<tool id="seqtk_subseq" name="seqtk_subseq" version="@WRAPPER_VERSION@.0">
+  <description>extract subsequences from FASTA/Q files</description>
+  <macros>
+    <import>macros.xml</import>
+  </macros>
+  <expand macro="requirements"/>
+  <expand macro="stdio"/>
+  <command><![CDATA[seqtk subseq $t
+-l $l
+$in_file
+
+#if $source.type == 'bed':
+  $in_bed
+#else
+  $name_list
+#end if
+
+#if $t == '-t':
+ | awk 'BEGIN{print "chr\tunknown\tseq"}1'
+#end if
+
+> $default]]></command>
+  <inputs>
+    <param name="in_file" type="data" format="fasta,fastq" label="Input fasta/q file"/>
+    <conditional name="source">
+      <param name="type" type="select" label="Select source of sequence choices">
+        <option value="bed">BED</option>
+        <option value="name">FASTA/Q ID list</option>
+      </param>
+      <when value="bed">
+        <param name="in_bed" type="data" format="bed" label="Input BED file"/>
+      </when>
+      <when value="name">
+        <param name="name_list" type="data" format="txt" label="Input fasta file"/>
+      </when>
+    </conditional>
+    <param label="TAB delimited output" help="(-t)" name="t" type="boolean" falsevalue="" truevalue="-t"/>
+    <param label="sequence line length" help="(-l)" name="l" type="integer" value="0"/>
+  </inputs>
+  <outputs>
+    <data format_source="in_file" hidden="false" name="default" label="Selected sequences from $in_file.name">
+      <change_format>
+        <when input="t" value="-t" format="tabular"/>
+      </change_format>
+    </data>
+  </outputs>
+  <tests>
+    <test>
+      <param name="in_file" value="seqtk_subseq.fa"/>
+      <param name="type" value="name"/>
+      <param name="t" value="False" />
+      <param name="name_list" value="seqtk_subseq_list.txt"/>
+      <output name="default" file="seqtk_subseq.out" ftype="fasta"/>
+    </test>
+  </tests>
+  <help><![CDATA[
+**What it does**
+
+Given a list of newline separated IDs from a fasta file, this will extract those named fasta sequences from the input file.
+
+::
+
+    # Input ID list
+    seq1
+
+    # Input fasta
+    >seq1
+    ACGTMRWSYK
+    >seq2
+    RWSYKACGTM
+
+results in
+
+::
+
+    # Output result
+    >seq1
+    ACGTMRWSYK
+
+@ATTRIBUTION@
+]]></help>
+</tool>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/seqtk_trimfq.xml	Thu Feb 05 11:52:40 2015 -0500
@@ -0,0 +1,62 @@
+<?xml version="1.0"?>
+<tool id="seqtk_trimfq" name="seqtk_trimfq" version="@WRAPPER_VERSION@.0">
+  <description>trim FASTQ using the Phred algorithm</description>
+  <macros>
+    <import>macros.xml</import>
+  </macros>
+  <expand macro="requirements"/>
+  <expand macro="stdio"/>
+  <command><![CDATA[seqtk trimfq
+#if $mode.mode_select == "quality":
+-q $mode.q
+-l $mode.l
+#else:
+-b $mode.b
+-e $mode.e
+#end if
+$in_file
+> $default]]></command>
+  <inputs>
+    <expand macro="in_faq"/>
+    <conditional name="mode">
+        <param name="mode_select" type="select" label="Mode for trimming FASTQ File">
+            <option value="quality">Quality</option>
+            <option value="position">Length/Position</option>
+        </param>
+        <when value="quality">
+            <param label="error rate threshold" help="(-q)" name="q" type="float" value="0.05"/>
+            <param label="maximally trim down to INT bp" help="(-l)" name="l" type="integer" value="30"/>
+        </when>
+        <when value="position">
+            <param label="trim INT bp from left" help="(-b)" name="b" type="integer" value="0"/>
+            <param label="trim INT bp from right" help="(-e)" name="e" type="integer" value="0"/>
+        </when>
+    </conditional>
+  </inputs>
+  <outputs>
+    <data format_source="in_file" hidden="false" name="default" label="$in_file.name trimmed"/>
+  </outputs>
+  <tests>
+    <test>
+      <param name="in_file" value="seqtk_trimfq.fq"/>
+      <param name="mode_select" value="quality"/>
+      <param name="q" value="0.05"/>
+      <param name="l" value="30"/>
+      <output name="default" file="seqtk_trimfq_default.fq" ftype="fastq"/>
+    </test>
+    <test>
+      <param name="in_file" value="seqtk_trimfq.fq"/>
+      <param name="mode_select" value="position"/>
+      <param name="b" value="5"/>
+      <param name="e" value="5"/>
+      <output name="default" file="seqtk_trimfq_be.fq" ftype="fastq"/>
+    </test>
+  </tests>
+  <help><![CDATA[
+**What it does**
+
+Trim a fastq file based on Phred scores, or by length
+
+@ATTRIBUTION@
+]]></help>
+</tool>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/paired_dat.fq	Thu Feb 05 11:52:40 2015 -0500
@@ -0,0 +1,24 @@
+@test-6/1
+AGCTTGACGC
++
+?.HCF@C>>F
+@test-6/2
+TGCGAAGACC
++
+>2?A?A@@7?
+@test-4/1
+CTTGACGCTG
++
+I@>3EFCG@C
+@test-4/2
+TGCGAAGACC
++
+A?A@@B@<BC
+@test-2/1
+AGACCAAAAT
++
+??><6E?IFC
+@test-2/2
+CTGGCGAATT
++
+?=?*?A?<?@
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/paired_dat1.fq	Thu Feb 05 11:52:40 2015 -0500
@@ -0,0 +1,12 @@
+@test-6/1
+AGCTTGACGC
++
+?.HCF@C>>F
+@test-4/1
+CTTGACGCTG
++
+I@>3EFCG@C
+@test-2/1
+AGACCAAAAT
++
+??><6E?IFC
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/paired_dat2.fq	Thu Feb 05 11:52:40 2015 -0500
@@ -0,0 +1,12 @@
+@test-6/2
+TGCGAAGACC
++
+>2?A?A@@7?
+@test-4/2
+TGCGAAGACC
++
+A?A@@B@<BC
+@test-2/2
+CTGGCGAATT
++
+?=?*?A?<?@
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/seqtk_comp.fa	Thu Feb 05 11:52:40 2015 -0500
@@ -0,0 +1,5 @@
+>test0
+ACTGACTGAA
+>ambig_ref
+ACGTCGTGTTVHDBN
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/seqtk_comp.out	Thu Feb 05 11:52:40 2015 -0500
@@ -0,0 +1,3 @@
+#chr	length	#A	#C	#G	#T	#2	#3	#4	#CpG	#tv	#ts	#CpG-ts
+test0	10	4	2	2	2	0	0	0	0	0	0	0
+ambig_ref	15	1	2	3	4	0	4	1	4	0	0	0
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/seqtk_cutn.fa	Thu Feb 05 11:52:40 2015 -0500
@@ -0,0 +1,3 @@
+>test
+AACTGATCGATCGATCGNNNNNNNNNNNACATG
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/seqtk_cutn.out	Thu Feb 05 11:52:40 2015 -0500
@@ -0,0 +1,4 @@
+>test:1-17
+AACTGATCGATCGATCG
+>test:29-33
+ACATG
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/seqtk_dropse.fq	Thu Feb 05 11:52:40 2015 -0500
@@ -0,0 +1,20 @@
+@test-6/1
+AGCTTGACGC
++
+?.HCF@C>>F
+@test-6/2
+TGCGAAGACC
++
+>2?A?A@@7?
+@test-4/2
+TGCGAAGACC
++
+A?A@@B@<BC
+@test-2/1
+AGACCAAAAT
++
+??><6E?IFC
+@test-2/2
+CTGGCGAATT
++
+?=?*?A?<?@
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/seqtk_dropse.out	Thu Feb 05 11:52:40 2015 -0500
@@ -0,0 +1,16 @@
+@test-6/1
+AGCTTGACGC
++
+?.HCF@C>>F
+@test-6/2
+TGCGAAGACC
++
+>2?A?A@@7?
+@test-2/1
+AGACCAAAAT
++
+??><6E?IFC
+@test-2/2
+CTGGCGAATT
++
+?=?*?A?<?@
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/seqtk_fqchk.fq	Thu Feb 05 11:52:40 2015 -0500
@@ -0,0 +1,4 @@
+@SEQ_ID1
+GATTTGGGGTTCAAAGCAGTATCGATCAAATAGTAAATCCATTTGTTCAACTCACAGTTT
++
+!''*((((***+))%%%++)(%%%%).1***-+*''))**55CCF>>>>>>CCCCCCC65
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/seqtk_fqchk.out	Thu Feb 05 11:52:40 2015 -0500
@@ -0,0 +1,63 @@
+#min_len: 60; max_len: 60; avg_len: 60.00; 15 distinct quality values
+#POS	#bases	%A	%C	%G	%T	%N	avgQ	errQ	%low	%high
+#ALL	60	31.7	16.7	18.3	33.3	0.0	15.1	8.7	66.7	33.3
+1	1	0.0	0.0	100.0	0.0	0.0	0.0	3.0	100.0	0.0
+2	1	100.0	0.0	0.0	0.0	0.0	6.0	6.0	100.0	0.0
+3	1	0.0	0.0	0.0	100.0	0.0	6.0	6.0	100.0	0.0
+4	1	0.0	0.0	0.0	100.0	0.0	9.0	9.0	100.0	0.0
+5	1	0.0	0.0	0.0	100.0	0.0	7.0	7.0	100.0	0.0
+6	1	0.0	0.0	100.0	0.0	0.0	7.0	7.0	100.0	0.0
+7	1	0.0	0.0	100.0	0.0	0.0	7.0	7.0	100.0	0.0
+8	1	0.0	0.0	100.0	0.0	0.0	7.0	7.0	100.0	0.0
+9	1	0.0	0.0	100.0	0.0	0.0	9.0	9.0	100.0	0.0
+10	1	0.0	0.0	0.0	100.0	0.0	9.0	9.0	100.0	0.0
+11	1	0.0	0.0	0.0	100.0	0.0	9.0	9.0	100.0	0.0
+12	1	0.0	100.0	0.0	0.0	0.0	10.0	10.0	100.0	0.0
+13	1	100.0	0.0	0.0	0.0	0.0	8.0	8.0	100.0	0.0
+14	1	100.0	0.0	0.0	0.0	0.0	8.0	8.0	100.0	0.0
+15	1	100.0	0.0	0.0	0.0	0.0	4.0	4.0	100.0	0.0
+16	1	0.0	0.0	100.0	0.0	0.0	4.0	4.0	100.0	0.0
+17	1	0.0	100.0	0.0	0.0	0.0	4.0	4.0	100.0	0.0
+18	1	100.0	0.0	0.0	0.0	0.0	10.0	10.0	100.0	0.0
+19	1	0.0	0.0	100.0	0.0	0.0	10.0	10.0	100.0	0.0
+20	1	0.0	0.0	0.0	100.0	0.0	8.0	8.0	100.0	0.0
+21	1	100.0	0.0	0.0	0.0	0.0	7.0	7.0	100.0	0.0
+22	1	0.0	0.0	0.0	100.0	0.0	4.0	4.0	100.0	0.0
+23	1	0.0	100.0	0.0	0.0	0.0	4.0	4.0	100.0	0.0
+24	1	0.0	0.0	100.0	0.0	0.0	4.0	4.0	100.0	0.0
+25	1	100.0	0.0	0.0	0.0	0.0	4.0	4.0	100.0	0.0
+26	1	0.0	0.0	0.0	100.0	0.0	8.0	8.0	100.0	0.0
+27	1	0.0	100.0	0.0	0.0	0.0	13.0	13.0	100.0	0.0
+28	1	100.0	0.0	0.0	0.0	0.0	16.0	16.0	100.0	0.0
+29	1	100.0	0.0	0.0	0.0	0.0	9.0	9.0	100.0	0.0
+30	1	100.0	0.0	0.0	0.0	0.0	9.0	9.0	100.0	0.0
+31	1	0.0	0.0	0.0	100.0	0.0	9.0	9.0	100.0	0.0
+32	1	100.0	0.0	0.0	0.0	0.0	12.0	12.0	100.0	0.0
+33	1	0.0	0.0	100.0	0.0	0.0	10.0	10.0	100.0	0.0
+34	1	0.0	0.0	0.0	100.0	0.0	9.0	9.0	100.0	0.0
+35	1	100.0	0.0	0.0	0.0	0.0	6.0	6.0	100.0	0.0
+36	1	100.0	0.0	0.0	0.0	0.0	6.0	6.0	100.0	0.0
+37	1	100.0	0.0	0.0	0.0	0.0	8.0	8.0	100.0	0.0
+38	1	0.0	0.0	0.0	100.0	0.0	8.0	8.0	100.0	0.0
+39	1	0.0	100.0	0.0	0.0	0.0	9.0	9.0	100.0	0.0
+40	1	0.0	100.0	0.0	0.0	0.0	9.0	9.0	100.0	0.0
+41	1	100.0	0.0	0.0	0.0	0.0	20.0	20.0	0.0	100.0
+42	1	0.0	0.0	0.0	100.0	0.0	20.0	20.0	0.0	100.0
+43	1	0.0	0.0	0.0	100.0	0.0	34.0	34.0	0.0	100.0
+44	1	0.0	0.0	0.0	100.0	0.0	34.0	34.0	0.0	100.0
+45	1	0.0	0.0	100.0	0.0	0.0	37.0	37.0	0.0	100.0
+46	1	0.0	0.0	0.0	100.0	0.0	29.0	29.0	0.0	100.0
+47	1	0.0	0.0	0.0	100.0	0.0	29.0	29.0	0.0	100.0
+48	1	0.0	100.0	0.0	0.0	0.0	29.0	29.0	0.0	100.0
+49	1	100.0	0.0	0.0	0.0	0.0	29.0	29.0	0.0	100.0
+50	1	100.0	0.0	0.0	0.0	0.0	29.0	29.0	0.0	100.0
+51	1	0.0	100.0	0.0	0.0	0.0	29.0	29.0	0.0	100.0
+52	1	0.0	0.0	0.0	100.0	0.0	34.0	34.0	0.0	100.0
+53	1	0.0	100.0	0.0	0.0	0.0	34.0	34.0	0.0	100.0
+54	1	100.0	0.0	0.0	0.0	0.0	34.0	34.0	0.0	100.0
+55	1	0.0	100.0	0.0	0.0	0.0	34.0	34.0	0.0	100.0
+56	1	100.0	0.0	0.0	0.0	0.0	34.0	34.0	0.0	100.0
+57	1	0.0	0.0	100.0	0.0	0.0	34.0	34.0	0.0	100.0
+58	1	0.0	0.0	0.0	100.0	0.0	34.0	34.0	0.0	100.0
+59	1	0.0	0.0	0.0	100.0	0.0	21.0	21.0	0.0	100.0
+60	1	0.0	0.0	0.0	100.0	0.0	20.0	20.0	0.0	100.0
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/seqtk_hety.fa	Thu Feb 05 11:52:40 2015 -0500
@@ -0,0 +1,3 @@
+>het_region
+ACTTTACATCGAGCMMMMMMMACAGTACTG
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/seqtk_hety.out	Thu Feb 05 11:52:40 2015 -0500
@@ -0,0 +1,24 @@
+#chr	start	end	A	B	num_het
+het_region	0	8	0.00	8	0
+het_region	8	9	0.00	8	0
+het_region	9	10	0.00	8	0
+het_region	10	11	0.00	8	0
+het_region	11	12	0.00	8	0
+het_region	12	13	0.00	8	0
+het_region	13	14	0.00	8	0
+het_region	14	15	1.00	8	1
+het_region	15	16	2.00	8	2
+het_region	16	17	3.00	8	3
+het_region	17	18	4.00	8	4
+het_region	18	19	5.00	8	5
+het_region	19	20	6.00	8	6
+het_region	20	21	7.00	8	7
+het_region	21	22	7.00	8	7
+het_region	22	23	6.00	8	6
+het_region	23	24	5.00	8	5
+het_region	24	25	4.00	8	4
+het_region	25	26	3.00	8	3
+het_region	26	27	2.00	8	2
+het_region	27	28	1.00	8	1
+het_region	28	29	0.00	8	0
+het_region	29	30	0.00	1	0
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/seqtk_listhet.fa	Thu Feb 05 11:52:40 2015 -0500
@@ -0,0 +1,3 @@
+>ambig
+ACGTMRWSYKVHDBN
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/seqtk_listhet.out	Thu Feb 05 11:52:40 2015 -0500
@@ -0,0 +1,7 @@
+#chr	position	base
+ambig	5	M
+ambig	6	R
+ambig	7	W
+ambig	8	S
+ambig	9	Y
+ambig	10	K
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/seqtk_mergefa.out	Thu Feb 05 11:52:40 2015 -0500
@@ -0,0 +1,2 @@
+>test0
+ACTGAMTGMRN
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/seqtk_mergefa1.fa	Thu Feb 05 11:52:40 2015 -0500
@@ -0,0 +1,2 @@
+>test0
+ACTGACTGAAA
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/seqtk_mergefa2.fa	Thu Feb 05 11:52:40 2015 -0500
@@ -0,0 +1,2 @@
+>test0
+ACTGAMTGCGN
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/seqtk_mergefa2.out	Thu Feb 05 11:52:40 2015 -0500
@@ -0,0 +1,2 @@
+>test0
+ACTGACTGxxa
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/seqtk_mutfa.fa	Thu Feb 05 11:52:40 2015 -0500
@@ -0,0 +1,2 @@
+>test0
+ACTGACTGAA
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/seqtk_mutfa.out	Thu Feb 05 11:52:40 2015 -0500
@@ -0,0 +1,2 @@
+>test0
+GCTAACTGAA
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/seqtk_mutfa.snp	Thu Feb 05 11:52:40 2015 -0500
@@ -0,0 +1,2 @@
+test0 1 . G
+test0 4 . A
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/seqtk_randbase.fa	Thu Feb 05 11:52:40 2015 -0500
@@ -0,0 +1,2 @@
+>ambig
+ACGTMRWSYK
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/seqtk_randbase.out	Thu Feb 05 11:52:40 2015 -0500
@@ -0,0 +1,2 @@
+>ambig
+ACGTCGTGTT
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/seqtk_sample.fa	Thu Feb 05 11:52:40 2015 -0500
@@ -0,0 +1,27 @@
+>seq0
+AAAAAAAAAA
+AAAAAAAAAA
+>seq1
+TTTTTTTTTT
+TTTTTTTTTT
+>seq2
+CCCCCCCCCC
+CCCCCCCCCC
+>seq3
+GGGGGGGGGG
+GGGGGGGGGG
+>seq4
+AAAAAAAAAA
+TTTTTTTTTT
+>seq5
+AAAAAAAAAA
+CCCCCCCCCC
+>seq6
+AAAAAAAAAA
+GGGGGGGGGG
+>seq7
+TTTTTTTTTT
+CCCCCCCCCC
+>seq8
+TTTTTTTTTT
+GGGGGGGGGG
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/seqtk_sample.out	Thu Feb 05 11:52:40 2015 -0500
@@ -0,0 +1,8 @@
+>seq7
+TTTTTTTTTTCCCCCCCCCC
+>seq1
+TTTTTTTTTTTTTTTTTTTT
+>seq4
+AAAAAAAAAATTTTTTTTTT
+>seq3
+GGGGGGGGGGGGGGGGGGGG
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/seqtk_seq.fa	Thu Feb 05 11:52:40 2015 -0500
@@ -0,0 +1,3 @@
+>test
+AACTGATCGATCGATCGNNNNNNNNNNNACATG
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/seqtk_seq_revcom.fa	Thu Feb 05 11:52:40 2015 -0500
@@ -0,0 +1,2 @@
+>test
+CATGTNNNNNNNNNNNCGATCGATCGATCAGTT
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/seqtk_subseq.fa	Thu Feb 05 11:52:40 2015 -0500
@@ -0,0 +1,4 @@
+>seq1
+ACGTMRWSYK
+>seq2
+RWSYKACGTM
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/seqtk_subseq.out	Thu Feb 05 11:52:40 2015 -0500
@@ -0,0 +1,2 @@
+>seq1
+ACGTMRWSYK
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/seqtk_subseq_list.txt	Thu Feb 05 11:52:40 2015 -0500
@@ -0,0 +1,1 @@
+seq1
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/seqtk_trimfq.fq	Thu Feb 05 11:52:40 2015 -0500
@@ -0,0 +1,4 @@
+@SEQ_ID1
+GATTTGGGGTTCAAAGCAGTATCGATCAAATAGTAAATCCATTTGTTCAACTCACAGTTT
++
+!''*((((***+))%%%++)(%%%%).1***-+*''))**55CCF>>>>>>CCCCCCC65
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/seqtk_trimfq_be.fq	Thu Feb 05 11:52:40 2015 -0500
@@ -0,0 +1,4 @@
+@SEQ_ID1
+GGGGTTCAAAGCAGTATCGATCAAATAGTAAATCCATTTGTTCAACTCAC
++
+(((***+))%%%++)(%%%%).1***-+*''))**55CCF>>>>>>CCCC
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/seqtk_trimfq_default.fq	Thu Feb 05 11:52:40 2015 -0500
@@ -0,0 +1,4 @@
+@SEQ_ID1
+TAGTAAATCCATTTGTTCAACTCACAGTTT
++
+*-+*''))**55CCF>>>>>>CCCCCCC65
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tool_dependencies.xml	Thu Feb 05 11:52:40 2015 -0500
@@ -0,0 +1,6 @@
+<?xml version="1.0"?>
+<tool_dependency>
+  <package name="seqtk" version="1.0-r75-dirty">
+    <repository changeset_revision="8b7d6f6cb89b" name="package_seqtk_1_0_r75" owner="iuc" toolshed="https://toolshed.g2.bx.psu.edu" />
+  </package>
+</tool_dependency>