Miscellaneous |
Version lineage of this tool (guids ordered most recent to oldest) |
toolshed.g2.bx.psu.edu/repos/iuc/bcftools_merge/bcftools_merge/1.15.1+galaxy3 (this tool) |
toolshed.g2.bx.psu.edu/repos/iuc/bcftools_merge/bcftools_merge/1.15.1+galaxy2 |
toolshed.g2.bx.psu.edu/repos/iuc/bcftools_merge/bcftools_merge/1.15.1+galaxy1 |
toolshed.g2.bx.psu.edu/repos/iuc/bcftools_merge/bcftools_merge/1.15.1+galaxy0 |
toolshed.g2.bx.psu.edu/repos/iuc/bcftools_merge/bcftools_merge/1.10 |
toolshed.g2.bx.psu.edu/repos/iuc/bcftools_merge/bcftools_merge/1.9+galaxy1 |
toolshed.g2.bx.psu.edu/repos/iuc/bcftools_merge/bcftools_merge/1.9 |
toolshed.g2.bx.psu.edu/repos/iuc/bcftools_merge/bcftools_merge/1.4.0 |
toolshed.g2.bx.psu.edu/repos/iuc/bcftools_merge/bcftools_merge/1.3.1 |
toolshed.g2.bx.psu.edu/repos/iuc/bcftools_merge/bcftools_merge/1.3.0 |
bcftools_merge |
Requirements (dependencies defined in the <requirements> tag set) |
name | version | type |
bcftools | 1.15.1 | package |
htslib | 1.15.1 | package |
Additional information about this tool |
export BCFTOOLS_PLUGINS=`which bcftools | sed 's,bin/bcftools,libexec/bcftools,'`; ## May need to symlink input if there is an associated #set $input_vcfs = [] #set $vcfs_list_file = 'vcfs_list' #for (i, input_file) in enumerate($input_files): #set $input_vcf = 'input' + str($i) + '.vcf.gz' #if $input_file.is_of_type('vcf') bgzip -c '$input_file' > $input_vcf && bcftools index $input_vcf && ##elif $input_file.is_of_type('vcf_bgzip') or $input_file.is_of_type('vcf.gz') -> REQUIRES https://github.com/galaxyproject/galaxy/pull/14605 #elif $input_file.is_of_type('vcf_bgzip') or $input_file.is_of_type('vcf.gz') ln -s '$input_file' $input_vcf && #if $input_file.metadata.tabix_index: ln -s '${input_file.metadata.tabix_index}' ${input_vcf}.tbi && #else bcftools index $input_vcf && #end if #elif $input_file.is_of_type('bcf') #set $input_vcf = 'input' + str($i) + '.bcf.gz' ln -s '$input_file' $input_vcf && #if $input_file.metadata.bcf_index: ln -s '${input_file.metadata.bcf_index}' ${input_vcf}.csi && #else bcftools index $input_vcf && #end if #end if echo '$input_vcf' >> $vcfs_list_file && $input_vcfs.append($input_vcf) #end for #set $section = $sec_restrict #set $regions_path = None #if 'regions' in $section #if $section.regions.regions_src == 'regions_file' and $section.regions.regions_file: #if $section.regions.regions_file.ext.startswith('bed'): #set $regions_path = 'regions_file.bed' ln -s '$section.regions.regions_file' $regions_path && #end if #end if #end if bcftools merge ## Header section #set $section = $sec_header ${section.print_header} #if $section.use_header: --use-header "${section.use_header}" #end if ## Merge section #set $section = $sec_merge ${section.force_samples} #if $section.info_rules: --info-rules "${section.info_rules}" #end if #if $section.merge: --merge "${section.merge}" $section.no_index #end if #set $section = $sec_restrict #if $section.apply_filters: --apply-filters '${section.apply_filters}' #end if #if $section.regions.regions_src == 'regions': #set $intervals = $section.regions.regions #set $components = [] #for $i in $intervals: #set $chrom = str($i.chrom).strip() #set $start = str($i.start).strip() #set $stop = str($i.stop).strip() #if $start or $stop: $components.append($chrom + ':' + ($start or '0') + '-' + $stop) #else: $components.append($chrom) #end if #end for #set $intervals_spec = ','.join($components) --regions '$intervals_spec' #elif $section.regions.regions_src == 'regions_file' and $section.regions.regions_file: #if $regions_path is not None: --regions-file '$regions_path' #else: --regions-file '$section.regions.regions_file' #end if #end if #if $section.regions_overlap --regions-overlap $section.regions_overlap #end if #if str($output_type) != "__none__": --output-type '${output_type}' #end if --threads \${GALAXY_SLOTS:-4} ## Primary Input/Outputs #echo ' '.join($input_vcfs)# > '$output_file'
Functional tests |
name | inputs | outputs | required files |
Test-1 |
input_files: ['merge.a.vcf', 'merge.b.vcf', 'merge.c.vcf'] sec_merge|force_samples: True output_type: v |
name: value |
merge.a.vcf merge.b.vcf merge.c.vcf value |
Test-2 |
input_files: ['merge.2.a.vcf', 'merge.2.b.vcf'] sec_merge|force_samples: True sec_merge|merge: none output_type: v |
name: value |
merge.2.a.vcf merge.2.b.vcf value |
Test-3 |
input_files: ['merge.2.a.vcf', 'merge.2.b.vcf'] sec_merge|force_samples: True sec_merge|merge: both output_type: v |
name: value |
merge.2.a.vcf merge.2.b.vcf value |
Test-4 |
input_files: ['merge.2.a.vcf', 'merge.2.b.vcf'] sec_merge|force_samples: True sec_merge|merge: all output_type: v |
name: value |
merge.2.a.vcf merge.2.b.vcf value |
Test-5 |
input_files: ['merge.3.a.vcf', 'merge.3.b.vcf'] sec_merge|force_samples: True sec_merge|info_rules: TR:sum,TA:sum,TG:sum output_type: v |
name: value |
merge.3.a.vcf merge.3.b.vcf value |
Test-6 |
input_files: ['merge.4.a.vcf', 'merge.4.b.vcf'] sec_merge|force_samples: True sec_merge|merge: id sec_merge|no_index: True output_type: v |
name: value |
merge.4.a.vcf merge.4.b.vcf value |
Test-7 |
input_files: ['merge.4.a.vcf', 'merge.4.b.vcf'] sec_restrict|regions_overlap: 1 sec_merge|force_samples: True sec_merge|merge: id output_type: v |
name: value |
merge.4.a.vcf merge.4.b.vcf value |