| Miscellaneous |
| Version lineage of this tool (guids ordered most recent to oldest) |
| toolshed.g2.bx.psu.edu/repos/iuc/lofreq_call/lofreq_call/2.1.5+galaxy3 (this tool) |
| toolshed.g2.bx.psu.edu/repos/iuc/lofreq_call/lofreq_call/2.1.5+galaxy2 |
| toolshed.g2.bx.psu.edu/repos/iuc/lofreq_call/lofreq_call/2.1.5+galaxy1 |
| toolshed.g2.bx.psu.edu/repos/iuc/lofreq_call/lofreq_call/2.1.5+galaxy0 |
| toolshed.g2.bx.psu.edu/repos/iuc/lofreq_call/lofreq_call/2.1.4+galaxy2 |
| toolshed.g2.bx.psu.edu/repos/iuc/lofreq_call/lofreq_call/2.1.3.1+galaxy2 |
| toolshed.g2.bx.psu.edu/repos/iuc/lofreq_call/lofreq_call/2.1.3.1+galaxy1 |
| toolshed.g2.bx.psu.edu/repos/iuc/lofreq_call/lofreq_call/2.1.3.1+galaxy0 |
| lofreq_call |
| Requirements (dependencies defined in the <requirements> tag set) |
| name | version | type |
| lofreq | 2.1.5 | package |
| Additional information about this tool |
## prepare reference genome and mapped reads input
#if str($reference_source.ref_selector) == 'history':
#set $reference_fasta_fn = 'reference.fa'
ln -s '$reference_source.ref' $reference_fasta_fn &&
lofreq faidx $reference_fasta_fn 2>&1 || echo "Error running samtools faidx for indexing fasta reference for lofreq" >&2 &&
#else
#set $reference_fasta_fn = str($reference_source.ref.fields.path)
#end if
ln -s '$reads' reads.bam &&
ln -s -f '${reads.metadata.bam_index}' reads.bam.bai &&
#if str($call_control.set_call_options) == 'yes':
#set $ign_vcfs = []
#if str($call_control.source_qual.use_src_qual.src_qual):
#for $n, $ign_vcf in enumerate($call_control.source_qual.use_src_qual.ign_vcf):
## lofreq recognizes compressed vcf input based on its .gz
## suffix => symlink all datasets with standard extensions.
## For bgzipped vcfs, also make the index files available.
#if $ign_vcf:
#if $ign_vcf.is_of_type('vcf_bgzip'):
#set $ign_src = 'ign%d.vcf.gz' % $n
ln -s '$ign_vcf' $ign_src &&
ln -s '$ign_vcf.metadata.tabix_index' ${ign_src}.tbi &&
#else:
#set $ign_src = 'ign%d.vcf' % $n
ln -s '$ign_vcf' $ign_src &&
#end if
#silent $ign_vcfs.append($ign_src)
#end if
#end for
#end if
#set $ign_vcfs = ','.join($ign_vcfs)
#end if
## call variants with lofreq
lofreq call-parallel --pp-threads \${GALAXY_SLOTS:-1} --verbose
--ref '$reference_fasta_fn' --out variants.vcf $variant_types
#if str($regions.restrict_to_region) == 'regions_from_file':
--bed '$regions.bed'
#end if
#if str($call_control.set_call_options) == 'yes':
--min-cov $call_control.coverage.min_cov
--max-depth $call_control.coverage.max_depth
$call_control.pe.use_orphan
--min-bq $call_control.bc_quals.min_bq
#if $call_control.bc_quals.min_alt_bq > $call_control.bc_quals.min_bq:
--min-alt-bq $call_control.bc_quals.min_alt_bq
#else:
--min-alt-bq $call_control.bc_quals.min_bq
#end if
#if str($call_control.bc_quals.alt_bq.modify):
--def-alt-bq $call_control.bc_quals.alt_bq.def_alt_bq
#end if
${call_control.align_quals.alnqual.use_alnqual}
#if str($call_control.align_quals.alnqual.use_alnqual) != '-A -B':
${call_control.align_quals.alnqual.alnqual_choice.alnquals_to_use}
${call_control.align_quals.alnqual.alnqual_choice.extended_baq}
#end if
--min-mq $call_control.map_quals.min_mq
#if str($call_control.map_quals.use_mq.no_mq):
$call_control.map_quals.use_mq.no_mq
#else:
#if $call_control.map_quals.use_mq.max_mq > $call_control.map_quals.min_mq:
--max-mq $call_control.map_quals.use_mq.max_mq
#else:
--max-mq $call_control.map_quals.min_mq
#end if
#end if
#if str($call_control.source_qual.use_src_qual.src_qual):
$call_control.source_qual.use_src_qual.src_qual
#if $ign_vcfs:
--ign-vcf '$ign_vcfs'
#end if
--def-nm-q $call_control.source_qual.use_src_qual.def_nm_q
#end if
--min-jq $call_control.joint_qual.min_jq
--min-alt-jq $call_control.joint_qual.min_alt_jq
--def-alt-jq $call_control.joint_qual.def_alt_jq
#end if
--sig $filter_control.sig
#set $bonf_factor = $filter_control.bonf or 'dynamic'
--bonf $bonf_factor
$filter_control.others
reads.bam 2>&1
## in case of errors add the log files produced
## by the parallel workers to stderr
|| (tool_exit_code=\$? && cat "\$TMPDIR"/lofreq2_call_parallel*/*.log 1>&2 && exit \$tool_exit_code)
## work around a bug in lofreq call-parallel
## https://github.com/CSB5/lofreq/issues/85
## that causes the output format to be vcf.gz with certain filter
## combinations. Issue is closed but still not fixed.
#if str($bonf_factor) != 'dynamic':
#if '--no-default-filter' in str($filter_control.others):
&& ln -s variants.vcf variants.vcf.gz
&& gzip -df variants.vcf.gz
#end if
#end if
&& echo $filter_control.filter_type
| Functional tests |
| name | inputs | outputs | required files |
| Test-1 |
reads: lofreq-in1.bam reference_source|ref: pBR322.fa reference_source|ref_selector: history |
name: value |
lofreq-in1.bam pBR322.fa value |
| Test-2 |
reads: lofreq-in1.bam reference_source|ref: pBR322.fa reference_source|ref_selector: history call_control|set_call_options: yes |
name: value |
lofreq-in1.bam pBR322.fa value |
| Test-3 |
reads: lofreq-in1.bam reference_source|ref: pBR322.fa reference_source|ref_selector: history call_control|source_qual|use_src_qual|def_nm_q: 40 call_control|source_qual|use_src_qual|ign_vcf: call-out1.vcf call_control|source_qual|use_src_qual|src_qual: --src-qual call_control|set_call_options: yes |
name: value |
lofreq-in1.bam pBR322.fa call-out1.vcf value |
| Test-4 |
reads: lofreq-in1.bam reference_source|ref: pBR322.fa reference_source|ref_selector: history filter_control|filter_type: set_all_off |
name: value |
lofreq-in1.bam pBR322.fa value |
| Test-5 |
reads: indelqual-out3.bam reference_source|ref: pBR322.fa reference_source|ref_selector: history variant_types: --call-indels --only-indels filter_control|filter_type: set_all_off |
name: value |
indelqual-out3.bam pBR322.fa value |