view peptide_shaker.xml @ 29:78fad25eff17 draft

planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/peptideshaker commit 4256c7c6fde06722b66f433f5913c2e707bc930f-dirty
author galaxyp
date Fri, 10 Jun 2016 09:58:03 -0400
parents 432140bcc7fe
children ad60446b1e93
line wrap: on
line source

<tool id="peptide_shaker" name="Peptide Shaker" version="1.11.0">
    <description>
        Perform protein identification using various search engines based on results from SearchGUI
    </description>
    <macros>
        <import>macros.xml</import>
    </macros>
    <requirements>
        <requirement type="package" version="1.11">peptide_shaker</requirement>
    </requirements>
    <expand macro="stdio" />
    <command>
<![CDATA[
        #from datetime import datetime
        #set $exp_str = "Galaxy_Experiment_%s" % datetime.now().strftime("%Y%m%d%H%M%s")
        #set $samp_str = "Sample_%s" % datetime.now().strftime("%Y%m%d%H%M%s")
        #set $temp_stderr = "peptideshaker_stderr"


        mkdir output_reports;
        cwd=`pwd`;

        cp -r "\${PEPTIDESHAKER_JAR_PATH%/*}" bin;
        tmp_peptideshaker_jar_path=`echo "\$cwd/bin/\${PEPTIDESHAKER_JAR_PATH\#\#/*/}"`;

        ln -s '$searchgui_input' searchgui_input.zip &&
        ######################
        ## PeptideShakerCLI ##
        ######################
        (java -cp \$tmp_peptideshaker_jar_path eu.isas.peptideshaker.cmd.PeptideShakerCLI
            -temp_folder \$cwd/PeptideShakerCLI
            -experiment '$exp_str'
            -sample '$samp_str'
            -replicate 1
            -identification_files \$cwd/searchgui_input.zip
            -out \$cwd/peptideshaker_output.cpsx
            -zip \$cwd/peptideshaker_output.zip

            -threads "\${GALAXY_SLOTS:-12}"

            ##Optional gene annotation parameter
            #if $species_type.species_type_selector != 'no_species_type':
                -species_type "${species_type.species_type_selector}"
                -species "${species_type.species}"
                -species_update 1
            #end if

            ##Optional processing parameters:
            #if $processing_options.processing_options_selector == "yes"
                -protein_fdr "${processing_options.protein_fdr}"
                -peptide_fdr "${processing_options.peptide_fdr}"
                -psm_fdr "${processing_options.psm_fdr}"
                -ptm_score "${processing_options.ptm_score.ptm_score_selector}"
                #if $processing_options.ptm_score.ptm_score_selector == 1
                    -score_neutral_losses "${processing_options.ptm_score.neutral_losses}"
                    #if str($processing_options.ptm_score.ptm_threshold) != ''
                        -ptm_threshold "${processing_options.ptm_score.ptm_threshold}"
                    #end if
                #end if
                -protein_fraction_mw_confidence "${processing_options.protein_fraction_mw_confidence}"
                -ptm_alignment "${processing_options.ptm_alignment}"
            #end if

           ##Optional filtering parameters:
            #if $filtering_options.filtering_options_selector == "yes":
                -import_peptide_length_min "${filtering_options.min_peptide_length}"
                -import_peptide_length_max "${filtering_options.max_peptide_length}"
                -import_precurosor_mz "${filtering_options.max_precursor_error}"
                -import_precurosor_mz_ppm "${filtering_options.max_precursor_error_type}"
                ##-max_xtandem_e "${filtering_options.max_xtandem_e}"
                ##-max_omssa_e "${filtering_options.max_omssa_e}"
                ##-max_mascot_e "${filtering_options.max_mascot_e}"
                -exclude_unknown_ptms "${filtering_options.exclude_unknown_ptms}"
            #end if

        2>> $temp_stderr)

        &&

        echo "Running Reports";

        ##################################
        ## PeptideShaker Report options ##
        ##################################

        #if 'mzidentML' in str($outputs).split(','):
            echo "Generating mzIdentML";
            (java -cp \$tmp_peptideshaker_jar_path eu.isas.peptideshaker.cmd.MzidCLI
                -in \$cwd/peptideshaker_output.zip
                -output_file output.mzid
                -contact_first_name "Proteomics"
                -contact_last_name "Galaxy"
                -contact_email "galaxyp@umn.edu"
                -contact_address "galaxyp@umn.edu"
                -organization_name "University of Minnesota"
                -organization_email "galaxyp@umn.edu"
                -organization_address "Minneapolis, MN 55455, Vereinigte Staaten"
            2>> $temp_stderr) 
            &&
        #end if

        ## Generate Reports if the user has selected one of the 8 additional reports
        ## 'cps', 'mzidentML' and 'zip' are not valid options for PeptideShaker 
        ## and will not be passed to the command line
        #if set(["0","1","2","3","4","5","6","7"]).intersection( set( str( $outputs ).split(',') ) ):

            (java -cp \$tmp_peptideshaker_jar_path eu.isas.peptideshaker.cmd.ReportCLI
                -temp_folder \$cwd/ReportCLI
                -in \$cwd/peptideshaker_output.zip
                -out_reports \$cwd/output_reports
                #set $cleaned_list = str($outputs).split(',')
                #if 'cps' in $cleaned_list:
                    #silent $cleaned_list.remove('cps')
                #end if
                #if 'mzidentML' in $cleaned_list:
                    #silent $cleaned_list.remove('mzidentML')
                #end if
                #if 'zip' in $cleaned_list:
                    #silent $cleaned_list.remove('zip')
                #end if
                ## Only numbers are left over. These corresponds to different reports.
                -reports #echo ','.join($cleaned_list)#

            2>> $temp_stderr)
            &&
        #end if


        #if '0' in str($outputs).split(','):
            find \$cwd/output_reports -name '*Certificate_of_Analysis*' -exec bash -c 'mv "$0" "certificate.txt"' {} \;
            ;
        #end if
        #if '1' in str($outputs).split(','):
            find \$cwd/output_reports -name '*Hierarchical*' -exec bash -c 'mv "$0" "hierarchical.txt"' {} \;
            ;
        #end if
        #if '2' in str($outputs).split(','):
            find \$cwd/output_reports -name '*PSM_Phosphorylation_Report*' -exec bash -c 'mv "$0" "psm_phospho.txt"' {} \;
            ;
        #end if
        #if '3' in str($outputs).split(','):
            find \$cwd/output_reports -name '*PSM_Report*' -exec bash -c 'mv "$0" "psm.txt"' {} \;
            ;
        #end if
        #if '4' in str($outputs).split(','):
            find \$cwd/output_reports -name '*Peptide_Phosphorylation_Report*' -exec bash -c 'mv "$0" "peptides_phospho.txt"' {} \;
            ;
        #end if
        #if '5' in str($outputs).split(','):
            find \$cwd/output_reports -name '*Peptide_Report*' -exec bash -c 'mv "$0" "peptides.txt"' {} \;
            ;
        #end if
        #if '6' in str($outputs).split(','):
            find \$cwd/output_reports -name '*Protein_Phosphorylation_Report*' -exec bash -c 'mv "$0" "proteins_phospho.txt"' {} \;
            ;
        #end if
        #if '7' in str($outputs).split(','):
            find \$cwd/output_reports -name '*Protein_Report*' -exec bash -c 'mv "$0" "proteins.txt"' {} \;
            ;
        #end if

        exit_code_for_galaxy=\$?;
        cat $temp_stderr 2>&1;
        (exit \$exit_code_for_galaxy)

]]>
    </command>
    <inputs>
        <param name="searchgui_input" format="searchgui_archive" type="data" label="Compressed SearchGUI results"
            help="SearchGUI Results from History">
            <options options_filter_attribute="metadata.searchgui_major_version" >
                <filter type="add_value" value="@SEARCHGUI_MAJOR_VERSION@" />
            </options>
        </param>

        <conditional name="species_type">
            <param name="species_type_selector" type="select" optional="true" label="The species type to use for the gene annotation"
                help="(Optional) If your species is supported under one of the groups, selecting it will allow GO annotations and other information to be included in the results">
                <option value="Fungi">Fungi</option>
                <option value="Plants">Plants</option>
                <option value="Metazoa">Metazoa</option>
                <option value="Vertebrates">Vertebrates</option>
                <option value="Protists">Protists</option>
                <option value="no_species_type" selected="true">No species restriction</option>
            </param>
            <when value="no_species_type"/>
            <when value="Protists">
                <param name="species" type="select" label="The species to use for the gene annotation"
                    help="">
                    <option value="Albugo laibachii">Albugo laibachii</option>
                    <option value="Bigelowiella natans">Bigelowiella natans</option>
                    <option value="Dictyostelium discoideum">Dictyostelium discoideum</option>
                    <option value="Emiliania huxleyi">Emiliania huxleyi</option>
                    <option value="Entamoeba histolytica">Entamoeba histolytica</option>
                    <option value="Giardia lamblia">Giardia lamblia</option>
                    <option value="Guillardia theta CCMP2712">Guillardia theta CCMP2712</option>
                    <option value="Hyaloperonospora arabidopsidis">Hyaloperonospora arabidopsidis</option>
                    <option value="Leishmania major">Leishmania major</option>
                    <option value="Paramecium tetraurelia">Paramecium tetraurelia</option>
                    <option value="Phaeodactylum tricornutum">Phaeodactylum tricornutum</option>
                    <option value="Phytophthora infestans">Phytophthora infestans</option>
                    <option value="Phytophthora kernoviae">Phytophthora kernoviae</option>
                    <option value="Phytophthora lateralis">Phytophthora lateralis</option>
                    <option value="Phytophthora parasitica">Phytophthora parasitica</option>
                    <option value="Phytophthora ramorum">Phytophthora ramorum</option>
                    <option value="Phytophthora sojae">Phytophthora sojae</option>
                    <option value="Plasmodium berghei">Plasmodium berghei</option>
                    <option value="Plasmodium chabaudi">Plasmodium chabaudi</option>
                    <option value="Plasmodium falciparum">Plasmodium falciparum</option>
                    <option value="Plasmodium knowlesi">Plasmodium knowlesi</option>
                    <option value="Plasmodium vivax">Plasmodium vivax</option>
                    <option value="Pythium aphanidermatum">Pythium aphanidermatum</option>
                    <option value="Pythium arrhenomanes">Pythium arrhenomanes</option>
                    <option value="Pythium irregulare">Pythium irregulare</option>
                    <option value="Pythium iwayamai">Pythium iwayamai</option>
                    <option value="Pythium ultimum">Pythium ultimum</option>
                    <option value="Pythium vexans">Pythium vexans</option>
                    <option value="Tetrahymena thermophila">Tetrahymena thermophila</option>
                    <option value="Thalassiosira pseudonana">Thalassiosira pseudonana</option>
                    <option value="Toxoplasma gondii">Toxoplasma gondii</option>
                    <option value="Trypanosoma brucei">Trypanosoma brucei</option>
                </param>
            </when>
            <when value="Plants">
                <param name="species" type="select" label="The species to use for the gene annotation"
                    help="">
                    <option value="Amborella (Amborella trichopoda)">Amborella (Amborella trichopoda)</option>
                    <option value="Arabidopsis lyrata (Lyrate rockcress)">Arabidopsis lyrata (Lyrate rockcress)</option>
                    <option value="Arabidopsis thaliana (Thale-cress)">Arabidopsis thaliana (Thale-cress)</option>
                    <option value="Brachypodium distachyon (False brome)">Brachypodium distachyon (False brome)</option>
                    <option value="Brassica oleracea">Brassica oleracea</option>
                    <option value="Brassica rapa genes (Field mustard)">Brassica rapa genes (Field mustard)</option>
                    <option value="Chlamydomonas reinhardtii (Green algae)">Chlamydomonas reinhardtii (Green algae)</option>
                    <option value="Cyanidioschyzon merolae (Red algae)">Cyanidioschyzon merolae (Red algae)</option>
                    <option value="Glycine max (Soybean)">Glycine max (Soybean)</option>
                    <option value="Hordeum vulgare (Barley)">Hordeum vulgare (Barley)</option>
                    <option value="Leersia perrieri (Leersia)">Leersia perrieri (Leersia)</option>
                    <option value="Medicago truncatula (Barrel medic)">Medicago truncatula (Barrel medic)</option>
                    <option value="Musa acuminata (Banana)">Musa acuminata (Banana)</option>
                    <option value="Oryza brachyantha">Oryza brachyantha</option>
                    <option value="Oryza glumaepatula">Oryza glumaepatula</option>
                    <option value="Oryza meridionalis">Oryza meridionalis</option>
                    <option value="Oryza nivara">Oryza nivara</option>
                    <option value="Oryza punctata">Oryza punctata</option>
                    <option value="Oryza rufipogon (Common wild rice)">Oryza rufipogon (Common wild rice)</option>
                    <option value="Oryza sativa (Indica rice)">Oryza sativa (Indica rice)</option>
                    <option value="Oryza sativa Indica Group">Oryza sativa Indica Group</option>
                    <option value="Oryza sativa Japonica (Japonica rice)">Oryza sativa Japonica (Japonica rice)</option>
                    <option value="Ostreococcus lucimarinus (Green algae)">Ostreococcus lucimarinus (Green algae)</option>
                    <option value="Physcomitrella patens">Physcomitrella patens</option>
                    <option value="Physcomitrella patens (Moss)">Physcomitrella patens (Moss)</option>
                    <option value="Populus trichocarpa">Populus trichocarpa</option>
                    <option value="Populus trichocarpa (Western balsam poplar)">Populus trichocarpa (Western balsam poplar)</option>
                    <option value="Prunus persica (Peach)">Prunus persica (Peach)</option>
                    <option value="Selaginella moellendorffii (Spike moss)">Selaginella moellendorffii (Spike moss)</option>
                    <option value="Setaria italica (Foxtail millet)">Setaria italica (Foxtail millet)</option>
                    <option value="Solanum lycopersicum (Tomato)">Solanum lycopersicum (Tomato)</option>
                    <option value="Solanum tuberosum (Potato)">Solanum tuberosum (Potato)</option>
                    <option value="Sorghum bicolor (Sorghum)">Sorghum bicolor (Sorghum)</option>
                    <option value="Theobroma cacao (Cocoa)">Theobroma cacao (Cocoa)</option>
                    <option value="Triticum aestivum (Bread wheat)">Triticum aestivum (Bread wheat)</option>
                    <option value="Triticum urartu (Einkorn)">Triticum urartu (Einkorn)</option>
                    <option value="Vitis vinifera (Wine grape)">Vitis vinifera (Wine grape)</option>
                    <option value="Zea mays (Maize)">Zea mays (Maize)</option>
                </param>
            </when>
            <when value="Metazoa">
                <param name="species" type="select" label="The species to use for the gene annotation"
                    help="">
                    <option value="Acyrthosiphon pisum">Acyrthosiphon pisum</option>
                    <option value="Aedes aegypti (Yellow fever mosquito)">Aedes aegypti (Yellow fever mosquito)</option>
                    <option value="Amphimedon queenslandica">Amphimedon queenslandica</option>
                    <option value="Anopheles darlingi">Anopheles darlingi</option>
                    <option value="Anopheles gambiae (African malaria mosquito) ">Anopheles gambiae (African malaria mosquito) </option>
                    <option value="Apis mellifera ">Apis mellifera </option>
                    <option value="Atta cephalotes ">Atta cephalotes </option>
                    <option value="Bombyx mori ">Bombyx mori </option>
                    <option value="Brugia malayi ">Brugia malayi </option>
                    <option value="Caenorhabditis brenneri ">Caenorhabditis brenneri </option>
                    <option value="Caenorhabditis briggsae ">Caenorhabditis briggsae </option>
                    <option value="Caenorhabditis elegans ">Caenorhabditis elegans </option>
                    <option value="Caenorhabditis japonica ">Caenorhabditis japonica </option>
                    <option value="Caenorhabditis remanei ">Caenorhabditis remanei </option>
                    <option value="Culex quinquefasciatus (Southern house mosquito) ">Culex quinquefasciatus (Southern house mosquito) </option>
                    <option value="Danaus plexippus ">Danaus plexippus </option>
                    <option value="Daphnia pulex ">Daphnia pulex </option>
                    <option value="Dendroctonus ponderosae">Dendroctonus ponderosae</option>
                    <option value="Drosophila ananassae ">Drosophila ananassae </option>
                    <option value="Drosophila erecta ">Drosophila erecta </option>
                    <option value="Drosophila grimshawi ">Drosophila grimshawi </option>
                    <option value="Drosophila melanogaster (Fruit fly) ">Drosophila melanogaster (Fruit fly) </option>
                    <option value="Drosophila mojavensis ">Drosophila mojavensis </option>
                    <option value="Drosophila persimilis ">Drosophila persimilis </option>
                    <option value="Drosophila pseudoobscura ">Drosophila pseudoobscura </option>
                    <option value="Drosophila sechellia ">Drosophila sechellia </option>
                    <option value="Drosophila simulans ">Drosophila simulans </option>
                    <option value="Drosophila virilis ">Drosophila virilis </option>
                    <option value="Drosophila willistoni ">Drosophila willistoni </option>
                    <option value="Drosophila yakuba ">Drosophila yakuba </option>
                    <option value="Heliconius melpomene ">Heliconius melpomene </option>
                    <option value="Helobdella robusta">Helobdella robusta</option>
                    <option value="Ixodes scapularis (Black-legged tick) ">Ixodes scapularis (Black-legged tick) </option>
                    <option value="Loa loa ">Loa loa </option>
                    <option value="Lottia gigantea">Lottia gigantea</option>
                    <option value="Megaselia scalaris ">Megaselia scalaris </option>
                    <option value="Melitaea cinxia">Melitaea cinxia</option>
                    <option value="Mnemiopsis leidyi">Mnemiopsis leidyi</option>
                    <option value="Nasonia vitripennis ">Nasonia vitripennis </option>
                    <option value="Nematostella vectensis ">Nematostella vectensis </option>
                    <option value="Onchocerca volvulus">Onchocerca volvulus</option>
                    <option value="Pediculus humanus (Human louse) ">Pediculus humanus (Human louse) </option>
                    <option value="Pristionchus pacificus ">Pristionchus pacificus </option>
                    <option value="Rhodnius prolixus">Rhodnius prolixus</option>
                    <option value="Schistosoma mansoni ">Schistosoma mansoni </option>
                    <option value="Solenopsis invicta (Red fire ant)">Solenopsis invicta (Red fire ant)</option>
                    <option value="Strigamia maritima ">Strigamia maritima </option>
                    <option value="Strongylocentrotus purpuratus ">Strongylocentrotus purpuratus </option>
                    <option value="Tetranychus urticae">Tetranychus urticae</option>
                    <option value="Tribolium castaneum (red flour beetle) ">Tribolium castaneum (red flour beetle) </option>
                    <option value="Trichinella spiralis ">Trichinella spiralis </option>
                    <option value="Trichoplax adhaerens ">Trichoplax adhaerens </option>
                    <option value="Zootermopsis nevadensis">Zootermopsis nevadensis</option>
                </param>
            </when>
            <when value="Fungi">
                <param name="species" type="select" label="The species to use for the gene annotation"
                    help="">
                    <option value="Ashbya gossypii">Ashbya gossypii</option>
                    <option value="Aspergillus clavatus">Aspergillus clavatus</option>
                    <option value="Aspergillus flavus">Aspergillus flavus</option>
                    <option value="Aspergillus fumigatus">Aspergillus fumigatus</option>
                    <option value="Aspergillus fumigatusa1163">Aspergillus fumigatusa1163</option>
                    <option value="Aspergillus nidulans">Aspergillus nidulans</option>
                    <option value="Aspergillus niger">Aspergillus niger</option>
                    <option value="Aspergillus oryzae">Aspergillus oryzae</option>
                    <option value="Aspergillus terreus">Aspergillus terreus</option>
                    <option value="Blumeria graminis">Blumeria graminis</option>
                    <option value="Botrytis cinerea">Botrytis cinerea</option>
                    <option value="Colletotrichum gloeosporioides">Colletotrichum gloeosporioides</option>
                    <option value="Colletotrichum higginsianum">Colletotrichum higginsianum</option>
                    <option value="Colletotrichum orbiculare">Colletotrichum orbiculare</option>
                    <option value="Cryptococcus neoformans">Cryptococcus neoformans</option>
                    <option value="Dothistroma septosporum">Dothistroma septosporum</option>
                    <option value="Fusarium fujikuroi">Fusarium fujikuroi</option>
                    <option value="Fusarium graminearum">Fusarium graminearum</option>
                    <option value="Fusarium oxysporum">Fusarium oxysporum</option>
                    <option value="Fusarium pseudograminearum">Fusarium pseudograminearum</option>
                    <option value="Fusarium solani">Fusarium solani</option>
                    <option value="Fusarium verticillioides">Fusarium verticillioides</option>
                    <option value="Gaeumannomyces graminis">Gaeumannomyces graminis</option>
                    <option value="Colletotrichum graminicola">Colletotrichum graminicola</option>
                    <option value="Komagataella pastoris">Komagataella pastoris</option>
                    <option value="Leptosphaeria maculans">Leptosphaeria maculans</option>
                    <option value="Magnaporthe oryzae">Magnaporthe oryzae</option>
                    <option value="Magnaporthe poae">Magnaporthe poae</option>
                    <option value="Melampsora larici-populina">Melampsora larici-populina</option>
                    <option value="Neosartorya fischeri">Neosartorya fischeri</option>
                    <option value="Neurospora crassa">Neurospora crassa</option>
                    <option value="Phaeosphaeria nodorum">Phaeosphaeria nodorum</option>
                    <option value="Puccinia graminis">Puccinia graminis</option>
                    <option value="Puccinia graminis Ug99">Puccinia graminis Ug99</option>
                    <option value="Puccinia triticina">Puccinia triticina</option>
                    <option value="Pyrenophora teres">Pyrenophora teres</option>
                    <option value="Pyrenophora tritici-repentis">Pyrenophora tritici-repentis</option>
                    <option value="Saccharomyces cerevisiae">Saccharomyces cerevisiae</option>
                    <option value="Schizosaccharomyces cryophilus">Schizosaccharomyces cryophilus</option>
                    <option value="Schizosaccharomyces japonicus">Schizosaccharomyces japonicus</option>
                    <option value="Schizosaccharomyces octosporus">Schizosaccharomyces octosporus</option>
                    <option value="Schizosaccharomyces pombe">Schizosaccharomyces pombe</option>
                    <option value="Sclerotinia sclerotiorum">Sclerotinia sclerotiorum</option>
                    <option value="Sporisorium reilianum">Sporisorium reilianum</option>
                    <option value="Trichoderma reesei">Trichoderma reesei</option>
                    <option value="Trichoderma virens">Trichoderma virens</option>
                    <option value="Tuber melanosporum">Tuber melanosporum</option>
                    <option value="Ustilago maydis">Ustilago maydis</option>
                    <option value="Verticillium dahliae JR2">Verticillium dahliae JR2</option>
                    <option value="Verticillium dahliae">Verticillium dahliae</option>
                    <option value="Yarrowia lipolytica">Yarrowia lipolytica</option>
                    <option value="Zymoseptoria tritici">Zymoseptoria tritici</option>
                </param>
            </when>
            <when value="Vertebrates">
                <param name="species" type="select" label="The species to use for the gene annotation"
                    help="">
                    <option value="Alpaca (Vicugna pacos)">Alpaca (Vicugna pacos)</option>
                    <option value="Amazon molly (Poecilia formosa)">Amazon molly (Poecilia formosa)</option>
                    <option value="Anole lizard (Anolis carolinensis)">Anole lizard (Anolis carolinensis)</option>
                    <option value="Armadillo (Dasypus novemcinctus)">Armadillo (Dasypus novemcinctus)</option>
                    <option value="Bushbaby (Otolemur garnettii)">Bushbaby (Otolemur garnettii)</option>
                    <option value="C. elegans (Caenorhabditis elegans)">C. elegans (Caenorhabditis elegans)</option>
                    <option value="C.intestinalis (Ciona intestinalis)">C.intestinalis (Ciona intestinalis)</option>
                    <option value="C.savignyi (Ciona savignyi)">C.savignyi (Ciona savignyi)</option>
                    <option value="Cat (Felis catus)">Cat (Felis catus)</option>
                    <option value="Cave fish (Astyanax mexicanus)">Cave fish (Astyanax mexicanus)</option>
                    <option value="Chicken (Gallus gallus)">Chicken (Gallus gallus)</option>
                    <option value="Chimpanzee (Pan troglodytes)">Chimpanzee (Pan troglodytes)</option>
                    <option value="Chinese softshell turtle (Pelodiscus sinensis)">Chinese softshell turtle (Pelodiscus sinensis)</option>
                    <option value="Cod (Gadus morhua)">Cod (Gadus morhua)</option>
                    <option value="Coelacanth (Latimeria chalumnae)">Coelacanth (Latimeria chalumnae)</option>
                    <option value="Cow (Bos taurus)">Cow (Bos taurus)</option>
                    <option value="Dog (Canis lupus familiaris)">Dog (Canis lupus familiaris)</option>
                    <option value="Dolphin (Tursiops truncatus)">Dolphin (Tursiops truncatus)</option>
                    <option value="Duck (Anas platyrhynchos)">Duck (Anas platyrhynchos)</option>
                    <option value="Elephant (Loxodonta africana)">Elephant (Loxodonta africana)</option>
                    <option value="Ferret (Mustela putorius furo)">Ferret (Mustela putorius furo)</option>
                    <option value="Flycatcher (Ficedula albicollis)">Flycatcher (Ficedula albicollis)</option>
                    <option value="Fruitfly (Drosophila melanogaster)">Fruitfly (Drosophila melanogaster)</option>
                    <option value="Fugu (Takifugu rubripes)">Fugu (Takifugu rubripes)</option>
                    <option value="Gibbon (Nomascus leucogenys)">Gibbon (Nomascus leucogenys)</option>
                    <option value="Gorilla (Gorilla gorilla gorilla)">Gorilla (Gorilla gorilla gorilla)</option>
                    <option value="Guinea Pig (Cavia porcellus)">Guinea Pig (Cavia porcellus)</option>
                    <option value="Hedgehog (Erinaceus europaeus)">Hedgehog (Erinaceus europaeus)</option>
                    <option value="Horse (Equus caballus)">Horse (Equus caballus)</option>
                    <option value="Human (Homo sapiens)">Human (Homo sapiens)</option>
                    <option value="Hyrax (Procavia capensis)">Hyrax (Procavia capensis)</option>
                    <option value="Kangaroo rat (Dipodomys ordii)">Kangaroo rat (Dipodomys ordii)</option>
                    <option value="Lamprey (Petromyzon marinus)">Lamprey (Petromyzon marinus)</option>
                    <option value="Lesser hedgehog tenrec (Echinops telfairi)">Lesser hedgehog tenrec (Echinops telfairi)</option>
                    <option value="Macaque (Macaca mulatta)">Macaque (Macaca mulatta)</option>
                    <option value="Marmoset (Callithrix jacchus)">Marmoset (Callithrix jacchus)</option>
                    <option value="Medaka (Oryzias latipes)">Medaka (Oryzias latipes)</option>
                    <option value="Megabat (Pteropus vampyrus)">Megabat (Pteropus vampyrus)</option>
                    <option value="Microbat (Myotis lucifugus)">Microbat (Myotis lucifugus)</option>
                    <option value="Mouse (Mus musculus)">Mouse (Mus musculus)</option>
                    <option value="Mouse Lemur (Microcebus murinus)">Mouse Lemur (Microcebus murinus)</option>
                    <option value="Opossum (Monodelphis domestica)">Opossum (Monodelphis domestica)</option>
                    <option value="Orangutan (Pongo abelii)">Orangutan (Pongo abelii)</option>
                    <option value="Panda (Ailuropoda melanoleuca)">Panda (Ailuropoda melanoleuca)</option>
                    <option value="Pig (Sus scrofa)">Pig (Sus scrofa)</option>
                    <option value="Pika (Ochotona princeps)">Pika (Ochotona princeps)</option>
                    <option value="Platyfish (Xiphophorus maculatus)">Platyfish (Xiphophorus maculatus)</option>
                    <option value="Platypus (Ornithorhynchus anatinus)">Platypus (Ornithorhynchus anatinus)</option>
                    <option value="Rabbit (Oryctolagus cuniculus)">Rabbit (Oryctolagus cuniculus)</option>
                    <option value="Rat (Rattus norvegicus)">Rat (Rattus norvegicus)</option>
                    <option value="S. cerevisiae (Saccharomyces cerevisiae)">S. cerevisiae (Saccharomyces cerevisiae)</option>
                    <option value="Sheep (Ovis aries)">Sheep (Ovis aries)</option>
                    <option value="Shrew (Sorex araneus)">Shrew (Sorex araneus)</option>
                    <option value="Sloth (Choloepus hoffmanni)">Sloth (Choloepus hoffmanni)</option>
                    <option value="Spotted gar (Lepisosteus oculatus)">Spotted gar (Lepisosteus oculatus)</option>
                    <option value="Squirrel (Ictidomys tridecemlineatus)">Squirrel (Ictidomys tridecemlineatus)</option>
                    <option value="Stickleback (Gasterosteus aculeatus)">Stickleback (Gasterosteus aculeatus)</option>
                    <option value="Tarsier (Tarsius syrichta)">Tarsier (Tarsius syrichta)</option>
                    <option value="Tasmanian devil (Sarcophilus harrisii)">Tasmanian devil (Sarcophilus harrisii)</option>
                    <option value="Tetraodon (Tetraodon nigroviridis)">Tetraodon (Tetraodon nigroviridis)</option>
                    <option value="Tilapia (Oreochromis niloticus)">Tilapia (Oreochromis niloticus)</option>
                    <option value="Tree Shrew (Tupaia belangeri)">Tree Shrew (Tupaia belangeri)</option>
                    <option value="Turkey (Meleagris gallopavo)">Turkey (Meleagris gallopavo)</option>
                    <option value="Vervet-AGM (Chlorocebus sabaeus)">Vervet-AGM (Chlorocebus sabaeus)</option>
                    <option value="Wallaby (Macropus eugenii)">Wallaby (Macropus eugenii)</option>
                    <option value="Xenopus (Xenopus tropicalis)">Xenopus (Xenopus tropicalis)</option>
                    <option value="Zebra Finch (Taeniopygia guttata)">Zebra Finch (Taeniopygia guttata)</option>
                    <option value="Zebrafish (Danio rerio)">Zebrafish (Danio rerio)</option>
                </param>
            </when>
        </conditional>
        <conditional name="processing_options">
            <param name="processing_options_selector" type="select" label="Specify Advanced PeptideShaker Processing Options">
                <option value="no" selected="True">Default Processing Options</option>
                <option value="yes">Advanced Processing Options</option>
            </param>
            <when value="no" />
            <when value="yes">
                <param name="protein_fdr" label="FDR at the protein level" help="In percent (default 1% FDR: '1')" value="1" type="float" />
                <param name="peptide_fdr" label="FDR at the peptide level" help="In percent (default 1% FDR: '1')" value="1" type="float" />
                <param name="psm_fdr" label="FDR at the PSM level" help="In percent (default 1% FDR: '1')" value="1" type="float" />
                <param name="protein_fraction_mw_confidence" value="95.0" type="float" label="Minimum confidence required for a protein in the fraction MW plot"
                    help="default 95%: '95.0'" />
                <conditional name="ptm_score">
                    <param name="ptm_score_selector" type="select" label="The PTM probabilistic score to use for PTM localization">
                        <option value="0" selected="True">A-score</option>
                        <option value="1">PhosphoRS</option>
                    </param>
                    <when value="0" />
                    <when value="1">
                        <param name="score_neutral_losses" label="Include Neutral Losses in A Score" type="boolean" truevalue="1" falsevalue="0" />
                        <param name="ptm_threshold" label="The threshold to use for the PTM scores" optional="true" value="" type="float"
                            help="Automatic mode will be used if not set" />
                    </when>
                </conditional>
                <param name="ptm_alignment" label="Align peptide ambiguously localized PTMs on confident sites" type="boolean" truevalue="1" falsevalue="0" checked="true"/>
                <!-- SKIPPING -protein_fraction_mw_confidence ${processing_options.protein_fraction_mw_confidence} -->
            </when>
        </conditional>
        <conditional name="filtering_options">
            <param name="filtering_options_selector" type="select" label="Specify Advanced Filtering Options"
                help="Filter based on peptide lengths, precursor mass error, E value errors from X! Tandem and OMSSA, and include/exclude unknown PTM’s">
                <option value="no" selected="True">Default Filtering Options</option>
                <option value="yes">Advanced Filtering Options</option>
            </param>
            <when value="no" />
            <when value="yes">
                <param name="min_peptide_length" type="integer" label="Minimum Peptide Length" value="6" />
                <param name="max_peptide_length" type="integer" label="Maximum Peptide Length" value="30" />
                <param name="max_precursor_error" type="float" label="Maximum Precursor Error" value="10"
                    help="Next option specifies units (Da or ppm)" />
                <param name="max_precursor_error_type" label="Maximum Precursor Error Type" type="select">
                    <option value="1">ppm</option>
                    <option value="0">Daltons</option>
                </param>
                <!--param name="max_xtandem_e" label="Maximum X! Tandem e-value" value="100" type="float" help="" /-->
                <!--param name="max_omssa_e" label="Maximum OMSSA e-value" value="100" type="float" help="" /-->
                <!--param name="max_mascot_e" label="Maximum Mascot e-value filter" value="100" type="float" help="" /-->
                <param name="exclude_unknown_ptms" label="Exclude Unknown PTMs" type="boolean" truevalue="1" falsevalue="0" checked="true" />
            </when>
        </conditional>
        <param name="outputs" type="select" display="checkboxes" multiple="True" label="Output options">
            <option value="zip">Zip File for import to Desktop App</option>
            <option value="mzidentML" selected="True">mzidentML File</option>
            <option value="3" >PSM Report</option>
            <option value="4" >Peptide Phosphorylation Report</option>
            <option value="5" >Peptide Report</option>
            <option value="6" >Protein Phosphorylation Report</option>
            <option value="7" >Protein Report</option>
            <option value="2">PSM Phosphorylation Report</option>
            <option value="0">Certificate of Analysis</option>
            <option value="1">Hierarchical Report</option>
            <option value="cps">CPS file</option>
            <validator type="no_options" message="Please select at least one output file" />
        </param>

    </inputs>
    <outputs>
        <data format="mzid" name="mzidentML" from_work_dir="output.mzid" label="${tool.name} on ${on_string}: mzidentML file">
            <filter>'mzidentML' in outputs</filter>
        </data>
        <data format="peptideshaker_archive" name="output_cps" from_work_dir="peptideshaker_output.cps" label="${tool.name} on ${on_string}: CPS file">
            <filter>'cps' in outputs</filter>
        </data>
        <data format="zip" name="output_zip" from_work_dir="peptideshaker_output.zip" label="${tool.name} on ${on_string}: Archive">
            <filter>'zip' in outputs</filter>
        </data>
        <data format="txt" name="output_certificate" from_work_dir="certificate.txt" label="${tool.name} on ${on_string}: Parameters">
            <filter>'0' in outputs</filter>
        </data>
        <data format="tabular" name="output_hierarchical" from_work_dir="hierarchical.txt" label="${tool.name} on ${on_string}: Hierarchical Report">
            <filter>'1' in outputs</filter>
        </data>
        <data format="tabular" name="output_psm_phosphorylation" from_work_dir="psm_phospho.txt" label="${tool.name} on ${on_string}: PSM Phosphorylation Report">
            <filter>'2' in outputs</filter>
        </data>
        <data format="tabular" name="output_psm" from_work_dir="psm.txt" label="${tool.name} on ${on_string}: PSM Report">
            <filter>'3' in outputs</filter>
        </data>
        <data format="tabular" name="output_peptides_phosphorylation" from_work_dir="peptides_phospho.txt" label="${tool.name} on ${on_string}: Peptide Phosphorylation Report">
            <filter>'4' in outputs</filter>
        </data>
        <data format="tabular" name="output_peptides" from_work_dir="peptides.txt" label="${tool.name} on ${on_string}: Peptide Report">
            <filter>'5' in outputs</filter>
        </data>
        <data format="tabular" name="output_proteins_phosphorylation" from_work_dir="proteins_phospho.txt" label="${tool.name} on ${on_string}: Protein Phosphorylation Report">
            <filter>'6' in outputs</filter>
        </data>
        <data format="tabular" name="output_proteins" from_work_dir="proteins.txt" label="${tool.name} on ${on_string}: Protein Report">
            <filter>'7' in outputs</filter>
        </data>
    </outputs>
    <tests>
        <test>
            <param name="searchgui_input" value="tiny_searchgui_result1.zip" ftype="searchgui_archive"/>
            <param name="species_type_selector" value="no_species_type"/>
            <param name="processing_options_selector" value="no"/>
            <param name="filtering_options_selector" value="no"/>
            <param name="outputs" value="zip,cps,3"/>
            <output name="output_zip" file="peptide_shaker_result1.zip" ftype="zip" compare="sim_size" delta="600" />
            <output name="output_cps" file="peptide_shaker_result1.cps" ftype="peptideshaker_archive" compare="sim_size" delta="600" />
            <output name="output_psm" file="peptide_shaker_psm_result1.tabular" ftype="tabular" />
        </test>
        <test>
            <param name="searchgui_input" value="tiny_searchgui_result1.zip" ftype="searchgui_archive"/>
            <param name="species_type_selector" value="no_species_type"/>
            <param name="processing_options_selector" value="no"/>
            <param name="filtering_options_selector" value="yes"/>
            <param name="min_peptide_length" value="1"/>
            <param name="outputs" value="0,1,2,3,4,5,6,7"/>
            <output name="output_certificate" file="peptide_shaker_certificate_result2.txt" ftype="txt" lines_diff="6"/>
            <output name="output_hierarchical" file="peptide_shaker_hierarchical_result2.tabular" ftype="tabular" />
            <output name="output_psm" file="peptide_shaker_psm_result2.tabular" ftype="tabular" />
            <output name="output_psm_phosphorylation" file="peptide_shaker_psm_phoshorylation_result2.tabular" ftype="tabular" />
            <output name="output_peptides" file="peptide_shaker_peptides_result2.tabular" ftype="tabular" />
            <output name="output_peptides_phosphorylation" file="peptide_shaker_peptides_phoshorylation_result2.tabular" ftype="tabular" />
            <output name="output_proteins" file="peptide_shaker_proteins_result2.tabular" ftype="tabular" />
            <output name="output_proteins_phosphorylation" file="peptide_shaker_proteins_phoshorylation_result2.tabular" ftype="tabular" />
        </test>
        <test>
            <param name="searchgui_input" value="tiny_searchgui_result1.zip" ftype="searchgui_archive"/>
            <param name="species_type_selector" value="Vertebrates"/>
            <param name="species" value="Human (Homo sapiens)"/>
            <param name="processing_options_selector" value="no"/>
            <param name="filtering_options_selector" value="yes"/>
            <param name="min_peptide_length" value="1"/>
            <param name="outputs" value="5"/>
            <output name="output_peptides" file="peptide_shaker_peptides_result3.tabular" ftype="tabular" />
        </test>
    </tests>
    <help>
