mirror of
https://github.com/galaxyproject/galaxy.git
synced 2026-09-24 16:30:27 +08:00
Change color space FASTA file type from fastqsolid to fastqcssanger.
Cripple accepted tool input formats for many of the FASTQ tools to only allow only fastqsanger and fastqcssanger to be used.
This commit is contained in:
@@ -35,7 +35,7 @@
|
||||
<datatype extension="fastq" type="galaxy.datatypes.sequence:Fastq" display_in_upload="true"/>
|
||||
<datatype extension="fastqsanger" type="galaxy.datatypes.sequence:FastqSanger" display_in_upload="true"/>
|
||||
<datatype extension="fastqsolexa" type="galaxy.datatypes.sequence:FastqSolexa" display_in_upload="true"/>
|
||||
<datatype extension="fastqsolid" type="galaxy.datatypes.sequence:FastqSolid" display_in_upload="true"/>
|
||||
<datatype extension="fastqcssanger" type="galaxy.datatypes.sequence:FastqCSSanger" display_in_upload="true"/>
|
||||
<datatype extension="fastqillumina" type="galaxy.datatypes.sequence:FastqIllumina" display_in_upload="true"/>
|
||||
<datatype extension="genetrack" type="galaxy.datatypes.tracks:GeneTrack">
|
||||
<!-- <display file="genetrack.xml" /> -->
|
||||
|
||||
@@ -224,9 +224,9 @@ class FastqIllumina( Fastq ):
|
||||
"""Class representing a FASTQ sequence ( the Illumina 1.3+ variant )"""
|
||||
file_ext = "fastqillumina"
|
||||
|
||||
class FastqSolid( Fastq ):
|
||||
"""Class representing a FASTQ sequence ( the SOLiD (color space) variant )"""
|
||||
file_ext = "fastqsolid"
|
||||
class FastqCSSanger( Fastq ):
|
||||
"""Class representing a Color Space FASTQ sequence ( e.g a SOLiD variant )"""
|
||||
file_ext = "fastqcssanger"
|
||||
|
||||
try:
|
||||
from galaxy import eggs
|
||||
|
||||
@@ -104,7 +104,7 @@ class fastaWriter( object ):
|
||||
def __init__( self, fh ):
|
||||
self.file = fh
|
||||
def write( self, fastq_read ):
|
||||
#this will include SOLiD adapter base if applicable
|
||||
#this will include color space adapter base if applicable
|
||||
self.file.write( ">%s\n%s\n" % ( fastq_read.identifier[1:], fastq_read.sequence ) )
|
||||
def close( self ):
|
||||
return self.file.close()
|
||||
|
||||
@@ -176,8 +176,8 @@ class fastqSolexaRead( fastqSequencingRead ):
|
||||
score_system = 'solexa'
|
||||
sequence_space = 'base'
|
||||
|
||||
class fastqSolidRead( fastqSequencingRead ):
|
||||
format = 'solid' #color space
|
||||
class fastqCSSangerRead( fastqSequencingRead ):
|
||||
format = 'cssanger' #color space
|
||||
ascii_min = 33
|
||||
ascii_max = 126
|
||||
quality_min = 0
|
||||
@@ -260,7 +260,7 @@ class fastqSolidRead( fastqSequencingRead ):
|
||||
|
||||
|
||||
FASTQ_FORMATS = {}
|
||||
for format in [ fastqIlluminaRead, fastqSolexaRead, fastqSangerRead, fastqSolidRead ]:
|
||||
for format in [ fastqIlluminaRead, fastqSolexaRead, fastqSangerRead, fastqCSSangerRead ]:
|
||||
FASTQ_FORMATS[ format.format ] = format
|
||||
|
||||
|
||||
|
||||
+10
-9
@@ -175,30 +175,31 @@
|
||||
<tool file="fastx_toolkit/fastx_collapser.xml" />
|
||||
</section>
|
||||
<section name="NGS: QC and manipulation" id="cshl_library_information">
|
||||
<label text="Generic FASTQ data" id="new_fastq" />
|
||||
<tool file="fastq/fastq_combiner.xml" />
|
||||
<label text="Illumina data" id="illumina" />
|
||||
<tool file="fastq/fastq_groomer.xml" />
|
||||
<tool file="fastq/fastq_paired_end_joiner.xml" />
|
||||
<tool file="fastq/fastq_paired_end_splitter.xml" />
|
||||
<tool file="fastq/fastq_paired_end_joiner.xml" />
|
||||
<tool file="fastq/fastq_stats.xml" />
|
||||
<tool file="fastq/fastq_filter.xml" />
|
||||
<tool file="fastq/fastq_trimmer.xml" />
|
||||
<tool file="fastq/fastq_manipulation.xml" />
|
||||
<tool file="fastq/fastq_to_fasta.xml" />
|
||||
<label text="Deprecated: Generic FASTQ data" id="fastq" />
|
||||
<!--<label text="Deprecated: Generic FASTQ data" id="fastq" />
|
||||
<tool file="next_gen_conversion/fastq_gen_conv.xml" />
|
||||
<tool file="fastx_toolkit/fastq_quality_converter.xml" />
|
||||
<tool file="fastx_toolkit/fastx_quality_statistics.xml" />
|
||||
<tool file="fastx_toolkit/fastq_quality_boxplot.xml" />
|
||||
<tool file="fastx_toolkit/fastx_nucleotides_distribution.xml" />
|
||||
<tool file="metag_tools/split_paired_reads.xml" />
|
||||
<tool file="metag_tools/split_paired_reads.xml" /> -->
|
||||
<label text="Roche-454 data" id="454" />
|
||||
<tool file="metag_tools/short_reads_figure_score.xml" />
|
||||
<tool file="metag_tools/short_reads_trim_seq.xml" />
|
||||
<tool file="fastq/fastq_combiner.xml" />
|
||||
<label text="AB-SOLiD data" id="solid" />
|
||||
<tool file="next_gen_conversion/solid2fastq.xml" />
|
||||
<tool file="solid_tools/solid_qual_stats.xml" />
|
||||
<tool file="solid_tools/solid_qual_boxplot.xml" />
|
||||
<label text="Generic FASTQ manipulation" id="generic_fastq" />
|
||||
<tool file="fastq/fastq_filter.xml" />
|
||||
<tool file="fastq/fastq_trimmer.xml" />
|
||||
<tool file="fastq/fastq_manipulation.xml" />
|
||||
<tool file="fastq/fastq_to_fasta.xml" />
|
||||
</section>
|
||||
<section name="NGS: Mapping" id="solexa_tools">
|
||||
<tool file="sr_mapping/lastz_wrapper.xml" />
|
||||
|
||||
@@ -16,7 +16,7 @@ def main():
|
||||
|
||||
format = 'sanger'
|
||||
if fasta_type == 'csfasta' or qual_type == 'qualsolid':
|
||||
format = 'solid'
|
||||
format = 'cssanger'
|
||||
elif qual_type == 'qualsolexa':
|
||||
format = 'solexa'
|
||||
elif qual_type == 'qualillumina':
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
<tool id="fastq_combiner" name="Combine FASTA and QUAL" version="1.0.0">
|
||||
<tool id="fastq_combiner" name="Combine FASTA and QUAL" version="1.0.1">
|
||||
<description>into FASTQ</description>
|
||||
<command interpreter="python">fastq_combiner.py '$fasta_file' '${fasta_file.extension}' '$qual_file' '${qual_file.extension}' '$output_file' '$force_quality_encoding'</command>
|
||||
<inputs>
|
||||
@@ -13,8 +13,8 @@
|
||||
<outputs>
|
||||
<data name="output_file" format="fastqsanger">
|
||||
<change_format>
|
||||
<when input_dataset="fasta_file" attribute="extension" value="csfasta" format="fastqsolid" />
|
||||
<when input_dataset="qual_file" attribute="extension" value="qualsolid" format="fastqsolid" />
|
||||
<when input_dataset="fasta_file" attribute="extension" value="csfasta" format="fastqcssanger" />
|
||||
<when input_dataset="qual_file" attribute="extension" value="qualsolid" format="fastqcssanger" />
|
||||
<when input_dataset="qual_file" attribute="extension" value="qualsolexa" format="fastqsolexa" />
|
||||
<when input_dataset="qual_file" attribute="extension" value="qualillumina" format="fastqillumina" />
|
||||
</change_format>
|
||||
@@ -25,13 +25,13 @@
|
||||
<param name="fasta_file" value="s2fq_phiX.csfasta" ftype="csfasta" />
|
||||
<param name="qual_file" value="s2fq_phiX.qualsolid" ftype="qualsolid" />
|
||||
<param name="force_quality_encoding" value="None" />
|
||||
<output name="output_file" file="combine_phiX_out_1.fastqsolid" />
|
||||
<output name="output_file" file="combine_phiX_out_1.fastqcssanger" />
|
||||
</test>
|
||||
<test>
|
||||
<param name="fasta_file" value="s2fq_phiX.csfasta" ftype="csfasta" />
|
||||
<param name="qual_file" value="s2fq_phiX.qualsolid" ftype="qualsolid" />
|
||||
<param name="force_quality_encoding" value="ascii" />
|
||||
<output name="output_file" file="combine_phiX_out_2.fastqsolid" />
|
||||
<output name="output_file" file="combine_phiX_out_2.fastqcssanger" />
|
||||
</test>
|
||||
<test>
|
||||
<param name="fasta_file" value="fastq_combiner_in_1.fasta" ftype="fasta" />
|
||||
@@ -55,7 +55,7 @@
|
||||
<param name="fasta_file" value="s2fq_phiX.csfasta" ftype="csfasta" />
|
||||
<param name="qual_file" />
|
||||
<param name="force_quality_encoding" value="ascii" />
|
||||
<output name="output_file" file="fastq_combiner_no_qual_ascii_out_1.fastqsolid" />
|
||||
<output name="output_file" file="fastq_combiner_no_qual_ascii_out_1.fastqcssanger" />
|
||||
</test>
|
||||
</tests>
|
||||
<help>
|
||||
@@ -63,7 +63,8 @@
|
||||
|
||||
This tool joins a FASTA file to a Quality Score file, creating a single FASTQ block for each read.
|
||||
|
||||
Specifying a set of quality scores is optional; when not provided, the output will be fastqsanger or fastqsolid (when a csfasta is provided) with each quality score being the maximal allowed value (93).
|
||||
Specifying a set of quality scores is optional; when not provided, the output will be fastqsanger or fastqcssanger (when a csfasta is provided) with each quality score being the maximal allowed value (93).
|
||||
|
||||
Use this tool, for example, to convert 454-type output to FASTQ.
|
||||
</help>
|
||||
</tool>
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
<command interpreter="python">fastq_filter.py $input_file $fastq_filter_file $output_file $output_file.files_path '${input_file.extension[len( 'fastq' ):]}'</command>
|
||||
<inputs>
|
||||
<page>
|
||||
<param name="input_file" type="data" format="fastqsanger,fastqillumina,fastqsolexa,fastqsolid" label="FASTQ File" help="Requires groomed data: if your data does not appear here try using the FASTQ groomer."/>
|
||||
<param name="input_file" type="data" format="fastqsanger,fastqcssanger" label="FASTQ File" help="Requires groomed data: if your data does not appear here try using the FASTQ groomer."/>
|
||||
<param name="min_size" label="Minimum Size" value="0" type="integer">
|
||||
<validator type="in_range" message="Minimum size must be positive" min="0"/>
|
||||
</param>
|
||||
@@ -21,20 +21,20 @@
|
||||
<option value="offsets_percent">Percentage of Read Length</option>
|
||||
</param>
|
||||
<when value="offsets_absolute">
|
||||
<param name="left_column_offset" label="Absolute Left Base Offset" value="0" type="integer" help="Values start at 0, increasing from the left">
|
||||
<param name="left_column_offset" label="Offset from 5' end" value="0" type="integer" help="Values start at 0, increasing from the left">
|
||||
<validator type="in_range" message="Base Offsets must be positive" min="0" max="inf"/>
|
||||
<validator type="expression" message="An integer is required.">int( float( value ) ) == float( value )</validator>
|
||||
</param>
|
||||
<param name="right_column_offset" label="Absolute Right Base Offset" value="0" type="integer" help="Values start at 0, increasing from the right">
|
||||
<param name="right_column_offset" label="Offset from 3' end" value="0" type="integer" help="Values start at 0, increasing from the right">
|
||||
<validator type="in_range" message="Base Offsets must be positive" min="0" max="inf"/>
|
||||
<validator type="expression" message="An integer is required.">int( float( value ) ) == float( value )</validator>
|
||||
</param>
|
||||
</when>
|
||||
<when value="offsets_percent">
|
||||
<param name="left_column_offset" label="Percentage Left Base Offset" value="0" type="float">
|
||||
<param name="left_column_offset" label="Offset from 5' end" value="0" type="float">
|
||||
<validator type="in_range" message="Base Offsets must be between 0 and 100" min="0" max="100"/>
|
||||
</param>
|
||||
<param name="right_column_offset" label="Percentage Right Base Offset" value="0" type="float">
|
||||
<param name="right_column_offset" label="Offset from 3' end" value="0" type="float">
|
||||
<validator type="in_range" message="Base Offsets must be between 0 and 100" min="0" max="100"/>
|
||||
</param>
|
||||
</when>
|
||||
@@ -120,7 +120,7 @@ ret_val = fastq_read_pass_filter( fastq_read )
|
||||
<param name="score" value="0"/>
|
||||
<output name="out_file1" file="sanger_full_range_original_sanger.fastqsanger"/>
|
||||
</test>
|
||||
<test>
|
||||
<!-- crippled input types prevent this test <test>
|
||||
<param name="input_file" value="solexa_full_range_original_solexa.fastqsolexa" ftype="fastqsolexa"/>
|
||||
<param name="min_size" value="0"/>
|
||||
<param name="max_size" value="0"/>
|
||||
@@ -135,10 +135,10 @@ ret_val = fastq_read_pass_filter( fastq_read )
|
||||
<param name="score_comparison" value=">="/>
|
||||
<param name="score" value="-5"/>
|
||||
<output name="out_file1" file="solexa_full_range_original_solexa.fastqsolexa"/>
|
||||
</test>
|
||||
<!-- No trim, so does not remove Adapter from solid -->
|
||||
</test> -->
|
||||
<!-- No trim, so does not remove Adapter from cssanger -->
|
||||
<test>
|
||||
<param name="input_file" value="sanger_full_range_as_solid.fastqsolid" ftype="fastqsolid"/>
|
||||
<param name="input_file" value="sanger_full_range_as_cssanger.fastqcssanger" ftype="fastqcssanger"/>
|
||||
<param name="min_size" value="0"/>
|
||||
<param name="max_size" value="0"/>
|
||||
<param name="min_quality" value="0"/>
|
||||
@@ -151,7 +151,7 @@ ret_val = fastq_read_pass_filter( fastq_read )
|
||||
<param name="score_operation" value="min"/>
|
||||
<param name="score_comparison" value=">="/>
|
||||
<param name="score" value="0"/>
|
||||
<output name="out_file1" file="sanger_full_range_as_solid.fastqsolid"/>
|
||||
<output name="out_file1" file="sanger_full_range_as_cssanger.fastqcssanger"/>
|
||||
</test>
|
||||
<!-- Remove all Filter -->
|
||||
<test>
|
||||
@@ -170,7 +170,7 @@ ret_val = fastq_read_pass_filter( fastq_read )
|
||||
<param name="score" value="0"/>
|
||||
<output name="out_file1" file="empty_file.dat"/>
|
||||
</test>
|
||||
<test>
|
||||
<!-- crippled input types prevent this test <test>
|
||||
<param name="input_file" value="solexa_full_range_original_solexa.fastqsolexa" ftype="fastqsolexa"/>
|
||||
<param name="min_size" value="0"/>
|
||||
<param name="max_size" value="0"/>
|
||||
@@ -185,7 +185,7 @@ ret_val = fastq_read_pass_filter( fastq_read )
|
||||
<param name="score_comparison" value=">="/>
|
||||
<param name="score" value="-5"/>
|
||||
<output name="out_file1" file="empty_file.dat"/>
|
||||
</test>
|
||||
</test> -->
|
||||
<!-- Keep all by allowing 1 deviant -->
|
||||
<test>
|
||||
<param name="input_file" value="sanger_full_range_original_sanger.fastqsanger" ftype="fastqsanger"/>
|
||||
@@ -203,7 +203,7 @@ ret_val = fastq_read_pass_filter( fastq_read )
|
||||
<param name="score" value="0"/>
|
||||
<output name="out_file1" file="sanger_full_range_original_sanger.fastqsanger"/>
|
||||
</test>
|
||||
<test>
|
||||
<!-- crippled input types prevent this test<test>
|
||||
<param name="input_file" value="solexa_full_range_original_solexa.fastqsolexa" ftype="fastqsolexa"/>
|
||||
<param name="min_size" value="0"/>
|
||||
<param name="max_size" value="0"/>
|
||||
@@ -218,7 +218,7 @@ ret_val = fastq_read_pass_filter( fastq_read )
|
||||
<param name="score_comparison" value=">="/>
|
||||
<param name="score" value="-5"/>
|
||||
<output name="out_file1" file="solexa_full_range_original_solexa.fastqsolexa"/>
|
||||
</test>
|
||||
</test> -->
|
||||
<!-- Filter inner range -->
|
||||
<test>
|
||||
<param name="input_file" value="sanger_full_range_original_sanger.fastqsanger" ftype="fastqsanger"/>
|
||||
@@ -292,10 +292,10 @@ This tool allows you to build complex filters to be applied to each read in a FA
|
||||
Basic Options:
|
||||
* You can specify a minimum and maximum read lengths.
|
||||
* You can specify minimum and maximum per base quality scores, with optionally specifying the number of bases that are allowed to deviate from this range (default of 0 deviant bases).
|
||||
* If your data is paired-end, select the proper checkbox; this will cause each read to be internally split down the middle and filters applied to each half using the offsets specified.
|
||||
|
||||
Advance Options:
|
||||
* You can specify any number of advanced filters.
|
||||
* If your data is paired-end, select the proper checkbox; this will cause each read to be internally split down the middle and filters applied to each half using the offsets specified.
|
||||
* Offsets are defined, starting at zero, increasing from the ends of the reads. For example, a quality string of "ABCDEFG", with offsets of 1 and 1 specified will yield "BCDEF".
|
||||
* You can specify either absolute offset values, or percentage offset values. When using the percent-based method, offsets are rounded to the nearest integer.
|
||||
* The user specifies the aggregating action (min, max, sum, mean) to perform on the quality score values found between the specified offsets to be used with the user defined comparison operation and comparison value.
|
||||
@@ -305,7 +305,7 @@ Advance Options:
|
||||
|
||||
.. class:: warningmark
|
||||
|
||||
Adapter bases in SOLiD reads are excluded from filtering.
|
||||
Adapter bases in color space reads are excluded from filtering.
|
||||
|
||||
</help>
|
||||
</tool>
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
<tool id="fastq_groomer" name="FASTQ Groomer" version="1.0.0">
|
||||
<tool id="fastq_groomer" name="FASTQ Groomer" version="1.0.1">
|
||||
<description>convert between various FASTQ quality formats</description>
|
||||
<command interpreter="python">fastq_groomer.py '$input_file' '$input_type' '$output_file' '$output_type' '$force_quality_encoding' '$summarize_input'</command>
|
||||
<inputs>
|
||||
@@ -7,13 +7,13 @@
|
||||
<option value="solexa">Solexa</option>
|
||||
<option value="illumina">Illumina 1.3+</option>
|
||||
<option value="sanger" selected="True">Sanger</option>
|
||||
<option value="solid">Solid (color space)</option>
|
||||
<option value="cssanger">Color Space Sanger</option>
|
||||
</param>
|
||||
<param name="output_type" type="select" label="Output FASTQ quality scores type">
|
||||
<option value="solexa">Solexa</option>
|
||||
<option value="illumina">Illumina 1.3+</option>
|
||||
<option value="sanger" selected="True">Sanger (recommended)</option>
|
||||
<option value="solid">Solid (color space)</option>
|
||||
<option value="cssanger">Color Space Sanger</option>
|
||||
</param>
|
||||
<param name="force_quality_encoding" type="select" label="Force Quality Score encoding">
|
||||
<option value="None">Use Source Encoding</option>
|
||||
@@ -31,7 +31,7 @@
|
||||
<when input="output_type" value="solexa" format="fastqsolexa" />
|
||||
<when input="output_type" value="illumina" format="fastqillumina" />
|
||||
<when input="output_type" value="sanger" format="fastqsanger" />
|
||||
<when input="output_type" value="solid" format="fastqsolid" />
|
||||
<when input="output_type" value="cssanger" format="fastqcssanger" />
|
||||
</change_format>
|
||||
</data>
|
||||
</outputs>
|
||||
@@ -66,10 +66,10 @@
|
||||
<test>
|
||||
<param name="input_file" value="illumina_full_range_original_illumina.fastqillumina" ftype="fastqillumina" />
|
||||
<param name="input_type" value="illumina" />
|
||||
<param name="output_type" value="solid" />
|
||||
<param name="output_type" value="cssanger" />
|
||||
<param name="force_quality_encoding" value="None" />
|
||||
<param name="summarize_input" value="summarize_input" />
|
||||
<output name="output_file" file="illumina_full_range_as_solid.fastqsolid" />
|
||||
<output name="output_file" file="illumina_full_range_as_cssanger.fastqcssanger" />
|
||||
</test>
|
||||
<!-- Test grooming from sanger -->
|
||||
<test>
|
||||
@@ -99,10 +99,10 @@
|
||||
<test>
|
||||
<param name="input_file" value="sanger_full_range_original_sanger.fastqsanger" ftype="fastqsanger" />
|
||||
<param name="input_type" value="sanger" />
|
||||
<param name="output_type" value="solid" />
|
||||
<param name="output_type" value="cssanger" />
|
||||
<param name="force_quality_encoding" value="None" />
|
||||
<param name="summarize_input" value="summarize_input" />
|
||||
<output name="output_file" file="sanger_full_range_as_solid.fastqsolid" />
|
||||
<output name="output_file" file="sanger_full_range_as_cssanger.fastqcssanger" />
|
||||
</test>
|
||||
<!-- Test grooming from solexa -->
|
||||
<test>
|
||||
@@ -132,39 +132,39 @@
|
||||
<test>
|
||||
<param name="input_file" value="solexa_full_range_original_solexa.fastqsolexa" ftype="fastqsolexa" />
|
||||
<param name="input_type" value="solexa" />
|
||||
<param name="output_type" value="solid" />
|
||||
<param name="output_type" value="cssanger" />
|
||||
<param name="force_quality_encoding" value="None" />
|
||||
<param name="summarize_input" value="summarize_input" />
|
||||
<output name="output_file" file="solexa_full_range_as_solid.fastqsolid" />
|
||||
<output name="output_file" file="solexa_full_range_as_cssanger.fastqcssanger" />
|
||||
</test>
|
||||
<!-- Test grooming from solid -->
|
||||
<!-- Test grooming from cssanger -->
|
||||
<test>
|
||||
<param name="input_file" value="sanger_full_range_as_solid.fastqsolid" ftype="fastqsolid" />
|
||||
<param name="input_type" value="solid" />
|
||||
<param name="output_type" value="solid" />
|
||||
<param name="input_file" value="sanger_full_range_as_cssanger.fastqcssanger" ftype="fastqcssanger" />
|
||||
<param name="input_type" value="cssanger" />
|
||||
<param name="output_type" value="cssanger" />
|
||||
<param name="force_quality_encoding" value="None" />
|
||||
<param name="summarize_input" value="summarize_input" />
|
||||
<output name="output_file" file="sanger_full_range_as_solid.fastqsolid" />
|
||||
<output name="output_file" file="sanger_full_range_as_cssanger.fastqcssanger" />
|
||||
</test>
|
||||
<test>
|
||||
<param name="input_file" value="sanger_full_range_as_solid.fastqsolid" ftype="fastqsolid" />
|
||||
<param name="input_type" value="solid" />
|
||||
<param name="input_file" value="sanger_full_range_as_cssanger.fastqcssanger" ftype="fastqcssanger" />
|
||||
<param name="input_type" value="cssanger" />
|
||||
<param name="output_type" value="sanger" />
|
||||
<param name="force_quality_encoding" value="None" />
|
||||
<param name="summarize_input" value="summarize_input" />
|
||||
<output name="output_file" file="sanger_full_range_original_sanger.fastqsanger" />
|
||||
</test>
|
||||
<test>
|
||||
<param name="input_file" value="sanger_full_range_as_solid.fastqsolid" ftype="fastqsolid" />
|
||||
<param name="input_type" value="solid" />
|
||||
<param name="input_file" value="sanger_full_range_as_cssanger.fastqcssanger" ftype="fastqcssanger" />
|
||||
<param name="input_type" value="cssanger" />
|
||||
<param name="output_type" value="illumina" />
|
||||
<param name="force_quality_encoding" value="None" />
|
||||
<param name="summarize_input" value="summarize_input" />
|
||||
<output name="output_file" file="sanger_full_range_as_illumina.fastqillumina" />
|
||||
</test>
|
||||
<test>
|
||||
<param name="input_file" value="sanger_full_range_as_solid.fastqsolid" ftype="fastqsolid" />
|
||||
<param name="input_type" value="solid" />
|
||||
<param name="input_file" value="sanger_full_range_as_cssanger.fastqcssanger" ftype="fastqcssanger" />
|
||||
<param name="input_type" value="cssanger" />
|
||||
<param name="output_type" value="solexa" />
|
||||
<param name="force_quality_encoding" value="None" />
|
||||
<param name="summarize_input" value="summarize_input" />
|
||||
@@ -240,13 +240,13 @@ When converting, if a quality score falls outside of the target score range, it
|
||||
|
||||
When converting between Solexa and the other formats, quality scores are mapped between Solexa and PHRED scales using the equations found in Cock PJ, Fields CJ, Goto N, Heuer ML, Rice PM. The Sanger FASTQ file format for sequences with quality scores, and the Solexa/Illumina FASTQ variants. Nucleic Acids Res. 2009 Dec 16.
|
||||
|
||||
When converting between color space (SOLiD) and base/sequence space (Sanger, Illumina, Solexa) formats, adapter bases are lost or gained; if gained, the base 'G' is used as the adapter. You cannot convert a color space read to base space if there is no adapter present in the color space sequence. Any masked or ambiguous nucleotides in base space will be converted to 'N's when determining color space encoding.
|
||||
When converting between color space (csSanger) and base/sequence space (Sanger, Illumina, Solexa) formats, adapter bases are lost or gained; if gained, the base 'G' is used as the adapter. You cannot convert a color space read to base space if there is no adapter present in the color space sequence. Any masked or ambiguous nucleotides in base space will be converted to 'N's when determining color space encoding.
|
||||
|
||||
-----
|
||||
|
||||
**Examples**
|
||||
|
||||
- Converting the Solexa FASTQ data::
|
||||
1. Converting the Solexa FASTQ data::
|
||||
|
||||
@Solexa scores from -5 to 62 inclusive (in that order)
|
||||
ACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGT
|
||||
@@ -279,7 +279,7 @@ When converting between color space (SOLiD) and base/sequence space (Sanger, Ill
|
||||
+
|
||||
~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJJIHGFEEDDCCBBAA
|
||||
|
||||
- Converting the Illumina 1.3+ FASTQ data::
|
||||
2. Converting the Illumina 1.3+ FASTQ data::
|
||||
|
||||
@Illumina PHRED scores from 0 to 62 inclusive (in that order)
|
||||
ACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACG
|
||||
@@ -312,7 +312,7 @@ When converting between color space (SOLiD) and base/sequence space (Sanger, Ill
|
||||
+
|
||||
~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJHGFECB@>;;
|
||||
|
||||
- Converting standard Sanger FASTQ::
|
||||
3. Converting standard Sanger FASTQ::
|
||||
|
||||
@Sanger PHRED scores from 0 to 93 inclusive (in that order)
|
||||
ACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTAC
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
<inputs>
|
||||
<!-- This tool is purposely over-engineered (e.g. Single option conditionals) to allow easy enhancement with workflow/rerun compatibility -->
|
||||
<page>
|
||||
<param name="input_file" type="data" format="fastqsanger,fastqillumina,fastqsolexa,fastqsolid" label="FASTQ File" help="Requires groomed data: if your data does not appear here try using the FASTQ groomer."/>
|
||||
<param name="input_file" type="data" format="fastqsanger,fastqcssanger" label="FASTQ File" help="Requires groomed data: if your data does not appear here try using the FASTQ groomer."/>
|
||||
<!-- Match Reads -->
|
||||
<repeat name="match_blocks" title="Match Reads" min="1">
|
||||
<conditional name="match_type">
|
||||
@@ -376,13 +376,26 @@ def match_and_manipulate_read( fastq_read ):
|
||||
This tool allows you to build complex manipulations to be applied to each matching read in a FASTQ file. A read must match all matching directives in order for it to be manipulated; if a read does not match, it is output in a non-modified manner. All reads matching will have each of the specified manipulations performed upon them, in the order specified.
|
||||
|
||||
Regular Expression Matches are made using re.search, see http://docs.python.org/library/re.html for more information.
|
||||
All matching is performed on a single line string, regardless if e.g. the sequence or quality score spans multiple lines in the original file.
|
||||
|
||||
String translations are performed using string.translate, see http://docs.python.org/library/string.html#string.translate and http://docs.python.org/library/string.html#string.maketrans for more information.
|
||||
|
||||
|
||||
.. class:: warningmark
|
||||
|
||||
Only SOLiD (color space) reads can have adapter bases substituted.
|
||||
Only color space reads can have adapter bases substituted.
|
||||
|
||||
|
||||
-----
|
||||
|
||||
**Example**
|
||||
|
||||
Suppose you have a color space sanger formatted sequence (fastqcssanger) and you want to double-encode the color space into psuedo-nucleotide space (this is different from converting) to allow these reads to be used in tools which do not natively support it (using specially designed indexes). This tool can handle this manipulation, however, this is generally not recommended as results tend to be poorer than those produced from tools which are specially designed to handle color space data.
|
||||
|
||||
Steps:
|
||||
|
||||
1. Click **Add new Match Reads** and leave the matching options set to the default (Matching by sequence name/identifier using the regular expression "\*."; thereby matching all reads).
|
||||
2. Click **Add new Manipulate Reads**, change **Manipulate Reads on** to "Sequence Content", set **Sequence Manipulation Type** to "Change Adapter Base" and set **New Adapter** to "" (an empty text field).
|
||||
3. Click **Add new Manipulate Reads**, change **Manipulate Reads on** to "Sequence Content", set **Sequence Manipulation Type** to "String Translate" and set **From** to "0123." and **To** to "ACGTN".
|
||||
4. Click Execute. The new history item will contained double-encoded psuedo-nucleotide space reads.
|
||||
</help>
|
||||
</tool>
|
||||
|
||||
@@ -2,8 +2,8 @@
|
||||
<description>on paired end reads</description>
|
||||
<command interpreter="python">fastq_paired_end_joiner.py '$input1_file' '${input1_file.extension[len( 'fastq' ):]}' '$input2_file' '${input2_file.extension[len( 'fastq' ):]}' '$output_file'</command>
|
||||
<inputs>
|
||||
<param name="input1_file" type="data" format="fastq" label="Left-hand Reads" />
|
||||
<param name="input2_file" type="data" format="fastq" label="Right-hand Reads" />
|
||||
<param name="input1_file" type="data" format="fastqsanger,fastqcssanger" label="Left-hand Reads" />
|
||||
<param name="input2_file" type="data" format="fastqsanger,fastqcssanger" label="Right-hand Reads" />
|
||||
</inputs>
|
||||
<outputs>
|
||||
<data name="output_file" format="input" />
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
<description>on joined paired end reads</description>
|
||||
<command interpreter="python">fastq_paired_end_splitter.py '$input1_file' '${input1_file.extension[len( 'fastq' ):]}' '$output1_file' '$output2_file'</command>
|
||||
<inputs>
|
||||
<param name="input1_file" type="data" format="fastq" label="FASTQ reads" />
|
||||
<param name="input1_file" type="data" format="fastqsanger,fastqcssanger" label="FASTQ reads" />
|
||||
</inputs>
|
||||
<outputs>
|
||||
<data name="output1_file" format="input" />
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
<description>by column</description>
|
||||
<command interpreter="python">fastq_stats.py '$input_file' '$output_file' '${input_file.extension[len( 'fastq' ):]}'</command>
|
||||
<inputs>
|
||||
<param name="input_file" type="data" format="fastqsanger,fastqillumina,fastqsolexa,fastqsolid" label="FASTQ File"/>
|
||||
<param name="input_file" type="data" format="fastqsanger,fastqillumina,fastqsolexa,fastqcssanger" label="FASTQ File"/>
|
||||
</inputs>
|
||||
<outputs>
|
||||
<data name="output_file" format="tabular" />
|
||||
@@ -53,20 +53,12 @@ For example::
|
||||
3 14336356 2 34 433659182 30.2489127642 29.0 32.0 33.0 4.0 23 34 2,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22 4310988 2941988 3437467 3645784 129
|
||||
4 14336356 2 34 433635331 30.2472490917 29.0 32.0 33.0 4.0 23 34 2,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22 4110637 3007028 3671749 3546839 103
|
||||
5 14336356 2 34 432498583 30.167957813 29.0 32.0 33.0 4.0 23 34 2,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22 4348275 2935903 3293025 3759029 124
|
||||
6 14336356 2 34 433516130 30.2389344963 29.0 32.0 33.0 4.0 23 34 2,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22 4148685 3240703 3395388 3551483 97
|
||||
7 14336356 2 34 433280560 30.2225028452 29.0 32.0 33.0 4.0 23 34 2,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22 4080445 3143867 3181629 3930294 121
|
||||
8 14336356 2 34 433253015 30.2205815062 29.0 32.0 33.0 4.0 23 34 2,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22 4021204 3164843 3257779 3892419 111
|
||||
9 14336356 2 34 432416621 30.1622407396 29.0 32.0 33.0 4.0 23 34 2,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22 3952703 3229316 3263002 3891205 130
|
||||
10 14336356 2 34 431795072 30.1188859986 29.0 32.0 33.0 4.0 23 34 2,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22 4139373 3227694 3262197 3706968 124
|
||||
11 14336356 2 34 430636560 30.0380766214 29.0 32.0 33.0 4.0 23 34 2,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22 4078833 3194895 3305010 3757469 149
|
||||
12 14336356 2 34 426265591 29.7331895916 29.0 32.0 33.0 4.0 23 34 2,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22 3980583 3224693 3288479 3842447 154
|
||||
13 14336356 2 34 425042610 29.6478833254 28.0 32.0 33.0 5.0 21 34 2,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20 3994385 3201916 3236851 3903054 150
|
||||
|
||||
-----
|
||||
|
||||
.. class:: warningmark
|
||||
|
||||
Adapter bases in SOLiD reads are excluded from statistics.
|
||||
Adapter bases in color space reads are excluded from statistics.
|
||||
|
||||
</help>
|
||||
</tool>
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
</test>
|
||||
<!-- color space test -->
|
||||
<test>
|
||||
<param name="input_file" value="sanger_full_range_as_solid.fastqsolid" ftype="fastqsolid" />
|
||||
<param name="input_file" value="sanger_full_range_as_cssanger.fastqcssanger" ftype="fastqcssanger" />
|
||||
<output name="output_file" file="fastq_to_fasta_python_2.out" />
|
||||
</test>
|
||||
<!-- test of ignoring invalid score values: this input has ascii characters falling outside of illumina range, but they should not matter -->
|
||||
|
||||
@@ -2,27 +2,27 @@
|
||||
<description>by column</description>
|
||||
<command interpreter="python">fastq_trimmer.py '$input_file' '$output_file' '${offset_type['left_column_offset']}' '${offset_type['right_column_offset']}' '${offset_type['base_offset_type']}' '${input_file.extension[len( 'fastq' ):]}' '$keep_zero_length'</command>
|
||||
<inputs>
|
||||
<param name="input_file" type="data" format="fastqsanger,fastqillumina,fastqsolexa,fastqsolid" label="FASTQ File"/>
|
||||
<param name="input_file" type="data" format="fastqsanger,fastqcssanger" label="FASTQ File"/>
|
||||
<conditional name="offset_type">
|
||||
<param name="base_offset_type" type="select" label="Define Base Offsets as">
|
||||
<option value="offsets_absolute" selected="true">Absolute Values</option>
|
||||
<option value="offsets_percent">Percentage of Read Length</option>
|
||||
</param>
|
||||
<when value="offsets_absolute">
|
||||
<param name="left_column_offset" label="Absolute Left Base Offset" value="0" type="integer" help="Values start at 0, increasing from the left">
|
||||
<param name="left_column_offset" label="Offset from 5' end" value="0" type="integer" help="Values start at 0, increasing from the left">
|
||||
<validator type="in_range" message="Base Offsets must be positive" min="0" max="inf"/>
|
||||
<validator type="expression" message="An integer is required.">int( float( value ) ) == float( value )</validator>
|
||||
</param>
|
||||
<param name="right_column_offset" label="Absolute Right Base Offset" value="0" type="integer" help="Values start at 0, increasing from the right">
|
||||
<param name="right_column_offset" label="Offset from 3' end" value="0" type="integer" help="Values start at 0, increasing from the right">
|
||||
<validator type="in_range" message="Base Offsets must be positive" min="0" max="inf"/>
|
||||
<validator type="expression" message="An integer is required.">int( float( value ) ) == float( value )</validator>
|
||||
</param>
|
||||
</when>
|
||||
<when value="offsets_percent">
|
||||
<param name="left_column_offset" label="Percentage Left Base Offset" value="0" type="float">
|
||||
<param name="left_column_offset" label="Offset from 5' end" value="0" type="float">
|
||||
<validator type="in_range" message="Base Offsets must be between 0 and 100" min="0" max="100"/>
|
||||
</param>
|
||||
<param name="right_column_offset" label="Percentage Right Base Offset" value="0" type="float">
|
||||
<param name="right_column_offset" label="Offset from 3' end" value="0" type="float">
|
||||
<validator type="in_range" message="Base Offsets must be between 0 and 100" min="0" max="100"/>
|
||||
</param>
|
||||
</when>
|
||||
@@ -107,7 +107,7 @@ Or you set percent offsets of 6% and 20% (corresponds to absolute offsets of 2,7
|
||||
|
||||
.. class:: warningmark
|
||||
|
||||
Trimming a SOLiD read will cause any adapter base to be lost.
|
||||
Trimming a color space read will cause any adapter base to be lost.
|
||||
|
||||
</help>
|
||||
</tool>
|
||||
|
||||
Reference in New Issue
Block a user