Repository revision
27:9a776b080193

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

Download and Extract Reads in FASTQ tool metadata
Miscellaneous
format from NCBI SRA
fastq_dump
toolshed.g2.bx.psu.edu/repos/iuc/sra_tools/fastq_dump/3.0.0+galaxy0
3.0.0+galaxy0
fastq-dump --version | tr -d $'\n'
True
Version lineage of this tool (guids ordered most recent to oldest)
toolshed.g2.bx.psu.edu/repos/iuc/sra_tools/fastq_dump/3.0.0+galaxy0 (this tool)
toolshed.g2.bx.psu.edu/repos/iuc/sra_tools/fastq_dump/1.2.5
fastq_dump
Requirements (dependencies defined in the <requirements> tag set)
name version type
sra-tools 3.0.0 package
pigz 2.6 package
samtools 1.16.1 package
Additional information about this tool
mkdir -p ~/.ncbi &&
        cp '$user_settings_mkfg' ~/.ncbi/user-settings.mkfg &&
        vdb-config -s "/repository/user/main/public/root=\$PWD" &&
        vdb-config -s "/repository/user/ad/public/root=\$PWD" &&
        vdb-config -s "/repository/user/default-path=\$PWD" &&
        vdb-config -s "/repository/user/main/public/root=\$PWD" &&
        vdb-config -s /http/timeout/read=10000 &&
    
    
        #if $input.input_select == "sra_file":
            acc='${input.sra_file.name}' &&
            ln -s '${input.sra_file}' "\$acc" &&
        #else    
            #if $input.input_select == "file_list":
                #if $input.file_list.is_of_type('sra_manifest.tabular'):
                    #set $column = $input.file_list.unsanitized.metadata.column_names.index('Run') + 1
                    cut -f $column '$input.file_list'| tail -n +2 > accessions &&
                #else
                    
        grep '^[[:space:]]*[E|S|D]RR[0-9]\{1,\}[[:space:]]*$'
     '$input.file_list' > accessions &&
                #end if
            #elif $input.input_select == "accession_number":
                echo '${input.accession}' | sed -r 's/(\,|\;|__cn__)/\n/g' > accessions &&
            #end if
            for acc in \$(cat ./accessions);
            do (
                echo "Downloading accession: \$acc..." &&
        #end if  
    

    #if $input.input_select == "sra_file":
        fastq-dump --log-level fatal --accession '${input.file.name}'
    #else:
        ## Do not use prefetch if region is specified, to avoid downloading
        ## the complete sra file.
        #if ( str( $adv.region ) == "" ) and ( str( $adv.minID ) == "" ) and ( str( $adv.maxID ) == "" ):
            prefetch -X 200000000 "\$acc" &&
        #end if
        fastq-dump --accession "\$acc"
        --split-files
    #end if
    --defline-seq '@\$sn[_\$rn]/\$ri'
    --defline-qual '+'

    $adv.split
    #if str( $adv.alignments ) == "aligned":
        --aligned
    #end if
    #if str( $adv.alignments ) == "unaligned":
        --unaligned
    #end if
    #if str( $adv.minID ) != "":
        --minSpotId "$adv.minID"
    #end if
    #if str( $adv.maxID ) != "":
        --maxSpotId "$adv.maxID"
    #end if
    #if str( $adv.minlen ) != "":
        --minReadLen "$adv.minlen"
    #end if
    #if str( $adv.readfilter ) != "":
        --read-filter "$adv.readfilter"
    #end if
    #if str( $adv.region ) != "":
        --aligned-region "$adv.region"
    #end if
    #if str( $adv.spotgroups ) != "":
        --spot-groups "$adv.spotgroups"
    #end if
    #if str( $adv.matepairDist ) != "":
        --matepair-distance "$adv.matepairDist"
    #end if
    $adv.clip
    $adv.skip_technical

    #if str( $outputformat ) == "fastqsanger.gz":
        --gzip
    #elif str( $outputformat ) == "fastqsanger.bz2":   
        --bzip2
    #end if

    #if str($adv.table) != "":
        --table $adv.table
    #end if
    ;
    
    mkdir -p output &&
    data=(\$(ls ./*.fast*));
    if [ \${\#data[@]} -eq 2 ]; then
        mv "\${data[0]}" output/"\${data[0]}"_forward.$outputformat;
        mv "\${data[1]}" output/"\${data[1]}"_reverse.$outputformat;
    elif [ \${\#data[@]} -eq 1 ]; then
        mv "\${data[0]}" output/"\${data[0]}"__single.$outputformat;
    fi;
    
    #if $input.input_select != "sra_file":
        ); done;
    #end if
    echo "Done with all accessions."
    
    
None
False
Functional tests
name inputs outputs required files
Test-1 input|accession: SRR044777
input|input_select: accession_number
outputformat: fastqsanger
adv|skip_technical: True
Test-2 input|accession: SRR925743
input|input_select: accession_number
outputformat: fastqsanger.gz
adv|maxID: 5
Test-3 input|accession: SRR925743
input|input_select: accession_number
outputformat: fastqsanger
adv|maxID: 5
Test-4 input|file_list: list_pe
input|input_select: file_list
outputformat: fastqsanger
adv|maxID: 5
list_pe
Test-5 input|file_list: list_pe2
input|input_select: file_list
outputformat: fastqsanger
adv|maxID: 5
list_pe2
Test-6 input|file_list: list_se
input|input_select: file_list
outputformat: fastqsanger
adv|maxID: 5
list_se
Test-7 input|accession: SRR6982805
input|input_select: accession_number
outputformat: fastqsanger.gz
adv|maxID: 2
adv|table: SEQUENCE
Test-8 input|accession: ERR086330, SRR11953971
input|input_select: accession_number
outputformat: fastqsanger.gz