changeset 0:851dcf14ee3a draft

"planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/pepquery commit 9764eee2801a65462d26b919bfaea6e3ae0cce7a"
author galaxyp
date Wed, 22 Jan 2020 22:12:14 +0000
parents
children 9b5989900a87
files macros.xml pepquery.xml test-data/Uniprot.fasta test-data/iTRAQ_f4.mgf test-data/novel_peptides test-data/novel_proteins.fa
diffstat 6 files changed, 1402 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/macros.xml	Wed Jan 22 22:12:14 2020 +0000
@@ -0,0 +1,164 @@
+ <macros>
+    <token name="@VERSION@">1.3.0</token>
+    <xml name="modifications">
+        <option value="1">HexNAc of T (203.07937251951) modaa</option>
+        <option value="2">HexNAc of S (203.07937251951) modaa</option>
+        <option value="3">Propionyl of peptide N-term light (56.02621474784) modn_peptide</option>
+        <option value="4">iTRAQ 8-plex of K (304.19903946116) modaa</option>
+        <option value="5">Dimethylation of K 2H(6) 13C(2) (36.075670278260006) modaa</option>
+        <!--<option value="6">Carbamidomethylation of C (57.02146372057) modaa</option>-->
+        <option value="7">Dioxidation of M (31.98982923912) modaa</option>
+        <option value="8">Guanidination of K (42.02179807374) modaa</option>
+        <option value="9">S-nitrosylation (28.99016359229) modaa</option>
+        <option value="10">TMT 6-plex of K (229.16293213472) modaa</option>
+        <option value="11">Propionyl of peptide N-term heavy (59.03627926124) modn_peptide</option>
+        <option value="12">Formylation of protein N-term (27.99491461956) modn_protein</option>
+        <option value="13">TMT 10-plex of K+6 (235.18306116152) modaa</option>
+        <option value="14">TMT 11-plex of K+6 (235.18306116152) modaa</option>
+        <option value="15">TMT 10-plex of K+8 (237.17713094832) modaa</option>
+        <option value="16">TMT 11-plex of K+4 (233.18803911764) modaa</option>
+        <option value="17">Diiodination of Y (251.79329593586) modaa</option>
+        <option value="18">TMT 10-plex of K+4 (233.18803911764) modaa</option>
+        <option value="19">ICPL10 of peptide N-term (115.06669973029) modn_peptide</option>
+        <option value="20">Amidation of the protein C-term (-0.9840155826899988) modc_protein</option>
+        <option value="21">Acetylation of peptide N-term (42.0105646837) modn_peptide</option>
+        <option value="22">Palmitoylation of protein N-term (238.22966558166) modn_protein</option>
+        <option value="23">ICAT-O (227.12699141827) modaa</option>
+        <option value="24">TMT 2-plex of peptide N-term (225.15583272792) modn_peptide</option>
+        <option value="25">TMT 11-plex of K+8 (237.17713094832) modaa</option>
+        <option value="26">Label of K 2H(4) (4.025106982920001) modaa</option>
+        <option value="27">Isoleucine 13C(6) 15N(1) (7.017163920200005) modaa</option>
+        <option value="28">Arginine 13C(6) (6.020129026799992) modaa</option>
+        <option value="29">Acetylation of K (42.0105646837) modaa</option>
+        <option value="30">Dimethylation of peptide N-term 2H(6) 13C(2) (36.075670278260006) modn_peptide</option>
+        <option value="31">ICPL0 of K (105.02146372057) modaa</option>
+        <option value="32">Trimethylation of protein N-term A (42.04695019242) modn_protein</option>
+        <option value="33">Thioacyl of peptide N-term (87.99828574784) modn_peptide</option>
+        <option value="34">Trideuterated Methyl Ester of R (17.034480301330003) modaa</option>
+        <option value="35">ICPL4 of peptide N-term (109.04657070349) modn_peptide</option>
+        <option value="36">4-Hydroxyproline (83.07349929343) modaa</option>
+        <option value="37">Hex(5) HexNAc(4) NeuAc(2) of N (2204.77244018348) modaa</option>
+        <option value="38">Palmitoylation of T (238.22966558166) modaa</option>
+        <option value="39">Palmitoylation of S (238.22966558166) modaa</option>
+        <option value="40">Methylation of K (14.01565006414) modaa</option>
+        <option value="41">Hexose of K (162.0528234185) modaa</option>
+        <option value="42">Methylation of E (14.01565006414) modaa</option>
+        <option value="43">Lysine 13C(6) (6.020129026799992) modaa</option>
+        <option value="44">Palmitoylation of K (238.22966558166) modaa</option>
+        <option value="45">Methylation of C (14.01565006414) modaa</option>
+        <option value="46">Sodium adduct to D (21.98194424883) modaa</option>
+        <option value="47">Methylation of D (14.01565006414) modaa</option>
+        <option value="48">Pyrolidone from carbamidomethylated C (-17.02654910101) modnaa_peptide</option>
+        <option value="49">Sodium adduct to E (21.98194424883) modaa</option>
+        <option value="50">ICPL6 of peptide N-term (111.04159274737) modn_peptide</option>
+        <option value="51">Dehydration of S (-18.0105646837) modaa</option>
+        <option value="52">Palmitoylation of C (238.22966558166) modaa</option>
+        <option value="53">Propionamide of C (71.03711378471) modaa</option>
+        <option value="54">mTRAQ of peptide N-term light (140.094963014) modn_peptide</option>
+        <option value="55">Propionyl of K light (56.02621474784) modaa</option>
+        <option value="56">Dehydration of T (-18.0105646837) modaa</option>
+        <option value="57">Hex(5) HexNAc(4) NeuAc(2) Na of N (2226.75438443231) modaa</option>
+        <option value="58">Lysine 2H(4) (4.025106982920001) modaa</option>
+        <option value="59">ICAT-9 (236.15718495847) modaa</option>
+        <option value="60">Dimethylation of peptide N-term (28.03130012828) modn_peptide</option>
+        <option value="61">Propionamide of K (71.03711378471) modaa</option>
+        <option value="62">TMT 10-plex of peptide N-term (229.16293213472) modn_peptide</option>
+        <option value="63">Methylation of S (14.01565006414) modaa</option>
+        <option value="64">Methylation of R (14.01565006414) modaa</option>
+        <option value="65">Homoserine of peptide C-term M (-29.992806444580005) modcaa_peptide</option>
+        <option value="66">Proline 13C(5) (5.016774189000003) modaa</option>
+        <option value="67">Farnesylation of C (204.18780076968) modaa</option>
+        <option value="68">Trimethylation of K (42.04695019242) modaa</option>
+        <option value="69">iTRAQ 8-plex of peptide N-term (304.19903946116) modn_peptide</option>
+        <option value="70">FormylMet of protein N-term (159.03539953255) modn_protein</option>
+        <option value="71">Dimethylation of K (28.03130012828) modaa</option>
+        <option value="72">mTRAQ of K 13C(3) 15N (144.1020624208) modaa</option>
+        <option value="73">Carboxymethylation of C (58.00547930326) modaa</option>
+        <option value="74">Guanidination of peptide N-term (42.02179807374) modn_peptide</option>
+        <option value="75">Acetylation of protein N-term (42.0105646837) modn_protein</option>
+        <option value="76">Trimethylation of R (42.04695019242) modaa</option>
+        <option value="77">Pyrolidone from E (-18.0105646837) modnaa_peptide</option>
+        <option value="78">Dimethylation of R (28.03130012828) modaa</option>
+        <option value="79">TMT 2-plex of K (225.15583272792) modaa</option>
+        <option value="80">Pyrolidone from Q (-17.02654910101) modnaa_peptide</option>
+        <option value="81">18O(1) of peptide C-term (2.0042463804400015) modc_peptide</option>
+        <option value="82">iodoTMT 6-plex of C (329.22659502044) modaa</option>
+        <option value="83">18O(2) of peptide C-term (4.008492760880003) modc_peptide</option>
+        <option value="84">Acetaldehyde +26 (26.01565006414) modn_peptide</option>
+        <option value="85">Formylation of K (27.99491461956) modaa</option>
+        <option value="86">Dioxidation of W (31.98982923912) modaa</option>
+        <option value="87">mTRAQ of K light (140.094963014) modaa</option>
+        <option value="88">Ubiquitination of K (114.04292744114) modaa</option>
+        <option value="89">TMT 11-plex of peptide N-term (229.16293213472) modn_peptide</option>
+        <option value="90">Formylation of T (27.99491461956) modaa</option>
+        <option value="91">Nethylmaleimide of C (125.04767846841) modaa</option>
+        <option value="92">Formylation of S (27.99491461956) modaa</option>
+        <option value="93">iTRAQ 8-plex of Y (304.19903946116) modaa</option>
+        <option value="94">ICPL4 of K (109.04657070349) modaa</option>
+        <option value="95">Formylation of peptide N-term (27.99491461956) modn_peptide</option>
+        <option value="96">mTRAQ of peptide N-term 13C(6) 15N(2) (148.1091618276) modn_peptide</option>
+        <option value="97">TMT 6-plex of peptide N-term (229.16293213472) modn_peptide</option>
+        <option value="98">Carbamilation of K (43.00581365643) modaa</option>
+        <option value="99">mTRAQ of 13C(6) 15N(2) (148.1091618276) modaa</option>
+        <option value="100">SUMO-2/3 Q87R (471.20776092011) modaa</option>
+        <option value="101">iTRAQ 4-plex of Y (144.1020624208) modaa</option>
+        <option value="102">Dimethylation of peptide N-term 2H(4) (32.0564071112) modn_peptide</option>
+        <option value="103">iTRAQ 4-plex of K (144.1020624208) modaa</option>
+        <option value="104">TMT 11-plex of K (229.16293213472) modaa</option>
+        <option value="105">Sulfation of Y (79.95681485867999) modaa</option>
+        <option value="106">Sulfation of S (79.95681485867999) modaa</option>
+        <option value="107">Sulfation of T (79.95681485867999) modaa</option>
+        <option value="108">TMT 10-plex of K (229.16293213472) modaa</option>
+        <option value="109">Oxidation of C (15.99491461956) modaa</option>
+        <option value="110">Amidation of the peptide C-term (-0.9840155826899988) modc_peptide</option>
+        <option value="111">Carbamilation of protein N-term (43.00581365643) modn_protein</option>
+        <option value="112">ICPL6 of K (111.04159274737) modaa</option>
+        <option value="113">Propionamide of peptide N-term (71.03711378471) modn_peptide</option>
+        <option value="114">Phosphorylation of Y (79.96633052074999) modaa</option>
+        <option value="115">Didehydro of T (-2.01565006414) modaa</option>
+        <option value="116">Oxidation of K (15.99491461956) modaa</option>
+        <!--<option value="117">Oxidation of M (15.99491461956) modaa</option>-->
+        <option value="118">Phosphorylation of T (79.96633052074999) modaa</option>
+        <option value="119">Oxidation of P (15.99491461956) modaa</option>
+        <option value="120">Trioxidation of C (47.98474385868) modaa</option>
+        <option value="121">Dimethylation of K 2H(6) (34.068960602660006) modaa</option>
+        <option value="122">NIPCAM of C (99.06841391299) modaa</option>
+        <option value="123">Methylthio of N (45.987721064140004) modaa</option>
+        <option value="124">Trideuterated Methyl Ester of K (17.034480301330003) modaa</option>
+        <option value="125">Heme B of C (616.17729182368) modaa</option>
+        <option value="126">Trideuterated Methyl Ester of E (17.034480301330003) modaa</option>
+        <option value="127">Methylthio of C (45.987721064140004) modaa</option>
+        <option value="128">Phosphorylation of S (79.96633052074999) modaa</option>
+        <option value="129">Methylthio of D (45.987721064140004) modaa</option>
+        <option value="130">Heme B of H (616.17729182368) modaa</option>
+        <option value="131">Trideuterated Methyl Ester of D (17.034480301330003) modaa</option>
+        <option value="132">ICPL10 of K (115.06669973029) modaa</option>
+        <option value="133">Deamidation of N 18O (2.9882619631300003) modaa</option>
+        <option value="134">Dimethylation of peptide N-term 2H(6) (34.068960602660006) modn_peptide</option>
+        <option value="135">Pyridylethyl of C (105.05784922929) modaa</option>
+        <option value="136">Arginine 13C(6) 15N(4) (10.008268600400015) modaa</option>
+        <option value="137">Trideuterated Methyl Ester of peptide C-term (17.034480301330003) modn_peptide</option>
+        <option value="138">Hex(1)NAc(1) of S (365.13219593801) modaa</option>
+        <option value="139">TMT 6-plex of K+8 (237.17713094832) modaa</option>
+        <option value="140">Hex(1)NAc(1) of T (365.13219593801) modaa</option>
+        <option value="141">TMT 6-plex of K+6 (235.18306116152) modaa</option>
+        <option value="142">Propionyl of K heavy (59.03627926124) modaa</option>
+        <option value="143">Citrullination of R (0.9840155826899988) modaa</option>
+        <option value="144">TMT 6-plex of K+4 (233.18803911764) modaa</option>
+        <option value="145">mTRAQ of peptide N-term 13C(3) 15N (144.1020624208) modn_peptide</option>
+        <option value="146">ICPL0 of peptide N-term (105.02146372057) modn_peptide</option>
+        <option value="147">Geranyl-geranyl of C (272.25040102624) modaa</option>
+        <option value="148">Lysine 13C(6) 15N(2) (8.014198813600004) modaa</option>
+        <option value="149">Homoserine lactone of peptide C-term M (-48.00337112828) modcaa_peptide</option>
+        <option value="150">Carbamidomethylation of E (57.02146372057) modaa</option>
+        <option value="151">Dimethylation of K 2H(4) (32.0564071112) modaa</option>
+        <option value="152">Glutathione of C (305.06815621281) modaa</option>
+        <option value="153">Carbamidomethylation of K (57.02146372057) modaa</option>
+        <option value="154">iodoTMT zero of C (324.21614077584) modaa</option>
+        <option value="155">Lipoyl of K (188.0329570044) modaa</option>
+        <option value="156">Leucine 13C(6) 15N(1) (7.017163920200005) modaa</option>
+        <option value="157">iTRAQ 4-plex of peptide N-term (144.1020624208) modn_peptide</option>
+        <option value="158">Deamidation of Q (0.9840155826899988) modaa</option>
+        <option value="159">Deamidation of N (0.9840155826899988) modaa</option>
+    </xml>
+</macros>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/pepquery.xml	Wed Jan 22 22:12:14 2020 +0000
@@ -0,0 +1,456 @@
+<tool id="pepquery" name="PepQuery" version="@VERSION@.0">
+    <description>Peptide-centric search engine for novel peptide identification and validation.</description>
+    <macros>
+        <import>macros.xml</import>
+    </macros>
+    <requirements> 
+        <requirement type="package" version="@VERSION@">pepquery</requirement>
+    </requirements>
+    <stdio>
+        <exit_code range="1:" level="fatal" description="Failed" />
+        <regex match="Exception"
+               source="stderr"
+               level="fatal"
+               description="java Exception" />
+    </stdio>
+    <command><![CDATA[
+            #import re
+            #set $spectrum_file = $re.sub('\s','_',$re.sub('[.][^.]*$','',$req_inputs.spectrum_file.display_name.split('/')[-1])) + ".mgf"
+            #set $db_file = $re.sub('\s','_',$re.sub('[.][^.]*$','',$req_inputs.db_file.display_name.split('/')[-1])) + ".fa"
+            ln -s '$req_inputs.spectrum_file' '$spectrum_file' &&
+            ln -s '$req_inputs.db_file' '$db_file' &&
+            pepquery 
+                -ms '$spectrum_file'
+                -db '$db_file'
+                #if $req_inputs.input_type.input_type_selector == 'peptide'
+                    -pep '$req_inputs.input_type.multiple.input'
+                #else
+                    -t '$req_inputs.input_type.input_type_selector'
+                    #if int(str($req_inputs.input_type.input_type_selector)) == 1
+                        -i '$req_inputs.input_type.multiple.input'
+                    #else
+                        -i '$req_inputs.input_type.input'
+                        #if int(str($req_inputs.input_type.input_type_selector)) == 2
+                            #if $req_inputs.input_type.frame == 'None'
+                                -f '0'
+                            #else
+                                -f '$req_inputs.input_type.frame'
+                            #end if
+                        #else
+                            -anno '$req_inputs.input_type.anno'
+                        #end if
+                    #end if
+                #end if
+                #if $modifications.fixed_mod
+                -fixMod '$modifications.fixed_mod'
+                #end if
+                #if $modifications.var_mod
+                -varMod '$modifications.var_mod'
+                #end if
+                -maxVar '$modifications.max_mods'
+                $modifications.unmodified
+                $modifications.aa
+                -tol '$ms_params.tolerance_params.precursor_tolerance'
+                -tolu '$ms_params.tolerance_params.precursor_unit'
+                -itol '$ms_params.tolerance_params.tolerance'
+                -e '$ms_params.digestion.enzyme'
+                -fragmentMethod '$ms_params.search.frag_method'
+                -m '$ms_params.search.scoring_method'
+                -maxCharge '$ms_params.search.max_charge'
+                -minCharge '$ms_params.search.min_charge'
+                -minPeaks '$ms_params.search.min_peaks'
+                -minScore '$ms_params.search.min_score'
+                -maxLength '$ms_params.search.max_length'
+                -n '$ms_params.search.num_random_peptides'
+            -o pepquery_output
+            | sed 's/No valid peptide/Error: No valid peptide/' | tee >(cat 1>&2)
+            #if $report_spectrum_file:
+                && for f in pepquery_output/psm.txt pepquery_output/psm_annotation.txt pepquery_output/detail.txt pepquery_output/psm_rank.txt; do if [ -e \${f} ]; then cp \${f} \${f}.orig; awk 'BEGIN{FS="\t"; OFS="\t"; stc = 0;}; NR==1{for (i = 1; i <= NF; i++) {if (\$i == "spectrum_title") stc = i;}}; NR==1{if (stc>0){\$stc = "spectrum_file" FS \$stc}; print}; NR>1{if (stc>0){\$stc = "$spectrum_file" FS \$stc}; print}' \${f}.orig > \${f};fi;done
+            #end if
+        ]]>
+    </command>
+    <inputs>
+        <section name="req_inputs" title="Input Data" expanded="true">
+            <conditional name="input_type">
+                <param name="input_type_selector" type="select" label="Input Type" argument="-t" help="" >
+                    <option value="peptide">peptide</option>
+                    <option value="1">protein</option>
+                    <option value="2">DNA (translate to protein sequences)</option>
+                    <!-- these are not working with pepquery version 1.3
+                    <option value="3">VCF (translate to protein sequences)</option>
+                    <option value="4">BED (translate to protein sequences)</option>
+                    <option value="5">GTF (translate to protein sequences)</option>
+                    -->
+                </param>
+                <when value="peptide">
+                    <conditional name="multiple">
+                        <param name="peptide_input_selector" type="select" label="Peptides?">
+                            <option value="multiple">Peptide list from your history</option>
+                            <option value="single">Single peptide entered as text</option>
+                        </param> 
+                        <when value="multiple">
+                            <param name="input" type="data" format="txt" label="Peptide Sequences (.txt)" argument="-pep" help="Peptide sequence file containing peptides which you want to search (no column header, 1 peptide per line)." />
+                        </when>
+                        <when value="single">
+                            <param name="input" type="text" label="Peptide Sequence" argument="-pep" help="Peptide sequence which you want to search">
+                                <validator type="regex" message="Must be AA letters">^[AC-IK-NP-TV-Yac-ik-np-tv-y]+$</validator>
+                            </param>
+                        </when>
+                    </conditional>
+                </when>
+                <when value="1">
+                    <conditional name="multiple">
+                        <param name="protein_input_selector" type="select" label="Proteins?">
+                            <option value="multiple">Protein fasta from your history</option>
+                            <option value="single">Single protein entered as text</option>
+                        </param> 
+                        <when value="multiple">
+                            <param name="input" type="data" format="fasta" label="Protein Sequences (.txt)" argument="-i" help="Protein fasta file containing proteins which you want to search." />
+                        </when>
+                        <when value="single">
+                            <param name="input" type="text" label="Protein Sequence" argument="-i" help="Protein sequence which you want to search">
+                                <validator type="regex" message="Must be AA letters">^[AC-IK-NP-TV-Yac-ik-np-tv-y]+$</validator>
+                            </param>
+                        </when>
+                    </conditional>
+                </when>
+                <when value="2">
+                    <param name="input" type="text" label="DNA Sequence (at least 60 bp)" argument="-i" help="DNA sequence which you want to search">
+                        <validator type="regex" message="Must be at least 60bp">^[acgtuAGCTU]{60}[acgtuAGCTU]*$</validator>
+                    </param> 
+                    <param name="frame" type="select" label="Frame(s) for DNA translation" argument="-f" multiple="true" help="The frame(s) to translate DNA sequence to protein. Selecting nothing (default) keeps the longest frame">
+                        <option value="1">1</option>
+                        <option value="2">2</option>
+                        <option value="3">3</option>
+                        <option value="4">4</option>
+                        <option value="5">5</option>
+                        <option value="6">6</option>
+                    </param>
+                </when>
+                <!-- these are not working with pepquery version 1.3
+                <when value="3">   
+                    <param name="input" type="data" format="vcf" label="VCF File" argument="-i" help="" />
+                    <param name="anno" type="data_collection" label="Annotation Files" argument="-anno" help="Annotation files for the VCF file. Please follow preparation instructions here: http://bioconductor.org/packages/devel/bioc/html/PGA.html" />
+                </when>
+                <when value="4">   
+                    <param name="input" type="data" format="bed" label="BED File" argument="-i" help="" />
+                    <param name="anno" type="data_collection" label="Annotation Files" argument="-anno" help="Annotation files for the BED file. Please follow preparation instructions here: http://bioconductor.org/packages/devel/bioc/html/PGA.html" />
+                </when>
+                <when value="5">   
+                    <param name="input" type="data" format="gtf" label="GTF File" argument="-i" help="" />
+                    <param name="anno" type="data_collection" label="Annotation Files" argument="-anno" help="Annotation files for the GTF file. Please follow preparation instructions here: http://bioconductor.org/packages/devel/bioc/html/PGA.html" />
+                </when>
+                -->
+            </conditional>
+            <param name="db_file" type="data" format="fasta" label="Protein Reference Database File" argument="-db" help="an input sequence that matches a reference will be ignored." />
+            <param name="spectrum_file" type="data" format="mgf" label="Spectrum File" argument="-ms" help="Spectrum file used for identification, mgf format" />
+        </section>
+        <section name="modifications" title="Modifications" expanded="false">
+             <param name="fixed_mod" type="select" label="Fixed modification(s)" multiple="true" argument="-fixMod" help="Fixed modification">
+                <option value="6" selected="true">Carbamidomethylation of C (57.02146372057) modaa</option>
+                <option value="117">Oxidation of M (15.99491461956) modaa</option>
+                <expand macro="modifications" />
+             </param>
+             <param name="var_mod" type="select" label="Variable modification(s)" multiple="true" argument="-varMod" help="Variable modification" >
+                <option value="117" selected="true">Oxidation of M (15.99491461956) modaa</option>
+                <option value="6">Carbamidomethylation of C (57.02146372057) modaa</option>
+                <expand macro="modifications" />
+             </param>
+             <param name="max_mods" type="integer" label="Max Modifications" value="3" argument="-maxVar" help="Max number of variable modifications" />
+             <param name="unmodified" type="boolean" truevalue="-um" falsevalue="" checked="false" label="Unmodified?" argument="-um" help="Validation with unrestricted modification searching" />
+             <param name="aa" type="boolean" truevalue="-aa" falsevalue="" checked="false" label="Consider amino acid substitution modifications?" argument="-aa" help="Whether or not to consider aa substitution modifications when perform modification filtering." />
+        </section>
+        <section name="ms_params" title="Mass spectrometer" expanded="false">
+            <section name="tolerance_params" title="Tolerance" expanded="true">
+                <param name="precursor_tolerance" type="integer" value="10" label="Precursor Tolerance" argument="-tol" help="the error window on experimental peptide mass values. This parameter is usually set according to the mass spectrometer which was used to generate the MS/MS data." />
+                <param name="precursor_unit" type="select" label="Precursor Unit" argument="-tolu" help="The unit of precursor ion m/z tolerance">
+                    <option value="ppm" selected="true">ppm</option>
+                    <option value="Da">Da</option>
+                </param>
+                <param name="tolerance" type="float" value="0.6" label="Tolerance" argument="-itol" help="Error window for MS/MS fragment ion mass values in Da unit." />
+            </section>
+            <section name="digestion" title="Digestion" expanded="false">
+                <param name="enzyme" type="select" label="Enzyme" argument="-e" help="Enzyme used for protein digestion" >
+                    <option value="0">Non enzyme</option>
+                    <option value="1" selected="true">Trypsin</option>
+                    <option value="2">Trypsin (no P rule)</option>
+                    <option value="3">Arg-C</option>
+                    <option value="4">Arg-C (no P rule)</option>
+                    <option value="5">Arg-N</option>
+                    <option value="6">Glu-C</option>
+                    <option value="7">Lys-C</option>
+                </param>
+                <param name="max_missed_cleavages" type="integer" value="2" label="Max Missed Cleavages" argument="-c" help="The max missed cleavages" />
+            </section>
+            <section name="search" title="PSM" expanded="false">
+                <param name="frag_method" type="select" label="Fragmentation Method" argument="-fragmentMethod">
+                    <option value="1" selected="true">CID/HCD</option>
+                    <option value="2">ETD</option>
+                </param>
+                <param name="scoring_method" type="select" label="Scoring Method" argument="-m">
+                    <option value="1" selected="true">HyperScore</option>
+                    <option value="2">MVH</option>
+                </param>
+                <param name="max_charge" type="integer" value="3" label="Max Charge" argument="-maxCharge" help="The maximum charge to consider if the charge state is not available" />
+                <param name="min_charge" type="integer" value="2" label="Minimum Charge" argument="-minCharge" help="The minimum charge to consider if the charge state is not available" />
+                <param name="min_peaks" type="integer" value="10" label="Minimum Peaks" argument="-minPeaks" help="Min peaks in spectrum" />
+                <param name="min_score" type="integer" value="12" label="Minimum Score" argument="-minScore" help="Minimum score to consider for peptide searching" />
+                <param name="max_length" type="integer" value="45" label="Maximum length of peptide" argument="-maxLength" help="The maximum length of peptide to consider." />
+                <param name="num_random_peptides" type="integer" value="1000" label="Number of Random Peptides" argument="-n" help="The number of random peptides" />
+            </section>
+        </section>
+        <param name="report_spectrum_file" type="boolean" truevalue="spectrum_file," falsevalue="" checked="false" label="Add spectrum_file column" help="Add a spectrum_file column before the spectrum_title column.  Useful for combining pepquery outputs." />
+    </inputs>
+    <outputs>
+        <data format="tabular" name="psm_annotation" from_work_dir="pepquery_output/psm_annotation.txt" label="${tool.name} on ${on_string}: PSM Annotation">
+           <actions>
+                <action name="comment_lines" type="metadata" default="1" />
+                <action name="column_names" type="metadata" default="peptide,Query,calc_mr,observed_mz,charge,pepSeq,m_label,m_mz,m_intensity,mz,intensity" />
+            </actions>
+        </data> 
+        <data format="tabular" name="detail" from_work_dir="pepquery_output/detail.txt" label="${tool.name} on ${on_string}: Detail">
+           <actions>
+                <action name="comment_lines" type="metadata" default="1" />
+                <action name="column_names" type="metadata" default="${report_spectrum_file}spectrum_title,peptide,modification,pep_mass,score" />
+            </actions>
+        </data> 
+        <data format="tabular" name="psm" from_work_dir="pepquery_output/psm.txt" label="${tool.name} on ${on_string}: PSM">
+           <actions>
+                <action name="comment_lines" type="metadata" default="1" />
+                <action name="column_names" type="metadata" default="peptide,modification,n,${report_spectrum_file}spectrum_title,charge,exp_mass,ppm,pep_mass,mz,score,n_db,total_db,n_random,total_random,pvalue" />
+            </actions>
+        </data> 
+        <data format="tabular" name="psm_rank_txt" from_work_dir="pepquery_output/psm_rank.txt" label="${tool.name} on ${on_string}: PSM Rank (txt)">
+           <actions>
+                <action name="comment_lines" type="metadata" default="1" />
+                <action name="column_names" type="metadata" default="peptide,modification,n,${report_spectrum_file}spectrum_title,charge,exp_mass,ppm,pep_mass,mz,score,n_db,total_db,n_random,total_random,pvalue,rank,n_ptm" />
+            </actions>
+        </data> 
+        <data format="mgf" name="psm_rank_mgf" from_work_dir="pepquery_output/psm_rank.mgf" label="${tool.name} on ${on_string}: PSM Rank (mgf)"/>
+    </outputs>
+    <tests>
+        <test>
+            <section name="req_inputs">
+                <conditional name="input_type">
+                    <param name="input_type_selector" value="peptide"/>
+                    <conditional name="multiple">
+                        <param name="peptide_input_selector" value="single" />
+                        <param name="input" value="ELGSSDLTAR"/>
+                    </conditional>
+                </conditional>
+                <param name="db_file" ftype="fasta" value="Uniprot.fasta"/>
+                <param name="spectrum_file" ftype="mgf" value="iTRAQ_f4.mgf"/>
+            </section> 
+            <section name="modifications">
+                 <param name="fixed_mod" value="6,103,157"/>
+                 <param name="var_mod" value="117"/>
+                 <param name="max_mods" value="3"/>
+                 <param name="unmodified" value="False"/>
+                 <param name="aa" value="True"/>
+            </section>
+            <section name="ms_params">
+                <section name="tolerance_params">
+                    <param name="precursor_tolerance" value="10"/>
+                    <param name="precursor_unit" value="ppm"/>
+                    <param name="tolerance" value="0.6"/>
+                </section>
+                <section name="digestion">
+                    <param name="enzyme" value="0"/>
+                    <param name="max_missed_cleavages" value="2"/>
+                </section>
+                <section name="search">
+                    <param name="frag_method" value="1"/>
+                    <param name="scoring_method" value="1"/>
+                    <param name="max_charge" value="3"/>
+                    <param name="min_charge" value="2"/>
+                    <param name="min_peaks" value="10"/>
+                    <param name="min_score" value="12"/>
+                    <param name="max_length" value="45"/>
+                    <param name="num_random_peptides" value="1000"/>
+                </section>
+            </section>
+            <param name="report_spectrum_file" value="true"/>
+            <output name="psm_rank_txt">
+                <assert_contents>
+                    <has_text text="ELGSSDLTAR" />
+                </assert_contents>
+            </output>
+        </test>
+
+        <test>
+            <section name="req_inputs">
+                <conditional name="input_type">
+                    <param name="input_type_selector" value="peptide"/>
+                    <conditional name="multiple">
+                        <param name="peptide_input_selector" value="multiple" />
+                        <param name="input" ftype="tabular" value="novel_peptides"/>
+                    </conditional>
+                </conditional>
+                <param name="db_file" ftype="fasta" value="Uniprot.fasta"/>
+                <param name="spectrum_file" ftype="mgf" value="iTRAQ_f4.mgf"/>
+            </section> 
+            <section name="modifications">
+                 <param name="fixed_mod" value="6,103,157"/>
+                 <param name="var_mod" value="117"/>
+                 <param name="max_mods" value="3"/>
+                 <param name="unmodified" value="False"/>
+                 <param name="aa" value="True"/>
+            </section>
+            <section name="ms_params">
+                <section name="tolerance_params">
+                    <param name="precursor_tolerance" value="10"/>
+                    <param name="precursor_unit" value="ppm"/>
+                    <param name="tolerance" value="0.6"/>
+                </section>
+                <section name="digestion">
+                    <param name="enzyme" value="0"/>
+                    <param name="max_missed_cleavages" value="2"/>
+                </section>
+                <section name="search">
+                    <param name="frag_method" value="1"/>
+                    <param name="scoring_method" value="1"/>
+                    <param name="max_charge" value="3"/>
+                    <param name="min_charge" value="2"/>
+                    <param name="min_peaks" value="10"/>
+                    <param name="min_score" value="12"/>
+                    <param name="max_length" value="45"/>
+                    <param name="num_random_peptides" value="1000"/>
+                </section>
+            </section>
+            <param name="report_spectrum_file" value="true"/>
+            <output name="psm_rank_txt">
+                <assert_contents>
+                    <has_text text="ELGSSDLTAR" />
+                    <has_text text="SPYREFTDHLVK" />
+                </assert_contents>
+            </output>
+        </test>
+
+        <test>
+            <section name="req_inputs">
+                <conditional name="input_type">
+                    <param name="input_type_selector" value="1"/>
+                    <conditional name="multiple">
+                        <param name="protein_input_selector" value="multiple" />
+                        <param name="input" ftype="fasta" value="novel_proteins.fa"/>
+                    </conditional>
+                </conditional>
+                <param name="db_file" ftype="fasta" value="Uniprot.fasta"/>
+                <param name="spectrum_file" ftype="mgf" value="iTRAQ_f4.mgf"/>
+            </section> 
+            <section name="modifications">
+                 <param name="fixed_mod" value="6,103,157"/>
+                 <param name="var_mod" value="117"/>
+                 <param name="max_mods" value="3"/>
+                 <param name="unmodified" value="False"/>
+                 <param name="aa" value="True"/>
+            </section>
+            <section name="ms_params">
+                <section name="tolerance_params">
+                    <param name="precursor_tolerance" value="10"/>
+                    <param name="precursor_unit" value="ppm"/>
+                    <param name="tolerance" value="0.6"/>
+                </section>
+                <section name="digestion">
+                    <param name="enzyme" value="0"/>
+                    <param name="max_missed_cleavages" value="2"/>
+                </section>
+                <section name="search">
+                    <param name="frag_method" value="1"/>
+                    <param name="scoring_method" value="1"/>
+                    <param name="max_charge" value="3"/>
+                    <param name="min_charge" value="2"/>
+                    <param name="min_peaks" value="10"/>
+                    <param name="min_score" value="12"/>
+                    <param name="max_length" value="45"/>
+                    <param name="num_random_peptides" value="1000"/>
+                </section>
+            </section>
+            <param name="report_spectrum_file" value="true"/>
+            <output name="psm_rank_txt">
+                <assert_contents>
+                    <has_text text="ELGSSDLTAR" />
+                    <has_text text="SPYREFTDHLVK" />
+                </assert_contents>
+            </output>
+        </test>
+
+        <test>
+            <section name="req_inputs">
+                <conditional name="input_type">
+                    <param name="input_type_selector" value="2"/>
+                    <param name="input" value="gaactgggcagcagcgatctgaccgcgcgcagcccgtatcgcgaatttaccgatcatctggtgaaa"/>
+                </conditional>
+                <param name="db_file" ftype="fasta" value="Uniprot.fasta"/>
+                <param name="spectrum_file" ftype="mgf" value="iTRAQ_f4.mgf"/>
+            </section> 
+            <section name="modifications">
+                 <param name="fixed_mod" value="6,103,157"/>
+                 <param name="var_mod" value="117"/>
+                 <param name="max_mods" value="3"/>
+                 <param name="unmodified" value="False"/>
+                 <param name="aa" value="True"/>
+            </section>
+            <section name="ms_params">
+                <section name="tolerance_params">
+                    <param name="precursor_tolerance" value="10"/>
+                    <param name="precursor_unit" value="ppm"/>
+                    <param name="tolerance" value="0.6"/>
+                </section>
+                <section name="digestion">
+                    <param name="enzyme" value="0"/>
+                    <param name="max_missed_cleavages" value="2"/>
+                </section>
+                <section name="search">
+                    <param name="frag_method" value="1"/>
+                    <param name="scoring_method" value="1"/>
+                    <param name="max_charge" value="3"/>
+                    <param name="min_charge" value="2"/>
+                    <param name="min_peaks" value="10"/>
+                    <param name="min_score" value="12"/>
+                    <param name="max_length" value="45"/>
+                    <param name="num_random_peptides" value="1000"/>
+                </section>
+            </section>
+            <param name="report_spectrum_file" value="true"/>
+            <output name="psm_rank_txt">
+                <assert_contents>
+                    <has_text text="ELGSSDLTAR" />
+                </assert_contents>
+            </output>
+        </test>
+
+    </tests>
+    <help><![CDATA[
+PepQuery is a peptide-centric search engine for novel peptide identification and validation. Cancer genomics studies have identified a large number of genomic alterations that may lead to novel, cancer-specific protein sequences. Proteins resulted from these genomic alterations are attractive candidates for cancer biomarkers and therapeutic targets. The leading approach to proteomic validation of genomic alterations is to analyze tandem mass spectrometry (MS/MS) data using customized proteomics databases created from genomics data. Such analysis is time-consuming and requires thorough training and detailed knowledge in proteomics data analysis, leading to a gap between MS/MS data and the cancer genomics community. PepQuery does not require customized databases and allows quick and easy proteomic validation of genomic alterations.
+
+**Inputs**
+    - A sequence to match, one of the following:
+
+      - A peptide string or a history dataset with a list of peptides 
+      - A protein string or a history dataset with a protein fasta 
+      - A DNA string that is at least 60 base pairs in length
+
+    - A mass spectrometry MGF file 
+    - A reference protein fasta database, peptides matching a reference sequence will be excluded.  
+
+**Outputs**
+    - PSM annotation - tabular with columns: 
+      peptide Query calc_mr observed_mz charge pepSeq m_label m_mz m_intensity mz intensity
+    - Detail - tabular with columns: 
+      *report_spectrum_file* spectrum_title peptide modification pep_mass score
+    - PSM - tabular with columns: 
+      peptide modification n *report_spectrum_file* spectrum_title charge exp_mass ppm pep_mass mz score n_db total_db n_random total_random pvalue
+    - PSM Rank - tabular with columns: 
+      peptide modification n *report_spectrum_file* spectrum_title charge exp_mass ppm pep_mass mz score n_db total_db n_random total_random pvalue rank *n_ptm*
+    - An MGF with the best matching spectrums
+
+    The *report_spectrum_file* is an optional field that can be added.  
+    The *n_ptm* field is added when using unrestricted modification searching (-um).
+    
+
+    ]]></help>
+    <citations>
+        <citation type="doi">10.1101/gr.235028.118</citation>
+    </citations>
+</tool>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/Uniprot.fasta	Wed Jan 22 22:12:14 2020 +0000
@@ -0,0 +1,20 @@
+>sp|Q8C4J7|TBL3_MOUSE Transducin beta-like protein 3 OS=Mus musculus GN=Tbl3 PE=2 SV=1
+MAETAAGLCRFKANYAVERKIEPFYKGGKAQLDQTGHYLFCVCGTKVNILDVASGALLRSLEQEDQEDITSFDLSPDDEVLVTASRALLLAQWAWREGTVTRLWKAIHTAPVASMAFDATSTLLATGGCDGAVRVWDIVQHYGTHHFRGSPGVVHLVAFHPDPTRLLLFSSAVDTSIRVWSLQDRSCLAVLTAHYSAVTSLSFSEGGHTMLSSGRDKICIVWDLQSYQTTRTVPVFESVEASVLLPEQPAPALGVKSSGLHFLTAGDQGILRVWEAASGQCVYTQPQMPGLRQELTHCTLARAADLLLTVTADHNLLLYEAHSLQLQKQFAGYSEEVLDVRFLGPSDSHIVVASNSPCLKVFELQTLACQILHGHTDIVLALDVFRKGWLFASCAKDQSIRIWKMNKAGQVACVAQGSGHTHSVGTICCSRLKESFLVTGSQDCTVKLWPLPEALLAKSTAADSGPVLLQAQTTRRCHDKDINSLAVSPNDKLLATGSQDRTAKLWALPQCQLLGVFTGHRRGLWNVQFSPTDQVLATASADGTIKLWALQDFSCLKTFEGHDASVLKVAFVSRGSQLLSSGSDGLLKLWTIKSNECVRTLDAHEDKVWGLHCSQLDDHAITGGSDSRIILWKDVTEAEQAEEQAKREEQVIKQQELDNLLHEKRYLRALGLAISLDRPHTVLTVIQAIRRDPEACEKLEATVLRLRRDQKEALLRFCVTWNTNSRHCHEAQAVLGVLLRHEAPEELLAYDGVRGSLEALLPYTERHFQRLSRTLQAATFLDFLWHNMKLSPCPAAAPPAL
+>tr|Q80ZP8|Q80ZP8_MOUSE Armet protein OS=Mus musculus GN=Manf PE=1 SV=1
+METNNYLPSPPSFPVCISYLGRFYQDLKDRDVTFSPATIEEELIKFCREARGKENRLCYYIGATDDAATKIINEVSKPLAHHIPVEKICEKLKKKDSQICELKYDKQIDLSTVDLKKLRVKELKKILDDWGEMCKGCAEKSDYIRKINELMPKYAPKAASARTDL
+>sp|Q60847|COCA1_MOUSE Collagen alpha-1(XII) chain OS=Mus musculus GN=Col12a1 PE=2 SV=3
+MQTRLPRALAALGVALLLSSIEAEVDPPSDLNFKIIDENTVHMSWERPVDPIVGYRITVDPTTDGPTKEFTLAASTTETLLSDLIPETQYVVTITSYNEVEESVPVIGQLTIQTGGPTKPGEKKPGKTEIQKCSVSAWTDLVFLVDGSWSVGRNNFKYILDFIVALVSAFDIGEEKTRVGVVQYSSDTRTEFNLNQYYRREDLLAAVKKIPYKGGNTMTGDAIDYLVKNTFTESAGSRAGFPKVAIIITDGKSQDEVEIPARELRNIGVEVFSLGIKAADAKELKQIASTPSLNHVFNVANFDAIVDIQNEIISQVCSGVDEQLGELVSGEEVIEPPSNLVVTELSSKYIRLSWDPSPSAVTGYKILLTPMAAGSRHHALSVGPQTTTLNVRDLTADTEYQISVFAMKGLTSSEPTSVMEKTQPMKVQVECSRGVDIKADIVFLVDGSYSIGIANFVKVRAFLEVLAKSFEISPNRVQISLVQYSRDPHTEFTLKEFNRVEDIIKAINTFPYRGGSTNTGKAMTYVREKIFVPNKGSRSNVPKVMILITDGKSSDAFRDPAIKLRNSDVEIFAVGVKDAVRSELEAIASPPAETHVFTVEDFDAFQRISFELTQSICLRIEQELAAIKKKAYVPPKDLRFTQVTANSFKAEWSPPGDNVFSYHVTYKDANGDDEVTVVEPASSTSVVLNNLRPETLYLVNVTAEYEDGFSVPITGEETTAEVKGVPRNLKVTDETTDSFKLTWSQAPGRVLRYRIRYRPVSGGESKEVSTPANQRRKTLENLTPDTKYEISVIAEYSSGPGSPLTGNAATEEVRGNPRDLRVSDATTSTLKLSWSRAPGKVKQYLVTYTPAAGGETQEVTVRGDTTTTMLRKLKEGTQYDLSVTALYASGAGEALSGKGSTLEERGSPQNLVTKDITDTSIGAYWTSAPGMVRGYRVSWKSLYDDIEAGETTLPGDAIHTMIENLQPETKYKISVFATYSSGEGEPVTGDATTELSQDSKILRVDEETEHTMRVTWKAAPGKVVNYRVVYRPQGGGRQMVAKVPPTVTSTVLKRLQPQTTYDITVLPMYKTGEGKLRQGSGTTASRFKSPRNLKTSDPTMSSFRVTWEPAPGEVKGYKVTFHPTGDDRRLGELVLGPYDNTVVLEELRAGTTYRVNVFGMFDGGESLPLVGQEMTTLSDTTVTPFLSSGMDCLTRAEADIVLLVDGSWSIGRANFRTVRSFISRIVEVFEIGPKRVQIALAQYSGDPRTEWQLNAHRDKKSLLQAVANLPYKGGNTLTGMALNFIRQQSFKTQAGMRPRARKIGVLITDGKSQDDVEAPSKKLKDEGVELFAIGIKNADEVELKMIATDPDDTHAYNVADFESLSKIVDDLTINLCNSVKGPGDLEAPTNLVISERTHRSFRVSWTPPSDSVDRYKVEYYPVSGGKRQEFYVSRLDTSTVLKDLKPETDYVVNVYSVVEDEYSEPLKGTEKTLPVPVVSLNIYDVGPTTMHVQWQPVGGATGYTVSYQPTRSPEGTKPKEMRVGPTVNDVQLTGLLPNTEYEVTVQAVLYDLTSEPAKAREVTLPLPRPQDVKLRDVTHSTMNVVWEPVLGKVRKYIVRYKTPDEEFKEVEVDRSRASTILKDLSSQTQYTVSVSAVYDEGTSPPATAYDTTRRVPAPTNLQFTEVTPESFRGTWDHGASDVSLYRITWAPVGNPDKMETILNGDENTLVFENLNPNTPYEVSITAIYPDESESEDLSGTERTLRLIPLTTQAPKSGPRNLQVYNATSNSLTVKWDPASGRVQKYRITYQPSTGEGNEQTITVGGRQNSVLLQKLKPDTPYTITVYSQYPDGEGGRMTGRGKTKPLNTVRNLRVYDPSTSSLSVRWDHAEGNPRQYKLFYAPTSGGPEELVPIPGNTNYAILRNLQPDTPYTITVVPVYTEGDGGRTSDTGRTLVRGLARNIQVYNPTPNSLDVRWDPAPGPVQQYRIVYSPVAGTRPSESIVVPGNTRTVHLERLIPDTPYSVNIVALYSDGEGNPSPSQGRTLPRSGPRNIRVFGETTNSLSVAWDHADGPVQQYRIIYSPTVGDPIDEYTTVPGRRNNVILQPLQPDTPYKITVIAIYEDGDGGHLTGNGRTVGLLPPQNIHIFDEWYTRFRVSWDPSPSPVLGYKIVYKPVGSNEPMEAFVGEVTSYTLHNLNPSTTYDVSVYAQYDSGLSVPLTDQGTTLYLNVTDLKTYQVGWDTFCVKWSPHRAATSYRLKLSPADGTRGQEITVRGSETSHCFTGLSPEAEYGVTVFVQTPNLEGPGVPIKEQTTVKPTEAPTEPPTPSPPPTIPPARDVCKGAKADIVFLTDASWSIGDDNFNKVVKFIFNTVGAFDEVNPAGIQVSFVQYSDEVKSEFKLNTYNDKALALGALQNIRYRGGNTRTGKALTFIKEKVLTWESGMRKNVPKVLVVVTDGRSQDEVKKAAFVIQQSGFSVFVVGVADVDYNELANIASKPSERHVFIVDDFESFEKIEDNLITFVCETATSSCPLIYLDGYTSPGFKMLEAYNLTEKNFASVQGVSLESGSFPSYSAYRLQKNAFINQPTAELHPNGLPPSYTIILLFRLLPETPSDPFAIWQITDRDYRPQVGVIADPSSKTLSFFNKDTRGEVQTVTFDTDEVKTLFYGSFHKVHIVVTSKSVKIYIDCYEIIEKDIKEAGNITTDGYEILGKLLKGERKSATFQIQSFDIVCSPVWTSRDRCCDIPSRRDEAKCPALPNACTCTQDSVGPPGPPGPAGGPGAKGPRGERGINGAVGPPGPRGDTGPPGPQGPPGPQGPNGLSIPGEQGRQGMKGDAGEPGLPGRTGTPGLPGPPGPMGPPGDRGFTGKDGAMGPRGPPGPPGSPGSPGVTGPSGKPGKPGDHGRPGQSGLKGEKGDRGDIASQNMMRAVARQVCEQLISGQMSRFNQMLNQIPNDYHSSRNQPGPPGPPGPPGSAGARGEPGPGGRPGFPGTPGMQGPPGERGLPGEKGERGTGSQGPRGPPGPPGPQGESRTGPPGSTGSRGPPGPPGRPGNSGIRGPPGPPGYCDSSQCASIPYNGQGYPEPYVPEGGAYLPEREPFIVPVEPERTAEYEDDYGADEPDQQHPDHMRWRRALRPGPAE
+>tr|D6RFR8|D6RFR8_MOUSE Choline/ethanolaminephosphotransferase 1 OS=Mus musculus GN=Cept1 PE=4 SV=1
+MSGHRSTRKRCGDSHPESPVGFGHMSTTGHLCGLILPVLVAFSFTSLWMP
+>tr|Q91VK2|Q91VK2_MOUSE Eef1d protein OS=Mus musculus GN=Eef1d PE=1 SV=1
+MATNFLAHEKIWFDKFKYDDAERRFYEQMNGPVTSGSRQLKVMLPNSPEALGQATPGTSSGPGASSGPGGDHSELIVRITSLEVENQNLRGVVQDLQQAISKLEARLSSLEKSSPTPRATAPQTQHVSPMRQVEPPTKKGATPAEDDEDKDIDLFGSDEEEEDKEAARLREERLRQYAEKKAKKPTLVAKSSILLDVKPWDDETDMAQLETCVRSIQLDGLVWGASKLVPVGYGIRKLQIQCVVEDDKVGTDLLEEEITKFEEHVQSVDIAAFNKI
+>tr|F6WN43|F6WN43_MOUSE Iron-sulfur cluster co-chaperone protein HscB, mitochondrial (Fragment) OS=Mus musculus GN=Hscb PE=1 SV=1
+XQKSQTEKHFSDKHSTLVNDAYKTLQAPLTRGLYLVS
+>sp|Q6NXK2|ZN532_MOUSE Zinc finger protein 532 OS=Mus musculus GN=Znf532 PE=1 SV=1
+MTMGDMKTPDFDDLLAAFDIPDMVDPKAAIESGHDDHESHIKQNAHVDDDSHTPSSSDVGVSVIVKNVRNIDSSEGVEKDGHNPTGNGLHNGFLTASSLDSYGKDGAKSLKGDTPASEVTLKDPAFSQFSPISSAEEFEDDEKIEVDDPPDKEEARAGFRSNVLTGSAPQQDFDKLKALGGENSSKTGVSTSGHTDKNKVKREAESNSITLSVYEPFKVRKAEDKLKENSEKMLESRVLDGKPSSEKSDSGIAAAASSKTKPSSKLSSCIAAIAALSAKKAASDSCKEPVANSREASPLPKEVNDSPKAADKSPESQNLIDGTKKASLKPSDSPRSVSSENSSKGSPSSPVGSTPAIPKVRIKTIKTSSGEIKRTVTRVLPEVDLDSGKKPSEQAASVMASVTSLLSSSASATVLSSPPRAPLQTAMVTSAVSSAELTPKQVTIKPVATAFLPVSAVKTAGSQVINLKLANNTTVKATVISAASVQSASSAIIKAANAIQQQTVVVPASSLANAKLVPKTVHLANLNLLPQGAQATSELRQVLTKPQQQIKQAIINAAASQPPKKVSRVQVVSSLQSSVVEAFNKVLSSVNPVPVYTPNLSPPANAGITLPMRGYKCLECGDAFALEKSLSQHYDRRSVRIEVTCNHCTKNLVFYNKCSLLSHARGHKEKGVVMQCSHLILKPVPADQMIVPPSSNTAASTLQSSVGAATHTVPKVQPGIAGAVISAPASTPMSPAMPLDEDPSKLCRHSLKCLECNEVFQDEPSLATHFQHAADTSGQQMKKHPCRQCDKSFSSSHSLCRHNRIKHKGIRKVYACSHCPDSRRTFTKRLMLERHIQLMHGIKDPDVKELSDDAGDVTNDEEEEAEIKEDAKVPSPKRKLEEPVLEFRPPRGAITQPLKKLKINVFKVHKCAVCGFTTENLLQFHEHIPQHRSDGSSHQCRECGLCYTSHGSLARHLFIVHKLKEPQPVSKQNGAGEDSQQENKPSPEDEAAEGAASDRKCKVCAKTFETEAALNTHMRTHGMAFIKSKRMSSAEK
+>sp|P58006|SESN1_MOUSE Sestrin-1 OS=Mus musculus GN=Sesn1 PE=1 SV=3
+MRLAAASNEAYAASLAVSELLSCHQCGGDRGQDEELGIRIPRPLGHGPSRFIPEKEMLQVGSEDAQMHALFADSFAALGRLDNITLVMVFHPQYLESFLKTQHYLLQMDGPLPLHYRHYIGIMAAARHQCSYLVNLHVSDFLHVGGDPKWLNGLENAPQKLQNLGELNKVLAHRPWLITKEHIEGLLKAEEHSWSLAELVHAVVLLTHYHSLASFTFGCGISPEIHCDGGHTFRPPSVSNYCICDITNGNHSVDEMQVNSAGNASVSDSFFEVEALMEKMRQLQECREEEEASQEEMASRFEMEKRESMFVFSSDDDEVTPARDVSRHFEDTSYGYKDFSRHGMHVPTFRVQDYCWEDHGYSLVNRLYPDVGQLIDEKFHIAYNLTYNTMAMHKDVDTSMLRRAIWNYIHCMFGIRYDDYDYGEINQLLDRSFKVYIKTVVCTPEKVTKRMYDSFWRQFKHSEKVHVNLLLIEARMQAELLYALRAITRYMT
+>tr|A0A1B0GSE5|A0A1B0GSE5_MOUSE Ubiquitin carboxyl-terminal hydrolase CYLD OS=Mus musculus GN=Cyld PE=1 SV=1
+MSSGLWSQEKVTSPYWEERIFYLLLQECSVTDKQTQKLLKVPKGSIGQYIQDRSVGHSRVPSTKGKKNQIGLKILEQPHAVLFVDEKDVVEINEKFTELLLAITNCEERLSLFRNRLRLSKGLQVDVGSPVKVQLRSGEEKFPGVVRFRGPLLAERTVSGIFFGVELLEEGRGQGFTDGVYQGKQLFQCDEDCGVFVALDKLELIEDDDNGLESDFAGPGDTMQVEPPPLEINSRVSLKVGESTESGTVIFCDVLPGKESLGYFVGVDMDNPIGNWDGRFDGVQLCSFASVESTILLHINDIIPDSVTQERRPPKLAFMSRGVGDKGSSSHNKPKVTGSTSDPGSRNRSELFYTLNGSSVDSQQSKSKNPWYIDEAFGGYLSEVVEENTPPKMEKEGLEIMIGKKKGIQGHYNSCYLDSTLFCLFAFSSALDTVLLRPKEKNDIEYYSETQELLRTEIVNPLRIYGYVCATKIMKLRKILEKVEAASGFTSEEKDPEEFLNILFHDILRVEPLLKIRSAGQKVQDCNFYQIFMEKNEKVGVPTIQQLLEWSFINSNLKFAEAPSCLIIQMPRFGKDFKLFKKIFPSLELNITDLLEDTPRQCRICGGLAMYECRECYDDPDISAGKIKQFCKTCSTQVHLHPRRLNHSYHPVSLPKDLPDWDWRHGCIPCQKMELFAVLCIETSHYVAFVKYGKDDSAWLFFDSMADRDGGQNGFNIPQVTPCPEVGEYLKMSLEDLHSLDSRRIQGCARRLLCDAYMCMYQSPTMSLYK
+>sp|Q60880|OL141_MOUSE Olfactory receptor 141 OS=Mus musculus GN=Olfr141 PE=3 SV=2
+MRNITEATFFVLKGLTDNNELQIILFLLFLAIYIFTLIGNVGLIILVVGDSQLHNPMYCFLSVLSSVDACYSTDITPNMLVGFMSKSKIISFYGCATQMFLAVTFGTTECFLLAAMAYDRYVAIHDPLLYAVSMSPRVYIPLIIASYAGGIVHAIIHTVATFSLSFCRSNEVKHIFCDIPPLLAISCSETYVNELLLFFFVSFIELVTILIVLVSYAFILLSILKMNSSEGRRKVFSTCGAHLTAVSIYYGTILFMYVRPSSNYSLEHDMIVSTFYTIGIPMLNPIIYSLRNKDVKEAMKRVLRKKINIKHRIKKLNDFSVFLMP
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/iTRAQ_f4.mgf	Wed Jan 22 22:12:14 2020 +0000
@@ -0,0 +1,753 @@
+COM=Conversion to mascot generic
+CHARGE=2+ and 3+
+BEGIN IONS
+PEPMASS=740.462952
+CHARGE=3+
+SCANS=277
+TITLE=Mo_Tai_iTRAQ_f4.00277.00277.3
+111.017494 85.198502
+112.240982 97.204994
+114.110542 168.274780
+115.107582 369.265503
+115.650398 84.005325
+117.296082 86.641182
+117.595589 82.974037
+120.657990 81.247025
+123.208023 88.939392
+126.714996 76.470490
+126.995316 81.651260
+129.369080 82.580246
+129.410400 90.817963
+132.734039 124.614685
+143.307465 87.847046
+178.966888 94.961578
+179.972855 89.878273
+183.256714 104.533241
+188.080093 123.015953
+212.102753 442.314178
+213.104324 84.621696
+233.001801 107.842552
+244.242355 102.163200
+281.079132 97.696259
+291.216034 243.588058
+309.183807 104.681831
+325.188324 282.187622
+345.226288 167.099777
+347.629883 88.744476
+357.377533 105.747673
+388.266266 1321.324341
+430.317047 94.113419
+458.310547 310.033203
+489.807434 100.114334
+490.700165 99.780800
+501.355072 164.809708
+517.545532 119.780251
+529.344849 395.354340
+529.599487 100.128220
+535.189514 101.317970
+657.405518 110.483780
+699.552063 101.576553
+736.234497 130.142654
+752.286011 111.876389
+756.181641 93.424118
+771.447876 505.619843
+776.288391 100.766472
+804.153748 99.673531
+840.959473 131.680695
+870.515198 596.371582
+871.524719 224.175797
+938.853760 112.032951
+983.596008 538.290894
+985.851929 109.672272
+999.183228 110.428818
+1006.435791 110.520103
+1098.597168 117.997414
+1102.095825 108.774673
+1154.624023 115.541344
+1179.853027 115.300293
+1188.129639 112.100708
+1328.742920 120.317390
+1535.381592 114.408516
+1578.387207 112.895355
+1696.229492 122.310112
+1865.684937 119.336388
+1891.318359 108.014870
+END IONS
+BEGIN IONS
+PEPMASS=596.816895
+CHARGE=2+
+SCANS=3419
+TITLE=Mo_Tai_iTRAQ_f4.03419.03419.2
+112.086548 2060.700684
+113.070908 591.413391
+114.110237 56227.753906
+115.107254 40715.632813
+116.110573 1253.002075
+124.087646 334.579498
+129.065491 335.658569
+129.682831 322.525909
+130.096924 432.119598
+135.059509 290.456573
+135.933548 316.717255
+141.158234 324.162384
+143.102081 1042.657227
+143.108337 991.155334
+145.106369 4993.616699
+145.112579 9580.018555
+146.116013 348.826385
+151.422028 339.654999
+152.189240 352.970459
+155.080811 320.076233
+156.112503 802.023926
+157.107681 821.452209
+158.092041 3474.361572
+163.116852 649.046387
+163.123260 573.363525
+163.860764 368.470825
+172.107132 547.236511
+173.091751 424.643494
+173.713470 325.451202
+174.132874 1181.682129
+174.138977 1457.565674
+175.118500 19209.625000
+176.121841 895.593079
+180.310822 302.979675
+185.090881 577.591370
+185.163925 667.431763
+189.086395 384.102600
+193.535583 299.085999
+198.085999 304.650818
+202.127197 776.504089
+202.133865 1047.345337
+205.158951 325.465912
+206.438217 407.963379
+215.112625 944.689087
+216.097275 349.972809
+216.178452 628.929138
+216.187073 1542.270264
+218.158371 710.665344
+219.997772 493.154785
+226.117889 345.579254
+227.530579 380.890015
+229.117340 398.719696
+231.095993 553.909363
+232.139694 11610.142578
+233.142776 541.624878
+240.132904 413.648132
+242.112793 354.861603
+242.148621 757.952148
+244.147949 340.507446
+244.181870 1394.464355
+244.207031 351.863098
+246.153458 2635.449219
+246.159882 2076.769775
+255.143784 947.695679
+260.123077 377.649994
+261.163208 358.264160
+268.138641 800.600464
+269.122375 665.910522
+269.220001 322.280029
+271.175507 2574.782715
+271.523804 335.527252
+272.170105 1414.468018
+274.152344 1745.901855
+279.726440 358.126434
+286.150787 2142.241211
+287.134125 399.345337
+287.153320 381.299835
+288.201630 1045.604614
+289.161011 642.731201
+297.189941 313.076477
+303.175964 1238.757568
+304.159454 718.974304
+309.070404 557.175232
+309.572754 389.136902
+315.128113 438.987366
+315.165070 394.897858
+318.127045 852.624146
+329.155304 359.383026
+330.138916 745.477112
+330.163727 587.573120
+332.788940 345.351257
+341.179504 329.149353
+343.196503 430.196503
+345.225616 879.687500
+346.184479 345.247650
+347.166504 2072.177246
+362.212433 790.440979
+370.243683 983.206055
+371.191467 312.021271
+386.165009 543.059692
+387.270721 3542.475586
+388.202606 326.927032
+388.272369 414.230347
+390.209930 1715.465820
+393.176727 381.699097
+394.099823 350.606934
+394.679169 691.222046
+399.232178 810.009094
+400.194336 1531.151733
+404.261292 599.445801
+404.777496 526.729858
+414.246185 936.942200
+416.259430 718.543945
+417.195190 570.186829
+418.203003 1665.865479
+431.276031 331.554321
+432.257965 1057.613647
+433.252106 753.843201
+443.218933 595.729858
+460.251099 370.717468
+461.245270 2433.910889
+468.288940 742.679199
+471.229858 880.132996
+485.281830 561.284607
+489.241028 1984.553345
+496.409393 339.580841
+497.196106 873.354187
+498.299805 496.056610
+503.294342 597.645569
+511.149689 353.095825
+515.327271 1117.143188
+516.309937 733.257690
+525.312256 617.688354
+528.284912 373.090637
+530.266785 1111.963867
+548.277344 1113.044312
+558.261963 1086.223267
+559.408081 405.176025
+560.315735 580.912170
+562.276917 335.608765
+564.272888 702.601379
+564.317993 354.550781
+565.308411 432.052307
+566.312805 402.429840
+574.804260 1090.369995
+576.274780 1495.794922
+577.275513 370.333984
+579.258240 488.650421
+586.329773 924.428833
+586.824341 763.742798
+587.328796 1918.114868
+587.812134 2967.306152
+588.309631 1265.537964
+594.755310 400.626099
+595.833008 10111.694336
+596.332397 7990.095215
+596.816284 25143.017578
+597.162964 543.470703
+597.319031 6673.245117
+599.348267 467.912262
+604.341736 1089.714600
+617.357422 1058.755737
+641.300598 425.232941
+643.383606 657.883423
+644.248352 793.406738
+648.339661 426.476868
+658.327637 1623.402832
+659.310608 1560.553711
+676.336731 2649.790771
+677.323730 1165.182739
+678.326416 408.390747
+689.357788 1332.395996
+690.355042 560.007202
+704.391846 2547.047119
+714.389771 542.943298
+730.419067 1871.138306
+731.424500 1454.675903
+759.392761 434.491913
+760.391541 1171.156616
+761.330750 659.255920
+762.337036 610.295776
+764.438049 1536.238647
+775.429077 2458.175049
+776.418152 731.787048
+777.417358 346.319275
+778.363281 793.077942
+788.353943 1701.587524
+788.440674 369.447174
+789.358887 436.979340
+797.422058 949.151123
+801.456482 2018.613281
+802.453003 1038.883423
+805.359070 696.158020
+806.363647 7031.405762
+807.365295 934.853821
+833.400391 617.893799
+847.425964 2543.552246
+848.427246 772.212708
+862.458740 2430.889893
+863.459778 620.660950
+875.450989 820.489624
+884.453247 1631.064331
+885.464966 571.145264
+887.421997 686.658630
+888.489502 705.498108
+889.477844 696.127258
+901.470032 1463.045898
+902.496460 1266.257813
+903.503845 698.129333
+904.442261 1038.665894
+905.432617 2050.675537
+919.481445 17119.210938
+920.485657 3316.843506
+927.563293 359.592102
+930.460938 851.465942
+931.465820 651.002625
+946.600769 384.072571
+948.455444 5336.049805
+948.531555 1947.049316
+949.462769 3090.331299
+982.512085 809.105103
+989.529297 2285.907715
+990.528381 1016.524780
+1002.532959 606.857239
+1004.502136 1042.749634
+1005.535583 806.390625
+1016.546387 611.005005
+1018.514465 890.451599
+1028.542358 881.013977
+1029.543945 751.198486
+1030.513184 4668.985840
+1031.514404 1352.692383
+1031.903931 531.207397
+1046.556763 10195.110352
+1047.549683 10636.351563
+1048.524292 27357.046875
+1049.521240 6269.379395
+1050.536743 817.544556
+1058.510132 602.429749
+1059.512817 806.930664
+1074.545654 670.111877
+1111.347778 383.419983
+1135.563232 590.543945
+1191.850830 385.573975
+1199.484863 378.615051
+END IONS
+BEGIN IONS
+PEPMASS=596.819946
+CHARGE=2+
+SCANS=4266
+TITLE=Mo_Tai_iTRAQ_f4.04266.04266.2
+112.086632 6256.541992
+113.106850 1200.777588
+114.110283 291903.562500
+115.107292 205773.750000
+116.070198 9381.364258
+118.625160 1156.606079
+121.846268 1173.889160
+125.281631 1188.704590
+125.512619 1180.603516
+129.112930 1283.168335
+130.097046 2611.965332
+139.049683 1483.984863
+143.102386 2415.365723
+143.108490 3660.921631
+145.107513 41579.554688
+145.112564 51772.304688
+145.989609 1184.887939
+146.110229 1508.351685
+146.116257 1975.773315
+156.112534 4143.445313
+157.107788 2432.481201
+157.133499 4839.485840
+158.091995 20283.333984
+159.076263 1429.104614
+160.629898 1191.417847
+160.667603 1158.045776
+163.141205 1376.479004
+171.075943 2648.332520
+173.109818 1193.917114
+174.247498 1186.561401
+175.118561 111334.921875
+176.121765 4773.125488
+185.127930 4566.888184
+186.087280 2240.476807
+188.765823 1949.310425
+197.055084 1148.568359
+201.086807 1300.619141
+204.149704 4709.141113
+215.261887 1138.700195
+216.096863 2107.551758
+229.128571 2454.522217
+232.146118 11049.886719
+235.964767 1241.629761
+244.147644 1253.920410
+246.154465 35329.953125
+246.159225 30148.449219
+247.158295 2926.364746
+269.124420 2670.603760
+271.175903 15609.878906
+272.144226 2525.952148
+272.179108 1290.274536
+274.153015 49036.832031
+275.149841 1420.499634
+275.158844 2601.916016
+282.143555 1384.911743
+287.134125 2822.687256
+288.118774 1334.078247
+288.202240 7083.480469
+299.169952 3699.752686
+303.176483 4045.447021
+309.154053 2151.240723
+315.129456 2996.855469
+317.192169 3992.310791
+317.232452 2488.542480
+324.201965 3728.532471
+327.216888 1340.828613
+328.181183 1415.114990
+328.658539 1123.353027
+332.220734 1271.077026
+339.128540 1531.501343
+341.227722 2042.626709
+342.177856 4745.867676
+342.213135 5806.857422
+342.680176 1253.430786
+345.227722 6977.128906
+346.227631 1417.045288
+351.181580 2593.887451
+355.195465 1410.892944
+359.239166 131598.187500
+360.241974 7494.800781
+371.703064 1232.090332
+372.227325 1063.592041
+374.165833 1593.182251
+378.128571 1477.884521
+379.190033 2009.720215
+383.951935 1167.295410
+385.217102 2160.023926
+387.088654 1181.940674
+387.237122 17242.986328
+388.270752 2137.781494
+399.691681 1897.866455
+402.981964 1403.929321
+410.200531 1473.366943
+412.146576 2755.270752
+416.178741 2011.218384
+416.264343 8740.199219
+418.226563 1685.087158
+418.503876 1317.556885
+420.906189 1468.914551
+428.260590 10760.098633
+435.430603 1235.131470
+439.228638 3462.746582
+443.721893 2301.887451
+444.259033 19408.619141
+445.910492 1555.476196
+446.234131 4515.197266
+452.213654 2224.779785
+453.244629 1466.538086
+456.254028 11374.475586
+457.236298 6505.964355
+460.252441 5049.501953
+461.199280 2477.136963
+461.257202 1220.848389
+473.282104 2383.668213
+474.265259 18389.148438
+474.347229 1335.815796
+475.268738 1576.179443
+487.300934 3418.517334
+497.238434 1320.483154
+501.193390 2363.973633
+501.281799 2294.974609
+503.293304 5307.897461
+506.236969 2415.770264
+507.221161 2141.243408
+513.280212 8979.766602
+513.520874 1255.733276
+515.397583 1283.797607
+518.220520 2333.504883
+524.244141 2337.022705
+531.288818 12616.497070
+532.292053 2919.514648
+543.240479 2208.620361
+557.302246 2227.384277
+558.287842 2620.560791
+564.282898 3061.575439
+564.783386 2126.333008
+567.635071 1528.431152
+572.318420 3588.414307
+574.332886 6353.251953
+575.275513 2038.389526
+575.317810 3120.288818
+575.813110 1280.671021
+578.257324 2028.924072
+578.808960 2204.031494
+582.297302 2370.353516
+586.805847 4880.877441
+587.321655 10993.145508
+587.815430 4840.189453
+588.315308 3987.762451
+590.326782 4101.055176
+595.808716 13652.512695
+596.326172 56460.394531
+596.820496 73703.304688
+597.325012 10493.157227
+600.311584 11091.863281
+603.256470 1375.655518
+614.278687 3044.310303
+617.342529 2611.205322
+618.321533 11686.435547
+620.278381 2692.279785
+631.304932 3489.041748
+642.333923 1463.009766
+643.356995 2144.768555
+657.334106 2211.700439
+661.360291 10726.361328
+662.340027 6749.304199
+683.348572 4233.550781
+686.357666 2806.179688
+699.368774 2373.727783
+701.356628 9326.515625
+702.359070 2700.029297
+704.322937 2700.242920
+711.198730 1564.977661
+713.357788 4241.387695
+714.358093 3410.055420
+719.369812 5286.986328
+731.363892 6544.432617
+732.374146 3260.844238
+735.998413 1453.624878
+737.383057 1431.205566
+742.338867 2484.998047
+745.386780 1396.323608
+748.392639 14782.207031
+749.381287 11169.833984
+753.351318 2966.480469
+759.413452 1382.535645
+773.555115 1370.550049
+775.356812 6727.154297
+776.364441 2762.483398
+788.388000 5857.976563
+789.387451 2614.257813
+805.414490 59632.191406
+806.403381 47422.496094
+807.409180 3204.095703
+815.398743 5865.412109
+816.380005 5343.647949
+818.412598 1527.970459
+828.385437 4316.563477
+832.396667 2064.102783
+833.411438 12668.332031
+834.397095 17313.691406
+835.401672 3613.251709
+836.389221 3638.201172
+837.386047 2715.394531
+846.392822 13464.495117
+847.398560 4506.627441
+854.086304 1410.738037
+859.436096 1434.342163
+869.417786 2140.526367
+874.438904 2894.846924
+876.452454 1540.078003
+877.441833 3256.387451
+884.456360 2767.287598
+886.439087 2288.198242
+887.428406 2524.863770
+900.501099 5556.912598
+901.481323 4092.769531
+902.469177 2563.342041
+904.448242 11652.262695
+905.443420 9426.941406
+918.441956 2336.740967
+918.500122 65733.820313
+919.490662 68634.601563
+920.492371 10120.558594
+928.484375 2104.793213
+959.473206 8787.570313
+960.478210 5710.833496
+970.508484 1540.445313
+983.451904 7412.620117
+984.465027 4973.284180
+986.509155 2271.588623
+1003.521057 3541.061523
+1004.511292 2234.473145
+1012.509521 4455.150879
+1013.487671 2531.277588
+1017.535645 3410.644043
+1018.537476 2418.473877
+1028.498779 9095.230469
+1029.529297 14408.421875
+1030.519287 22318.728516
+1031.523926 3820.234375
+1046.506348 27647.564453
+1047.543335 99298.734375
+1048.535767 93244.648438
+1049.536743 15710.309570
+1059.525513 2875.163330
+END IONS
+BEGIN IONS
+PEPMASS=593.990784
+CHARGE=3+
+SCANS=8055
+TITLE=Mo_Tai_iTRAQ_f4.08055.08055.3
+110.070747 1733.929932
+112.086494 691.703613
+114.110207 40570.949219
+115.107246 29732.470703
+116.110382 1231.719482
+116.696106 632.937317
+117.730354 471.628967
+124.086235 1593.573853
+127.085846 719.726074
+127.191467 500.313782
+129.064926 511.926025
+129.129395 1360.861450
+136.075058 651.347961
+137.249298 489.442627
+143.102310 528.153137
+143.108459 983.870300
+145.106354 5602.307617
+145.112564 9344.262695
+155.080536 649.520813
+158.091660 1477.552002
+162.132690 594.649658
+162.139435 534.015381
+173.417542 600.326477
+175.118454 8973.086914
+176.120972 555.123108
+178.371323 511.018158
+183.148560 607.971863
+186.086960 652.429138
+188.148453 816.252747
+188.154907 1523.843628
+199.106628 571.695862
+206.436493 1035.268555
+212.269272 591.934021
+214.144180 900.448364
+216.150284 2525.229248
+227.101578 976.558044
+230.201385 1142.054443
+242.148682 1397.006470
+243.107559 677.465942
+243.133698 1371.145142
+244.138000 891.661987
+244.180954 1242.425537
+246.153366 2297.038574
+254.730103 532.118347
+255.144455 987.050415
+256.688324 533.629761
+257.158569 875.375305
+272.170959 2529.128906
+272.908997 502.400146
+274.186554 13132.186523
+287.221313 1091.025513
+291.214172 2984.217773
+300.154175 1022.979675
+308.174438 1182.723389
+311.169250 569.517273
+315.217712 1153.479858
+320.089233 1019.081665
+329.195770 1409.046875
+330.298096 523.613220
+331.206055 940.368896
+345.223816 1784.856079
+348.235840 683.953247
+348.581970 560.229858
+368.226654 641.918640
+371.281464 720.593628
+372.184631 537.945129
+378.248566 1106.098633
+379.243256 531.171021
+386.216095 1908.169556
+388.270569 1083.493164
+399.715698 3641.003906
+402.287842 531.509766
+407.745789 883.040344
+407.965881 569.346497
+412.240295 632.917664
+415.698425 1032.095337
+428.227112 4306.428711
+428.261108 1225.675537
+428.725769 881.870422
+429.260712 3728.557373
+429.697418 1331.391235
+445.288818 567.610901
+448.071899 583.037292
+455.416718 647.968628
+464.268341 654.572754
+470.773743 1128.713501
+472.250061 3780.671875
+473.252808 1594.682739
+473.278687 2412.803467
+481.325806 1259.738159
+484.769775 1385.499390
+485.271332 613.115601
+491.173309 585.062622
+491.329742 911.582214
+497.316864 671.196655
+499.275757 1172.343262
+499.337067 1123.132935
+500.283569 1279.582520
+500.335480 1331.533203
+501.255157 671.378113
+506.350983 526.060120
+515.294067 595.644592
+520.279419 564.501221
+528.327942 1453.140137
+528.796143 1023.938416
+530.344971 699.704163
+534.306091 632.479187
+556.821533 578.409241
+557.308167 996.385559
+562.368835 1061.597290
+562.630188 599.749634
+563.383240 597.036011
+572.329102 704.391174
+575.329651 597.594116
+578.266602 569.538757
+584.834595 1397.603638
+585.341125 596.237427
+585.828064 634.964417
+592.849548 948.947998
+593.338867 8331.064453
+593.809753 1243.525757
+593.850098 3570.665283
+594.347534 5469.266113
+601.328064 1251.846069
+612.421753 868.523682
+615.363525 1159.816772
+635.785217 692.349304
+645.406799 926.912354
+647.354187 1344.844971
+660.368103 1515.965698
+667.035950 629.281006
+678.553528 864.705811
+686.401672 1415.408081
+687.406799 956.555176
+701.317932 638.253906
+713.436462 577.175781
+714.438171 979.025330
+721.332031 1133.021240
+734.864807 659.578308
+758.495483 1101.013306
+759.436768 1680.954834
+814.488220 766.761841
+825.458008 2101.567139
+873.476807 3603.638672
+876.500122 1146.794800
+877.493591 2904.569092
+878.501526 2154.676025
+879.500305 1179.630981
+896.207703 648.875244
+914.434082 1090.736938
+914.517822 1977.191284
+928.515015 1886.298706
+930.495483 1311.800903
+952.429504 625.323181
+965.766296 606.633911
+972.546692 2437.769531
+999.546753 632.162537
+1026.609131 980.280151
+1040.573853 1742.042114
+1041.564087 3165.200439
+1042.581787 3063.955566
+1043.577515 6683.765625
+1045.518311 945.700500
+1147.621704 832.881104
+1148.635742 1159.247681
+1467.104980 653.335815
+1533.474243 661.718018
+1620.307251 616.238525
+1664.717529 648.275024
+END IONS
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/novel_peptides	Wed Jan 22 22:12:14 2020 +0000
@@ -0,0 +1,3 @@
+DSGASGSILEASAAR
+ELGSSDLTAR
+SPYREFTDHLVK
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/novel_proteins.fa	Wed Jan 22 22:12:14 2020 +0000
@@ -0,0 +1,6 @@
+>DSGASGSILEASAAR
+DSGASGSILEASAAR
+>ELGSSDLTAR
+ELGSSDLTAR
+>SPYREFTDHLVK
+SPYREFTDHLVK