Repository revision
12:fdbcc560c691

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

Stacks: de novo map tool metadata
Miscellaneous
the Stacks pipeline without a reference genome (denovo_map.pl)
stacks_denovomap
toolshed.g2.bx.psu.edu/repos/iuc/stacks_denovomap/stacks_denovomap/1.46.0
1.46.0
None
True
Version lineage of this tool (guids ordered most recent to oldest)
toolshed.g2.bx.psu.edu/repos/iuc/stacks_denovomap/stacks_denovomap/1.46.0 (this tool)
toolshed.g2.bx.psu.edu/repos/iuc/stacks_denovomap/stacks_denovomap/1.42.0
toolshed.g2.bx.psu.edu/repos/iuc/stacks_denovomap/stacks_denovomap/1.40.1
toolshed.g2.bx.psu.edu/repos/iuc/stacks_denovomap/stacks_denovomap/1.40.0
stacks_denovomap
Requirements (dependencies defined in the <requirements> tag set)
name version type
stacks 1.46 package
velvet 1.2.10 package
stacks_summary 1.1 package
Additional information about this tool
#from os.path import splitext
        #import re
        #def clean_ext($identifier)
            #while $identifier.endswith(('.1', '.fa', '.fq', '.fasta', '.fastq', '.gz', '.gzip', '.sam', '.bam'))
                #set $identifier = splitext($identifier)[0]
            #end while
