Repository revision
17:f3759eec3018

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

UMI-tools extract tool metadata
Miscellaneous
Extract UMI from fastq files
umi_tools_extract
toolshed.g2.bx.psu.edu/repos/iuc/umi_tools_extract/umi_tools_extract/1.1.2+galaxy2
1.1.2+galaxy2
None
True
Version lineage of this tool (guids ordered most recent to oldest)
toolshed.g2.bx.psu.edu/repos/iuc/umi_tools_extract/umi_tools_extract/1.1.2+galaxy2 (this tool)
toolshed.g2.bx.psu.edu/repos/iuc/umi_tools_extract/umi_tools_extract/1.1.2+galaxy1
toolshed.g2.bx.psu.edu/repos/iuc/umi_tools_extract/umi_tools_extract/1.1.2+galaxy0
toolshed.g2.bx.psu.edu/repos/iuc/umi_tools_extract/umi_tools_extract/0.5.5.2
toolshed.g2.bx.psu.edu/repos/iuc/umi_tools_extract/umi_tools_extract/0.5.5.1
toolshed.g2.bx.psu.edu/repos/iuc/umi_tools_extract/umi_tools_extract/0.5.5.0
toolshed.g2.bx.psu.edu/repos/iuc/umi_tools_extract/umi_tools_extract/0.5.3.2
toolshed.g2.bx.psu.edu/repos/iuc/umi_tools_extract/umi_tools_extract/0.5.3.1
toolshed.g2.bx.psu.edu/repos/iuc/umi_tools_extract/umi_tools_extract/0.5.3.0
toolshed.g2.bx.psu.edu/repos/iuc/umi_tools_extract/umi_tools_extract/0.5.0.0
toolshed.g2.bx.psu.edu/repos/iuc/umi_tools_extract/umi_tools_extract/0.4.4.0
umi_tools_extract
Requirements (dependencies defined in the <requirements> tag set)
name version type
umi_tools 1.1.2 package
Additional information about this tool
#set $gz = False
        #if $input_type_cond.input_type == 'single':
            #if $input_type_cond.input_read1.is_of_type("fastq.gz", "fastqsanger.gz"):
                ln -s '$input_type_cond.input_read1' input_single.gz &&
                #set $gz = True
            #else
                ln -s '$input_type_cond.input_read1' input_single.txt &&
            #end if
        #elif $input_type_cond.input_type == 'paired':
            #if $input_type_cond.input_read1.is_of_type("fastq.gz", "fastqsanger.gz"):
                ln -s '$input_type_cond.input_read1' input_read1.gz &&
                ln -s '$input_type_cond.input_read2' input_read2.gz &&
                #set $gz = True
            #else
                ln -s '$input_type_cond.input_read1' input_read1.txt &&
                ln -s '$input_type_cond.input_read2' input_read2.txt &&
            #end if
        #else  ## paired_collection
            #if $input_type_cond.input_readpair.forward.is_of_type("fastq.gz", "fastqsanger.gz"):
                ln -s '$input_type_cond.input_readpair.forward' input_read1.gz &&
                ln -s '$input_type_cond.input_readpair.reverse' input_read2.gz &&
                #set $gz = True
            #else
                ln -s '$input_type_cond.input_readpair.forward' input_read1.txt &&
                ln -s '$input_type_cond.input_readpair.reverse' input_read2.txt &&
            #end if
        #end if
    

    umi_tools extract
        
        
        ## fastq barcode extraction options:
        --extract-method='$extract_method_cond.extract_method'
        --bc-pattern='$input_type_cond.bc_pattern'
        #if $input_type_cond.input_type != 'single' and $input_type_cond.bc_pattern2 != ''
            --bc-pattern2='$input_type_cond.bc_pattern2'
        #end if
        #if $extract_method_cond.extract_method == 'string'
            $extract_method_cond.prime3
        #else if $extract_method_cond.filtered_out_bool
            #if $input_type_cond.input_type == 'single':
                --filtered-out='$filtered_out'
            #else if $input_type_cond.input_type == 'paired':
                --filtered-out='$filtered_out'
                --filtered-out2='$filtered_out_paired'
            #else
                --filtered-out='$filtered_out_paired_collection.forward'
                --filtered-out2='$filtered_out_paired_collection.reverse'
            #end if
        #end if
        $ignore_read_pair_suffixes
    
        #if $input_type_cond.input_type == 'single':
            #if $gz:
                --stdin=input_single.gz
                --stdout out.gz
            #else
                --stdin=input_single.txt
                --stdout '$out'
            #end if
        #else:
            #if $gz:
                --stdin=input_read1.gz
                --read2-in=input_read2.gz
                --stdout out1.gz
                --read2-out=out2.gz
            #else:
                --stdin=input_read1.txt
                --read2-in=input_read2.txt
                #if $input_type_cond.input_type == 'paired'
                    --stdout '$out'
                    --read2-out='$out2'
                #else
                    --stdout '$out_paired_collection.forward'
                    --read2-out='$out_paired_collection.reverse'
                #end if
            #end if
            $input_type_cond.reconcile_pairs
        #end if

        #if $whitelist
            --whitelist='$whitelist'
        #end if
        #if $blacklist
            --blacklist='$blacklist'
        #end if
        $error_correct_cell.value

        #if $quality.quality_selector =='true':
            #if str($quality.quality_filter_threshold) != ''
                --quality-filter-threshold '$quality.quality_filter_threshold'
            #end if
            #if str($quality.quality_filter_mask) != ''
                --quality-filter-mask '$quality.quality_filter_mask'
            #end if
            #if $input_type_cond.input_type != 'paired_collection'
                #set input=$input_type_cond.input_read1
            #else
                #set input=$input_type_cond.input_readpair.forward
            #end if
            --quality-encoding
            #if $input.ext.startswith("fastqillumina")
                phred64
            #else if $input.ext.startswith("fastqsolexa")
                solexa
            #else
                phred33
            #end if
        #end if
        
        #if $log:
            --log='$out_log'
        #end if
        --log2stderr
    
        #if $gz:
            #if $input_type_cond.input_type == 'single':
                && mv out.gz '$out'
            #else if $input_type_cond.input_type == 'paired' 
                && mv out1.gz '$out'
                && mv out2.gz '$out2'
            #else
                && mv out1.gz '$out_paired_collection.forward'
                && mv out2.gz '$out_paired_collection.reverse'
            #end if
        #end if
    
