Mercurial > repos > devteam > bowtie2
changeset 32:d5ceb9f3c25b draft default tip
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/bowtie2 commit 7c23f328dedbbf24693ddfcc4ebc6b5ee1801767
author | iuc |
---|---|
date | Mon, 13 May 2024 13:49:14 +0000 |
parents | 0d4acadabb04 |
children | |
files | bowtie2_macros.xml bowtie2_wrapper.xml |
diffstat | 2 files changed, 24 insertions(+), 5 deletions(-) [+] |
line wrap: on
line diff
--- a/bowtie2_macros.xml Mon Feb 26 08:50:20 2024 +0000 +++ b/bowtie2_macros.xml Mon May 13 13:49:14 2024 +0000 @@ -1,6 +1,6 @@ <macros> <token name="@TOOL_VERSION@">2.5.3</token> - <token name="@VERSION_SUFFIX@">0</token> + <token name="@VERSION_SUFFIX@">1</token> <!-- Import this at the top of your command block and then define rg_auto_name. --> <token name="@define_read_group_helpers@">
--- a/bowtie2_wrapper.xml Mon Feb 26 08:50:20 2024 +0000 +++ b/bowtie2_wrapper.xml Mon May 13 13:49:14 2024 +0000 @@ -113,12 +113,22 @@ ln -f -s '${library.input_1}' ${read1} && #end if + +## compute number of threads to be used for bowtie2 +## the bowtie parameter -p specifies the number of alignment threads to use (in +## addition to a control thread) # just using GALAXY_SLOTS will lead to +## overcommiting ressources (in particular because there may be a samtools sort or view +## running in parallel). +## for now we use one thread less than GALAXY_SLOTS +THREADS=\${GALAXY_SLOTS:-4} && +if [ "\$THREADS" -gt 1 ]; then (( THREADS-- )); fi && + ## execute bowtie2 bowtie2 ## number of threads --p \${GALAXY_SLOTS:-4} +-p "\$THREADS" ## index file path -x '$index_path' @@ -303,14 +313,23 @@ ## mapping stats (i.e. stderr from bowtie2) #if $save_mapping_stats - 2> '$mapping_stats' + 2> >(tee '$mapping_stats' >&2) #end if ## output file #if str( $sam_options.sam_options_selector ) == "no" or (str( $sam_options.sam_opt ) == "false" and str($sam_options.reorder) == ''): - | samtools sort --no-PG -@\${GALAXY_SLOTS:-2} -T "\${TMPDIR:-.}" -O bam -o '$output' + ## Convert SAM output to sorted BAM + ## using the two pipe stages has the following effect + ## - mapping and sorting run in parallel, during this time sort produces + ## presorted temporary files but does not produce output (hence + ## view does not run) + ## - once mapping is finished sort will start to merge the temporary + ## files (which should be fast also on a single thread) gives the + ## sorted output to view which only compresses the files (now + ## using full parallelism again) + | samtools sort -l 0 -T "\${TMPDIR:-.}" -O bam | samtools view --no-PG -O bam -@ \${GALAXY_SLOTS:-1} -o '$output' #else if $sam_options.reorder: - | samtools view --no-PG -bS - -o '$output' + | samtools view --no-PG -b -o '$output' #else: > '$output' #end if