**What it does**

Runs multiple search engines (X! Tandem, OMSSA and MS-GF+) on any number of MGF peak lists using the SearchGUI application and combines the results.

https://code.google.com/p/peptide-shaker/

https://code.google.com/p/searchgui/

----

Reports
=======


PSM Report
----------

* Protein(s):                Protein(s) to which the peptide can be attached
* Sequence:                  Sequence of the peptide
* Variable Modifications:   The variable modifications
* D-score:	                D-score for variable PTM localization
* probabilistic PTM score:	The probabilistic score (e.g. A-score or PhosphoRS) used for variable PTM localization.
* Localization Confidence:	The confidence in variable PTM localization.
* Fixed Modifications:	    The fixed modifications.
* Spectrum File:	The spectrum file.
* Spectrum Title:	The title of the spectrum.
* Spectrum Scan Number:	The spectrum scan number.
* RT:	Retention time
* m/z:	Measured m/z
* Measured Charge:	The charge as given in the spectrum file.
* Identification Charge:	The charge as inferred by the search engine.
* Theoretical Mass:	The theoretical mass of the peptide.
* Isotope Number:	The isotope number targetted by the instrument.
* Precursor m/z Error:	The precursor m/z matching error.
* Score:	Score of the retained peptide as a combination of the algorithm scores (used to rank PSMs).
* Confidence:	Confidence in percent associated to the retained PSM.
* Decoy:	Indicates whether the peptide is a decoy (1: yes, 0: no).
* Validation: Indicates the validation level of the protein group.