None
False
Functional tests
name inputs outputs required files
Test-1 input_type_cond|input_read1: t_R1.fastq
input_type_cond|bc_pattern: XXXNNN
input_type_cond|input_type: single
extract_method_cond|prime3: True
quality|quality_filter_threshold: 10
quality|quality_selector: true
log: True
name: value
name: value
t_R1.fastq
value
Test-2 input_type_cond|input_read1: t_R1.fastq.gz
input_type_cond|input_read2: t_R2.fastq.gz
input_type_cond|bc_pattern: NNNXXX
input_type_cond|input_type: paired
log: True
name: value
name: value
name: value
t_R1.fastq.gz
t_R2.fastq.gz
value
Test-3 input_type_cond|input_readpair: paired collection
input_type_cond|bc_pattern: NNNXXX
input_type_cond|input_type: paired_collection
log: True
name: value
t_R1.fastq
t_R2.fastq
value
Test-4 input_type_cond|input_read1: scrb_seq_fastq.1.gz
input_type_cond|input_read2: scrb_seq_fastq.2.gz
input_type_cond|bc_pattern: CCCCCCNNNNNNNNNN
input_type_cond|input_type: paired
extract_method_cond|extract_method: string
whitelist: scrb_seq_barcodes
log: True
name: value
scrb_seq_fastq.1.gz
scrb_seq_fastq.2.gz
scrb_seq_barcodes
value
Test-5 input_type_cond|input_read1: scrb_seq_fastq.1.gz
input_type_cond|input_read2: scrb_seq_fastq.2.gz
input_type_cond|bc_pattern: ^(?P<cell_1>.{6})(?P<umi_1>.{10})
input_type_cond|input_type: paired
extract_method_cond|extract_method: regex
whitelist: scrb_seq_barcodes
log: True
name: value
scrb_seq_fastq.1.gz
scrb_seq_fastq.2.gz
scrb_seq_barcodes
value
Test-6 input_type_cond|input_read1: read_R1.200.gz
input_type_cond|input_read2: read_R2.200.gz
input_type_cond|bc_pattern: NNNNNNCCCCCC
input_type_cond|input_type: paired
extract_method_cond|extract_method: string
name: value
name: value
read_R1.200.gz
read_R2.200.gz
value