Mercurial > repos > xuebing > sharplabtool
view tools/gatk/realigner_target_creator.xml @ 1:cdcb0ce84a1b
Uploaded
author | xuebing |
---|---|
date | Fri, 09 Mar 2012 19:45:15 -0500 |
parents | 9071e359b9a3 |
children |
line wrap: on
line source
<tool id="gatk_realigner_target_creator" name="Realigner Target Creator" version="0.0.1"> <description>for use in local realignment</description> <command interpreter="python">gatk_wrapper.py --stdout "${output_log}" -d "-I" "${reference_source.input_bam}" "${reference_source.input_bam.ext}" "gatk_input" -d "" "${reference_source.input_bam.metadata.bam_index}" "bam_index" "gatk_input" ##hardcode galaxy ext type as bam_index -p 'java -jar "${GALAXY_DATA_INDEX_DIR}/shared/jars/gatk/GenomeAnalysisTK.jar" -T "RealignerTargetCreator" -o "${output_interval}" -et "NO_ET" ##ET no phone home ##-log "${output_log}" ##don't use this to log to file, instead directly capture stdout #if $reference_source.reference_source_selector != "history": -R "${reference_source.ref_file.fields.path}" #end if ' #set $rod_binding_names = dict() #if str( $input_dbsnp_rod ) != "None": -d "-D" "${input_dbsnp_rod}" "${input_dbsnp_rod.ext}" "dbsnp_rod" #end if #for $rod_binding in $rod_bind: #if str( $rod_binding.rod_bind_type.rod_bind_type_selector ) == 'custom': #set $rod_bind_name = $rod_binding.rod_bind_type.custom_rod_name #else #set $rod_bind_name = $rod_binding.rod_bind_type.rod_bind_type_selector #end if #set $rod_binding_names[$rod_bind_name] = $rod_binding_names.get( $rod_bind_name, -1 ) + 1 -d "-B:${rod_bind_name},%(file_type)s" "${rod_binding.rod_bind_type.input_rod}" "${rod_binding.rod_bind_type.input_rod.ext}" "input_${rod_bind_name}_${rod_binding_names[$rod_bind_name]}" #if str( $rod_binding.rod_bind_type.rodToIntervalTrackName ): -p '--rodToIntervalTrackName "${rod_bind_name}"' #end if #end for ##start standard gatk options #if $gatk_param_type.gatk_param_type_selector == "advanced": #for $sample_metadata in $gatk_param_type.sample_metadata: -p '--sample_metadata "${sample_metadata.sample_metadata_file}"' #end for #for $read_filter in $gatk_param_type.read_filter: -p '--read_filter "${read_filter.read_filter_type.read_filter_type_selector}" ###raise Exception( str( dir( $read_filter ) ) ) #for $name, $param in $read_filter.read_filter_type.iteritems(): #if $name not in [ "__current_case__", "read_filter_type_selector" ]: --${name} "${param}" #end if #end for ' #end for #if str( $gatk_param_type.input_intervals ) != "None": -d "-L" "${gatk_param_type.input_intervals}" "${gatk_param_type.input_intervals.ext}" "input_intervals" #end if #if str( $gatk_param_type.input_exclude_intervals ) != "None": -d "-XL" "${gatk_param_type.input_exclude_intervals}" "${gatk_param_type.input_exclude_intervals.ext}" "input_intervals" #end if -p '--BTI_merge_rule "${gatk_param_type.BTI_merge_rule}"' -p '--downsampling_type "${gatk_param_type.downsampling_type.downsampling_type_selector}"' #if str( $gatk_param_type.downsampling_type.downsampling_type_selector ) != "NONE": -p '--${gatk_param_type.downsampling_type.downsample_to_type.downsample_to_type_selector} "${gatk_param_type.downsampling_type.downsample_to_type.downsample_to_value}"' #end if -p ' --baq "${gatk_param_type.baq}" --baqGapOpenPenalty "${gatk_param_type.baq_gap_open_penalty}" ${gatk_param_type.use_original_qualities} --defaultBaseQualities "${gatk_param_type.default_base_qualities}" --validation_strictness "${gatk_param_type.validation_strictness}" --interval_merging "${gatk_param_type.interval_merging}" ' #if str( $gatk_param_type.read_group_black_list ) != "None": -d "-read_group_black_list" "${gatk_param_type.read_group_black_list}" "txt" "input_read_group_black_list" #end if #end if #if $reference_source.reference_source_selector == "history": -d "-R" "${reference_source.ref_file}" "${reference_source.ref_file.ext}" "gatk_input" #end if ##end standard gatk options ##start analysis specific options #if $analysis_param_type.analysis_param_type_selector == "advanced": -p ' --minReadsAtLocus "${analysis_param_type.minReadsAtLocus}" --windowSize "${analysis_param_type.windowSize}" --mismatchFraction "${analysis_param_type.mismatchFraction}" --maxIntervalSize "${analysis_param_type.maxIntervalSize}" ' #end if </command> <inputs> <conditional name="reference_source"> <param name="reference_source_selector" type="select" label="Choose the source for the reference list"> <option value="cached">Locally cached</option> <option value="history">History</option> </param> <when value="cached"> <param name="input_bam" type="data" format="bam" label="BAM file"> <validator type="unspecified_build" /> <validator type="dataset_metadata_in_file" filename="picard_index.loc" metadata_name="dbkey" metadata_column="1" message="Sequences are not currently available for the specified build." /> <!-- fixme!!! this needs to be a select --> </param> <param name="ref_file" type="select" label="Using reference genome"> <options from_data_table="picard_indexes"> <filter type="data_meta" key="dbkey" ref="input_bam" column="dbkey"/> </options> </param> </when> <when value="history"> <!-- FIX ME!!!! --> <param name="input_bam" type="data" format="bam" label="BAM file" /> <param name="ref_file" type="data" format="fasta" label="Using reference file" /> </when> </conditional> <param name="input_dbsnp_rod" type="data" format="gatk_dbsnp" optional="True" label="dbSNP reference ordered data (ROD)" /> <repeat name="rod_bind" title="Binding for reference-ordered data"> <conditional name="rod_bind_type"> <param name="rod_bind_type_selector" type="select" label="Binding Type"> <option value="snps" selected="True">SNPs</option> <option value="indels">INDELs</option> <option value="custom">Custom</option> </param> <when value="snps"> <param name="input_rod" type="data" format="vcf,gatk_dbsnp,bed" label="ROD file" /> <param name="rodToIntervalTrackName" type="boolean" truevalue="--rodToIntervalTrackName" falsevalue="" label="Use ROD as interval List (-BTI, --rodToIntervalTrackName)" help="Only one ROD may have this option specified" /> </when> <when value="indels"> <param name="input_rod" type="data" format="vcf,gatk_dbsnp,bed" label="ROD file" /> <param name="rodToIntervalTrackName" type="boolean" truevalue="--rodToIntervalTrackName" falsevalue="" label="Use ROD as interval List (-BTI, --rodToIntervalTrackName)" help="Only one ROD may have this option specified" /> </when> <when value="custom"> <param name="custom_rod_name" type="text" value="Unknown" label="ROD Name"/> <param name="input_rod" type="data" format="vcf,gatk_dbsnp,bed" label="ROD file" /> <param name="rodToIntervalTrackName" type="boolean" truevalue="--rodToIntervalTrackName" falsevalue="" label="Use ROD as interval List (-BTI, --rodToIntervalTrackName)" help="Only one ROD may have this option specified" /> </when> </conditional> </repeat> <conditional name="gatk_param_type"> <param name="gatk_param_type_selector" type="select" label="Basic or Advanced GATK options"> <option value="basic" selected="True">Basic</option> <option value="advanced">Advanced</option> </param> <when value="basic"> <!-- Do nothing here --> </when> <when value="advanced"> <repeat name="sample_metadata" title="Sample Metadata"> <param name="sample_metadata_file" type="data" format="txt" label="Sample file(s) in JSON format" /> </repeat> <repeat name="read_filter" title="Read Filter"> <conditional name="read_filter_type"> <param name="read_filter_type_selector" type="select" label="Read Filter Type"> <option value="MaxReadLength" selected="True">MaxReadLength</option> <option value="ZeroMappingQualityRead">ZeroMappingQualityRead</option> </param> <when value="ZeroMappingQualityRead"> <!-- no extra options --> </when> <when value="MaxReadLength"> <param name="maxReadLength" type="integer" value="76" label="Max Read Length"/> </when> </conditional> </repeat> <param name="input_intervals" type="data" format="picard_interval_list" optional="True" label="A list of genomic intervals over which to operate" /> <param name="input_exclude_intervals" type="data" format="picard_interval_list" optional="True" label="A list of genomic intervals to exclude from processing" /> <param name="BTI_merge_rule" type="select" label="BTI merge rule"> <option value="UNION" selected="True">UNION</option> <option value="INTERSECTION">INTERSECTION</option> </param> <conditional name="downsampling_type"> <param name="downsampling_type_selector" type="select" label="Type of reads downsampling to employ at a given locus" help="Downsampling Type"> <option value="NONE" selected="True">NONE</option> <option value="ALL_READS">ALL_READS</option> <option value="BY_SAMPLE">BY_SAMPLE</option> </param> <when value="NONE"> <!-- no more options here --> </when> <when value="ALL_READS"> <conditional name="downsample_to_type"> <param name="downsample_to_type_selector" type="select" label="Type of reads downsampling to employ at a given locus" help="Downsampling Type"> <option value="downsample_to_fraction" selected="True">Downsample by Fraction</option> <option value="downsample_to_coverage">Downsample by Coverage</option> </param> <when value="downsample_to_fraction"> <param name="downsample_to_value" type="float" label="Fraction [0.0-1.0] of reads to downsample to" value="0.1"/> </when> <when value="downsample_to_coverage"> <param name="downsample_to_value" type="integer" label="Coverage to downsample to at any given locus" value="0"/> </when> </conditional> </when> <when value="BY_SAMPLE"> <conditional name="downsample_to_type"> <param name="downsample_to_type_selector" type="select" label="Type of reads downsampling to employ at a given locus" help="Downsampling Type"> <option value="downsample_to_fraction" selected="True">Downsample by Fraction</option> <option value="downsample_to_coverage">Downsample by Coverage</option> </param> <when value="downsample_to_fraction"> <param name="downsample_to_value" type="float" label="Fraction [0.0-1.0] of reads to downsample to" value="0.1"/> </when> <when value="downsample_to_coverage"> <param name="downsample_to_value" type="integer" label="Coverage to downsample to at any given locus" value="0"/> </when> </conditional> </when> </conditional> <param name="baq" type="select" label="Type of BAQ calculation to apply in the engine"> <option value="OFF" selected="True">OFF</option> <option value="CALCULATE_AS_NECESSARY">CALCULATE_AS_NECESSARY</option> <option value="RECALCULATE">RECALCULATE</option> </param> <param name="baq_gap_open_penalty" type="integer" label="BAQ gap open penalty (Phred Scaled)" value="40" help="Default value is 40. 30 is perhaps better for whole genome call sets."/> <param name="use_original_qualities" type="boolean" truevalue="--useOriginalQualities" falsevalue="" label="Use the original base quality scores from the OQ tag" /> <param name="default_base_qualities" type="integer" label="Value to be used for all base quality scores, when some are missing" value="-1"/> <param name="validation_strictness" type="select" label="How strict should we be with validation"> <option value="STRICT" selected="True">STRICT</option> <option value="LENIENT">LENIENT</option> <option value="SILENT">SILENT</option> </param> <param name="interval_merging" type="select" label="Interval merging rule"> <option value="ALL" selected="True">ALL</option> <option value="OVERLAPPING_ONLY">OVERLAPPING_ONLY</option> </param> <param name="read_group_black_list" type="data" format="txt" optional="True" label="Read group black list" /> </when> </conditional> <conditional name="analysis_param_type"> <param name="analysis_param_type_selector" type="select" label="Basic or Advanced Analysis options"> <option value="basic" selected="True">Basic</option> <option value="advanced">Advanced</option> </param> <when value="basic"> <!-- Do nothing here --> </when> <when value="advanced"> <param name="windowSize" type="integer" value="10" label="Window size for calculating entropy or SNP clusters (windowSize)" /> <param name="mismatchFraction" type="float" value="0.15" label="Fraction of base qualities needing to mismatch for a position to have high entropy (mismatchFraction)" help="to disable set to <= 0 or > 1"/> <param name="minReadsAtLocus" type="integer" value="4" label="Minimum reads at a locus to enable using the entropy calculation (minReadsAtLocus)" /> <param name="maxIntervalSize" type="integer" value="500" label="Maximum interval size" /> </when> </conditional> </inputs> <outputs> <data format="gatk_interval" name="output_interval" label="${tool.name} on ${on_string} (GATK intervals)" /> <data format="txt" name="output_log" label="${tool.name} on ${on_string} (log)" /> </outputs> <tests> <test> <param name="reference_source_selector" value="history" /> <param name="ref_file" value="phiX.fasta" ftype="fasta" /> <param name="input_bam" value="gatk/fake_phiX_reads_1.bam" ftype="bam" /> <param name="input_dbsnp_rod" /> <param name="rod_bind_type_selector" value="snps" /> <param name="rodToIntervalTrackName" /> <param name="input_rod" value="gatk/fake_phiX_variant_locations.bed" ftype="bed" /> <param name="gatk_param_type_selector" value="basic" /> <param name="analysis_param_type_selector" value="basic" /> <output name="output_interval" file="gatk/gatk_realigner_target_creator/gatk_realigner_target_creator_out_1.gatk_interval" /> <output name="output_log" file="gatk/gatk_realigner_target_creator/gatk_realigner_target_creator_out_1.log.contains" compare="contains"/> </test> </tests> <help> **What it does** Emits intervals for the Local Indel Realigner to target for cleaning. Ignores 454 reads, MQ0 reads, and reads with consecutive indel operators in the CIGAR string. ------ Please cite the website "http://addlink.here" as well as: Add citation here 2011. ------ **Input formats** GenomeAnalysisTK: RealignerTargetCreator accepts an aligned BAM input file. ------ **Outputs** The output is in GATK Interval format, see http://addlink.here for more details. ------- **Settings**:: windowSize window size for calculating entropy or SNP clusters mismatchFraction fraction of base qualities needing to mismatch for a position to have high entropy; to disable set to <= 0 or > 1 minReadsAtLocus minimum reads at a locus to enable using the entropy calculation maxIntervalSize maximum interval size </help> </tool>