$identifier#slurp
        #end def
        
    

        #if str( $options_usage.rad_analysis_type ) == "genetic"
            #for $input_parent in $options_usage.parent_sequences
                #if $input_parent.is_of_type('fastqsanger')
                    #set $data_path = $clean_ext($input_parent.element_identifier) + ".fq"
                #else if $input_parent.is_of_type('fastqsanger.gz')
                    #set $data_path = $clean_ext($input_parent.element_identifier) + ".fq.gz"
                #else
                    #set $data_path = $clean_ext($input_parent.element_identifier) + ".fa"
                #end if

                ln -s '${input_parent}' '${data_path}' &&
            #end for

            #for $input_progeny in $options_usage.progeny_sequences
                #if $input_progeny
                    #if $input_progeny.is_of_type('fastqsanger')
                        #set $data_path = $clean_ext($input_progeny.element_identifier) + ".fq"
                    #else if $input_progeny.is_of_type('fastqsanger.gz')
                        #set $data_path = $clean_ext($input_progeny.element_identifier) + ".fq.gz"
                    #else
                        #set $data_path = $clean_ext($input_progeny.element_identifier) + ".fa"
                    #end if

                    ln -s '${input_progeny}' '${data_path}' &&
                #end if
            #end for
        #else
            #for $input_indiv in $options_usage.individual_sample

                #if $input_indiv.is_of_type('fastqsanger')
                    #set $data_path = $clean_ext($input_indiv.element_identifier) + ".fq"
                #else if $input_indiv.is_of_type('fastqsanger.gz')
                    #set $data_path = $clean_ext($input_indiv.element_identifier) + ".fq.gz"
                #else
                    #set $data_path = $clean_ext($input_indiv.element_identifier) + ".fa"
                #end if

                ln -s '${input_indiv}' '${data_path}' &&
            #end for
        #end if

        mkdir stacks_outputs

        &&

        denovo_map.pl

            -T \${GALAXY_SLOTS:-1}

            #if str( $options_usage.rad_analysis_type ) == "genetic"
                #for $input_parent in $options_usage.parent_sequences
                    #if $input_parent.is_of_type('fastqsanger')
                        #set $data_path = $clean_ext($input_parent.element_identifier) + ".fq"
                    #else if $input_parent.is_of_type('fastqsanger.gz')
                        #set $data_path = $clean_ext($input_parent.element_identifier) + ".fq.gz"
                    #else
                        #set $data_path = $clean_ext($input_parent.element_identifier) + ".fa"
                    #end if

                    -p '${data_path}'
                #end for

                -A $options_usage.cross_type

                #for $input_progeny in $options_usage.progeny_sequences
                    #if $input_progeny
                        #if $input_progeny.is_of_type('fastqsanger')
                            #set $data_path = $clean_ext($input_progeny.element_identifier) + ".fq"
                        #else if $input_progeny.is_of_type('fastqsanger.gz')
                            #set $data_path = $clean_ext($input_progeny.element_identifier) + ".fq.gz"
                        #else
                            #set $data_path = $clean_ext($input_progeny.element_identifier) + ".fa"
                        #end if

                        -r '${data_path}'
                    #end if
                #end for

                #if str($assembly_options.P)
                    -P $assembly_options.P
                #end if
            #else
                #for $i_indiv, $input_indiv in enumerate($options_usage.individual_sample)

                    #if $input_indiv.is_of_type('fastqsanger')
                        #set $data_path = $clean_ext($input_indiv.element_identifier) + ".fq"
                    #else if $input_indiv.is_of_type('fastqsanger.gz')
                        #set $data_path = $clean_ext($input_indiv.element_identifier) + ".fq.gz"
                    #else
                        #set $data_path = $clean_ext($input_indiv.element_identifier) + ".fa"
                    #end if

                    -s '${data_path}'
                #end for
                -O '$options_usage.popmap'
            #end if

            #if str($assembly_options.m)
                -m $assembly_options.m
            #end if
            #if str($assembly_options.N)
                -N $assembly_options.N
            #end if
            -M $assembly_options.M
            -n $assembly_options.n
            $assembly_options.t
            $assembly_options.H

            ## Batch description
            -b 1

            ## No SQL recording
            -S

            ## snp_model
            #if str( $snp_options.select_model.model_type) == "bounded"
                --bound_low $snp_options.select_model.bound_low
                --bound_high $snp_options.select_model.bound_high
                --alpha $snp_options.select_model.alpha
            #else if str( $snp_options.select_model.model_type) == "snp"
                --alpha $snp_options.select_model.alpha
            #end if

            -o stacks_outputs

            #if str( $options_usage.rad_analysis_type ) == "genetic"
                
        
        ## We need to do this as the output file names contains the value of an option (min progeny)
        &&
        cd stacks_outputs/ &&
        ln -s batch_1.haplotypes_1.tsv batch_1.haplotypes.tsv &&
        ln -s batch_1.genotypes_*.loc batch_1.genotypes.loc &&
        ln -s batch_1.genotypes_1.txt batch_1.genotypes.txt &&
        ln -s batch_1.genotypes_1.tsv batch_1.genotypes.tsv &&
        cd ..
        
    
            #end if

           ## If input is in gz format, stacks will output gzipped files (no option to control this)
           && if ls stacks_outputs/*.gz > /dev/null 2>&1; then gunzip stacks_outputs/*.gz; fi

            &&

            stacks_summary.py --stacks-prog denovo_map.pl --res-dir stacks_outputs --logfile stacks_outputs/denovo_map.log --summary stacks_outputs/summary.html
            #if str( $options_usage.rad_analysis_type ) == "population"
                --pop-map '$options_usage.popmap'
            #end if
    
None
False
Functional tests
name inputs outputs required files
Test-1 options_usage|parent_sequences: demultiplexed/PopA_01.1.fq
options_usage|rad_analysis_type: genetic
name: value
name: value
name: value
name: value
name: value
name: value
name: value
name: value
name: value
demultiplexed/PopA_01.1.fq
value
Test-2 options_usage|parent_sequences: demultiplexed/PopA_01.1.fq
options_usage|progeny_sequences: demultiplexed/PopA_02.1.fq
options_usage|rad_analysis_type: genetic
name: value
name: value
name: value
name: value
name: value
name: value
name: value
name: value
name: value
demultiplexed/PopA_01.1.fq
demultiplexed/PopA_02.1.fq
value
Test-3 options_usage|individual_sample: ['demultiplexed/PopA_01.1.fq', 'demultiplexed/PopA_02.1.fq', 'demultiplexed/PopA_03.1.fq', 'demultiplexed/PopA_04.1.fq', 'demultiplexed/PopB_01.1.fq', 'demultiplexed/PopB_02.1.fq', 'demultiplexed/PopB_03.1.fq', 'demultiplexed/PopB_04.1.fq']
options_usage|popmap: denovo_map/popmap.tsv
options_usage|rad_analysis_type: population
name: value
name: value
name: value
name: value
name: value
name: value
name: value
name: value
name: value
name: value
demultiplexed/PopA_01.1.fq
demultiplexed/PopA_02.1.fq
demultiplexed/PopA_03.1.fq
demultiplexed/PopA_04.1.fq
demultiplexed/PopB_01.1.fq
demultiplexed/PopB_02.1.fq
demultiplexed/PopB_03.1.fq
demultiplexed/PopB_04.1.fq
denovo_map/popmap.tsv
value
Test-4 options_usage|parent_sequences: demultiplexed/PopA_01.1.fq.gzip
options_usage|rad_analysis_type: genetic
name: value
name: value
name: value
name: value
name: value
name: value
name: value
name: value
name: value
demultiplexed/PopA_01.1.fq.gzip
value