Repository revision
13:cf25b50eff0a

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

UMI-tools group tool metadata
Miscellaneous
Extract UMI from fastq files
umi_tools_group
toolshed.g2.bx.psu.edu/repos/iuc/umi_tools_group/umi_tools_group/1.1.2+galaxy0
1.1.2+galaxy0
None
True
Version lineage of this tool (guids ordered most recent to oldest)
toolshed.g2.bx.psu.edu/repos/iuc/umi_tools_group/umi_tools_group/1.1.2+galaxy1
toolshed.g2.bx.psu.edu/repos/iuc/umi_tools_group/umi_tools_group/1.1.2+galaxy0 (this tool)
toolshed.g2.bx.psu.edu/repos/iuc/umi_tools_group/umi_tools_group/0.5.5.0
toolshed.g2.bx.psu.edu/repos/iuc/umi_tools_group/umi_tools_group/0.5.3.0
toolshed.g2.bx.psu.edu/repos/iuc/umi_tools_group/umi_tools_group/0.5.0.0
umi_tools_group
Requirements (dependencies defined in the <requirements> tag set)
name version type
umi_tools 1.1.2 package
samtools 1.12 package
Additional information about this tool
#if $input.is_of_type("sam"):
            ## TODO dedup has problems with SAM input in some cases
            ## https://github.com/CGATOxford/UMI-tools/issues/483
            ## so convert it to sorted BAM for now
            ## #set $input_file = $input
            samtools sort --no-PG '$input' > 'input.bam' &&
            samtools index -b 'input.bam' &&
            #set $input_file = 'input.bam'
        #else:
            ln -sf '${input}' 'input.bam' &&
            ln -sf '$input.metadata.bam_index' 'input.bam.bai' &&
            #set $input_file = 'input.bam'
        #end if
    

        umi_tools group
            #if $group_output:
                --group-out '$group_out'
            #end if
            --output-bam
            
        $gd.buffer_whole_contig
        $gd.whole_contig
        $gd.multimapping_detection_method
    
            
        --extract-umi-method $bc.extract_umi_method
        #if str($bc.extract_umi_method) == 'read_id':
            --umi-separator '$bc.umi_separator'
        #else if str($bc.extract_umi_method) == 'tag':
            --umi-tag '$bc.umi_tag'
            #if $bc.umi_tag_split != ''
                --umi-tag-split '$bc.umi_tag_split'
            #end if
            #if $bc.umi_tag_delimiter != ''
                --umi-tag-delimiter '$bc.umi_tag_delimiter'
            #end if
            --cell-tag '$bc.cell_tag'
            #if $bc.cell_tag_split != ''
                --cell-tag-split '$bc.cell_tag_split'
            #end if
            #if $bc.cell_tag_delimiter != ''
                --cell-tag-delimiter '$bc.cell_tag_delimiter'
            #end if
        #end if
    
            
        --method $umi.method
        --edit-distance-threshold $umi.edit_distance_threshold
        $umi.spliced_is_unique
        --soft-clip-threshold $umi.soft_clip_threshold
        $umi.read_length
    
            
        --mapping-quality $sambam.mapping_quality
        --unmapped-reads $sambam.unmapped_reads
        #if $sambam.chimeric_pairs
            --chimeric-pairs $sambam.chimeric_pairs
        #end if
        #if $sambam.unpaired_reads
            --unpaired-reads $sambam.unpaired_reads
        #end if
        $sambam.ignore_umi
        $sambam.ignore_tlen
        #if str($sambam.chrom) != ''
            --chrom '$sambam.chrom'
        #end if
        --subset $sambam.subset
        $sambam.paired
        
        ## TODO see comment in LINK_SAM_BAM_INPUT
        ## #if $input.is_of_type("sam"):
        ##     --in-sam
        ## #end if
    
    
            
            $sc.per_gene
            
            #if str($sc.gene_tag) != "":
                --gene-tag '$sc.gene_tag'
            #end if
            #if str($sc.assigned_status_tag) != "":
                --assigned-status-tag '$sc.assigned_status_tag'
            #end if
            #if str($sc.skip_tags_regex) != "":
                --skip-tags-regex '$sc.skip_tags_regex'
            #end if
            $sc.per_contig
            #if $sc.gene_transcript_map:
                --gene-transcript-map '$sc.gene_transcript_map'
            #end if
            $sc.per_cell
    
    
            -I '$input_file' -S grouped.bam
            
        #if str($advanced.random_seed) != ''
            --random-seed='$advanced.random_seed'
        #end if
    
            
        #if $log:
            --log='$out_log'
        #end if
        --log2stderr
    
            ## TODO using samtools sort is a workaround, for the following error that appears when Galaxy
            ## compares the generated file with the one in test-data
            ## `Converting history BAM to SAM failed: 'samtools returned with error 1: stdout=None, stderr=[main_samview] fail to read the header from "/tmp/tmpd8o61jykdedup_out6.bam".\n'. Will compare BAM files`
            ## may be dropped in the future
            --no-sort-output
            && samtools sort --no-PG grouped.bam -@ \${GALAXY_SLOTS:-1} -T "\${TMPDIR:-.}" -o '$output' -O BAM
    
None
False
Functional tests
name inputs outputs required files
Test-1 input: group_in2.sam
bc|extract_umi_method: read_id
umi|method: unique
sambam|paired: True
advanced|random_seed: 0
name: value
group_in2.sam
value
Test-2 input: group_in3.bam
group_output: True
bc|extract_umi_method: read_id
umi|method: unique
advanced|random_seed: 0
name: value
name: value
group_in3.bam
value
Test-3 input: group_in4.bam
group_output: True
bc|umi_tag: BX
bc|extract_umi_method: tag
umi|method: unique
advanced|random_seed: 0
name: value
name: value
group_in4.bam
value
Test-4 input: group_in5.bam
bc|extract_umi_method: read_id
umi|method: cluster
advanced|random_seed: 0
name: value
group_in5.bam
value
Test-5 input: group_in6.bam
bc|extract_umi_method: read_id
umi|method: directional
advanced|random_seed: 0
name: value
group_in6.bam
value