Mercurial > repos > iuc > bamtools_split_ref
comparison bamtools_split_ref.xml @ 1:9dbf707bebb0 draft
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/main/tool_collections/bamtools/bamtools_split_ref commit a14db40361bcb2ee608bccd9222e1654aaea3324-dirty
| author | iuc |
|---|---|
| date | Wed, 11 Jan 2023 12:03:53 +0000 |
| parents | 09470ab960f1 |
| children | 9b520009db81 |
comparison
equal
deleted
inserted
replaced
| 0:09470ab960f1 | 1:9dbf707bebb0 |
|---|---|
| 1 <tool id="bamtools_split_ref" name="Split BAM by Reference" version="@TOOL_VERSION@+galaxy@VERSION_SUFFIX@"> | 1 <tool id="bamtools_split_ref" name="Split BAM by Reference" version="@TOOL_VERSION@+galaxy@VERSION_SUFFIX@" profile="20.09"> |
| 2 <description>into dataset list collection</description> | 2 <description>into dataset list collection</description> |
| 3 <macros> | 3 <macros> |
| 4 <import>macros.xml</import> | 4 <import>macros.xml</import> |
| 5 </macros> | 5 </macros> |
| 6 <expand macro="requirements" /> | 6 <expand macro="requirements"> |
| 7 <command> | 7 <requirement type="package" version="1.16.1">samtools</requirement> |
| 8 <![CDATA[ | 8 </expand> |
| 9 ln -s '${input_bam}' 'localbam.bam' && | 9 <command><![CDATA[ |
| 10 ln -s '${input_bam.metadata.bam_index}' 'localbam.bam.bai' && | 10 ln -s '${input_bam}' localbam.bam && |
| 11 bamtools split -reference | 11 ln -s '${input_bam.metadata.bam_index}' 'localbam.bam.bai' && |
| 12 -in localbam.bam | 12 samtools view -bH localbam.bam --no-PG -o header.bam && |
| 13 -stub split_bam | 13 bamtools split -reference |
| 14 ## Preserve order from metadata in the output collection | 14 -in localbam.bam |
| 15 #import re | 15 -stub split_bam |
| 16 #set $name = $re.sub('\W','_',$re.sub('\.bam$','',$input_bam.name)) | 16 && (IFS=','; |
| 17 #if str($refs) != 'None': | 17 for i in \$REFS_FROM_BAM_METADATA; |
| 18 #set $ref_list = ' '.join(str($refs).split(",")) | 18 do FN=`printf "split_bam.REF_%s.bam" "\$i"`; |
| 19 #else | 19 if [ ! -f \$FN ]; then cp header.bam "\$FN"; fi; |
| 20 #set $ref_list = ' '.join([$re.sub('^.*__sq__(.+)__sq__.*$','\\1',n) if n.find('__sq__') >= 0 else n for n in str($input_bam.metadata.reference_names).split(',')]) | 20 done) |
| 21 #end if | 21 && cp '$c1' galaxy.json |
| 22 && mkdir -p outputs | 22 ]]></command> |
| 23 && (export I=0; | 23 <environment_variables> |
| 24 for i in $ref_list; | 24 <environment_variable name="REFS_FROM_BAM_METADATA">#import re |
| 25 do I=\$((++I)); SN=`printf "split_bam.REF_%s.bam" "\$i"`; | 25 ## need to extract ref names from Galaxy's safe string representation |
| 26 if [ -e \$SN ]; then FN=`printf "outputs/split_bam%05d%s.%s.bam" \$((I)) '$name' "\$i"`; mv \$SN \$FN; fi; | 26 #set $ref_list = [$re.sub('^.*__sq__(.+)__sq__.*$','\\1',n) if n.find('__sq__') >= 0 else n for n in str($input_bam.metadata.reference_names).split(',')] |
| 27 done) | 27 #if str($refs) != 'None' |
| 28 ]]> | 28 #set $refs_selected = set(str($refs).split(",")) |
| 29 </command> | 29 ## sort the selected refs by their order in the bam metadata |
| 30 #echo ','.join([r for r in $ref_list if r in refs_selected]) | |
| 31 #else | |
| 32 #echo ','.join($ref_list) | |
| 33 #end if | |
| 34 </environment_variable> | |
| 35 </environment_variables> | |
| 36 <configfiles> | |
| 37 <configfile name="c1">#import re | |
| 38 ## need to extract ref names from Galaxy's safe string representation | |
| 39 #set $ref_list = [$re.sub('^.*__sq__(.+)__sq__.*$','\\1',n) if n.find('__sq__') >= 0 else n for n in str($input_bam.metadata.reference_names).split(',')] | |
| 40 #if str($refs) != 'None' | |
| 41 #set $refs_selected = set(str($refs).split(",")) | |
| 42 #set $ref_list = [r for r in $ref_list if r in refs_selected] | |
| 43 #end if | |
| 44 #set $elems = [{'name': '%s: %s' % ($input_bam.name, r), 'filename': 'split_bam.REF_%s.bam' % r, 'dbkey': str($input_bam.dbkey)} for r in $ref_list] | |
| 45 #import json | |
| 46 #echo json.dumps({'output_bams': {'elements': $elems}})</configfile> | |
| 47 </configfiles> | |
| 30 <inputs> | 48 <inputs> |
| 31 <param name="input_bam" type="data" format="bam" label="BAM dataset to split by reference"/> | 49 <param name="input_bam" type="data" format="bam" label="BAM dataset to split by reference"/> |
| 32 <param name="refs" type="select" optional="True" multiple="True" label="Select references (chromosomes and contigs) you would like to restrict bam to" > | 50 <param name="refs" type="select" optional="True" multiple="True" label="Select references (chromosomes and contigs) you would like to restrict bam to" > |
| 33 <help><