Protein Report
--------------

* Main Accession:	Main accession of the protein group.
* Description:	Description of the protein designed by the main accession.
* Gene Name:	The gene names of the Ensembl gene ID associated to the main accession.
* Chromosome:	The chromosome of the Ensembl gene ID associated to the main accession.
* PI:	Protein Inference status of the protein group.
* Secondary Accessions:	Other accessions in the protein group (alphabetical order).
* Protein Group:	The complete protein group (alphabetical order).
* #Peptides:	Total number of peptides.
* #Validated Peptides:	Number of validated peptides.
* #Unique:	Total number of peptides unique to this protein group.
* #PSMs:	Number of PSMs
* #Validated PSMs:	Number of validated PSMs
* Coverage (%):	Sequence coverage in percent of the protein designed by the main accession.
* Possible Coverage (%):	Possible sequence coverage in percent of the protein designed by the main accession according to the search settings.
* MW (kDa):	Molecular Weight.
* Spectrum Counting NSAF: 	Normalized Spectrum Abundance Factor (NSAF)
* Spectrum Counting emPAI:	exponentially modified Protein Abundance Index (emPAI)
* Confident Modification Sites: Number of Confident Modification Sites	List of the sites where a variable modification was confidently localized.
* Other Modification Sites: Number of other Modification Sites	List of the non*confident sites where a variable modification was localized.
* Score:	Score of the protein group.
* Confidence:	Confidence in percent associated to the protein group.
* Decoy:	Indicates whether the protein group is a decoy (1: yes, 0: no).
* Validation:	Indicates the validation level of the protein group.


