- perform local realignmentgatk_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 "IndelRealigner"
##-quiet ##this appears to have no effect...confirmed by gatk programmers
-o "${output_bam}"
-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
-LOD "${lod_threshold}"
${knowns_only}
'
#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
-d "-targetIntervals" "${target_intervals}" "${target_intervals.ext}" "gatk_target_intervals"
-p '
-targetNotSorted ##always resort input intervals
--disable_bam_indexing
'
#if $analysis_param_type.analysis_param_type_selector == "advanced":
-p '
--entropyThreshold "${analysis_param_type.entropy_threshold}"
${analysis_param_type.simplify_bam}
--maxIsizeForMovement "${analysis_param_type.max_insert_size_for_movement}"
--maxPositionalMoveAllowed "${analysis_param_type.max_positional_move_allowed}"
--maxConsensuses "${analysis_param_type.max_consensuses}"
--maxReadsForConsensuses "${analysis_param_type.max_reads_for_consensuses}"
--maxReadsForRealignment "${analysis_param_type.max_reads_for_realignment}"
"${analysis_param_type.no_original_alignment_tags}"
'
#end if
**What it does**
Performs local realignment of reads based on misalignments due to the presence of indels. Unlike most mappers, this
walker uses the full alignment context to determine whether an appropriate alternate reference (i.e. indel) exists
and updates SAMRecords accordingly.
------
Please cite the website "http://addlink.here" as well as:
Add citation here 2011.
------
**Input formats**
GenomeAnalysisTK: IndelRealigner accepts an aligned BAM and a list of intervals to realign as input files.
------
**Outputs**
The output is in the BAM format, see http://addlink.here for more details.
-------
**Settings**::
targetIntervals intervals file output from RealignerTargetCreator
LODThresholdForCleaning LOD threshold above which the cleaner will clean
entropyThreshold percentage of mismatches at a locus to be considered having high entropy
out Output bam
bam_compression Compression level to use for writing BAM files
disable_bam_indexing Turn off on-the-fly creation of indices for output BAM files.
simplifyBAM If provided, output BAM files will be simplified to include just key reads for downstream variation discovery analyses (removing duplicates, PF-, non-primary reads), as well stripping all extended tags from the kept reads except the read group identifier
useOnlyKnownIndels Don't run 'Smith-Waterman' to generate alternate consenses; use only known indels provided as RODs for constructing the alternate references.
maxReadsInMemory max reads allowed to be kept in memory at a time by the SAMFileWriter. Keep it low to minimize memory consumption (but the tool may skip realignment on regions with too much coverage. If it is too low, it may generate errors during realignment); keep it high to maximize realignment (but make sure to give Java enough memory).
maxIsizeForMovement maximum insert size of read pairs that we attempt to realign
maxPositionalMoveAllowed maximum positional move in basepairs that a read can be adjusted during realignment
maxConsensuses max alternate consensuses to try (necessary to improve performance in deep coverage)
maxReadsForConsensuses max reads used for finding the alternate consensuses (necessary to improve performance in deep coverage)
maxReadsForRealignment max reads allowed at an interval for realignment; if this value is exceeded, realignment is not attempted and the reads are passed to the output file(s) as-is
noOriginalAlignmentTags Don't output the original cigar or alignment start tags for each realigned read in the output bam.
targetIntervalsAreNotSorted This tool assumes that the target interval list is sorted; if the list turns out to be unsorted, it will throw an exception. Use this argument when your interval list is not sorted to instruct the Realigner to first sort it in memory.