view pvacbind.xml @ 1:747d464670f9 draft default tip

planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/pvactools commit 2727330d0394c8a1f178061abffe91fe621be7ee
author galaxyp
date Fri, 12 Dec 2025 21:10:38 +0000
parents 8184d4998259
children
line wrap: on
line source

<tool id="pvacbind" name="pVACbind" version="@TOOL_VERSION@+galaxy@VERSION_SUFFIX@" profile="24.2">
    <description>
        The pVACbind tool of the pVACtools suite.
    </description>

    <macros>
        <import>mhci_alleles_macros.xml</import>
        <import>mhcii_alleles_macros.xml</import>
        <import>alleles_macros.xml</import>
        <import>shared_macros.xml</import>
    </macros>

    <requirements>
        <container type="docker">griffithlab/pvactools:6.0.2</container>
    </requirements>

    <command><![CDATA[
        @PREPARE_ALLELES_INPUT@
        mkdir outputs &&
        pvacbind run
        '$input_file'
        '$sample_name'
        #if $alleles.allelesrc == 'entry'
            '$alleles_input'
        #else
            \$(tr '\n' ',' < '$alleles.allele_file')
        #end if
        #for $algorithm in $algorithms
            $algorithm
        #end for
        outputs
        --class-i-epitope-length $class_i_epitope_length
        --class-ii-epitope-length $class_ii_epitope_length
        #if $binding_threshold
            --binding-threshold $binding_threshold
        #end if
        #if $percentile_threshold
            --percentile-threshold $percentile_threshold
        #end if
        #if $percentile_threshold_strategy != 'default'
            --percentile-threshold-strategy $percentile_threshold_strategy
        #end if
        #if $allele_specific_binding_thresholds
            --allele-specific-binding-thresholds
        #end if
        #if $top_score_metric != 'default'
            --top-score-metric $top_score_metric
        #end if
        #if $top_score_metric2 != 'default'
            --top-score-metric2 $top_score_metric2
        #end if
        #if $net_chop_method != 'default'
            --net-chop-method $net_chop_method
        #end if
        #if $netmhc_stab
            --netmhc-stab
        #end if
        #if $net_chop_threshold
            --net-chop-threshold $net_chop_threshold
        #end if
        #if $problematic_amino_acids != ''
            --problematic-amino-acids '$problematic_amino_acids'
        #end if
        #if $run_reference_proteome_similarity
            --run-reference-proteome-similarity
        #end if
        #if $blastp_db != 'default'
            --blastp-db $blastp_db
        #end if
        #if $peptide_fasta
            --peptide-fasta '$peptide_fasta'
        #end if
        #if $add_sample_name_reports_column
            --additional-report-columns sample_name
        #end if
        #if $exclude_NAs
            --exclude-NAs
        #end if
        #if $aggregate_inclusion_binding_threshold
            --aggregate-inclusion-binding-threshold $aggregate_inclusion_binding_threshold
        #end if
        #if $aggregate_inclusion_count_limit
            --aggregate-inclusion-count-limit $aggregate_inclusion_count_limit
        #end if
    ]]></command>

    <inputs>
        <expand macro="allele_inputs"/>
        <param name="input_file" type="data" format="fasta" optional="false" label="Input File"/>
        <param name="sample_name" type="text" optional="false" label="Sample Name">
            <validator type="regex">^[a-zA-Z0-9_-]+$</validator>
        </param>
        <param name="algorithms" type="select" multiple="true" optional="false" label="Algorithm">
              <option value="BigMHC_EL">BigMHC_EL</option>
              <option value="BigMHC_IM">BigMHC_IM</option>
              <option value="DeepImmuno">DeepImmuno</option>
              <option value="MHCflurry">MHCflurry</option>
              <option value="MHCflurryEL">MHCflurryEL</option>
              <option value="MHCnuggetsI">MHCnuggetsI</option>
              <option value="MHCnuggetsII">MHCnuggetsII</option>
              <option value="NNalign">NNalign</option>
              <option value="NetMHC">NetMHC</option>
              <option value="NetMHCIIpan">NetMHCIIpan</option>
              <option value="NetMHCIIpanEL">NetMHCIIpanEL</option>
              <option value="NetMHCcons">NetMHCcons</option>
              <option value="NetMHCpan">NetMHCpan</option>
              <option value="NetMHCpanEL">NetMHCpanEL</option>
              <option value="PickPocket">PickPocket</option>
              <option value="SMM">SMM</option>
              <option value="SMMPMBEC">SMMPMBEC</option>
              <option value="SMMalign">SMMalign</option>
              <option value="all">all</option>
              <option value="all_class_i">all_class_i</option>
              <option value="all_class_ii">all_class_ii</option>
        </param>
        <param argument="--class-i-epitope-length" type="select" multiple="true" optional="false" label="Class I Epitope Length">
            <option value="8" selected="true">8</option>
            <option value="9" selected="true">9</option>
            <option value="10" selected="true">10</option>
            <option value="11" selected="true">11</option>
            <option value="12">12</option>
            <option value="13">13</option>
            <option value="14">14</option>
            <option value="15">15</option>
        </param>
        <param argument="--class-ii-epitope-length" type="select" multiple="true" optional="false" label="Class II Epitope Length">
            <option value="11">11</option>
            <option value="12" selected="true">12</option>
            <option value="13" selected="true">13</option>
            <option value="14" selected="true">14</option>
            <option value="15" selected="true">15</option>
            <option value="16" selected="true">16</option>
            <option value="17" selected="true">17</option>
            <option value="18" selected="true">18</option>
            <option value="19">19</option>
            <option value="20">20</option>
            <option value="21">21</option>
            <option value="22">22</option>
            <option value="23">23</option>
            <option value="24">24</option>
            <option value="25">25</option>
            <option value="26">26</option>
            <option value="27">27</option>
            <option value="28">28</option>
            <option value="29">29</option>
            <option value="30">30</option>
        </param>
        <param argument="--binding-threshold" type="integer" value="" optional="true" label="Binding Threshold"/>
        <param argument="--percentile-threshold" type="float" value="" optional="true" label="Percentile Threshold"/>
        <param argument="--percentile-threshold-strategy" type="select" label="Percentile Threshold Strategy">
            <option value="default" selected="true">Use default</option>
            <option value="conservative">conservative</option>
            <option value="exploratory">exploratory</option>
        </param>
        <param argument="--allele-specific-binding-thresholds" type="boolean" checked="false" label="Use allele-specific binding thresholds"/>
        <param argument="--top-score-metric" type="select" label="Top Score Metric">
            <option value="default" selected="true">Use default</option>
            <option value="lowest">lowest</option>
            <option value="median">median</option>
        </param>
        <param argument="--top-score-metric2" type="select" label="Top Score Metric 2">
            <option value="default" selected="true">Use default</option>
            <option value="ic50">ic50</option>
            <option value="percentile">percentile</option>
        </param>
        <param argument="--net-chop-method" type="select" label="NetChop Prediction Method">
            <option value="default" selected="true">Use default</option>
            <option value="None">None</option>
            <option value="cterm">C term 3.0</option>
            <option value="20s">20S 3.0</option>
        </param>
        <param argument="--netmhc-stab" type="boolean" checked="false" label="Run NetMHCStabPan after all filtering and add stability predictions to predicted epitopes"/>
        <param argument="--net-chop-threshold" type="float" value="" optional="true" label="NetChop Prediction Threshold"/>
        <param argument="--problematic-amino-acids" type="text" value="" optional="true" label="Problematic Amino Acids">
            <validator type="regex">^@PROBLEM_AA_ARG_RE@$</validator>
        </param>
        <param argument="--run-reference-proteome-similarity" type="boolean" checked="false" label="Run reference proteome similarity"/>
        <param argument="--blastp-db" type="select" label="BlastP Database">
            <option value="default" selected="true">Use default</option>
            <option value="refseq_select_prot">refseq_select_prot</option>
            <option value="refseq_protein">refseq_protein</option>
        </param>
        <param argument="--peptide-fasta" type="data" format="fasta" optional="true" label="Peptide Fasta" help="When running the reference proteome similarity step, use this reference peptide FASTA file to find matches instead of blastp"/>
        <param name="add_sample_name_reports_column" argument="--additional-report-columns" type="boolean" checked="false" label="Add sample name reports column"/>
        <param argument="--exclude-NAs" type="boolean" checked="false" label="Exclude NA values from the filtered output"/>
        <param argument="--aggregate-inclusion-binding-threshold" type="integer" value="" optional="true" label="Aggregate Inclusion Binding Threshold"/>
        <param argument="--aggregate-inclusion-count-limit" type="integer" value="" optional="true" label="Aggregate Inclusion Count Limit"/>
    </inputs>

    <outputs>
        <collection name="mhc_class_i_outputs" type="list" label="MHC Class I Outputs" >
            <discover_datasets pattern="(?P&lt;designation&gt;.+\.tsv)" ext="tabular" directory="outputs/MHC_Class_I"/>
        </collection>
        <collection name="mhc_class_ii_outputs" type="list" label="MHC Class II Outputs" >
            <discover_datasets pattern="(?P&lt;designation&gt;.+\.tsv)" ext="tabular" directory="outputs/MHC_Class_II"/>
        </collection>
        <collection name="combined_outputs" type="list" label="Combined Outputs" >
            <discover_datasets pattern="(?P&lt;designation&gt;.+\.tsv)" ext="tabular" directory="outputs/combined"/>
        </collection>
    </outputs>

    <tests>
        <test expect_num_outputs="3">
          <param name="input_file" value="mhci/inputs/test.fasta" ftype="fasta"/>
          <param name="alleles|allele_file" value="mhci/inputs/test_alleles.txt" ftype="fasta"/>
          <param name="sample_name" value="pVACbind_mhci_test"/>
          <param name="algorithms" value="all"/>
          <param name="class_i_epitope_length" value="9,10,11"/>
          <param name="class_ii_epitope_length" value="12"/>
          <output_collection name="mhc_class_i_outputs" type="list">
              <element name="pVACbind_mhci_test.MHC_I.all_epitopes.aggregated.tsv" ftype="tabular">
                  <assert_contents>
                      <has_text text="ID&#x9;A*02:01&#x9;B*15:11&#x9;C*01:02&#x9;C*03:03&#x9;C*03:04"/>
                  </assert_contents>
              </element>
              <element name="pVACbind_mhci_test.MHC_I.all_epitopes.tsv" ftype="tabular">
                  <assert_contents>
                      <has_text text="Mutation&#x9;HLA Allele&#x9;Sub-peptide Position&#x9;Epitope Seq"/>
                  </assert_contents>
              </element>
              <element name="pVACbind_mhci_test.MHC_I.filtered.tsv" ftype="tabular">
                  <assert_contents>
                      <has_text text="Mutation&#x9;HLA Allele&#x9;Sub-peptide Position&#x9;Epitope Seq"/>
                  </assert_contents>
              </element>
          </output_collection>
        </test>
        <test expect_num_outputs="3">
          <param name="input_file" value="mhcii/inputs/test.fasta" ftype="fasta"/>
          <param name="alleles|allele_file" value="mhcii/inputs/test_alleles.txt" ftype="fasta"/>
          <param name="sample_name" value="pVACbind_mhcii_test"/>
          <param name="algorithms" value="all"/>
          <param name="class_i_epitope_length" value="9"/>
          <param name="class_ii_epitope_length" value="12,13,14,15,16,17,18"/>
          <output_collection name="mhc_class_ii_outputs" type="list">
              <element name="pVACbind_mhcii_test.MHC_II.all_epitopes.aggregated.tsv" ftype="tabular">
                  <assert_contents>
                      <has_text text="ID&#x9;DPA1*01:03-DPB1*02:02&#x9;DQA1*01:01-DQB1*02:02&#x9;DRB1*01:02&#x9;DRB1*01:09"/>
                  </assert_contents>
              </element>
              <element name="pVACbind_mhcii_test.MHC_II.all_epitopes.tsv" ftype="tabular">
                  <assert_contents>
                      <has_text text="Mutation&#x9;HLA Allele&#x9;Sub-peptide Position&#x9;Epitope Seq"/>
                  </assert_contents>
              </element>
              <element name="pVACbind_mhcii_test.MHC_II.filtered.tsv" ftype="tabular">
                  <assert_contents>
                      <has_text text="Mutation&#x9;HLA Allele&#x9;Sub-peptide Position&#x9;Epitope Seq"/>
                  </assert_contents>
              </element>
          </output_collection>
        </test>
    </tests>

    <help><![CDATA[
**pVACbind**

pVACbind, one component of the pVACtools_ software suite, identifies and prioritizes neoantigens in a FASTA file.

Required inputs are an input FASTA file, a sample name to be used in generated outputs, a list of alleles,
epitope lengths, and finally a selection of epitope prediction algorithms.

Further usage details may be found in the pVACbind documentation_.

.. _pVACtools: https://pvactools.readthedocs.io/en/latest/index.html
.. _documentation: https://pvactools.readthedocs.io/en/latest/pvacbind/run.html
    ]]></help>

    <expand macro="citations"/>
</tool>