Repository revision
7:4805fe3d8fda

Repository 'lofreq_call'
hg clone https://toolshed.g2.bx.psu.edu/repos/iuc/lofreq_call

Call variants tool metadata
Miscellaneous
with LoFreq
lofreq_call
toolshed.g2.bx.psu.edu/repos/iuc/lofreq_call/lofreq_call/2.1.5+galaxy2
2.1.5+galaxy2
lofreq version | grep version | cut -d ' ' -f 2
True
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+galaxy2 (this tool)
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
    
None
False
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