diff validate_fasta_database.xml @ 0:8eb277262715 draft

planemo upload commit dd9bf5d878d54362e928a834956feedf082960f3
author galaxyp
date Thu, 14 Sep 2017 16:14:56 -0400
parents
children 5f6657ae8e81
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/validate_fasta_database.xml	Thu Sep 14 16:14:56 2017 -0400
@@ -0,0 +1,106 @@
+<tool id="validate_fasta_database" name="Validate FASTA Database" version="0.1.4">
+    <requirements>
+        <requirement type="package" version="1.0">validate-fasta-database</requirement>
+    </requirements>
+    <stdio>
+        <exit_code range="1" level="fatal" description="Invalid FASTA headers detected, was asked to fail"/>
+    </stdio>
+    <command detect_errors="exit_code"><![CDATA[
+        validate-fasta-database
+        '$inFasta'
+        '$goodFastaOut'
+        '$badFastaOut'
+        '$crashIfInvalid'
+        '$checkIsProtein'
+        '$customLetters'
+        '$checkHasAccession'
+        '$minimumLength'
+    ]]></command>
+    <inputs>
+        <param type="data" name="inFasta" format="fasta" label="Select input FASTA dataset"/>
+        <param type="boolean" name="crashIfInvalid"
+               label="Fail job if invalid FASTA headers detected?"
+               value="false"/>
+        <param type="boolean" name="checkIsProtein"
+               label="Ensure that sequence is a valid amino acid sequence?"
+               help="Checks that sequence only contains the 20 essential amino
+                acids (and optional non-standard AAs), and checks that is not DNA or RNA"
+               value="true"/>
+        <param type="text" name="customLetters" value=""
+               label="Optional: add one letter codes for any non-standard amino acids that you are using. "
+               help="Anything that is not an upper case letter [A-Z] will be ignored."/>
+        <param type="boolean" name="checkHasAccession"
+               label="Only pass sequences with accession numbers?"
+               value="false"/>
+        <param type="integer" name="minimumLength"
+               label="Minimum length for sequences to pass"
+               value="0"/>
+    </inputs>
+    <outputs>
+        <data name="goodFastaOut" format="fasta" label="Validate FASTA ${on_string}: passed"/>
+        <data name="badFastaOut" format="fasta" label="Validate FASTA ${on_string}: failed"/>
+    </outputs>
+    <tests>
+        <!-- test general filtering -->
+        <test>
+            <param name="inFasta" value="fastaFilteringTest_IN.fasta"/>
+            <output name="goodFastaOut" file="fastaFilteringTest_OUT1.fasta" />
+            <output name="badFastaOut" file="fastaFilteringTest_OUT2.fasta" />
+        </test>
+
+        <!--test filtering out genetic sequences and bad protein sequences-->
+        <test>
+            <param name="inFasta" value="geneticFiltering.in"/>
+            <param name="checkIsProtein" value="true"/>
+            <output name="goodFastaOut" file="geneticFilteringGood.out"/>
+            <output name="badFastaOut" file="geneticFilteringBad.out"/>
+        </test>
+
+        <test>
+            <param name="inFasta" value="length5Filtering.in"/>
+            <param name="minimumLength" value="5"/>
+            <output name="goodFastaOut" file="length5FilteringGood.out"/>
+            <output name="badFastaOut" file="length5FilteringBad.out"/>
+        </test>
+    </tests>
+    <help>
+
+<![CDATA[
+**Notes**
+
+Takes a FASTA database and validates the headers using the Compomics (developers of SearchGUI and PeptideShaker) schema. 
+Custom FASTA databases may be in an invalid format, which causes SearchGUI to crash.
+        
+**Output**
+
+The main output of this tool, "Validate FASTA: Passed Sequences", is a FASTA database that can be run through SearchGUI without error.
+The failed sequences may be examined for typos and other errors. 
+
+In addition, the tool will print the databases assigned by the Compomics utility (i.e., UniProt), for a quick check of the validity of the custom FASTA database. 
+
+Sequences that may cause the tool to report an exception are those that are not valid examples of the following formats: 
+    * UniProt,
+    * SwissProt (starts with ">sw|" or ">SW|")
+    * NCBI (starts with ">gi|" or ">GI|")
+    * Halobacterium from Max Planck (starts with "OE")
+    * H Influenza, from Novartis (starts with ">hflu_")
+    * C Trachomatis (starts with ">C.tr\_" or "C\_trachomatis\_")
+    * M Tuberculosis (starts with ">M. tub")
+    * Saccharomyces Genome Database (contains "SGDID")
+    * Genome translation (ex. ">dm345\_3L-sense [2343534-234353938]")
+    * Genome Annotation Framework for Flexible Analysis (GAFFA) (starts with ">GAFFA")
+    * UPS (contains "\_HUMAN\_UPS")
+           
+Many sequences are reported as Generic, which may or may not allow for extraction of the accession number. 
+]]>
+    </help>
+    <citations>
+        <citation type="bibtex">
+            @misc{fastaValidationTool,
+            author = {The GalaxyP Team},
+            date = {22 June 2017},
+            title = {FASTA Database Validation Tool}
+            }
+        </citation>
+    </citations>
+</tool>