changeset 0:83983906eb4b draft

planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 58476cadaaf10b494317a604ad81d41c2d15f29b
author galaxyp
date Mon, 12 Feb 2018 13:43:49 -0500
parents
children dbd714e74e21
files MapAlignerIdentification.xml filetypes.txt macros.xml readme.md test-data/DecoyDatabase_input.fasta test-data/DecoyDatabase_output.fasta tool.conf tools_blacklist.txt
diffstat 8 files changed, 1031 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/MapAlignerIdentification.xml	Mon Feb 12 13:43:49 2018 -0500
@@ -0,0 +1,212 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!--This is a configuration file for the integration of a tools into Galaxy (https://galaxyproject.org/). This file was automatically generated using CTDConverter.-->
+<!--Proposed Tool Section: [Map Alignment]-->
+<tool id="MapAlignerIdentification" name="MapAlignerIdentification" version="2.3.0">
+  <description>Corrects retention time distortions between maps based on common peptide identifications.</description>
+  <macros>
+    <token name="@EXECUTABLE@">MapAlignerIdentification</token>
+    <import>macros.xml</import>
+  </macros>
+  <expand macro="references"/>
+  <expand macro="stdio"/>
+  <expand macro="requirements"/>
+  <command>MapAlignerIdentification
+
+-in
+  #for token in $param_in:
+    $token
+  #end for
+
+#if $rep_param_out:
+-out
+  #for token in $rep_param_out:
+    #if " " in str(token):
+      "$token.param_out"
+    #else
+      $token.param_out
+    #end if
+  #end for
+#end if
+
+#if $rep_param_trafo_out:
+-trafo_out
+  #for token in $rep_param_trafo_out:
+    #if " " in str(token):
+      "$token.param_trafo_out"
+    #else
+      $token.param_trafo_out
+    #end if
+  #end for
+#end if
+#if $param_design:
+  -design $param_design
+#end if
+#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_min_run_occur:
+  -algorithm:min_run_occur $param_algorithm_min_run_occur
+#end if
+#if $param_algorithm_max_rt_shift:
+  -algorithm:max_rt_shift $param_algorithm_max_rt_shift
+#end if
+#if $param_algorithm_use_unassigned_peptides:
+  -algorithm:use_unassigned_peptides
+  #if " " in str($param_algorithm_use_unassigned_peptides):
+    "$param_algorithm_use_unassigned_peptides"
+  #else
+    $param_algorithm_use_unassigned_peptides
+  #end if
+#end if
+#if $param_algorithm_use_feature_rt:
+  -algorithm:use_feature_rt
+#end if
+#if $param_model_type:
+  -model:type
+  #if " " in str($param_model_type):
+    "$param_model_type"
+  #else
+    $param_model_type
+  #end if
+#end if
+#if $param_model_linear_symmetric_regression:
+  -model:linear:symmetric_regression
+#end if
+#if $param_model_b_spline_wavelength:
+  -model:b_spline:wavelength $param_model_b_spline_wavelength
+#end if
+#if $param_model_b_spline_num_nodes:
+  -model:b_spline:num_nodes $param_model_b_spline_num_nodes
+#end if
+#if $param_model_b_spline_extrapolate:
+  -model:b_spline:extrapolate
+  #if " " in str($param_model_b_spline_extrapolate):
+    "$param_model_b_spline_extrapolate"
+  #else
+    $param_model_b_spline_extrapolate
+  #end if
+#end if
+#if $param_model_b_spline_boundary_condition:
+  -model:b_spline:boundary_condition $param_model_b_spline_boundary_condition
+#end if
+#if $param_model_lowess_span:
+  -model:lowess:span $param_model_lowess_span
+#end if
+#if $param_model_lowess_num_iterations:
+  -model:lowess:num_iterations $param_model_lowess_num_iterations
+#end if
+#if $param_model_lowess_delta:
+  -model:lowess:delta $param_model_lowess_delta
+#end if
+#if $param_model_lowess_interpolation_type:
+  -model:lowess:interpolation_type
+  #if " " in str($param_model_lowess_interpolation_type):
+    "$param_model_lowess_interpolation_type"
+  #else
+    $param_model_lowess_interpolation_type
+  #end if
+#end if
+#if $param_model_lowess_extrapolation_type:
+  -model:lowess:extrapolation_type
+  #if " " in str($param_model_lowess_extrapolation_type):
+    "$param_model_lowess_extrapolation_type"
+  #else
+    $param_model_lowess_extrapolation_type
+  #end if
+#end if
+#if $param_model_interpolated_interpolation_type:
+  -model:interpolated:interpolation_type
+  #if " " in str($param_model_interpolated_interpolation_type):
+    "$param_model_interpolated_interpolation_type"
+  #else
+    $param_model_interpolated_interpolation_type
+  #end if
+#end if
+#if $param_model_interpolated_extrapolation_type:
+  -model:interpolated:extrapolation_type
+  #if " " in str($param_model_interpolated_extrapolation_type):
+    "$param_model_interpolated_extrapolation_type"
+  #else
+    $param_model_interpolated_extrapolation_type
+  #end if
+#end if
+#if $adv_opts.adv_opts_selector=='advanced':
+    #if $adv_opts.param_force:
+  -force
+#end if
+#end if
+</command>
+  <inputs>
+    <param name="param_in" type="data" format="featurexml,consensusxml,idxml" multiple="true" optional="False" size="30" label="Input files to align (all must have the same file type)" help="(-in) ">
+      <sanitizer>
+        <valid initial="string.printable">
+          <remove value="'"/>
+          <remove value="&quot;"/>
+        </valid>
+      </sanitizer>
+    </param>
+    <param name="param_design" type="data" format="tabular" optional="True" label="input file containing the experimental design" help="(-design) "/>
+    <param name="param_reference_file" type="data" format="featurexml,consensusxml,idxml" optional="True" label="File to use as reference" 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_min_run_occur" type="integer" min="2" optional="True" value="2" label="Minimum number of runs (incl" help="(-min_run_occur) reference, if any) in which a peptide must occur to be used for the alignment. &lt;br&gt;Unless you have very few runs or identifications, increase this value to focus on more informative peptides"/>
+    <param name="param_algorithm_max_rt_shift" type="float" min="0.0" optional="True" value="0.5" label="Maximum realistic RT difference for a peptide (median per run vs" help="(-max_rt_shift) reference). Peptides with higher shifts (outliers) are not used to compute the alignment. &lt;br&gt;If 0, no limit (disable filter); if &gt; 1, the final value in seconds; if &lt;= 1, taken as a fraction of the range of the reference RT scale"/>
+    <param name="param_algorithm_use_unassigned_peptides" display="radio" type="select" optional="False" value="true" label="Should unassigned peptide identifications be used when computing an alignment of feature or consensus maps?" help="(-use_unassigned_peptides) If 'false', only peptide IDs assigned to features will be used">
+      <option value="true" selected="true">true</option>
+      <option value="false">false</option>
+    </param>
+    <param name="param_algorithm_use_feature_rt" display="radio" type="boolean" truevalue="-algorithm:use_feature_rt" falsevalue="" checked="false" optional="True" label="When aligning feature or consensus maps, don't use the retention time of a peptide identification directly; instead, use the retention time of the centroid of the feature (apex of the elution profile) that the peptide was matched to" help="(-use_feature_rt) If different identifications are matched to one feature, only the peptide closest to the centroid in RT is used. &lt;br&gt;Precludes 'use_unassigned_peptides'"/>
+    <param name="param_model_type" display="radio" type="select" optional="False" value="b_spline" label="Type of model" help="(-type) ">
+      <option value="linear">linear</option>
+      <option value="b_spline" selected="true">b_spline</option>
+      <option value="lowess">lowess</option>
+      <option value="interpolated">interpolated</option>
+    </param>
+    <param name="param_model_linear_symmetric_regression" display="radio" type="boolean" truevalue="-model:linear:symmetric_regression" falsevalue="" checked="false" optional="True" label="Perform linear regression on 'y - x' vs" help="(-symmetric_regression) 'y + x', instead of on 'y' vs. 'x'"/>
+    <param name="param_model_b_spline_wavelength" type="float" min="0.0" optional="True" value="0.0" label="Determines the amount of smoothing by setting the number of nodes for the B-spline" help="(-wavelength) The number is chosen so that the spline approximates a low-pass filter with this cutoff wavelength. The wavelength is given in the same units as the data; a higher value means more smoothing. '0' sets the number of nodes to twice the number of input points"/>
+    <param name="param_model_b_spline_num_nodes" type="integer" min="0" optional="True" value="5" label="Number of nodes for B-spline fitting" help="(-num_nodes) Overrides 'wavelength' if set (to two or greater). A lower value means more smoothing"/>
+    <param name="param_model_b_spline_extrapolate" display="radio" type="select" optional="False" value="linear" label="Method to use for extrapolation beyond the original data range" help="(-extrapolate) 'linear': Linear extrapolation using the slope of the B-spline at the corresponding endpoint. 'b_spline': Use the B-spline (as for interpolation). 'constant': Use the constant value of the B-spline at the corresponding endpoint. 'global_linear': Use a linear fit through the data (which will most probably introduce discontinuities at the ends of the data range)">
+      <option value="linear" selected="true">linear</option>
+      <option value="b_spline">b_spline</option>
+      <option value="constant">constant</option>
+      <option value="global_linear">global_linear</option>
+    </param>
+    <param name="param_model_b_spline_boundary_condition" type="integer" min="0" max="2" optional="True" value="2" label="Boundary condition at B-spline endpoints: 0 (value zero), 1 (first derivative zero) or 2 (second derivative zero)" help="(-boundary_condition) "/>
+    <param name="param_model_lowess_span" type="float" min="0.0" max="1.0" optional="True" value="0.666666666667" label="Fraction of datapoints (f) to use for each local regression (determines the amount of smoothing)" help="(-span) Choosing this parameter in the range .2 to .8 usually results in a good fit"/>
+    <param name="param_model_lowess_num_iterations" type="integer" min="0" optional="True" value="3" label="Number of robustifying iterations for lowess fitting" help="(-num_iterations) "/>
+    <param name="param_model_lowess_delta" type="float" value="-1.0" label="Nonnegative parameter which may be used to save computations (recommended value is 0.01 of the range of the input," help="(-delta) e.g. for data ranging from 1000 seconds to 2000 seconds, it could be set to 10). Setting a negative value will automatically do this"/>
+    <param name="param_model_lowess_interpolation_type" display="radio" type="select" optional="False" value="cspline" label="Method to use for interpolation between datapoints computed by lowess" help="(-interpolation_type) 'linear': Linear interpolation. 'cspline': Use the cubic spline for interpolation. 'akima': Use an akima spline for interpolation">
+      <option value="linear">linear</option>
+      <option value="cspline" selected="true">cspline</option>
+      <option value="akima">akima</option>
+    </param>
+    <param name="param_model_lowess_extrapolation_type" display="radio" type="select" optional="False" value="four-point-linear" label="Method to use for extrapolation outside the data range" help="(-extrapolation_type) 'two-point-linear': Uses a line through the first and last point to extrapolate. 'four-point-linear': Uses a line through the first and second point to extrapolate in front and and a line through the last and second-to-last point in the end. 'global-linear': Uses a linear regression to fit a line through all data points and use it for interpolation">
+      <option value="two-point-linear">two-point-linear</option>
+      <option value="four-point-linear" selected="true">four-point-linear</option>
+      <option value="global-linear">global-linear</option>
+    </param>
+    <param name="param_model_interpolated_interpolation_type" display="radio" type="select" optional="False" value="cspline" label="Type of interpolation to apply" help="(-interpolation_type) ">
+      <option value="linear">linear</option>
+      <option value="cspline" selected="true">cspline</option>
+      <option value="akima">akima</option>
+    </param>
+    <param name="param_model_interpolated_extrapolation_type" display="radio" type="select" optional="False" value="two-point-linear" label="Type of extrapolation to apply: two-point-linear: use the first and last data point to build a single linear model, four-point-linear: build two linear models on both ends using the first two / last two points, global-linear: use all points to build a single linear model" help="(-extrapolation_type) Note that global-linear may not be continuous at the border">
+      <option value="two-point-linear" selected="true">two-point-linear</option>
+      <option value="four-point-linear">four-point-linear</option>
+      <option value="global-linear">global-linear</option>
+    </param>
+    <expand macro="advanced_options">
+      <param name="param_force" display="radio" type="boolean" truevalue="-force" falsevalue="" checked="false" optional="True" label="Overwrite tool specific checks" help="(-force) "/>
+    </expand>
+  </inputs>
+  <outputs>
+    <data name="param_out" metadata_source="param_in" format="input"/>
+    <data name="param_trafo_out" format="trafoxml"/>
+  </outputs>
+  <help>Corrects retention time distortions between maps based on common peptide identifications.
+
+
+For more information, visit http://ftp.mi.fu-berlin.de/OpenMS/release-documentation/html/TOPP_MapAlignerIdentification.html</help>
+</tool>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/filetypes.txt	Mon Feb 12 13:43:49 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	Mon Feb 12 13:43:49 2018 -0500
@@ -0,0 +1,36 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<macros>
+  <xml name="requirements">
+    <requirements>
+      <requirement type="package" version="2.3">openms</requirement>
+      <requirement type="package" version="15.12.15.2">xtandem</requirement>
+      <requirement type="package" version="1.0">fido</requirement>
+      <requirement type="package" version="2017.07.21">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	Mon Feb 12 13:43:49 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/CTDConverter.git
+    ```
+    
+ * If you have CTDopts and CTDConverter 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. Further information can be found on the CTDConverter page.
+
+    ```bash
+    python convert.py galaxy \ 
+    -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_e xecutable \
+     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/tools_blacklist.txt
+    ```
+
+
+ * As last step you need to change manually the binary names of all external binaries you want to use in OpenMS. Some of these tools might already be deprecated and the files might not exist:
+
+    ```
+    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>
+    ```
+    
+
+ * `This section might not be up to date. It might be worth trying if these tools will run now.` 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 `tools_blacklist.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	Mon Feb 12 13:43:49 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	Mon Feb 12 13:43:49 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	Mon Feb 12 13:43:49 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>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tools_blacklist.txt	Mon Feb 12 13:43:49 2018 -0500
@@ -0,0 +1,9 @@
+OMSSAAdapter
+MyriMatchAdapter
+PepNovoAdapter
+SeedListGenerator
+SpecLibSearcher
+MapAlignerIdentification
+MapAlignerPoseClustering
+MapAlignerSpectrum
+MapAlignerRTTransformer