Peptide Report
--------------


* Protein(s):	Protein(s) to which this peptide can be attached.
* AAs Before:	The amino-acids before the sequence.
* Sequence:	Sequence of the peptide.
* AAs After:	The amino-acids after the sequence.
* Modified Sequence:	The peptide sequence annotated with variable modifications.
* Variable Modifications:	The variable modifications.
* Localization Confidence:	The confidence in PTMs localization.
* Fixed Modifications:	The fixed modifications.
* #Validated PSMs:	Number of validated PSMs.
* #PSMs:	Number of PSMs.
* Score:	Score of the peptide.
* Confidence:	Confidence in percent associated to the peptide.
* Decoy:	Indicates whether the peptide is a decoy (1: yes, 0: no).
* Validation:	Indicates the validation level of the protein group.


Hierachical Report
------------------

* Main Accession:	Main accession of the protein group.
* Description:	Description of the protein designed by the main accession.
* PI:	Protein Inference status of the protein group.
* Secondary Accessions:	Other accessions in the protein group (alphabetical order).
* Protein Group:	The complete protein group (alphabetical order).
* #Peptides:	Total number of peptides.
* #Validated Peptides:	Number of validated peptides.
* #Unique:	Total number of peptides unique to this protein group.
* #PSMs:	Number of PSMs
* #Validated PSMs:	Number of validated PSMs
* Coverage (%):	Sequence coverage in percent of the protein designed by the main accession.
* Possible Coverage (%):	Possible sequence coverage in percent of the protein designed by the main accession according to the search settings.
* MW (kDa):	Molecular Weight.
* Spectrum Counting NSAF: 	Normalized Spectrum Abundance Factor (NSAF)
* Spectrum Counting emPAI:	exponentially modified Protein Abundance Index (emPAI)
* Confident Modification Sites: # Confident Modification Sites	List of the sites where a variable modification was confidently localized.
* Other Modification Sites: # Other Modification Sites	List of the non-confident sites where a variable modification was localized.
* Score:	Score of the protein group.
* Confidence:	Confidence in percent associated to the protein group.
* Decoy:	Indicates whether the protein group is a decoy (1: yes, 0: no).
* Validation:	Indicates the validation level of the protein group.
* Protein(s):	Protein(s) to which this peptide can be attached.
* AAs Before:	The amino-acids before the sequence.
* Sequence:	Sequence of the peptide.
* AAs After:	The amino-acids after the sequence.
* Variable Modifications:	The variable modifications.
* Localization Confidence:	The confidence in PTMs localization.
* Fixed Modifications:	The fixed modifications.
* #Validated PSMs:	Number of validated PSMs.
* #PSMs:	Number of PSMs.
* Score:	Score of the peptide.
* Confidence:	Confidence in percent associated to the peptide.
* Decoy:	Indicates whether the peptide is a decoy (1: yes, 0: no).
* Validation:	Indicates the validation level of the protein group.
* Protein(s):	Protein(s) to which the peptide can be attached.
* Sequence:	Sequence of the peptide.
* Modified Sequence:	The peptide sequence annotated with variable modifications.
* Variable Modifications:	The variable modifications.
* D-score:	D-score for variable PTM localization.
* probabilistic PTM score:	The probabilistic score (e.g. A-score or PhosphoRS) used for variable PTM localization.
* Localization Confidence:	The confidence in variable PTM localization.
* Fixed Modifications:	The fixed modifications.
* Spectrum File:	The spectrum file.
* Spectrum Title:	The title of the spectrum.
* Spectrum Scan Number:	The spectrum scan number.
* RT:	Retention time
* m/z:	Measured m/z
* Measured Charge:	The charge as given in the spectrum file.
* Identification Charge:	The charge as inferred by the search engine.
* Theoretical Mass:	The theoretical mass of the peptide.
* Isotope Number:	The isotope number targetted by the instrument.
* Precursor m/z Error:	The precursor m/z matching error.
* Score:	Score of the retained peptide as a combination of the algorithm scores (used to rank PSMs).
* Confidence:	Confidence in percent associated to the retained PSM.
* Decoy:	Indicates whether the peptide is a decoy (1: yes, 0: no).
* Validation:	Indicates the validation level of the protein group.


------

**Citation**

To cite the underlying tools (PeptideShaker and SearchGUI) please refer to the list of papers at http://peptide-shaker.googlecode.com  

If you use this tool in Galaxy, please cite Chilton J, Ira Cooke, Bjoern Gruening et al. https://bitbucket.org/galaxyp/peptideshaker
    </help>
    <expand macro="citations" />
</tool>