changeset 0:70f729e59244 draft

planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 8a95bc868914fb41c7452907f73a9273b03286ab
author galaxyp
date Thu, 11 Jan 2018 18:08:16 -0500
parents
children 40ca4302e603
files MapAlignerPoseClustering.xml SKIP_TOOLS_FILE.txt filetypes.txt macros.xml readme.md test-data/DecoyDatabase_input.fasta test-data/DecoyDatabase_output.fasta tool.conf
diffstat 8 files changed, 963 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/MapAlignerPoseClustering.xml	Thu Jan 11 18:08:16 2018 -0500
@@ -0,0 +1,144 @@
+<tool id="MapAlignerPoseClustering" name="MapAlignerPoseClustering" version="2.2.0">
+  <description>Corrects retention time distortions between maps using a pose clustering approach.</description>
+  <macros>
+    <token name="@EXECUTABLE@">MapAlignerPoseClustering</token>
+    <import>macros.xml</import>
+  </macros>
+  <expand macro="stdio"/>
+  <expand macro="requirements"/>
+  <command><![CDATA[
+  MapAlignerPoseClustering
+-in $param_in
+-out $out
+-trafo_out $trafo_out
+
+-threads "\${GALAXY_SLOTS:-1}"
+
+#if $param_reference_file:
+  -reference:file $param_reference_file
+#end if
+#if $param_reference_index:
+  -reference:index $param_reference_index
+#end if
+#if $param_algorithm_max_num_peaks_considered:
+  -algorithm:max_num_peaks_considered $param_algorithm_max_num_peaks_considered
+#end if
+#if $param_algorithm_superimposer_mz_pair_max_distance:
+  -algorithm:superimposer:mz_pair_max_distance $param_algorithm_superimposer_mz_pair_max_distance
+#end if
+#if $param_algorithm_superimposer_num_used_points:
+  -algorithm:superimposer:num_used_points $param_algorithm_superimposer_num_used_points
+#end if
+#if $param_algorithm_superimposer_scaling_bucket_size:
+  -algorithm:superimposer:scaling_bucket_size $param_algorithm_superimposer_scaling_bucket_size
+#end if
+#if $param_algorithm_superimposer_shift_bucket_size:
+  -algorithm:superimposer:shift_bucket_size $param_algorithm_superimposer_shift_bucket_size
+#end if
+#if $param_algorithm_pairfinder_second_nearest_gap:
+  -algorithm:pairfinder:second_nearest_gap $param_algorithm_pairfinder_second_nearest_gap
+#end if
+#if $param_algorithm_pairfinder_use_identifications:
+  -algorithm:pairfinder:use_identifications
+#end if
+#if $param_algorithm_pairfinder_ignore_charge:
+  -algorithm:pairfinder:ignore_charge
+#end if
+#if $param_algorithm_pairfinder_distance_RT_max_difference:
+  -algorithm:pairfinder:distance_RT:max_difference $param_algorithm_pairfinder_distance_RT_max_difference
+#end if
+#if $param_algorithm_pairfinder_distance_MZ_max_difference:
+  -algorithm:pairfinder:distance_MZ:max_difference $param_algorithm_pairfinder_distance_MZ_max_difference
+#end if
+#if $param_algorithm_pairfinder_distance_MZ_unit:
+  -algorithm:pairfinder:distance_MZ:unit
+  #if " " in str($param_algorithm_pairfinder_distance_MZ_unit):
+    "$param_algorithm_pairfinder_distance_MZ_unit"
+  #else
+    $param_algorithm_pairfinder_distance_MZ_unit
+  #end if
+#end if
+#if $adv_opts.adv_opts_selector=='advanced':
+
+    #if $adv_opts.param_algorithm_superimposer_rt_pair_distance_fraction:
+  -algorithm:superimposer:rt_pair_distance_fraction $adv_opts.param_algorithm_superimposer_rt_pair_distance_fraction
+#end if
+    #if $adv_opts.param_algorithm_superimposer_max_shift:
+  -algorithm:superimposer:max_shift $adv_opts.param_algorithm_superimposer_max_shift
+#end if
+    #if $adv_opts.param_algorithm_superimposer_max_scaling:
+  -algorithm:superimposer:max_scaling $adv_opts.param_algorithm_superimposer_max_scaling
+#end if
+
+#if $adv_opts.param_algorithm_pairfinder_distance_RT_exponent:
+  -algorithm:pairfinder:distance_RT:exponent $adv_opts.param_algorithm_pairfinder_distance_RT_exponent
+#end if
+    #if $adv_opts.param_algorithm_pairfinder_distance_RT_weight:
+  -algorithm:pairfinder:distance_RT:weight $adv_opts.param_algorithm_pairfinder_distance_RT_weight
+#end if
+    #if $adv_opts.param_algorithm_pairfinder_distance_MZ_exponent:
+  -algorithm:pairfinder:distance_MZ:exponent $adv_opts.param_algorithm_pairfinder_distance_MZ_exponent
+#end if
+    #if $adv_opts.param_algorithm_pairfinder_distance_MZ_weight:
+  -algorithm:pairfinder:distance_MZ:weight $adv_opts.param_algorithm_pairfinder_distance_MZ_weight
+#end if
+    #if $adv_opts.param_algorithm_pairfinder_distance_intensity_exponent:
+  -algorithm:pairfinder:distance_intensity:exponent $adv_opts.param_algorithm_pairfinder_distance_intensity_exponent
+#end if
+    #if $adv_opts.param_algorithm_pairfinder_distance_intensity_weight:
+  -algorithm:pairfinder:distance_intensity:weight $adv_opts.param_algorithm_pairfinder_distance_intensity_weight
+#end if
+    #if $adv_opts.param_algorithm_pairfinder_distance_intensity_log_transform:
+  -algorithm:pairfinder:distance_intensity:log_transform
+  #if " " in str($adv_opts.param_algorithm_pairfinder_distance_intensity_log_transform):
+    "$adv_opts.param_algorithm_pairfinder_distance_intensity_log_transform"
+  #else
+    $adv_opts.param_algorithm_pairfinder_distance_intensity_log_transform
+  #end if
+#end if
+#end if
+ ]]>
+</command>
+  <inputs>
+    <param name="param_in" type="data" format="mzML,featureXML" label="Input files to align (all must have the same file type)" help="(-in) "/>
+    <param name="param_reference_file" type="data" format="mzML,featureXML" optional="True" label="File to use as reference (same file format as input files required)" help="(-file) "/>
+    <param name="param_reference_index" type="integer" min="0" optional="True" value="0" label="Use one of the input files as reference ('1' for the first file, etc.)" help="(-index) &lt;br&gt;If '0', no explicit reference is set - the algorithm will select a reference"/>
+    <param name="param_algorithm_max_num_peaks_considered" type="integer" min="-1" optional="True" value="1000" label="The maximal number of peaks/features to be considered per map" help="(-max_num_peaks_considered) To use all, set to '-1'"/>
+    <param name="param_algorithm_superimposer_mz_pair_max_distance" type="float" min="0.0" optional="True" value="0.5" label="Maximum of m/z deviation of corresponding elements in different maps" help="(-mz_pair_max_distance)  This condition applies to the pairs considered in hashing"/>
+    <param name="param_algorithm_superimposer_num_used_points" type="integer" min="-1" optional="True" value="2000" label="Maximum number of elements considered in each map (selected by intensity)" help="(-num_used_points)  Use this to reduce the running time and to disregard weak signals during alignment.  For using all points, set this to -1"/>
+    <param name="param_algorithm_superimposer_scaling_bucket_size" type="float" min="0.0" optional="True" value="0.005" label="The scaling of the retention time interval is being hashed into buckets of this size during pose clustering" help="(-scaling_bucket_size)  A good choice for this would be a bit smaller than the error you would expect from repeated runs"/>
+    <param name="param_algorithm_superimposer_shift_bucket_size" type="float" min="0.0" optional="True" value="3.0" label="The shift at the lower (respectively, higher) end of the retention time interval is being hashed into buckets of this size during pose clustering" help="(-shift_bucket_size)  A good choice for this would be about the time between consecutive MS scans"/>
+    <param name="param_algorithm_pairfinder_second_nearest_gap" type="float" min="1.0" optional="True" value="2.0" label="Only link features whose distance to the second nearest neighbors (for both sides) is larger by 'second_nearest_gap' than the distance between the matched pair itself" help="(-second_nearest_gap) "/>
+    <param name="param_algorithm_pairfinder_use_identifications" display="radio" type="boolean" truevalue="-algorithm:pairfinder:use_identifications" falsevalue="" checked="false" optional="True" label="Never link features that are annotated with different peptides (features without ID's always match; only the best hit per peptide identification is considered)" help="(-use_identifications) "/>
+    <param name="param_algorithm_pairfinder_ignore_charge" display="radio" type="boolean" truevalue="-algorithm:pairfinder:ignore_charge" falsevalue="" checked="false" optional="True" label="false [default]: pairing requires equal charge state (or at least one unknown charge '0'); true: Pairing irrespective of charge state" help="(-ignore_charge) "/>
+    <param name="param_algorithm_pairfinder_distance_RT_max_difference" type="float" min="0.0" optional="True" value="100.0" label="Never pair features with a larger RT distance (in seconds)" help="(-max_difference) "/>
+    <param name="param_algorithm_pairfinder_distance_MZ_max_difference" type="float" min="0.0" optional="True" value="0.3" label="Never pair features with larger m/z distance (unit defined by 'unit')" help="(-max_difference) "/>
+    <param name="param_algorithm_pairfinder_distance_MZ_unit" display="radio" type="select" optional="False" value="Da" label="Unit of the 'max_difference' paramete" help="(-unit) ">
+      <option value="Da" selected="true">Da</option>
+      <option value="ppm">ppm</option>
+    </param>
+    <expand macro="advanced_options">
+      <param name="param_algorithm_superimposer_rt_pair_distance_fraction" type="float" min="0.0" max="1.0" optional="True" value="0.1" label="Within each of the two maps, the pairs considered for pose clustering must be separated by at least this fraction of the total elution time interval (i.e., max - min)" help="(-rt_pair_distance_fraction)  "/>
+      <param name="param_algorithm_superimposer_max_shift" type="float" min="0.0" optional="True" value="1000.0" label="Maximal shift which is considered during histogramming (in seconds)" help="(-max_shift)  This applies for both directions"/>
+      <param name="param_algorithm_superimposer_max_scaling" type="float" min="1.0" optional="True" value="2.0" label="Maximal scaling which is considered during histogramming" help="(-max_scaling)  The minimal scaling is the reciprocal of this"/>
+      <param name="param_algorithm_pairfinder_distance_RT_exponent" type="float" min="0.0" optional="True" value="1.0" label="Normalized RT differences ([0-1], relative to 'max_difference') are raised to this power (using 1 or 2 will be fast, everything else is REALLY slow)" help="(-exponent) "/>
+      <param name="param_algorithm_pairfinder_distance_RT_weight" type="float" min="0.0" optional="True" value="1.0" label="Final RT distances are weighted by this facto" help="(-weight) "/>
+      <param name="param_algorithm_pairfinder_distance_MZ_exponent" type="float" min="0.0" optional="True" value="2.0" label="Normalized ([0-1], relative to 'max_difference') m/z differences are raised to this power (using 1 or 2 will be fast, everything else is REALLY slow)" help="(-exponent) "/>
+      <param name="param_algorithm_pairfinder_distance_MZ_weight" type="float" min="0.0" optional="True" value="1.0" label="Final m/z distances are weighted by this facto" help="(-weight) "/>
+      <param name="param_algorithm_pairfinder_distance_intensity_exponent" type="float" min="0.0" optional="True" value="1.0" label="Differences in relative intensity ([0-1]) are raised to this power (using 1 or 2 will be fast, everything else is REALLY slow)" help="(-exponent) "/>
+      <param name="param_algorithm_pairfinder_distance_intensity_weight" type="float" min="0.0" optional="True" value="0.0" label="Final intensity distances are weighted by this facto" help="(-weight) "/>
+      <param name="param_algorithm_pairfinder_distance_intensity_log_transform" display="radio" type="select" optional="False" value="disabled" label="Log-transform intensities?" help="(-log_transform) If disabled, d = |int_f2 - int_f1| / int_max. If enabled, d = |log(int_f2 + 1) - log(int_f1 + 1)| / log(int_max + 1))">
+        <option value="enabled">enabled</option>
+        <option value="disabled" selected="true">disabled</option>
+      </param>
+    </expand>
+    </inputs>
+    <outputs>
+        <data name="out" format_source="param_in" metadata_source="param_in" />
+        <data name="trafo_out" format_source="param_in" metadata_source="param_in" />
+    </outputs>
+    <help>Corrects retention time distortions between maps using a pose clustering approach.
+
+
+For more information, visit http://ftp.mi.fu-berlin.de/OpenMS/release-documentation/html/TOPP_MapAlignerPoseClustering.html</help>
+</tool>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/SKIP_TOOLS_FILE.txt	Thu Jan 11 18:08:16 2018 -0500
@@ -0,0 +1,9 @@
+OMSSAAdapter
+MyriMatchAdapter
+PepNovoAdapter
+SeedListGenerator
+SpecLibSearcher
+MapAlignerIdentification
+MapAlignerPoseClustering
+MapAlignerSpectrum
+MapAlignerRTTransformer
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/filetypes.txt	Thu Jan 11 18:08:16 2018 -0500
@@ -0,0 +1,29 @@
+# CTD type    # Galaxy type     # Long Galaxy data type                    # Mimetype
+csv           tabular           galaxy.datatypes.tabular:Tabular
+fasta         fasta             galaxy.datatypes.sequence:Fasta
+FASTA         fasta             galaxy.datatypes.sequence:Fasta
+ini           txt               galaxy.datatypes.data:Text
+txt           txt               galaxy.datatypes.data:Text
+options       txt               galaxy.datatypes.data:Text
+grid          grid              galaxy.datatypes.data:Grid
+html          html              galaxy.datatypes.text:Html                  text/html
+HTML          html              galaxy.datatypes.text:Html                  text/html
+TraML         traml             galaxy.datatypes.proteomics:TraML           application/xml
+traML         traml             galaxy.datatypes.proteomics:TraML           application/xml
+XML           xml               galaxy.datatypes.xml:GenericXml             application/xml
+consensusXML  consensusxml      galaxy.datatypes.proteomics:ConsensusXML    application/xml
+edta          tabular           galaxy.datatypes.tabular:Tabular 
+featureXML    featurexml        galaxy.datatypes.proteomics:FeatureXML      application/xml
+idXML         idxml             galaxy.datatypes.proteomics:IdXML           application/xml
+mzML          mzml              galaxy.datatypes.proteomics:MzML            application/xml
+mzXML         mzxml             galaxy.datatypes.proteomics:MzXML           application/xml
+pepXML        pepxml            galaxy.datatypes.proteomics:PepXml          application/xml
+qcML          qcml              galaxy.datatypes.xml:GenericXml             application/xml
+trafoXML      trafoxml          galaxy.datatypes.xml:GenericXml             application/xml
+tsv           tabular           galaxy.datatypes.tabular:Tabular
+xsd           txt               galaxy.datatypes.data:Text
+mzq           mzq               galaxy.datatypes.proteomics:MzQuantML       application/xml
+msp           msp               galaxy.datatypes.proteomics:Msp
+mzid          mzid              galaxy.datatypes.proteomics:MzIdentML       application/xml
+png           png               galaxy.datatypes.images:Png                 image/png
+mgf           mgf               galaxy.datatypes.proteomics:Mgf
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/macros.xml	Thu Jan 11 18:08:16 2018 -0500
@@ -0,0 +1,36 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<macros>
+  <xml name="requirements">
+    <requirements>
+      <requirement type="package" version="2.2">openms</requirement>
+      <requirement type="package" version="15.12.15.2">xtandem</requirement>
+      <requirement type="package" version="1.0">fido</requirement>
+      <requirement type="package" version="2016.10.26">msgf_plus</requirement>
+      <yield/>
+    </requirements>
+  </xml>
+  <xml name="stdio">
+    <stdio>
+      <exit_code range="1:"/>
+      <exit_code range=":-1"/>
+      <regex match="Exception:"/>
+    </stdio>
+  </xml>
+  <xml name="references">
+    <citations>
+      <citation type="doi">doi:10.1186/1471-2105-9-163</citation>
+    </citations>
+  </xml>
+  <xml name="advanced_options">
+    <conditional name="adv_opts">
+      <param name="adv_opts_selector" type="select" label="Advanced Options">
+        <option value="basic" selected="True">Hide Advanced Options</option>
+        <option value="advanced">Show Advanced Options</option>
+      </param>
+      <when value="basic"/>
+      <when value="advanced">
+        <yield/>
+      </when>
+    </conditional>
+  </xml>
+</macros>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/readme.md	Thu Jan 11 18:08:16 2018 -0500
@@ -0,0 +1,211 @@
+Galaxy wrapper for OpenMS
+=========================
+
+OpenMS is an open-source software C++ library for LC/MS data management and analyses.
+It offers an infrastructure for the rapid development of mass spectrometry related software.
+OpenMS is free software available under the three clause BSD license and runs under Windows, MacOSX and Linux.
+
+More informations are available at:
+
+ * https://github.com/OpenMS/OpenMS
+ * http://open-ms.sourceforge.net
+
+
+Generating OpenMS wrappers
+==========================
+
+ * install OpenMS (you can do this automatically through Conda)
+ * create a folder called CTD
+ * if you installed openms as a binary in a specific directory, execute the following command in the `openms/bin` directory:
+    
+    ```bash
+    for binary in `ls`; do ./$binary -write_ctd /PATH/TO/YOUR/CTD; done;
+    ```
+    
+ * if there is no binary release (e.g. as with version 2.2), download and unpack the Conda package, find the `bin` folder and create a list of the tools as follow:
+ 
+    ```bash
+    ls >> tools.txt
+    ```
+    
+ * search for the `bin` folder of your conda environment containing OpenMS and do:
+ 
+    ```bash
+    while read p; do
+        ./PATH/TO/BIN/$p -write_ctd /PATH/TO/YOUR/CTD;
+    done <tools.txt
+    ```
+    
+ * You should have all CTD files now. `MetaProSIP.ctd` includes a not supported character: To use it, search for `²` and replace it (e.g. with `^2`).
+
+ * clone or install CTDopts
+
+    ```bash
+    git clone https://github.com/genericworkflownodes/CTDopts
+    ```
+
+ * add CTDopts to your `$PYTHONPATH`
+
+    ```bash
+    export PYTHONPATH=/home/user/CTDopts/
+    ```
+
+ * clone or install CTD2Galaxy
+
+    ```bash
+    git clone https://github.com/WorkflowConversion/CTD2Galaxy.git
+    ```
+    
+ * If you have CTDopts and CTD2Galaxy installed you are ready to generate Galaxy Tools from CTD definitions. Change the following command according to your needs, especially the `/PATH/TO` parts. The default files are provided in this repository. You might have to install `libxslt` and `lxml` to run it.
+
+    ```bash
+    python generator.py \ 
+    -i /PATH/TO/YOUR/CTD/*.ctd \
+    -o ./PATH/TO/YOUR/WRAPPERS/ -t tool.conf \
+    -d datatypes_conf.xml -g openms \
+    -b version log debug test no_progress threads \
+     in_type executable myrimatch_executable \
+     fido_executable fidocp_executable \
+     omssa_executable pepnovo_executable \
+     xtandem_executable param_model_directory \
+     java_executable java_memory java_permgen \
+     r_executable rt_concat_trafo_out param_id_pool \
+    -f /PATH/TO/filetypes.txt -m /PATH/TO/macros.xml \
+    -s PATH/TO/SKIP_TOOLS_FILES.txt
+    ```
+
+
+ * As last step you need to change manually the binary names of all external binaries you want to use in OpenMS. For example:
+
+    ```
+    sed -i '13 a\-fido_executable Fido' wrappers/FidoAdapter.xml
+    sed -i '13 a\-fidocp_executable FidoChooseParameters' wrappers/FidoAdapter.xml
+    sed -i '13 a\-myrimatch_executable myrimatch' wrappers/MyriMatchAdapter.xml
+    sed -i '13 a\-omssa_executable omssa' wrappers/OMSSAAdapter.xml
+    sed -i '13 a\-xtandem_executable xtandem' wrappers/XTandemAdapter.xml
+    ```
+    
+ * For some tools, additional work has to be done. In `MSGFPlusAdapter.xml` the following is needed in the command section at the beginning (check your file to know what to copy where):
+ 
+   ```
+    <command><![CDATA[
+
+    ## check input file type
+    #set $in_type = $param_in.ext
+
+    ## create the symlinks to set the proper file extension, since msgf uses them to choose how to handle the input files
+    ln -s '$param_in' 'param_in.${in_type}' &&
+    ln -s '$param_database' param_database.fasta &&
+    ## find location of the MSGFPlus.jar file of the msgf_plus conda package
+    MSGF_JAR=\$(msgf_plus -get_jar_path) &&
+
+    MSGFPlusAdapter
+    -executable \$MSGF_JAR
+    #if $param_in:
+      -in 'param_in.${in_type}'
+    #end if
+    #if $param_out:
+      -out $param_out
+    #end if
+    #if $param_mzid_out:
+      -mzid_out $param_mzid_out
+    #end if
+    #if $param_database:
+      -database param_database.fasta
+    #end if
+    
+    [...]
+    ]]>
+    ```
+ 
+ * In Xtandem Converter and probably in others:
+ 
+    ```
+    #if str($param_missed_cleavages) != '':
+    ```
+    This is because integers needs to be compared as string otherwise `0` becomes `false`.
+ 
+ * In `MetaProSIP.xml` add `R` as a requirement:
+ 
+   ```
+   <expand macro="requirements">
+       <requirement type="package" version="3.3.1">r-base</requirement>
+   </expand>
+   ```
+   
+ * In `IDFileConverter.xml` the following is needed in the command section at the beginning (check your file to know what to copy where):
+ 
+   ```
+    <command><![CDATA[
+   
+      ## check input file type
+      #set $in_type = $param_in.ext
+
+      ## create the symlinks to set the proper file extension, since IDFileConverter uses them to choose how to handle the input files
+      ln -s '$param_in' 'param_in.${in_type}' &&
+
+      IDFileConverter
+
+      #if $param_in:
+        -in 'param_in.${in_type}'
+      #end if
+
+        [...]
+        ]]>
+    ```
+
+ * In `IDFileConverter.xml` and `FileConverter.xml` add `auto_format="true"` to the output, e.g.:
+ 
+   - `<data name="param_out" auto_format="true"/>`
+   - `<data name="param_out" metadata_source="param_in" auto_format="true"/>`
+        
+ * To add an example test case to `DecoyDatabase.xml` add the following after the output section. If standard settings change you might have to adjust the options and/or the test files.
+ 
+    ```
+       <tests>
+        <test>
+            <param name="param_in" value="DecoyDatabase_input.fasta"/>
+            <output name="param_out" file="DecoyDatabase_output.fasta"/>
+        </test>
+    </tests>
+    ```
+    
+
+ * These tools have multiple outputs (number of inputs = number of outputs) which is not yet supported in
+   by the automatic conversion step and are therefore in `SKIP_TOOLS_FILES.txt`:
+    * SeedListGenerator
+    * SpecLibSearcher
+    * MapAlignerIdentification
+    * MapAlignerPoseClustering
+    * MapAlignerSpectrum
+    * MapAlignerRTTransformer
+    
+ * Additionally cause of lacking dependencies, the following adapters have been removed in `SKIP_TOOLS_FILES.txt` as well:
+    * OMSSAAdapter
+    * MyrimatchAdapter
+    
+ * Additionally cause of a problematic parameter (-model_directory), the following adapter has been removed:
+    * PepNovoAdapter
+
+
+Licence (MIT)
+=============
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/DecoyDatabase_input.fasta	Thu Jan 11 18:08:16 2018 -0500
@@ -0,0 +1,146 @@
+>12 
+MERMLPLLALGLLAAGFCPAVLCHPNSPLDEENLTQENQDRGTHVDLGLASANVDFAFSLYKQLVLKAPDKNVIFSPLSI
+STALAFLSLGAHNTTLTEILKGLKFNLTETSEAEIHQSFQHLLRTLNQSSDELQLSMGNAMFVKEQLSLLDRFTEDAKRL
+YGSEAFATDFQDSAAAKKLINDYVKNGTRGKITDLIKDLDSQTMMVLVNYIFFKAKWEMPFDPQDTHQSRFYLSKKKWVM
+VPMMSLHHLTIPYFRDEELSCTVVELKYTGNASALFILPDQDKMEEVEAMLLPETLKRWRDSLEFREIGELYLPKFSISR
+DYNLNDILLQLGIEEAFTSKADLSGITGARNLAVSQVVHKAVLDVFEEGTEASAATAVKITLLSALVETRTIVRFNRPFL
+MIIVPTDTQNIFFMSKVTNPKQA
+>18
+MASMLLAQRLACSFQHSYRLLVPGSRHISQAAAKVDVEFDYDGPLMKTEVPGPRSQELMK
+QLNIIQNAEAVHFFCNYEESRGNYLVDVDGNRMLDLYSQISSVPIGYSHPALLKLIQQPQ
+NASMFVNRPALGILPPENFVEKLRQSLLSVAPKGMSQLITMACGSCSNENALKTIFMWYR
+SKERGQRGFSQEELETCMINQAPGCPDYSILSFMGAFHGRTMGCLATTHSKAIHKIDIPS
+FDWPIAPFPRLKYPLEEFVKENQQEEARCLEEVEDLIVKYRKKKKTVAGIIVEPIQSEGG
+DNHASDDFFRKLRDIARKHGCAFLVDEVQTGGGCTGKFWAHEHWGLDDPADVMTFSKKMM
+TGGFFHKEEFRPNAPYRIFNTWLGDPSKNLLLAEVINIIKREDLLNNAAHAGKALLTGLL
+DLQARYPQFISRVRGRGTFCSFDTPDDSIRNKLILIARNKGVVLGGCGDKSIRFRPTLVF
+RDHHAHLFLNIFSDILADFK
+>88
+MNQIEPGVQYNYVYDEDEYMIQEEEWDRDLLLDPAWEKQQRKTFTAWCNSHLRKAGTQIE
+NIEEDFRNGLKLMLLLEVISGERLPKPDRGKMRFHKIANVNKALDYIASKGVKLVSIGAE
+EIVDGNVKMTLGMIWTIILRFAIQDISVEETSAKEGLLLWCQRKTAPYRNVNIQNFHTSW
+KDGLGLCALIHRHRPDLIDYSKLNKDDPIGNINLAMEIAEKHLDIPKMLDAEDIVNTPKP
+DERAIMTYVSCFYHAFAGAEQAETAANRICKVLAVNQENERLMEEYERLASELLEWIRRT
+IPWLENRTPEKTMQAMQKKLEDFRDYRRKHKPPKVQEKCQLEINFNTLQTKLRISNRPAF
+MPSEGKMVSDIAGAWQRLEQAEKGYEEWLLNEIRRLERLEHLAEKFRQKASTHETWAYGK
+EQILLQKDYESASLTEVRALLRKHEAFESDLAAHQDRVEQIAAIAQELNELDYHDAVNVN
+DRCQKICDQWDRLGTLTQKRREALERMEKLLETIDQLHLEFAKRAAPFNNWMEGAMEDLQ
+DMFIVHSIEEIQSLITAHEQFKATLPEADGERQSIMAIQNEVEKVIQSYNIRISSSNPYS
+TVTMDELRTKWDKVKQLVPIRDQSLQEELARQHANERLRRQFAAQANAIGPWIQNKMEEI
+ARSSIQITGALEDQMNQLKQYEHNIINYKNNIDKLEGDHQLIQEALVFDNKHTNYTMEHI
+RVGWELLLTTIARTINEVETQILTRDAKGITQEQMNEFRASFNHFDRRKNGLMDHEDFRA
+CLISMGYDLGEAEFARIMTLVDPNGQGTVTFQSFIDFMTRETADTDTAEQVIASFRILAS
+DKPYILAEELRRELPPDQAQYCIKRMPAYSGPGSVPGALDYAAFSSALYGESDL
+>112
+MSWFSGLLVPKVDERKTAWGERNGQKRSRRRGTRAGGFCTPRYMSCLRDAEPPSPTPAGP
+PRCPWQDDAFIRRGGPGKGKELGLRAVALGFEDTEVTTTAGGTAEVAPDAVPRSGRSCWR
+RLVQVFQSKQFRSAKLERLYQRYFFQMNQSSLTLLMAVLVLLTAVLLAFHAAPARPQPAY
+VALLACAAALFVGLMVVCNRHSFRQDSMWVVSYVVLGILAAVQVGGALAADPRSPSAGLW
+CPVFFVYIAYTLLPIRMRAAVLSGLGLSTLHLILAWQLNRGDAFLWKQLGANVLLFLCTN
+VIGICTHYPAEVSQRQAFQETRGYIQARLHLQHENRQQERLLLSVLPQHVAMEMKEDINT
+KKEDMMFHKIYIQKHDNVSILFADIEGFTSLASQCTAQELVMTLNELFARFDKLAAENHC
+LRIKILGDCYYCVSGLPEARADHAHCCVEMGVDMIEAISLVREVTGVNVNMRVGIHSGRV
+HCGVLGLRKWQFDVWSNDVTLANHMEAGGRAGRIHITRATLQYLNGDYEVEPGRGGERNA
+YLKEQHIETFLILGASQKRKEEKAMLAKLQRTRANSMEGLMPRWVPDRAFSRTKDSKAFR
+QMGIDDSSKDNRGTQDALNPEDEVDEFLSRAIDARSIDQLRKDHVRRFLLTFQREDLEKK
+YSRKVDPRFGAYVACALLVFCFICFIQLLIFPHSTLMLGIYASIFLLLLITVLICAVYSC
+GSLFPKALQRLSRSIVRSRAHSTAVGIFSVLLVFTSAIANMFTCNHTPIRSCAARMLNLT
+PADITACHLQQLNYSLGLDAPLCEGTMPTCSFPEYFIGNMLLSLLASSVFLHISSIGKLA
+MIFVLGLIYLVLLLLGPPATIFDNYDLLLGVHGLASSNETFDGLDCPAAGRVALKYMTPV
+ILLVFALALYLHAQQVESTARLDFLWKLQATGEKEEMEELQAYNRRLLHNILPKDVAAHF
+LARERRNDELYYQSCECVAVMFASIANFSEFYVELEANNEGVECLRLLNEIIADFDEIIS
+EERFRQLEKIKTIGSTYMAASGLNASTYDQVGRSHITALADYAMRLMEQMKHINEHSFNN
+FQMKIGLNMGPVVAGVIGARKPQYDIWGNTVNVSSRMDSTGVPDRIQVTTDLYQVLAAKG
+YQLECRGVVKVKGKGEMTTYFLNGGPSS
+>114
+MELSDVRCLTGSEELYTIHPTPPAGDGRSASRPQRLLWQTAVRHITEQRFIHGHRGGSGS
+GSGGSGKASDPAGGGPNHHAPQLSGDSALPLYSLGPGERAHSTCGTKVFPERSGSGSASG
+SGGGGDLGFLHLDCAPSNSDFFLNGGYSYRGVIFPTLRNSFKSRDLERLYQRYFLGQRRK
+SEVVMNVLDVLTKLTLLVLHLSLASAPMDPLKGILLGFFTGIEVVICALVVVRKDTTSHT
+YLQYSGVVTWVAMTTQILAAGLGYGLLGDGIGYVLFTLFATYSMLPLPLTWAILAGLGTS
+LLQVILQVVIPRLAVISINQVVAQAVLFMCMNTAGIFISYLSDRAQRQAFLETRRCVEAR
+LRLETENQRQERLVLSVLPRFVVLEMINDMTNVEDEHLQHQFHRIYIHRYENVSILFADV
+KGFTNLSTTLSAQELVRMLNELFARFDRLAHEHHCLRIKILGDCYYCVSGLPEPRQDHAH
+CCVEMGLSMIKTIRYVRSRTKHDVDMRIGIHSGSVLCGVLGLRKWQFDVWSWDVDIANKL
+ESGGIPGRIHISKATLDCLNGDYNVEEGHGKERNEFLRKHNIETYLIKQPEDSLLSLPED
+IVKESVSSSDRRNSGATFTEGSWSPELPFDNIVGKQNTLAALTRNSINLLPNHLAQALHV
+QSGPEEINKRIEHTIDLRSGDKLRREHIKPFSLMFKDSSLEHKYSQMRDEVFKSNLVCAF
+IVLLFITAIQSLLPSSRVMPMTIQFSILIMLHSALVLITTAEDYKCLPLILRKTCCWINE
+TYLARNVIIFASILINFLGAILNILWCDFDKSIPLKNLTFNSSAVFTDICSYPEYFVFTG
+VLAMVTCAVFLRLNSVLKLAVLLIMIAIYALLTETVYAGLFLRYDNLNHSGEDFLGTKEV
+SLLLMAMFLLAVFYHGQQLEYTARLDFLWRVQAKEEINEMKELREHNENMLRNILPSHVA
+RHFLEKDRDNEELYSQSYDAVGVMFASIPGFADFYSQTEMNNQGVECLRLLNEIIADFDE
+LLGEDRFQDIEKIKTIGSTYMAVSGLSPEKQQCEDKWGHLCALADFSLALTESIQEINKH
+SFNNFELRIGISHGSVVAGVIGAKKPQYDIWGKTVNLASRMDSTGVSGRIQVPEETYLIL
+KDQGFAFDYRGEIYVKGISEQEGKIKTYFLLGRVQPNPFILPPRRLPGQYSLAAVVLGLV
+QSLNRQRQKQLLNENNNTGIIKGHYNRRTLLSPSGTEPGAQAEGTDKSDLP
+>143
+MVMGIFANCIFCLKVKYLPQQQKKKLQTDIKENGGKFSFSLNPQCTHIILDNADVLSQYQ
+LNSIQKNHVHIANPDFIWKSIREKRLLDVKNYDPYKPLDITPPPDQKASSSEVKTEGLCP
+DSATEEEDTVELTEFGMQNVEIPHLPQDFEVAKYNTLEKVGMEGGQEAVVVELQCSRDSR
+DCPFLISSHFLLDDGMETRRQFAIKKTSEDASEYFENYIEELKKQGFLLREHFTPEATQL
+ASEQLQALLLEEVMNSSTLSQEVSDLVEMIWAEALGHLEHMLLKPVNRISLNDVSKAEGI
+LLLVKAALKNGETAEQLQKMMTEFYRLIPHKGTMPKEVNLGLLAKKADLCQLIRDMVNVC
+ETNLSKPNPPSLAKYRALRCKIEHVEQNTEEFLRVRKEVLQNHHSKSPVDVLQIFRVGRV
+NETTEFLSKLGNVRPLLHGSPVQNIVGILCRGLLLPKVVEDRGVQRTDVGNLGSGIYFSD
+SLSTSIKYSHPGETDGTRLLLICDVALGKCMDLHEKDFSLTEAPPGYDSVHGVSQTASVT
+TDFEDDEFVVYKTNQVKMKYIIKFSMPGDQIKDFHPSDHTELEEYRPEFSNFSKVEDYQL
+PDAKTSSSTKAGLQDASGNLVPLEDVHIKGRIIDTVAQVIVFQTYTNKSHVPIEAKYIFP
+LDDKAAVCGFEAFINGKHIVGEIKEKEEAQQEYLEAVTQGHGAYLMSQDAPDVFTVSVGN
+LPPKAKVLIKITYITELSILGTVGVFFMPATVAPWQQDKALNENLQDTVEKICIKEIGTK
+QSFSLTMSIEMPYVIEFIFSDTHELKQKRTDCKAVISTMEGSSLDSSGFSLHIGLSAAYL
+PRMWVEKHPEKESEACMLVFQPDLDVDLPDLASESEVIICLDCSSSMEGVTFLQAKQIAL
+HALSLVGEKQKVNIIQFGTGYKELFSYPKHITSNTMAAEFIMSATPTMGNTDFWKTLRYL
+SLLYPARGSRNILLVSDGHLQDESLTLQLVKRSRPHTRLFACGIGSTANRHVLRILSQCG
+AGVFEYFNAKSKHSWRKQIEDQMTRLCSPSCHSVSVKWQQLNPDVPEALQAPAQVPSLFL
+NDRLLVYGFIPHCTQATLCALIQEKEFRTMVSTTELQKTTGTMIHKLAARALIRDYEDGI
+LHENETSHEMKKQTLKSLIIKLSKENSLITQFTSFVAVEKRDENESPFPDIPKVSELIAK
+EDVDFLPYMSWQGEPQEAVRNQSLLASSEWPELRLSKRKHRKIPFSKRKMELSQPEVSED
+FEEDGLGVLPAFTSNLERGGVEKLLDLSWTESCKPTATEPLFKKVSPWETSTSSFFPILA
+PAVGSYLPPTARAHSPASLSFASYRQVASFGSAAPPRQFDASQFSQGPVPGTCADWIPQS
+ASCPTGPPQNPPSSPYCGIVFSGSSLSSAQSAPLQHPGGFTTRPSAGTFPELDSPQLHFS
+LPTDPDPIRGFGSYHPSASSPFHFQPSAASLTANLRLPMASALPEALCSQSRTTPVDLCL
+LEESVGSLEGSRCPVFAFQSSDTESDELSEVLQDSCFLQIKCDTKDDSILCFLEVKEEDE
+IVCIQHWQDAVPWTELLSLQTEDGFWKLTPELGLILNLNTNGLHSFLKQKGIQSLGVKGR
+ECLLDLIATMLVLQFIRTRLEKEGIVFKSLMKMDDASISRNIPWAFEAIKQASEWVRRTE
+GQYPSICPRLELGNDWDSATKQLLGLQPISTVSPLHRVLHYSQG
+>213
+MKWVTFISLLFLFSSAYSRGVFRRDAHKSEVAHRFKDLGEENFKALVLIAFAQYLQQCPF
+EDHVKLVNEVTEFAKTCVADESAENCDKSLHTLFGDKLCTVATLRETYGEMADCCAKQEP
+ERNECFLQHKDDNPNLPRLVRPEVDVMCTAFHDNEETFLKKYLYEIARRHPYFYAPELLF
+FAKRYKAAFTECCQAADKAACLLPKLDELRDEGKASSAKQRLKCASLQKFGERAFKAWAV
+ARLSQRFPKAEFAEVSKLVTDLTKVHTECCHGDLLECADDRADLAKYICENQDSISSKLK
+ECCEKPLLEKSHCIAEVENDEMPADLPSLAADFVESKDVCKNYAEAKDVFLGMFLYEYAR
+RHPDYSVVLLLRLAKTYETTLEKCCAAADPHECYAKVFDEFKPLVEEPQNLIKQNCELFE
+QLGEYKFQNALLVRYTKKVPQVSTPTLVEVSRNLGKVGSKCCKHPEAKRMPCAEDYLSVV
+LNQLCVLHEKTPVSDRVTKCCTESLVNRRPCFSALEVDETYVPKEFNAETFTFHADICTL
+SEKERQIKKQTALVELVKHKPKATKEQLKAVMDDFAAFVEKCCKADDKETCFAEEGKKLV
+AASQAALGL
+>230
+MPHSYPALSAEQKKELSDIALRIVAPGKGILAADESVGSMAKRLSQIGVENTEENRRLYR
+QVLFSADDRVKKCIGGVIFFHETLYQKDDNGVPFVRTIQDKGIVVGIKVDKGVVPLAGTD
+GETTTQGLDGLSERCAQYKKDGADFAKWRCVLKISERTPSALAILENANVLARYASICQQ
+NGIVPIVEPEILPDGDHDLKRCQYVTEKVLAAVYKALSDHHVYLEGTLLKPNMVTPGHAC
+PIKYTPEEIAMATVTALRRTVPPAVPGVTFLSGGQSEEEASFNLNAINRCPLPRPWALTF
+SYGRALQASALNAWRGQRDNAGAATEEFIKRAEVNGLAAQGKYEGSGEDGGAAAQSLYIA
+NHAY
+>231
+MASRLLLNNGAKMPILGLGTWKSPPGQVTEAVKVAIDVGYRHIDCAHVYQNENEVGVAIQ
+EKLREQVVKREELFIVSKLWCTYHEKGLVKGACQKTLSDLKLDYLDLYLIHWPTGFKPGK
+EFFPLDESGNVVPSDTNILDTWAAMEELVDEGLVKAIGISNFNHLQVEMILNKPGLKYKP
+AVNQIECHPYLTQEKLIQYCQSKGIVVTAYSPLGSPDRPWAKPEDPSLLEDPRIKAIAAK
+HNKTTAQVLIRFPMQRNLVVIPKSVTPERIAENFKVFDFELSSQDMTTLLSYNRNWRVCA
+LLSCTSHKDYPFHEEF
+>242
+MATYKVRVATGTDLLSGTRDSISLTIVGTQGESHKQLLNHFGRDFATGAVGQYTVQCPQD
+LGELIIIRLHKERYAFFPKDPWYCNYVQICAPNGRIYHFPAYQWMDGYETLALREATGKT
+TADDSLPVLLEHRKEEIRAKQDFYHWRVFLPGLPSYVHIPSYRPPVRRHRNPNRPEWNGY
+IPGFPILINFKATKFLNLNLRYSFLKTASFFVRLGPMALAFKVRGLLDCKHSWKRLKDIR
+KIFPGKKSVVSEYVAEHWAEDTFFGYQYLNGVNPGLIRRCTRIPDKFPVTDDMVAPFLGE
+GTCLQAELEKGNIYLADYRIMEGIPTVELSGRKQHHCAPLCLLHFGPEGKMMPIAIQLSQ
+TPGPDCPIFLPSDSEWDWLLAKTWVRYAEFYSHEAIAHLLETHLIAEAFCLALLRNLPMC
+HPLYKLLIPHTRYTVQINSIGRAVLLNEGGLSAKGMSLGVEGFAGVMVRALSELTYDSLY
+LPNDFVERGVQDLPGYYYRDDSLAVWNALEKYVTEIITYYYPSDAAVEGDPELQSWVQEI
+FKECLLGRESSGFPRCLRTVPELIRYVTIVIYTCSAKHAAVNTGQMEFTAWMPNFPASMR
+NPPIQTKGLTTLETFMDTLPDVKTTCITLLVLWTLSREPDDRRPLGHFPDIHFVEEAPRR
+SIEAFRQRLNQISHDIRQRNKCLPIPYYYLDPVLIENSISI
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/DecoyDatabase_output.fasta	Thu Jan 11 18:08:16 2018 -0500
@@ -0,0 +1,228 @@
+>12 
+MERMLPLLALGLLAAGFCPAVLCHPNSPLDEENLTQENQDRGTHVDLGLASANVDFAFSLYKQLVLKAPDKNVIFSPLSI
+STALAFLSLGAHNTTLTEILKGLKFNLTETSEAEIHQSFQHLLRTLNQSSDELQLSMGNAMFVKEQLSLLDRFTEDAKRL
+YGSEAFATDFQDSAAAKKLINDYVKNGTRGKITDLIKDLDSQTMMVLVNYIFFKAKWEMPFDPQDTHQSRFYLSKKKWVM
+VPMMSLHHLTIPYFRDEELSCTVVELKYTGNASALFILPDQDKMEEVEAMLLPETLKRWRDSLEFREIGELYLPKFSISR
+DYNLNDILLQLGIEEAFTSKADLSGITGARNLAVSQVVHKAVLDVFEEGTEASAATAVKITLLSALVETRTIVRFNRPFL
+MIIVPTDTQNIFFMSKVTNPKQA
+>18 
+MASMLLAQRLACSFQHSYRLLVPGSRHISQAAAKVDVEFDYDGPLMKTEVPGPRSQELMKQLNIIQNAEAVHFFCNYEES
+RGNYLVDVDGNRMLDLYSQISSVPIGYSHPALLKLIQQPQNASMFVNRPALGILPPENFVEKLRQSLLSVAPKGMSQLIT
+MACGSCSNENALKTIFMWYRSKERGQRGFSQEELETCMINQAPGCPDYSILSFMGAFHGRTMGCLATTHSKAIHKIDIPS
+FDWPIAPFPRLKYPLEEFVKENQQEEARCLEEVEDLIVKYRKKKKTVAGIIVEPIQSEGGDNHASDDFFRKLRDIARKHG
+CAFLVDEVQTGGGCTGKFWAHEHWGLDDPADVMTFSKKMMTGGFFHKEEFRPNAPYRIFNTWLGDPSKNLLLAEVINIIK
+REDLLNNAAHAGKALLTGLLDLQARYPQFISRVRGRGTFCSFDTPDDSIRNKLILIARNKGVVLGGCGDKSIRFRPTLVF
+RDHHAHLFLNIFSDILADFK
+>88 
+MNQIEPGVQYNYVYDEDEYMIQEEEWDRDLLLDPAWEKQQRKTFTAWCNSHLRKAGTQIENIEEDFRNGLKLMLLLEVIS
+GERLPKPDRGKMRFHKIANVNKALDYIASKGVKLVSIGAEEIVDGNVKMTLGMIWTIILRFAIQDISVEETSAKEGLLLW
+CQRKTAPYRNVNIQNFHTSWKDGLGLCALIHRHRPDLIDYSKLNKDDPIGNINLAMEIAEKHLDIPKMLDAEDIVNTPKP
+DERAIMTYVSCFYHAFAGAEQAETAANRICKVLAVNQENERLMEEYERLASELLEWIRRTIPWLENRTPEKTMQAMQKKL
+EDFRDYRRKHKPPKVQEKCQLEINFNTLQTKLRISNRPAFMPSEGKMVSDIAGAWQRLEQAEKGYEEWLLNEIRRLERLE
+HLAEKFRQKASTHETWAYGKEQILLQKDYESASLTEVRALLRKHEAFESDLAAHQDRVEQIAAIAQELNELDYHDAVNVN
+DRCQKICDQWDRLGTLTQKRREALERMEKLLETIDQLHLEFAKRAAPFNNWMEGAMEDLQDMFIVHSIEEIQSLITAHEQ
+FKATLPEADGERQSIMAIQNEVEKVIQSYNIRISSSNPYSTVTMDELRTKWDKVKQLVPIRDQSLQEELARQHANERLRR
+QFAAQANAIGPWIQNKMEEIARSSIQITGALEDQMNQLKQYEHNIINYKNNIDKLEGDHQLIQEALVFDNKHTNYTMEHI
+RVGWELLLTTIARTINEVETQILTRDAKGITQEQMNEFRASFNHFDRRKNGLMDHEDFRACLISMGYDLGEAEFARIMTL
+VDPNGQGTVTFQSFIDFMTRETADTDTAEQVIASFRILASDKPYILAEELRRELPPDQAQYCIKRMPAYSGPGSVPGALD
+YAAFSSALYGESDL
+>112 
+MSWFSGLLVPKVDERKTAWGERNGQKRSRRRGTRAGGFCTPRYMSCLRDAEPPSPTPAGPPRCPWQDDAFIRRGGPGKGK
+ELGLRAVALGFEDTEVTTTAGGTAEVAPDAVPRSGRSCWRRLVQVFQSKQFRSAKLERLYQRYFFQMNQSSLTLLMAVLV
+LLTAVLLAFHAAPARPQPAYVALLACAAALFVGLMVVCNRHSFRQDSMWVVSYVVLGILAAVQVGGALAADPRSPSAGLW
+CPVFFVYIAYTLLPIRMRAAVLSGLGLSTLHLILAWQLNRGDAFLWKQLGANVLLFLCTNVIGICTHYPAEVSQRQAFQE
+TRGYIQARLHLQHENRQQERLLLSVLPQHVAMEMKEDINTKKEDMMFHKIYIQKHDNVSILFADIEGFTSLASQCTAQEL
+VMTLNELFARFDKLAAENHCLRIKILGDCYYCVSGLPEARADHAHCCVEMGVDMIEAISLVREVTGVNVNMRVGIHSGRV
+HCGVLGLRKWQFDVWSNDVTLANHMEAGGRAGRIHITRATLQYLNGDYEVEPGRGGERNAYLKEQHIETFLILGASQKRK
+EEKAMLAKLQRTRANSMEGLMPRWVPDRAFSRTKDSKAFRQMGIDDSSKDNRGTQDALNPEDEVDEFLSRAIDARSIDQL
+RKDHVRRFLLTFQREDLEKKYSRKVDPRFGAYVACALLVFCFICFIQLLIFPHSTLMLGIYASIFLLLLITVLICAVYSC
+GSLFPKALQRLSRSIVRSRAHSTAVGIFSVLLVFTSAIANMFTCNHTPIRSCAARMLNLTPADITACHLQQLNYSLGLDA
+PLCEGTMPTCSFPEYFIGNMLLSLLASSVFLHISSIGKLAMIFVLGLIYLVLLLLGPPATIFDNYDLLLGVHGLASSNET
+FDGLDCPAAGRVALKYMTPVILLVFALALYLHAQQVESTARLDFLWKLQATGEKEEMEELQAYNRRLLHNILPKDVAAHF
+LARERRNDELYYQSCECVAVMFASIANFSEFYVELEANNEGVECLRLLNEIIADFDEIISEERFRQLEKIKTIGSTYMAA
+SGLNASTYDQVGRSHITALADYAMRLMEQMKHINEHSFNNFQMKIGLNMGPVVAGVIGARKPQYDIWGNTVNVSSRMDST
+GVPDRIQVTTDLYQVLAAKGYQLECRGVVKVKGKGEMTTYFLNGGPSS
+>114 
+MELSDVRCLTGSEELYTIHPTPPAGDGRSASRPQRLLWQTAVRHITEQRFIHGHRGGSGSGSGGSGKASDPAGGGPNHHA
+PQLSGDSALPLYSLGPGERAHSTCGTKVFPERSGSGSASGSGGGGDLGFLHLDCAPSNSDFFLNGGYSYRGVIFPTLRNS
+FKSRDLERLYQRYFLGQRRKSEVVMNVLDVLTKLTLLVLHLSLASAPMDPLKGILLGFFTGIEVVICALVVVRKDTTSHT
+YLQYSGVVTWVAMTTQILAAGLGYGLLGDGIGYVLFTLFATYSMLPLPLTWAILAGLGTSLLQVILQVVIPRLAVISINQ
+VVAQAVLFMCMNTAGIFISYLSDRAQRQAFLETRRCVEARLRLETENQRQERLVLSVLPRFVVLEMINDMTNVEDEHLQH
+QFHRIYIHRYENVSILFADVKGFTNLSTTLSAQELVRMLNELFARFDRLAHEHHCLRIKILGDCYYCVSGLPEPRQDHAH
+CCVEMGLSMIKTIRYVRSRTKHDVDMRIGIHSGSVLCGVLGLRKWQFDVWSWDVDIANKLESGGIPGRIHISKATLDCLN
+GDYNVEEGHGKERNEFLRKHNIETYLIKQPEDSLLSLPEDIVKESVSSSDRRNSGATFTEGSWSPELPFDNIVGKQNTLA
+ALTRNSINLLPNHLAQALHVQSGPEEINKRIEHTIDLRSGDKLRREHIKPFSLMFKDSSLEHKYSQMRDEVFKSNLVCAF
+IVLLFITAIQSLLPSSRVMPMTIQFSILIMLHSALVLITTAEDYKCLPLILRKTCCWINETYLARNVIIFASILINFLGA
+ILNILWCDFDKSIPLKNLTFNSSAVFTDICSYPEYFVFTGVLAMVTCAVFLRLNSVLKLAVLLIMIAIYALLTETVYAGL
+FLRYDNLNHSGEDFLGTKEVSLLLMAMFLLAVFYHGQQLEYTARLDFLWRVQAKEEINEMKELREHNENMLRNILPSHVA
+RHFLEKDRDNEELYSQSYDAVGVMFASIPGFADFYSQTEMNNQGVECLRLLNEIIADFDELLGEDRFQDIEKIKTIGSTY
+MAVSGLSPEKQQCEDKWGHLCALADFSLALTESIQEINKHSFNNFELRIGISHGSVVAGVIGAKKPQYDIWGKTVNLASR
+MDSTGVSGRIQVPEETYLILKDQGFAFDYRGEIYVKGISEQEGKIKTYFLLGRVQPNPFILPPRRLPGQYSLAAVVLGLV
+QSLNRQRQKQLLNENNNTGIIKGHYNRRTLLSPSGTEPGAQAEGTDKSDLP
+>143 
+MVMGIFANCIFCLKVKYLPQQQKKKLQTDIKENGGKFSFSLNPQCTHIILDNADVLSQYQLNSIQKNHVHIANPDFIWKS
+IREKRLLDVKNYDPYKPLDITPPPDQKASSSEVKTEGLCPDSATEEEDTVELTEFGMQNVEIPHLPQDFEVAKYNTLEKV
+GMEGGQEAVVVELQCSRDSRDCPFLISSHFLLDDGMETRRQFAIKKTSEDASEYFENYIEELKKQGFLLREHFTPEATQL
+ASEQLQALLLEEVMNSSTLSQEVSDLVEMIWAEALGHLEHMLLKPVNRISLNDVSKAEGILLLVKAALKNGETAEQLQKM
+MTEFYRLIPHKGTMPKEVNLGLLAKKADLCQLIRDMVNVCETNLSKPNPPSLAKYRALRCKIEHVEQNTEEFLRVRKEVL
+QNHHSKSPVDVLQIFRVGRVNETTEFLSKLGNVRPLLHGSPVQNIVGILCRGLLLPKVVEDRGVQRTDVGNLGSGIYFSD
+SLSTSIKYSHPGETDGTRLLLICDVALGKCMDLHEKDFSLTEAPPGYDSVHGVSQTASVTTDFEDDEFVVYKTNQVKMKY
+IIKFSMPGDQIKDFHPSDHTELEEYRPEFSNFSKVEDYQLPDAKTSSSTKAGLQDASGNLVPLEDVHIKGRIIDTVAQVI
+VFQTYTNKSHVPIEAKYIFPLDDKAAVCGFEAFINGKHIVGEIKEKEEAQQEYLEAVTQGHGAYLMSQDAPDVFTVSVGN
+LPPKAKVLIKITYITELSILGTVGVFFMPATVAPWQQDKALNENLQDTVEKICIKEIGTKQSFSLTMSIEMPYVIEFIFS
+DTHELKQKRTDCKAVISTMEGSSLDSSGFSLHIGLSAAYLPRMWVEKHPEKESEACMLVFQPDLDVDLPDLASESEVIIC
+LDCSSSMEGVTFLQAKQIALHALSLVGEKQKVNIIQFGTGYKELFSYPKHITSNTMAAEFIMSATPTMGNTDFWKTLRYL
+SLLYPARGSRNILLVSDGHLQDESLTLQLVKRSRPHTRLFACGIGSTANRHVLRILSQCGAGVFEYFNAKSKHSWRKQIE
+DQMTRLCSPSCHSVSVKWQQLNPDVPEALQAPAQVPSLFLNDRLLVYGFIPHCTQATLCALIQEKEFRTMVSTTELQKTT
+GTMIHKLAARALIRDYEDGILHENETSHEMKKQTLKSLIIKLSKENSLITQFTSFVAVEKRDENESPFPDIPKVSELIAK
+EDVDFLPYMSWQGEPQEAVRNQSLLASSEWPELRLSKRKHRKIPFSKRKMELSQPEVSEDFEEDGLGVLPAFTSNLERGG
+VEKLLDLSWTESCKPTATEPLFKKVSPWETSTSSFFPILAPAVGSYLPPTARAHSPASLSFASYRQVASFGSAAPPRQFD
+ASQFSQGPVPGTCADWIPQSASCPTGPPQNPPSSPYCGIVFSGSSLSSAQSAPLQHPGGFTTRPSAGTFPELDSPQLHFS
+LPTDPDPIRGFGSYHPSASSPFHFQPSAASLTANLRLPMASALPEALCSQSRTTPVDLCLLEESVGSLEGSRCPVFAFQS
+SDTESDELSEVLQDSCFLQIKCDTKDDSILCFLEVKEEDEIVCIQHWQDAVPWTELLSLQTEDGFWKLTPELGLILNLNT
+NGLHSFLKQKGIQSLGVKGRECLLDLIATMLVLQFIRTRLEKEGIVFKSLMKMDDASISRNIPWAFEAIKQASEWVRRTE
+GQYPSICPRLELGNDWDSATKQLLGLQPISTVSPLHRVLHYSQG
+>213 
+MKWVTFISLLFLFSSAYSRGVFRRDAHKSEVAHRFKDLGEENFKALVLIAFAQYLQQCPFEDHVKLVNEVTEFAKTCVAD
+ESAENCDKSLHTLFGDKLCTVATLRETYGEMADCCAKQEPERNECFLQHKDDNPNLPRLVRPEVDVMCTAFHDNEETFLK
+KYLYEIARRHPYFYAPELLFFAKRYKAAFTECCQAADKAACLLPKLDELRDEGKASSAKQRLKCASLQKFGERAFKAWAV
+ARLSQRFPKAEFAEVSKLVTDLTKVHTECCHGDLLECADDRADLAKYICENQDSISSKLKECCEKPLLEKSHCIAEVEND
+EMPADLPSLAADFVESKDVCKNYAEAKDVFLGMFLYEYARRHPDYSVVLLLRLAKTYETTLEKCCAAADPHECYAKVFDE
+FKPLVEEPQNLIKQNCELFEQLGEYKFQNALLVRYTKKVPQVSTPTLVEVSRNLGKVGSKCCKHPEAKRMPCAEDYLSVV
+LNQLCVLHEKTPVSDRVTKCCTESLVNRRPCFSALEVDETYVPKEFNAETFTFHADICTLSEKERQIKKQTALVELVKHK
+PKATKEQLKAVMDDFAAFVEKCCKADDKETCFAEEGKKLVAASQAALGL
+>230 
+MPHSYPALSAEQKKELSDIALRIVAPGKGILAADESVGSMAKRLSQIGVENTEENRRLYRQVLFSADDRVKKCIGGVIFF
+HETLYQKDDNGVPFVRTIQDKGIVVGIKVDKGVVPLAGTDGETTTQGLDGLSERCAQYKKDGADFAKWRCVLKISERTPS
+ALAILENANVLARYASICQQNGIVPIVEPEILPDGDHDLKRCQYVTEKVLAAVYKALSDHHVYLEGTLLKPNMVTPGHAC
+PIKYTPEEIAMATVTALRRTVPPAVPGVTFLSGGQSEEEASFNLNAINRCPLPRPWALTFSYGRALQASALNAWRGQRDN
+AGAATEEFIKRAEVNGLAAQGKYEGSGEDGGAAAQSLYIANHAY
+>231 
+MASRLLLNNGAKMPILGLGTWKSPPGQVTEAVKVAIDVGYRHIDCAHVYQNENEVGVAIQEKLREQVVKREELFIVSKLW
+CTYHEKGLVKGACQKTLSDLKLDYLDLYLIHWPTGFKPGKEFFPLDESGNVVPSDTNILDTWAAMEELVDEGLVKAIGIS
+NFNHLQVEMILNKPGLKYKPAVNQIECHPYLTQEKLIQYCQSKGIVVTAYSPLGSPDRPWAKPEDPSLLEDPRIKAIAAK
+HNKTTAQVLIRFPMQRNLVVIPKSVTPERIAENFKVFDFELSSQDMTTLLSYNRNWRVCALLSCTSHKDYPFHEEF
+>242 
+MATYKVRVATGTDLLSGTRDSISLTIVGTQGESHKQLLNHFGRDFATGAVGQYTVQCPQDLGELIIIRLHKERYAFFPKD
+PWYCNYVQICAPNGRIYHFPAYQWMDGYETLALREATGKTTADDSLPVLLEHRKEEIRAKQDFYHWRVFLPGLPSYVHIP
+SYRPPVRRHRNPNRPEWNGYIPGFPILINFKATKFLNLNLRYSFLKTASFFVRLGPMALAFKVRGLLDCKHSWKRLKDIR
+KIFPGKKSVVSEYVAEHWAEDTFFGYQYLNGVNPGLIRRCTRIPDKFPVTDDMVAPFLGEGTCLQAELEKGNIYLADYRI
+MEGIPTVELSGRKQHHCAPLCLLHFGPEGKMMPIAIQLSQTPGPDCPIFLPSDSEWDWLLAKTWVRYAEFYSHEAIAHLL
+ETHLIAEAFCLALLRNLPMCHPLYKLLIPHTRYTVQINSIGRAVLLNEGGLSAKGMSLGVEGFAGVMVRALSELTYDSLY
+LPNDFVERGVQDLPGYYYRDDSLAVWNALEKYVTEIITYYYPSDAAVEGDPELQSWVQEIFKECLLGRESSGFPRCLRTV
+PELIRYVTIVIYTCSAKHAAVNTGQMEFTAWMPNFPASMRNPPIQTKGLTTLETFMDTLPDVKTTCITLLVLWTLSREPD
+DRRPLGHFPDIHFVEEAPRRSIEAFRQRLNQISHDIRQRNKCLPIPYYYLDPVLIENSISI
+>DECOY_12 
+AQKPNTVKSMFFINQTDTPVIIMLFPRNFRVITRTEVLASLLTIKVATAASAETGEEFVDLVAKHVVQSVALNRAGTIGS
+LDAKSTFAEEIGLQLLIDNLNYDRSISFKPLYLEGIERFELSDRWRKLTEPLLMAEVEEMKDQDPLIFLASANGTYKLEV
+VTCSLEEDRFYPITLHHLSMMPVMVWKKKSLYFRSQHTDQPDFPMEWKAKFFIYNVLVMMTQSDLDKILDTIKGRTGNKV
+YDNILKKAAASDQFDTAFAESGYLRKADETFRDLLSLQEKVFMANGMSLQLEDSSQNLTRLLHQFSQHIEAESTETLNFK
+LGKLIETLTTNHAGLSLFALATSISLPSFIVNKDPAKLVLQKYLSFAFDVNASALGLDVHTGRDQNEQTLNEEDLPSNPH
+CLVAPCFGAALLGLALLPLMREM
+>DECOY_18 
+KFDALIDSFINLFLHAHHDRFVLTPRFRISKDGCGGLVVGKNRAILILKNRISDDPTDFSCFTGRGRVRSIFQPYRAQLD
+LLGTLLAKGAHAANNLLDERKIINIVEALLLNKSPDGLWTNFIRYPANPRFEEKHFFGGTMMKKSFTMVDAPDDLGWHEH
+AWFKGTCGGGTQVEDVLFACGHKRAIDRLKRFFDDSAHNDGGESQIPEVIIGAVTKKKKRYKVILDEVEELCRAEEQQNE
+KVFEELPYKLRPFPAIPWDFSPIDIKHIAKSHTTALCGMTRGHFAGMFSLISYDPCGPAQNIMCTELEEQSFGRQGREKS
+RYWMFITKLANENSCSGCAMTILQSMGKPAVSLLSQRLKEVFNEPPLIGLAPRNVFMSANQPQQILKLLAPHSYGIPVSS
+IQSYLDLMRNGDVDVLYNGRSEEYNCFFHVAEANQIINLQKMLEQSRPGPVETKMLPGDYDFEVDVKAAAQSIHRSGPVL
+LRYSHQFSCALRQALLMSAM
+>DECOY_88 
+LDSEGYLASSFAAYDLAGPVSGPGSYAPMRKICYQAQDPPLERRLEEALIYPKDSALIRFSAIVQEATDTDATERTMFDI
+FSQFTVTGQGNPDVLTMIRAFEAEGLDYGMSILCARFDEHDMLGNKRRDFHNFSARFENMQEQTIGKADRTLIQTEVENI
+TRAITTLLLEWGVRIHEMTYNTHKNDFVLAEQILQHDGELKDINNKYNIINHEYQKLQNMQDELAGTIQISSRAIEEMKN
+QIWPGIANAQAAFQRRLRENAHQRALEEQLSQDRIPVLQKVKDWKTRLEDMTVTSYPNSSSIRINYSQIVKEVENQIAMI
+SQREGDAEPLTAKFQEHATILSQIEEISHVIFMDQLDEMAGEMWNNFPAARKAFELHLQDITELLKEMRELAERRKQTLT
+GLRDWQDCIKQCRDNVNVADHYDLENLEQAIAAIQEVRDQHAALDSEFAEHKRLLARVETLSASEYDKQLLIQEKGYAWT
+EHTSAKQRFKEALHELRELRRIENLLWEEYGKEAQELRQWAGAIDSVMKGESPMFAPRNSIRLKTQLTNFNIELQCKEQV
+KPPKHKRRYDRFDELKKQMAQMTKEPTRNELWPITRRIWELLESALREYEEMLRENEQNVALVKCIRNAATEAQEAGAFA
+HYFCSVYTMIAREDPKPTNVIDEADLMKPIDLHKEAIEMALNINGIPDDKNLKSYDILDPRHRHILACLGLGDKWSTHFN
+QINVNRYPATKRQCWLLLGEKASTEEVSIDQIAFRLIITWIMGLTMKVNGDVIEEAGISVLKVGKSAIYDLAKNVNAIKH
+FRMKGRDPKPLREGSIVELLLMLKLGNRFDEEINEIQTGAKRLHSNCWATFTKRQQKEWAPDLLLDRDWEEEQIMYEDED
+YVYNYQVGPEIQNM
+>DECOY_112 
+SSPGGNLFYTTMEGKGKVKVVGRCELQYGKAALVQYLDTTVQIRDPVGTSDMRSSVNVTNGWIDYQPKRAGIVGAVVPGM
+NLGIKMQFNNFSHENIHKMQEMLRMAYDALATIHSRGVQDYTSANLGSAAMYTSGITKIKELQRFREESIIEDFDAIIEN
+LLRLCEVGENNAELEVYFESFNAISAFMVAVCECSQYYLEDNRRERALFHAAVDKPLINHLLRRNYAQLEEMEEKEGTAQ
+LKWLFDLRATSEVQQAHLYLALAFVLLIVPTMYKLAVRGAAPCDLGDFTENSSALGHVGLLLDYNDFITAPPGLLLLVLY
+ILGLVFIMALKGISSIHLFVSSALLSLLMNGIFYEPFSCTPMTGECLPADLGLSYNLQQLHCATIDAPTLNLMRAACSRI
+PTHNCTFMNAIASTFVLLVSFIGVATSHARSRVISRSLRQLAKPFLSGCSYVACILVTILLLLFISAYIGLMLTSHPFIL
+LQIFCIFCFVLLACAVYAGFRPDVKRSYKKELDERQFTLLFRRVHDKRLQDISRADIARSLFEDVEDEPNLADQTGRNDK
+SSDDIGMQRFAKSDKTRSFARDPVWRPMLGEMSNARTRQLKALMAKEEKRKQSAGLILFTEIHQEKLYANREGGRGPEVE
+YDGNLYQLTARTIHIRGARGGAEMHNALTVDNSWVDFQWKRLGLVGCHVRGSHIGVRMNVNVGTVERVLSIAEIMDVGME
+VCCHAHDARAEPLGSVCYYCDGLIKIRLCHNEAALKDFRAFLENLTMVLEQATCQSALSTFGEIDAFLISVNDHKQIYIK
+HFMMDEKKTNIDEKMEMAVHQPLVSLLLREQQRNEHQLHLRAQIYGRTEQFAQRQSVEAPYHTCIGIVNTCLFLLVNAGL
+QKWLFADGRNLQWALILHLTSLGLGSLVAARMRIPLLTYAIYVFFVPCWLGASPSRPDAALAGGVQVAALIGLVVYSVVW
+MSDQRFSHRNCVVMLGVFLAAACALLAVYAPQPRAPAAHFALLVATLLVLVAMLLTLSSQNMQFFYRQYLRELKASRFQK
+SQFVQVLRRWCSRGSRPVADPAVEATGGATTTVETDEFGLAVARLGLEKGKGPGGRRIFADDQWPCRPPGAPTPSPPEAD
+RLCSMYRPTCFGGARTGRRRSRKQGNREGWATKREDVKPVLLGSFWSM
+>DECOY_114 
+PLDSKDTGEAQAGPETGSPSLLTRRNYHGKIIGTNNNENLLQKQRQRNLSQVLGLVVAALSYQGPLRRPPLIFPNPQVRG
+LLFYTKIKGEQESIGKVYIEGRYDFAFGQDKLILYTEEPVQIRGSVGTSDMRSALNVTKGWIDYQPKKAGIVGAVVSGHS
+IGIRLEFNNFSHKNIEQISETLALSFDALACLHGWKDECQQKEPSLGSVAMYTSGITKIKEIDQFRDEGLLEDFDAIIEN
+LLRLCEVGQNNMETQSYFDAFGPISAFMVGVADYSQSYLEENDRDKELFHRAVHSPLINRLMNENHERLEKMENIEEKAQ
+VRWLFDLRATYELQQGHYFVALLFMAMLLLSVEKTGLFDEGSHNLNDYRLFLGAYVTETLLAYIAIMILLVALKLVSNLR
+LFVACTVMALVGTFVFYEPYSCIDTFVASSNFTLNKLPISKDFDCWLINLIAGLFNILISAFIIVNRALYTENIWCCTKR
+LILPLCKYDEATTILVLASHLMILISFQITMPMVRSSPLLSQIATIFLLVIFACVLNSKFVEDRMQSYKHELSSDKFMLS
+FPKIHERRLKDGSRLDITHEIRKNIEEPGSQVHLAQALHNPLLNISNRTLAALTNQKGVINDFPLEPSWSGETFTAGSNR
+RDSSSVSEKVIDEPLSLLSDEPQKILYTEINHKRLFENREKGHGEEVNYDGNLCDLTAKSIHIRGPIGGSELKNAIDVDW
+SWVDFQWKRLGLVGCLVSGSHIGIRMDVDHKTRSRVYRITKIMSLGMEVCCHAHDQRPEPLGSVCYYCDGLIKIRLCHHE
+HALRDFRAFLENLMRVLEQASLTTSLNTFGKVDAFLISVNEYRHIYIRHFQHQLHEDEVNTMDNIMELVVFRPLVSLVLR
+EQRQNETELRLRAEVCRRTELFAQRQARDSLYSIFIGATNMCMFLVAQAVVQNISIVALRPIVVQLIVQLLSTGLGALIA
+WTLPLPLMSYTAFLTFLVYGIGDGLLGYGLGAALIQTTMAVWTVVGSYQLYTHSTTDKRVVVLACIVVEIGTFFGLLIGK
+LPDMPASALSLHLVLLTLKTLVDLVNMVVESKRRQGLFYRQYLRELDRSKFSNRLTPFIVGRYSYGGNLFFDSNSPACDL
+HLFGLDGGGGSGSASGSGSREPFVKTGCTSHAREGPGLSYLPLASDGSLQPAHHNPGGGAPDSAKGSGGSGSGSGGRHGH
+IFRQETIHRVATQWLLRQPRSASRGDGAPPTPHITYLEESGTLCRVDSLEM
+>DECOY_143 
+GQSYHLVRHLPSVTSIPQLGLLQKTASDWDNGLELRPCISPYQGETRRVWESAQKIAEFAWPINRSISADDMKMLSKFVI
+GEKELRTRIFQLVLMTAILDLLCERGKVGLSQIGKQKLFSHLGNTNLNLILGLEPTLKWFGDETQLSLLETWPVADQWHQ
+ICVIEDEEKVELFCLISDDKTDCKIQLFCSDQLVESLEDSETDSSQFAFVPCRSGELSGVSEELLCLDVPTTRSQSCLAE
+PLASAMPLRLNATLSAASPQFHFPSSASPHYSGFGRIPDPDTPLSFHLQPSDLEPFTGASPRTTFGGPHQLPASQASSLS
+SGSFVIGCYPSSPPNQPPGTPCSASQPIWDACTGPVPGQSFQSADFQRPPAASGFSAVQRYSAFSLSAPSHARATPPLYS
+GVAPALIPFFSSTSTEWPSVKKFLPETATPKCSETWSLDLLKEVGGRELNSTFAPLVGLGDEEFDESVEPQSLEMKRKSF
+PIKRHKRKSLRLEPWESSALLSQNRVAEQPEGQWSMYPLFDVDEKAILESVKPIDPFPSENEDRKEVAVFSTFQTILSNE
+KSLKIILSKLTQKKMEHSTENEHLIGDEYDRILARAALKHIMTGTTKQLETTSVMTRFEKEQILACLTAQTCHPIFGYVL
+LRDNLFLSPVQAPAQLAEPVDPNLQQWKVSVSHCSPSCLRTMQDEIQKRWSHKSKANFYEFVGAGCQSLIRLVHRNATSG
+IGCAFLRTHPRSRKVLQLTLSEDQLHGDSVLLINRSGRAPYLLSLYRLTKWFDTNGMTPTASMIFEAAMTNSTIHKPYSF
+LEKYGTGFQIINVKQKEGVLSLAHLAIQKAQLFTVGEMSSSCDLCIIVESESALDPLDVDLDPQFVLMCAESEKEPHKEV
+WMRPLYAASLGIHLSFGSSDLSSGEMTSIVAKCDTRKQKLEHTDSFIFEIVYPMEISMTLSFSQKTGIEKICIKEVTDQL
+NENLAKDQQWPAVTAPMFFVGVTGLISLETIYTIKILVKAKPPLNGVSVTFVDPADQSMLYAGHGQTVAELYEQQAEEKE
+KIEGVIHKGNIFAEFGCVAAKDDLPFIYKAEIPVHSKNTYTQFVIVQAVTDIIRGKIHVDELPVLNGSADQLGAKTSSST
+KADPLQYDEVKSFNSFEPRYEELETHDSPHFDKIQDGPMSFKIIYKMKVQNTKYVVFEDDEFDTTVSATQSVGHVSDYGP
+PAETLSFDKEHLDMCKGLAVDCILLLRTGDTEGPHSYKISTSLSDSFYIGSGLNGVDTRQVGRDEVVKPLLLGRCLIGVI
+NQVPSGHLLPRVNGLKSLFETTENVRGVRFIQLVDVPSKSHHNQLVEKRVRLFEETNQEVHEIKCRLARYKALSPPNPKS
+LNTECVNVMDRILQCLDAKKALLGLNVEKPMTGKHPILRYFETMMKQLQEATEGNKLAAKVLLLIGEAKSVDNLSIRNVP
+KLLMHELHGLAEAWIMEVLDSVEQSLTSSNMVEELLLAQLQESALQTAEPTFHERLLFGQKKLEEIYNEFYESADESTKK
+IAFQRRTEMGDDLLFHSSILFPCDRSDRSCQLEVVVAEQGGEMGVKELTNYKAVEFDQPLHPIEVNQMGFETLEVTDEEE
+TASDPCLGETKVESSSAKQDPPPTIDLPKYPDYNKVDLLRKERISKWIFDPNAIHVHNKQISNLQYQSLVDANDLIIHTC
+QPNLSFSFKGGNEKIDTQLKKKQQQPLYKVKLCFICNAFIGMVM
+>DECOY_213 
+LGLAAQSAAVLKKGEEAFCTEKDDAKCCKEVFAAFDDMVAKLQEKTAKPKHKVLEVLATQKKIQREKESLTCIDAHFTFT
+EANFEKPVYTEDVELASFCPRRNVLSETCCKTVRDSVPTKEHLVCLQNLVVSLYDEACPMRKAEPHKCCKSGVKGLNRSV
+EVLTPTSVQPVKKTYRVLLANQFKYEGLQEFLECNQKILNQPEEVLPKFEDFVKAYCEHPDAAACCKELTTEYTKALRLL
+LVVSYDPHRRAYEYLFMGLFVDKAEAYNKCVDKSEVFDAALSPLDAPMEDNEVEAICHSKELLPKECCEKLKSSISDQNE
+CIYKALDARDDACELLDGHCCETHVKTLDTVLKSVEAFEAKPFRQSLRAVAWAKFAREGFKQLSACKLRQKASSAKGEDR
+LEDLKPLLCAAKDAAQCCETFAAKYRKAFFLLEPAYFYPHRRAIEYLYKKLFTEENDHFATCMVDVEPRVLRPLNPNDDK
+HQLFCENREPEQKACCDAMEGYTERLTAVTCLKDGFLTHLSKDCNEASEDAVCTKAFETVENVLKVHDEFPCQQLYQAFA
+ILVLAKFNEEGLDKFRHAVESKHADRRFVGRSYASSFLFLLSIFTVWKM
+>DECOY_230 
+YAHNAIYLSQAAAGGDEGSGEYKGQAALGNVEARKIFEETAAGANDRQGRWANLASAQLARGYSFTLAWPRPLPCRNIAN
+LNFSAEEESQGGSLFTVGPVAPPVTRRLATVTAMAIEEPTYKIPCAHGPTVMNPKLLTGELYVHHDSLAKYVAALVKETV
+YQCRKLDHDGDPLIEPEVIPVIGNQQCISAYRALVNANELIALASPTRESIKLVCRWKAFDAGDKKYQACRESLGDLGQT
+TTEGDTGALPVVGKDVKIGVVIGKDQITRVFPVGNDDKQYLTEHFFIVGGICKKVRDDASFLVQRYLRRNEETNEVGIQS
+LRKAMSGVSEDAALIGKGPAVIRLAIDSLEKKQEASLAPYSHPM
+>DECOY_231 
+FEEHFPYDKHSTCSLLACVRWNRNYSLLTTMDQSSLEFDFVKFNEAIREPTVSKPIVVLNRQMPFRILVQATTKNHKAAI
+AKIRPDELLSPDEPKAWPRDPSGLPSYATVVIGKSQCYQILKEQTLYPHCEIQNVAPKYKLGPKNLIMEVQLHNFNSIGI
+AKVLGEDVLEEMAAWTDLINTDSPVVNGSEDLPFFEKGPKFGTPWHILYLDLYDLKLDSLTKQCAGKVLGKEHYTCWLKS
+VIFLEERKVVQERLKEQIAVGVENENQYVHACDIHRYGVDIAVKVAETVQGPPSKWTGLGLIPMKAGNNLLLRSAM
+>DECOY_242 
+ISISNEILVPDLYYYPIPLCKNRQRIDHSIQNLRQRFAEISRRPAEEVFHIDPFHGLPRRDDPERSLTWLVLLTICTTKV
+DPLTDMFTELTTLGKTQIPPNRMSAPFNPMWATFEMQGTNVAAHKASCTYIVITVYRILEPVTRLCRPFGSSERGLLCEK
+FIEQVWSQLEPDGEVAADSPYYYTIIETVYKELANWVALSDDRYYYGPLDQVGREVFDNPLYLSDYTLESLARVMVGAFG
+EVGLSMGKASLGGENLLVARGISNIQVTYRTHPILLKYLPHCMPLNRLLALCFAEAILHTELLHAIAEHSYFEAYRVWTK
+ALLWDWESDSPLFIPCDPGPTQSLQIAIPMMKGEPGFHLLCLPACHHQKRGSLEVTPIGEMIRYDALYINGKELEAQLCT
+GEGLFPAVMDDTVPFKDPIRTCRRILGPNVGNLYQYGFFTDEAWHEAVYESVVSKKGPFIKRIDKLRKWSHKCDLLGRVK
+FALAMPGLRVFFSATKLFSYRLNLNLFKTAKFNILIPFGPIYGNWEPRNPNRHRRVPPRYSPIHVYSPLGPLFVRWHYFD
+QKARIEEKRHELLVPLSDDATTKGTAERLALTEYGDMWQYAPFHYIRGNPACIQVYNCYWPDKPFFAYREKHLRIIILEG
+LDQPCQVTYQGVAGTAFDRGFHNLLQKHSEGQTGVITLSISDRTGSLLDTGTAVRVKYTAM
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tool.conf	Thu Jan 11 18:08:16 2018 -0500
@@ -0,0 +1,160 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<toolbox>
+  <section id="section-id-Peptidepropertyprediction" name="Peptide property prediction">
+    <tool file="openms/PTModel.xml"/>
+    <tool file="openms/PTPredict.xml"/>
+    <tool file="openms/RTModel.xml"/>
+    <tool file="openms/RTPredict.xml"/>
+  </section>
+  <section id="section-id-TargetedExperiments" name="Targeted Experiments">
+    <tool file="openms/InclusionExclusionListCreator.xml"/>
+    <tool file="openms/MRMMapper.xml"/>
+    <tool file="openms/OpenSwathAnalyzer.xml"/>
+    <tool file="openms/OpenSwathAssayGenerator.xml"/>
+    <tool file="openms/OpenSwathChromatogramExtractor.xml"/>
+    <tool file="openms/OpenSwathConfidenceScoring.xml"/>
+    <tool file="openms/OpenSwathDecoyGenerator.xml"/>
+    <tool file="openms/OpenSwathDIAPreScoring.xml"/>
+    <tool file="openms/OpenSwathFeatureXMLToTSV.xml"/>
+    <tool file="openms/OpenSwathFileSplitter.xml"/>
+    <tool file="openms/OpenSwathMzMLFileCacher.xml"/>
+    <tool file="openms/OpenSwathRewriteToFeatureXML.xml"/>
+    <tool file="openms/OpenSwathRTNormalizer.xml"/>
+    <tool file="openms/PrecursorIonSelector.xml"/>
+    <tool file="openms/TargetedFileConverter.xml"/>
+  </section>
+  <section id="section-id-Utilities" name="Utilities">
+    <tool file="openms/AccurateMassSearch.xml"/>
+    <tool file="openms/CVInspector.xml"/>
+    <tool file="openms/DatabaseFilter.xml"/>
+    <tool file="openms/DecoyDatabase.xml"/>
+    <tool file="openms/DeMeanderize.xml"/>
+    <tool file="openms/Digestor.xml"/>
+    <tool file="openms/DigestorMotif.xml"/>
+    <tool file="openms/ERPairFinder.xml"/>
+    <tool file="openms/FFEval.xml"/>
+    <tool file="openms/FuzzyDiff.xml"/>
+    <tool file="openms/IDDecoyProbability.xml"/>
+    <tool file="openms/IDExtractor.xml"/>
+    <tool file="openms/IDMassAccuracy.xml"/>
+    <tool file="openms/IDScoreSwitcher.xml"/>
+    <tool file="openms/IDSplitter.xml"/>
+    <tool file="openms/LabeledEval.xml"/>
+    <tool file="openms/LowMemPeakPickerHiRes.xml"/>
+    <tool file="openms/LowMemPeakPickerHiRes_RandomAccess.xml"/>
+    <tool file="openms/MassCalculator.xml"/>
+    <tool file="openms/MetaboliteSpectralMatcher.xml"/>
+    <tool file="openms/MetaProSIP.xml"/>
+    <tool file="openms/MRMPairFinder.xml"/>
+    <tool file="openms/MRMTransitionGroupPicker.xml"/>
+    <tool file="openms/MSSimulator.xml"/>
+    <tool file="openms/MultiplexResolver.xml"/>
+    <tool file="openms/MzMLSplitter.xml"/>
+    <tool file="openms/OpenSwathWorkflow.xml"/>
+    <tool file="openms/QCCalculator.xml"/>
+    <tool file="openms/QCEmbedder.xml"/>
+    <tool file="openms/QCExporter.xml"/>
+    <tool file="openms/QCExtractor.xml"/>
+    <tool file="openms/QCImporter.xml"/>
+    <tool file="openms/QCMerger.xml"/>
+    <tool file="openms/QCShrinker.xml"/>
+    <tool file="openms/RNPxl.xml"/>
+    <tool file="openms/RNPxlSearch.xml"/>
+    <tool file="openms/RNPxlXICFilter.xml"/>
+    <tool file="openms/RTEvaluation.xml"/>
+    <tool file="openms/SemanticValidator.xml"/>
+    <tool file="openms/SequenceCoverageCalculator.xml"/>
+    <tool file="openms/SimpleSearchEngine.xml"/>
+    <tool file="openms/SpecLibCreator.xml"/>
+    <tool file="openms/SpectraSTSearchAdapter.xml"/>
+    <tool file="openms/SvmTheoreticalSpectrumGeneratorTrainer.xml"/>
+    <tool file="openms/TICCalculator.xml"/>
+    <tool file="openms/TopPerc.xml"/>
+    <tool file="openms/TransformationEvaluation.xml"/>
+    <tool file="openms/XMLValidator.xml"/>
+  </section>
+  <section id="section-id-MapAlignment" name="Map Alignment">
+    <tool file="openms/ConsensusMapNormalizer.xml"/>
+    <tool file="openms/FeatureLinkerLabeled.xml"/>
+    <tool file="openms/FeatureLinkerUnlabeled.xml"/>
+    <tool file="openms/FeatureLinkerUnlabeledKD.xml"/>
+    <tool file="openms/FeatureLinkerUnlabeledQT.xml"/>
+    <tool file="openms/MapRTTransformer.xml"/>
+  </section>
+  <section id="section-id-IDProcessing" name="ID Processing">
+    <tool file="openms/ConsensusID.xml"/>
+    <tool file="openms/FalseDiscoveryRate.xml"/>
+    <tool file="openms/FidoAdapter.xml"/>
+    <tool file="openms/IDConflictResolver.xml"/>
+    <tool file="openms/IDFileConverter.xml"/>
+    <tool file="openms/IDFilter.xml"/>
+    <tool file="openms/IDMapper.xml"/>
+    <tool file="openms/IDPosteriorErrorProbability.xml"/>
+    <tool file="openms/IDRTCalibration.xml"/>
+    <tool file="openms/LuciphorAdapter.xml"/>
+    <tool file="openms/PeptideIndexer.xml"/>
+    <tool file="openms/PhosphoScoring.xml"/>
+  </section>
+  <section id="section-id-Signalprocessingandpreprocessing" name="Signal processing and preprocessing">
+    <tool file="openms/BaselineFilter.xml"/>
+    <tool file="openms/ExternalCalibration.xml"/>
+    <tool file="openms/HighResPrecursorMassCorrector.xml"/>
+    <tool file="openms/InternalCalibration.xml"/>
+    <tool file="openms/MapNormalizer.xml"/>
+    <tool file="openms/MassTraceExtractor.xml"/>
+    <tool file="openms/NoiseFilterGaussian.xml"/>
+    <tool file="openms/NoiseFilterSGolay.xml"/>
+    <tool file="openms/PeakPickerHiRes.xml"/>
+    <tool file="openms/PeakPickerIterative.xml"/>
+    <tool file="openms/PeakPickerWavelet.xml"/>
+    <tool file="openms/PrecursorMassCorrector.xml"/>
+    <tool file="openms/SpectraMerger.xml"/>
+    <tool file="openms/TOFCalibration.xml"/>
+  </section>
+  <section id="section-id-Identification" name="Identification">
+    <tool file="openms/CompNovoCID.xml"/>
+    <tool file="openms/CompNovo.xml"/>
+    <tool file="openms/InspectAdapter.xml"/>
+    <tool file="openms/MascotAdapter.xml"/>
+    <tool file="openms/MascotAdapterOnline.xml"/>
+    <tool file="openms/MSGFPlusAdapter.xml"/>
+    <tool file="openms/ProteinInference.xml"/>
+    <tool file="openms/SpectraFilterBernNorm.xml"/>
+    <tool file="openms/SpectraFilterMarkerMower.xml"/>
+    <tool file="openms/SpectraFilterNLargest.xml"/>
+    <tool file="openms/SpectraFilterNormalizer.xml"/>
+    <tool file="openms/SpectraFilterParentPeakMower.xml"/>
+    <tool file="openms/SpectraFilterScaler.xml"/>
+    <tool file="openms/SpectraFilterSqrtMower.xml"/>
+    <tool file="openms/SpectraFilterThresholdMower.xml"/>
+    <tool file="openms/SpectraFilterWindowMower.xml"/>
+    <tool file="openms/XTandemAdapter.xml"/>
+  </section>
+  <section id="section-id-FileHandling" name="File Handling">
+    <tool file="openms/DTAExtractor.xml"/>
+    <tool file="openms/FileConverter.xml"/>
+    <tool file="openms/FileFilter.xml"/>
+    <tool file="openms/FileInfo.xml"/>
+    <tool file="openms/FileMerger.xml"/>
+    <tool file="openms/IDMerger.xml"/>
+    <tool file="openms/IDRipper.xml"/>
+    <tool file="openms/MapStatistics.xml"/>
+    <tool file="openms/MzTabExporter.xml"/>
+    <tool file="openms/TextExporter.xml"/>
+  </section>
+  <section id="section-id-Quantitation" name="Quantitation">
+    <tool file="openms/AdditiveSeries.xml"/>
+    <tool file="openms/Decharger.xml"/>
+    <tool file="openms/EICExtractor.xml"/>
+    <tool file="openms/FeatureFinderCentroided.xml"/>
+    <tool file="openms/FeatureFinderIdentification.xml"/>
+    <tool file="openms/FeatureFinderIsotopeWavelet.xml"/>
+    <tool file="openms/FeatureFinderMetabo.xml"/>
+    <tool file="openms/FeatureFinderMRM.xml"/>
+    <tool file="openms/FeatureFinderMultiplex.xml"/>
+    <tool file="openms/FeatureFinderSuperHirn.xml"/>
+    <tool file="openms/IsobaricAnalyzer.xml"/>
+    <tool file="openms/ProteinQuantifier.xml"/>
+    <tool file="openms/ProteinResolver.xml"/>
+  </section>
+</toolbox>