view cravatp_submit.xml @ 1:2c7bcc1219fc draft

Updated cravatool to version 1.0 with updated formatting and new CRAVAT target URL.
author galaxyp
date Thu, 16 Aug 2018 12:27:35 -0400
parents
children a018c44dc18b
line wrap: on
line source

<tool id="cravatp_submit" name="CRAVAT-P Submit, Intersect, Check, and Retrieve" version="1.0.0">
    <description>| Submits, intersects, checks for, and retrieves data for cancer annotation.</description>
  <command detect_errors="aggressive">
  <![CDATA[
#if $proteo.proteoInput == 'yes':
    #if '$analysis.type' == 'CHASM' or '$analysis.type' == 'CHASM+VEST':
        python '$__tool_directory__/cravatp_submit.py' '$input' '$GRCh' '$variant' '$gene' '$noncoding' '$error' '$analysis.type' --classifier '$analysis.classifier' --proBED '$proBED' --intersectOnly '$proteo.intersectedVariants' --vcfOutput '$vcf_output'
    #else: 
        python '$__tool_directory__/cravatp_submit.py' '$input' '$GRCh' '$variant' '$gene' '$noncoding' '$error' '$analysis.type' --proBED '$proBED' --intersectOnly '$proteo.intersectedVariants' --vcfOutput '$vcf_output' 
    #end if
#else:
    #if $analysis.type == 'CHASM' or $analysis.type == 'CHASM+VEST':
        python '$__tool_directory__/cravatp_submit.py' '$input' '$GRCh' '$variant' '$gene' '$noncoding' '$error' '$analysis.type' --classifier '$analysis.classifier' 
    #else: 
        python '$__tool_directory__/cravatp_submit.py' '$input' '$GRCh' '$variant' '$gene' '$noncoding' '$error' '$analysis.type'
    #end if
#end if
]]></command>
  
  <inputs>
    <param format="vcf" name="input" type="data" label="Source file" help="Accepts transcriptomic or genomic inputs (e.g., tabular, VCF). Additional details can be found below."></param>
    <conditional name="proteo">
      <param name="proteoInput" type="select" label="Intersect with proteogenomic input?" help="Source file (first input) must be in genomic input to enable intersection with this proteogenomic file.">
        <option value="yes">Yes</option>
        <option value="no" selected="true">No</option>
      </param>
      <when value="yes">
        <param format="BED" name="proBED" type="data" label="Peptides with Genomic Coordinates (ProBED Format)"></param>
        <param name="intersectedVariants" type="boolean" checked="false" label="Submit only intersected variants?" help="Submits the intersected portion of the genomic file to CRAVAT's server. Restricting analysis to only intersected variants takes less time but also provides less-comprehensive results."></param>
        <param name="output_vcf" type="boolean" checked="false" label="Output intersected genomic file?" help="The intersected genomic file (e.g., VCF) will be included as a result."></param>
      </when>
      <when value="no">
      </when>
    </conditional>
    <conditional name="analysis">
      <param format="tabular" name="type" type="select" label="Analysis Program" help="VEST and CHASM are machine learning methods for predicting the pathogenicity and functional significance of variants, respectively.">
          <option value="None">None</option>
          <option value="CHASM">CHASM</option>
          <option value="VEST">VEST</option>
          <option value="CHASM+VEST">CHASM and VEST</option>
      </param>
      <when value="None"/>
      <when value="VEST"/>
      <when value="CHASM">
        <param format="tabular" name="classifier" type="select" label="CHASM Classifier">
          <option value="Bladder">Bladder</option>
          <option value="Blood-Lymphocyte">Blood-Lymphocyte</option>
          <option value="Blood-Myeloid">Blood-Myeloid</option>
          <option value="Brain-Glioblastoma-Multiforme">Brain-Glioblastoma-Multiforme</option>
          <option value="Brain-Lower-Grade-Glioma">Brain-Lower-Grade-Glioma</option>
          <option value="Breast">Breast</option>
          <option value="Cervix">Cervix</option>
          <option value="Colon">Colon</option>
          <option value="GID">GID</option>
          <option value="Head-and-Neck">Head-and-Neck</option>
          <option value="Kidney-Chromophobe">Kidney-Chromophobe</option>
          <option value="Kidney-Clear-Cell">Kidney-Clear-Cell</option>
          <option value="Kidney-Papillary-Cell">Kidney-Papillary-Cell</option>
          <option value="Liver-Nonviral">Liver-Nonviral</option>
          <option value="Liver-Viral">Liver-Viral</option>
          <option value="Lung-Adenocarcinoma">Lung-Adenocarcinoma</option>
          <option value="Lung-Squamous-Cell">Lung-Squamous-Cell</option>
          <option value="Other">Other</option>
          <option value="Ovary">Ovary</option>
          <option value="Pancreas">Pancreas</option>
          <option value="Prostate-Adenocarcinoma">Prostate-Adenocarcinoma</option>
          <option value="Rectum">Rectum</option>
          <option value="Skin">Skin</option>
          <option value="Stomach">Stomach</option>
          <option value="Thyroid">Thyroid</option>
          <option value="Uterus">Uterus</option>
        </param>
      </when>
      <when value="CHASM+VEST">
        <param format="tabular" name="classifier" type="select" label="CHASM Classifier">
          <option value="Bladder">Bladder</option>
          <option value="Blood-Lymphocyte">Blood-Lymphocyte</option>
          <option value="Blood-Myeloid">Blood-Myeloid</option>
          <option value="Brain-Glioblastoma-Multiforme">Brain-Glioblastoma-Multiforme</option>
          <option value="Brain-Lower-Grade-Glioma">Brain-Lower-Grade-Glioma</option>
          <option value="Breast">Breast</option>
          <option value="Cervix">Cervix</option>
          <option value="Colon">Colon</option>
          <option value="GID">GID</option>
          <option value="Head-and-Neck">Head-and-Neck</option>
          <option value="Kidney-Chromophobe">Kidney-Chromophobe</option>
          <option value="Kidney-Clear-Cell">Kidney-Clear-Cell</option>
          <option value="Kidney-Papillary-Cell">Kidney-Papillary-Cell</option>
          <option value="Liver-Nonviral">Liver-Nonviral</option>
          <option value="Liver-Viral">Liver-Viral</option>
          <option value="Lung-Adenocarcinoma">Lung-Adenocarcinoma</option>
          <option value="Lung-Squamous-Cell">Lung-Squamous-Cell</option>
          <option value="Other">Other</option>
          <option value="Ovary">Ovary</option>
          <option value="Pancreas">Pancreas</option>
          <option value="Prostate-Adenocarcinoma">Prostate-Adenocarcinoma</option>
          <option value="Rectum">Rectum</option>
          <option value="Skin">Skin</option>
          <option value="Stomach">Stomach</option>
          <option value="Thyroid">Thyroid</option>
          <option value="Uterus">Uterus</option>
        </param>
      </when>
    </conditional>
    <!-- TODO: programatically retrieve the GRCh from a dataset rather than manually selecting it.-->
    <param format="tabular" name="GRCh" type="select" label="Genome Reference Consortium Human Build (GRCh)" 
        help="The default human reference genome used for annotation is GRCh38, released on December 24th, 2013 from the Genome Reference Consortium.">
      <option value="GRCh38">GRCh38/hg38</option>
      <option value="GRCh37">GRCh37/hg19</option>
    </param>
  </inputs>
  <outputs>
    <collection name="results" type="list" label="CRAVAT Results on ${on_string}">
      <data format="tabular" label="CRAVAT: Gene Level Annotation Report on ${on_string}" name="gene" />
      <data format="tabular" label="CRAVAT: Variant Report on ${on_string}" name="variant" />
      <data format="tabular" label="CRAVAT: Non-coding Variant Report on ${on_string}" name="noncoding" />
      <data format="tabular" label="CRAVAT: Errors on ${on_string}" name="error" />
    </collection>
    <data format="vcf" label="Intersected VCF on ${on_string}" name="vcf_output">
        <filter>proteo['proteoInput'] == 'yes' and proteo['output_vcf']</filter>
      </data>
  </outputs>
  <tests>
    <!-- GRCh38/hg38 and no analysis test case -->
    <test>
      <param name="input" value="Freebayes_one-variant.vcf"/>
      <param name="GRCh" value="GRCh38"/>
      <param name="variant" value="variant.tsv"/>
      <param name="gene" value="gene.tsv"/>
      <param name="noncoding" value="noncoding.tsv"/>
      <param name="error" value="error.tsv"/>
      <param name="type" value="None"/>
      <output_collection name="results" type="list">
        <element name="variant">
          <assert_contents>
            <has_text text="#Variant Report" />
            <has_text text="hg38"/>
            <has_text text="UPF1" />
            <not_has_text text="VEST" />
          </assert_contents>
        </element>
      </output_collection>
    </test>
     <!-- GRCh38/hg38 and no analysis test case -->
    <test>
      <param name="input" value="Freebayes_one-variant.vcf"/>
      <param name="GRCh" value="GRCh38"/>
      <param name="variant" value="variant.tsv"/>
      <param name="gene" value="gene.tsv"/>
      <param name="noncoding" value="noncoding.tsv"/>
      <param name="error" value="error.tsv"/>
      <param name="type" value="None"/>
      <output_collection name="results" type="list">
        <element name="variant">
          <assert_contents>
            <has_text text="#Variant Report" />
            <has_text text="hg38"/>
            <has_text text="UPF1" />
            <not_has_text text="VEST" />
          </assert_contents>
        </element>
      </output_collection>
    </test>
    <!-- GRCh37/hg19 and no analysis test case -->
    <test>
      <param name="input" value="Freebayes_one-variant.vcf"/>
      <param name="GRCh" value="GRCh37"/>
      <param name="variant" value="variant.tsv"/>
      <param name="gene" value="gene.tsv"/>
      <param name="noncoding" value="noncoding.tsv"/>
      <param name="error" value="error.tsv"/>
      <param name="type" value="None"/>
      <output_collection name="results" type="list">
        <element name="variant">
          <assert_contents>
            <has_text text="#Variant Report" />
            <has_text text="hg19"/>
            <not_has_text text="VEST" />
          </assert_contents>
        </element>
      </output_collection>
    </test>
    <!-- CHASM with "Breast" classifier test case -->
    <test>
      <param name="input" value="Freebayes_one-variant.vcf"/>
      <param name="GRCh" value="GRCh38"/>
      <param name="variant" value="variant.tsv"/>
      <param name="gene" value="gene.tsv"/>
      <param name="noncoding" value="noncoding.tsv"/>
      <param name="error" value="error.tsv"/>
      <param name="type" value="CHASM"/>
      <param name="classifier" value="Breast"/>
      <output_collection name="results" type="list">
        <element name="variant">
          <assert_contents>
            <has_text text="hg38"/>
            <has_text text="UPF1" />
            <has_text text="Breast" />
            <has_text text="#Variant Report" />
            <not_has_text text="VEST" />
          </assert_contents>
        </element>
      </output_collection>
    </test>
    <!-- Proteogenomic test case -->
    <test>
      <param name="input" value="Freebayes_one-variant.vcf"/>
      <param name="GRCh" value="GRCh38"/>
      <param name="variant" value="variant.tsv"/>
      <param name="gene" value="gene.tsv"/>
      <param name="noncoding" value="noncoding.tsv"/>
      <param name="error" value="error.tsv"/>
      <param name="type" value="CHASM" />
      <param name="classifier" value="Breast" />
      <param name="proteoInput" value="yes" />
      <param name="proBED" value="MCF7_proBed.bed"/>
      <output_collection name="results" type="list">
        <element name="variant">
          <assert_contents>
            <has_text text="#Variant Report" />
            <has_text text="hg38"/>
            <has_text text="UPF1" />
            <has_text text="EAIDSPVSFLVLHNQIR" />
          </assert_contents>
        </element>
      </output_collection>
    </test>
    <!-- "Output intersected VCF" test case -->
    <test>
      <param name="input" value="Freebayes_one-variant.vcf"/>
      <param name="GRCh" value="GRCh38"/>
      <param name="variant" value="variant.tsv"/>
      <param name="gene" value="gene.tsv"/>
      <param name="noncoding" value="noncoding.tsv"/>
      <param name="error" value="error.tsv"/>
      <param name="type" value="CHASM" />
      <param name="classifier" value="Breast" />
      <param name="proteoInput" value="yes" />
      <param name="proBED" value="MCF7_proBed.bed"/>
      <param name="output_vcf" value="true"/>
      <output name="vcf_output" file="results/intersected_vcf.vcf"/>
    </test>
    <!-- "Only intersected proteogenomic variants submitted" test case-->
    <test>
      <param name="input" value="Freebayes_two-variants.vcf"/>
      <param name="GRCh" value="GRCh38"/>
      <param name="variant" value="variant.tsv"/>
      <param name="gene" value="gene.tsv"/>
      <param name="noncoding" value="noncoding.tsv"/>
      <param name="error" value="error.tsv"/>
      <param name="type" value="CHASM" />
      <param name="classifier" value="Breast" />
      <param name="proteoInput" value="yes" />
      <param name="proBED" value="MCF7_proBed.bed"/>
      <param name="intersectedVariants" value="true" />
      <output_collection name="results" type="list">
        <element name="variant">
          <assert_contents>
            <has_text text="hg38"/>
            <has_text text="UPF1" />
            <not_has_text text="CRABP2"/>
          </assert_contents>
        </element>
      </output_collection>
    </test>
  </tests>
  <help><![CDATA[
    This tool submits, checks for, and retrieves data for cancer annotation from the CRAVAT platform at https://www.cravat.us. 
    For additional details on input format, visit this link: http://cravat.us/CRAVAT/help.jsp.

-----

**Input Type Example:**

  CRAVAT Format (*Genomic-coordinate format*)

    =====  =====  =========  ======  =========  =========  ====================
    UID    Chr.   Position   Strand  Ref. base  Alt. base  Sample ID (optional)
    =====  =====  =========  ======  =========  =========  ====================
    TR1    chr17  7674188    \-      G          T          TCGA-02-0231
    TR2    chr10  121520166  \-      G          A          TCGA-02-3512
    TR3    chr13  48459831   \+      C          A          TCGA-02-3532
    TR4    chr7   116777451  \+      G          T          TCGA-02-1523
    TR5    chr7   140753336  \-      T          A          TCGA-02-0023
    TR6    chr17  39724745   \+      G          T          TCGA-02-0252
    Ins1   chr17  39724745   \+      \-         T          TCGA-02-0252
    Del1   chr17  39724745   \+      A          \-         TCGA-02-0252
    CSub1  chr2   39644095   \+      ATGCT      GA         TCGA-02-0252
    =====  =====  =========  ======  =========  =========  ====================
]]>
  </help>
  <citations>
    <citation type="doi">10.1158/0008-5472.CAN-17-0338</citation>
    <citation type="doi">10.1186/s13059-017-1377-x</citation>
  </citations>
</tool>