[med-svn] [Git][med-team/bowtie2][master] 8 commits: routine-update: New upstream version
Michael R. Crusoe (@crusoe)
gitlab at salsa.debian.org
Tue Sep 12 12:19:27 BST 2023
Michael R. Crusoe pushed to branch master at Debian Med / bowtie2
Commits:
71fa2306 by Michael R. Crusoe at 2023-08-25T14:21:58+02:00
routine-update: New upstream version
- - - - -
412d3f3e by Michael R. Crusoe at 2023-08-25T14:21:59+02:00
New upstream version 2.5.1
- - - - -
8132aaea by Michael R. Crusoe at 2023-08-25T14:22:17+02:00
Update upstream source from tag 'upstream/2.5.1'
Update to upstream version '2.5.1'
with Debian dir e486355fcba02db89d8a4b07a813d9b753e9b142
- - - - -
3477ad58 by Michael R. Crusoe at 2023-08-25T14:39:11+02:00
refresh patches.
- - - - -
d6fb4ceb by Michael R. Crusoe at 2023-09-12T12:12:12+02:00
d/patches: update my email address, add some Forwarded hints
- - - - -
64960ebf by Michael R. Crusoe at 2023-09-12T12:22:33+02:00
tests: remove need to build debug versions.
- - - - -
252811ec by Michael R. Crusoe at 2023-09-12T13:00:55+02:00
d/tests: run built-in tests as well.
- - - - -
d2e29bfa by Michael R. Crusoe at 2023-09-12T13:16:13+02:00
routine-update: Ready to upload to unstable
- - - - -
24 changed files:
- AUTHORS
- BOWTIE2_VERSION
- MANUAL
- Makefile
- NEWS
- README.md
- bowtie2
- bt2_search.cpp
- debian/changelog
- debian/control
- debian/patches/correct_64bit_test
- debian/patches/do-not-rebuild-during-test.patch
- debian/patches/no_sanity
- debian/patches/reproducible.patch
- debian/patches/simde
- debian/patches/skip_test_requiring_non-free_libmath-random-perl.patch
- debian/patches/use-source-date-epoch-in-Makefile.patch
- debian/rules
- debian/tests/control
- debian/tests/run-unit-test
- doc/website/recent_news.ssi
- doc/website/rhsidebar.ssi
- pat.cpp
- pat.h
Changes:
=====================================
AUTHORS
=====================================
@@ -19,10 +19,6 @@ The file ls.h includes an implementation of the Larsson-Sadakane suffix sorting
algorithm. The implementation is by N. Jesper Larsson and was adapted somewhat
for use in Bowtie 2.
-TinyThreads is a portable thread implementation with a fairly compatible subset
-of C++11 thread management classes written by Marcus Geelnard. For more info
-check http://tinythreadpp.bitsnbites.eu/
-
Various users have kindly supplied patches, bug reports and feature requests
over the years. Many, many thanks go to them.
=====================================
BOWTIE2_VERSION
=====================================
@@ -1 +1 @@
-2.5.0
\ No newline at end of file
+2.5.1
\ No newline at end of file
=====================================
MANUAL
=====================================
@@ -775,7 +775,7 @@ alignment to be considered valid, and x is the read length.
Usage
- bowtie2 [options]* -x <bt2-idx> {-1 <m1> -2 <m2> | -U <r> | --interleaved <i> | --sra-acc <acc> | b <bam>} -S [<sam>]
+ bowtie2 [options]* -x <bt2-idx> {-1 <m1> -2 <m2> | -U <r> | --interleaved <i> | --sra-acc <acc> | -b <bam>} -S [<sam>]
Main arguments
=====================================
Makefile
=====================================
@@ -32,14 +32,13 @@ BOWTIE_SHARED_MEM :=
CXXFLAGS += -std=c++11
-ARCH = $(shell uname -m)
-NGS_VER ?= 2.9.2
-VDB_VER ?= 2.9.2-1
+NGS_VER ?= 2.10.2
+VDB_VER ?= 2.10.2
# Detect Cygwin or MinGW
WINDOWS :=
MINGW :=
-ifneq (,$(findstring MINGW,$(shell uname)))
+ifneq (,$(findstring mingw,$(shell $(CXX) --version)))
WINDOWS := 1
MINGW := 1
# POSIX memory-mapped files not currently supported on Windows
@@ -62,7 +61,8 @@ ifneq (,$(findstring Darwin,$(shell uname)))
endif
BITS := 32
-ifneq (,$(findstring $(shell uname -m), x86_64 amd64))
+ARCH ?= $(shell uname -m)
+ifneq (,$(findstring $(ARCH), x86_64 amd64))
BITS := 64
ifeq (1, $(SSE_AVX2))
SSE_FLAG := -mavx2 -faligned-new -DSSE_AVX2
@@ -71,7 +71,7 @@ ifneq (,$(findstring $(shell uname -m), x86_64 amd64))
endif
POPCNT_CAPABILITY ?= 1
-else ifneq (,$(findstring $(shell uname -m), aarch64 arm64 s390x ppc64 ppc64le))
+else ifneq (,$(findstring $(ARCH), aarch64 arm64 s390x powerpc64 powerpc64le ppc64 ppc64le))
BITS := 64
SSE_FLAG :=
CXXFLAGS += -fopenmp-simd
=====================================
NEWS
=====================================
@@ -4,7 +4,7 @@ Bowtie 2 NEWS
Bowtie 2 is available for download from the project website,
http://bowtie-bio.sf.net/bowtie2 and on Github,
https://github.com/BenLangmead/bowtie2/releases. 2.0.0-beta1 is
-the first version released to the public and 2.5.0 is the latest
+the first version released to the public and 2.5.1 is the latest
version. Bowtie 2 is licensed under the GPLv3 license. See `LICENSE'
file for details.
@@ -19,6 +19,14 @@ Please report any issues to the Bowtie 2 Github page or using the Sourceforge bu
Version Release History
=======================
+## Version 2.5.1 - Feb 17, 2023 ##
+
+### bowtie2 ###
+ * Fixed an issue affecting `bowtie2` alignment accuracy.
+ * Updated the versions of the NCBI `NGS` and `VDB` libraries used by `bowtie2`.
+ * Fixed a segmentation fault that would occur while aligning SRA data.
+ * Fixed an issue preventing `--un-mates` from properly saving unaligned mates.
+
## Version 2.5.0 - Oct 31, 2022 ##
### bowtie2 ###
=====================================
README.md
=====================================
@@ -2,7 +2,7 @@
<!-- badges: start -->
![Random Tests](https://github.com/BenLangmead/bowtie2/actions/workflows/random-tests.yml/badge.svg)
![Simple Tests](https://github.com/BenLangmead/bowtie2/actions/workflows/simple-tests.yml/badge.svg)
-[![Version](https://img.shields.io/badge/version-2.5.0-green.svg)](https://shields.io/)
+[![Version](https://img.shields.io/badge/version-2.5.1-green.svg)](https://shields.io/)
<!-- [![Build Status](https://travis-ci.org/BenLangmead/bowtie2.svg?branch=master)](https://travis-ci.org/BenLangmead/bowtie2) -->
[![License: GPL v3](https://img.shields.io/badge/license-GPLv3-blue.svg)](https://www.gnu.org/licenses/gpl-3.0)
<!--badges: end -->
@@ -117,7 +117,7 @@ bowtie2-inspect --large-index example/index/lambda_virus
- Langmead B, Salzberg S. __[Fast gapped-read alignment with Bowtie 2](http://www.nature.com/nmeth/journal/v9/n4/full/nmeth.1923.html)__. [Nature Methods](http://www.nature.com/nmeth). 2012, 9:357-359.
-- Langmead B, Trapnell C, Pop M, Salzberg SL. __[Ultrafast and memory-efficient alignment of short DNA sequences to the human genome](http://genomebiology.com/2009/10/3/R25)__. [Genome Biology](http://genomebiology.com/) 10:R25.
+- Langmead B, Trapnell C, Pop M, Salzberg SL. __[Ultrafast and memory-efficient alignment of short DNA sequences to the human genome](https://genomebiology.biomedcentral.com/articles/10.1186/gb-2009-10-3-r25)__. [Genome Biology](https://genomebiology.biomedcentral.com/) 10:R25.
### Related Publications
=====================================
bowtie2
=====================================
@@ -516,7 +516,7 @@ if(defined($cap_out)) {
$base_spec_dir = $read_fns{$i};
$base_fname = undef;
}
- if($i =~ /-conc$|^un-mate$/) {
+ if($i =~ /-conc$|^un-mates$/) {
# Open 2 output files, one for mate 1, one for mate 2
my ($fn1, $fn2);
if ($base_fname) {
@@ -609,7 +609,7 @@ if(defined($cap_out)) {
}
}
# paired read failed to align concordantly or discordantly
- if (defined($read_fhs{"un-mates"}) && $pair && $unal && ($fl & 8) != 0) {
+ if (defined($read_fhs{"un-mates"}) && $pair && $unal && ($fl & 4) != 0) {
if ($mate1) {
print {$read_fhs{"un-mates"}{1}} $l if defined($read_fhs{"un-mates"});
} else {
=====================================
bt2_search.cpp
=====================================
@@ -3323,7 +3323,7 @@ static void multiseedSearchWorker(void *vp) {
exhaustive[0] = exhaustive[1] = false;
size_t matemap[2] = { 0, 1 };
bool pairPostFilt = filt[0] && filt[1];
- if(false && pairPostFilt) {
+ if(pairPostFilt) {
rnd.init(ps->read_a().seed ^ ps->read_b().seed);
} else {
rnd.init(ps->read_a().seed);
@@ -3903,7 +3903,7 @@ static void multiseedSearchWorker(void *vp) {
// Sort seed hits into ranks
shs[mate].rankSeedHits(rnd, msinkwrap.allHits());
int ret = 0;
- if(false && paired) {
+ if(paired) {
// Paired-end dynamic programming driver
ret = sd.extendSeedsPaired(
*rds[mate], // mate to align as anchor
@@ -3973,11 +3973,11 @@ static void multiseedSearchWorker(void *vp) {
nceil[mate], // N ceil for anchor
maxhalf, // max width on one DP side
doUngapped, // do ungapped alignment
- mxIter[mate] * 2, // max extend loop iters
- mxUg[mate] * 2, // max # ungapped extends
- mxDp[mate] * 2, // max # DPs
- streak[mate] * 2, // stop after streak of this many end-to-end fails
- streak[mate] * 2, // stop after streak of this many ungap fails
+ mxIter[mate], // max extend loop iters
+ mxUg[mate], // max # ungapped extends
+ mxDp[mate], // max # DPs
+ streak[mate], // stop after streak of this many end-to-end fails
+ streak[mate], // stop after streak of this many ungap fails
doExtend, // extend seed hits
enable8, // use 8-bit SSE where possible
cminlen, // checkpoint if read is longer
@@ -4071,9 +4071,9 @@ static void multiseedSearchWorker(void *vp) {
assert_leq(prm.nMateDps, mxDp[i]);
assert_leq(prm.nExUgs, mxUg[i]);
assert_leq(prm.nMateUgs, mxUg[i]);
- // assert_leq(prm.nDpFail, streak[i]);
- // assert_leq(prm.nUgFail, streak[i]);
- // assert_leq(prm.nEeFail, streak[i]);
+ assert_leq(prm.nDpFail, streak[i]);
+ assert_leq(prm.nUgFail, streak[i]);
+ assert_leq(prm.nEeFail, streak[i]);
}
// Commit and report paired-end/unpaired alignments
@@ -4380,7 +4380,7 @@ static void multiseedSearchWorker_2p5(void *vp) {
}
exhaustive[0] = exhaustive[1] = false;
bool pairPostFilt = filt[0] && filt[1];
- if(false && pairPostFilt) {
+ if(pairPostFilt) {
rnd.init(ROTL((rds[0]->seed ^ rds[1]->seed), 10));
}
// Calculate streak length
=====================================
debian/changelog
=====================================
@@ -1,3 +1,14 @@
+bowtie2 (2.5.1-1) unstable; urgency=medium
+
+ * Team upload.
+ * New upstream version
+ * refresh patches.
+ * d/patches: update my email address, add some Forwarded hints
+ * tests: remove need to build debug versions.
+ * d/tests: run built-in tests as well.
+
+ -- Michael R. Crusoe <crusoe at debian.org> Tue, 12 Sep 2023 13:16:13 +0200
+
bowtie2 (2.5.0-3) unstable; urgency=medium
* Merge all autopkgtest scripts into run-unit-test as usual in Debian Med
=====================================
debian/control
=====================================
@@ -10,9 +10,9 @@ Build-Depends: debhelper-compat (= 13),
libtbb-dev,
python3,
liblocal-lib-perl,
- libtest-deep-perl,
- libclone-perl,
- libfile-which-perl,
+ libtest-deep-perl <!nocheck>,
+ libclone-perl <!nocheck>,
+ libfile-which-perl <!nocheck>,
zlib1g-dev,
libsimde-dev
Standards-Version: 4.6.2
=====================================
debian/patches/correct_64bit_test
=====================================
@@ -1,31 +1,32 @@
-Author: Michael R. Crusoe <michael.crusoe at gmail.com>
+Author: Michael R. Crusoe <crusoe at debian.org>
Description: Handle -m64 and -msse2 flags better
---- a/Makefile
-+++ b/Makefile
-@@ -61,9 +61,9 @@ ifneq (,$(findstring Darwin,$(shell unam
+Forwarded: not-needed
+--- bowtie2.orig/Makefile
++++ bowtie2/Makefile
+@@ -60,10 +60,9 @@
endif
endif
-BITS := 32
--ifneq (,$(findstring $(shell uname -m), x86_64 amd64))
+-ARCH ?= $(shell uname -m)
+-ifneq (,$(findstring $(ARCH), x86_64 amd64))
- BITS := 64
+CXXFLAGS += -fopenmp-simd
+CPPFLAGS += -Ithird_party
-+ifeq (amd64,$(dpkg-architecture -q DEB_TARGET_ARCH))
++ifneq (,$(findstring $(shell dpkg-architecture -q DEB_TARGET_ARCH), x86_64 amd64))
ifeq (1, $(SSE_AVX2))
SSE_FLAG := -mavx2 -faligned-new -DSSE_AVX2
else
-@@ -71,11 +71,8 @@ ifneq (,$(findstring $(shell uname -m),
+@@ -71,11 +70,8 @@
endif
POPCNT_CAPABILITY ?= 1
--else ifneq (,$(findstring $(shell uname -m), aarch64 arm64 s390x ppc64 ppc64le))
+-else ifneq (,$(findstring $(ARCH), aarch64 arm64 s390x powerpc64 powerpc64le ppc64 ppc64le))
- BITS := 64
-- SSE_FLAG :=
++else
+ SSE_FLAG :=
- CXXFLAGS += -fopenmp-simd
- CPPFLAGS += -Ithird_party
-+else
-+ SSE_FLAG =
POPCNT_CAPABILITY ?= 0
endif
=====================================
debian/patches/do-not-rebuild-during-test.patch
=====================================
@@ -2,6 +2,7 @@ Description: do not rebuild with default settings during test
The test suite builds the debug versions of the executables with default
flags, while is needs to be built with the flags in d/rules.
Author: Sascha Steinbiss <satta at debian.org>
+Forwarded: not-needed
--- bowtie2.orig/scripts/sim/run.sh
+++ bowtie2/scripts/sim/run.sh
@@ -21,17 +21,17 @@
@@ -68,3 +69,126 @@ Author: Sascha Steinbiss <satta at debian.org>
perl scripts/test/simple_tests.pl \
--bowtie2=./bowtie2 \
--bowtie2-build=./bowtie2-build \
+--- bowtie2.orig/scripts/test/simple_tests.pl
++++ bowtie2/scripts/test/simple_tests.pl
+@@ -4807,7 +4807,7 @@
+ my $tmpfafn = ".simple_tests.pl.fa";
+ my $last_ref = undef;
+ foreach my $large_idx (undef,1) {
+- foreach my $binary_type ("release", "debug", "sanitized") {
++ foreach my $binary_type ("release") {
+ for (my $ci = 0; $ci < scalar(@cases); $ci++) {
+ my $c = $cases[$ci];
+ last unless defined($c);
+--- bowtie2.orig/scripts/sim/Sim.pm
++++ bowtie2/scripts/sim/Sim.pm
+@@ -423,16 +423,15 @@
+ $argstr .= " ".$args->{$_};
+ }
+ }
+- $argstr .= " --sanity";
+ # Build nucleotide index
+- my $cmd = "$conf->{bowtie2_build_debug} $argstr $fa $idx";
++ my $cmd = "$conf->{bowtie2_build} $argstr $fa $idx";
+ print STDERR "Executing: $cmd\n";
+ system($cmd);
+ $? == 0 || mydie("Error running '$cmd'; exitlevel=$?");
+ print STDERR "Built nucleotide index '$idx'\n";
+ # Build colorspace index
+ unless($conf->{no_color}) {
+- $cmd = "$conf->{bowtie2_build_debug} $argstr -C $fa ${idx}.c";
++ $cmd = "$conf->{bowtie2_build} $argstr -C $fa ${idx}.c";
+ print STDERR "$cmd\n";
+ system($cmd);
+ $? == 0 || mydie("Error running '$cmd'; exitlevel=$?");
+@@ -884,7 +883,7 @@
+ my $als_debug = "$conf->{tempdir}/Sim.pm.$conf->{randstr}.debug.als";
+ my $als_px = "$conf->{tempdir}/Sim.pm.$conf->{randstr}.px.als";
+ my $als_px_reord = "$conf->{tempdir}/Sim.pm.$conf->{randstr}.px.reord.als";
+- my $cmd = "$conf->{bowtie2_debug} $argstr -x $idx $inputfn";
++ my $cmd = "$conf->{bowtie2} $argstr -x $idx $inputfn";
+ print "$cmd\n";
+ open(ALSDEB, ">$als_debug") || mydie("Could not open '$als_debug' for writing");
+ open(ALSDEBCMD, "$cmd |") || mydie("Could not open pipe '$cmd |'");
+@@ -900,13 +899,13 @@
+ }
+ close(ALSDEBCMD);
+ $ac->checkAlignments(\@lines, 0);
+- $? == 0 || mydie("bowtie2-align-debug exited with exitlevel $?:\n$cmd\n");
++ $? == 0 || mydie("bowtie2-align exited with exitlevel $?:\n$cmd\n");
+ close(ALSDEB);
+ $ac->printSummary();
+ # With some probability, also run debug Bowtie and check that
+ # results are identical
+ if(int(rand(3)) == 0) {
+- print STDERR "ALSO checking that bowtie2 and bowtie2-align-debug match up\n";
++ print STDERR "ALSO checking that bowtie2 and bowtie2-align match up\n";
+ # Remove @PG line because CL: tag can legitimately differ
+ $cmd = "$conf->{bowtie2} $argstr -x $idx $inputfn | grep -v '^\@PG' > $als";
+ print "$cmd\n";
+@@ -917,7 +916,7 @@
+ print "$cmd\n";
+ system($cmd);
+ $? == 0 ||
+- mydie("diff found a difference between bowtie2 and bowtie2-align-debug ".
++ mydie("diff found a difference between bowtie2 and bowtie2-align ".
+ "output for same input (above)\n");
+ }
+ # With some probability, also run debug Bowtie in -p X mode with X > 1 and
+@@ -948,7 +947,7 @@
+ print "$cmd\n";
+ system($cmd);
+ $? == 0 ||
+- mydie("diff found a difference between bowtie2-align-debug and bowtie2 ".
++ mydie("diff found a difference between bowtie2-align and bowtie2 ".
+ "-p output for same input (above)\n");
+ }
+
+@@ -965,7 +964,7 @@
+ print "$cmd\n";
+ system($cmd);
+ $? == 0 ||
+- mydie("diff found a difference between bowtie2-align-debug and bowtie2 ".
++ mydie("diff found a difference between bowtie2-align and bowtie2 ".
+ "-p --reorder output for same input (above)\n");
+ }
+ }
+@@ -977,8 +976,6 @@
+ #
+ # 1. bowtie2_build: path to bowtie2-build binary
+ # 2. bowtie2: path to bowtie2 binary
+-# 3. bowtie2_build_debug: path to bowtie2-build-debug binary
+-# 4. bowtie2_debug: path to bowtie2-debug binary
+ # 5. tempdir: temporary directory for reference/reads/index
+ # 6. no_paired: defined & non-0 -> don't generate paired-end datasets
+ # 7. no_color: defined & non-0 -> don't generate colorspace datasets
+@@ -989,8 +986,6 @@
+
+ $conf->{bowtie2_build} = "bowtie2-build" unless defined($conf->{bowtie2_build});
+ $conf->{bowtie2} = "bowtie2-align" unless defined($conf->{bowtie2});
+- $conf->{bowtie2_build_debug} = $conf->{bowtie2_build}." --debug";
+- $conf->{bowtie2_debug} = $conf->{bowtie2}." --debug";
+ $conf->{tempdir} = "/tmp" unless defined($conf->{tempdir});
+ srand(time ^ $$);
+ $conf->{randstr} = randStr(8);
+--- bowtie2.orig/scripts/sim/run.pl
++++ bowtie2/scripts/sim/run.pl
+@@ -32,8 +32,6 @@
+ our %conf = (
+ bowtie2_build => "bowtie2-build",
+ bowtie2 => "bowtie2",
+- bowtie2_build_debug => "bowtie2-build --debug",
+- bowtie2_debug => "bowtie2 --debug",
+ tempdir => "/tmp",
+ no_color => 1,
+ small => 1
+@@ -48,9 +46,7 @@
+ Options:
+
+ --bowtie2 <path> Path to bowtie2 release binary
+- --bowtie2-debug <path> Path to bowtie2 debug binary
+ --bowtie2-build <path> Path to bowtie2-build release binary
+- --bowtie2-build-debug <path> Path to bowtie2-build debug binary
+ --tempdir <path> Put temporary files here
+ --cases <int> Each thread runs around <int> cases (def: 5)
+ --cpus <int> / -p <int> Run test cases in <int> threads at once
=====================================
debian/patches/no_sanity
=====================================
@@ -1,8 +1,9 @@
-Author: Michael R. Crusoe <michael.crusoe at gmail.com>
+Author: Michael R. Crusoe <crusoe at debian.org>
Description: save resources by not making/testing the -fsantize variants
---- a/Makefile
-+++ b/Makefile
-@@ -202,15 +202,6 @@ BUILD_CPPS_MAIN := $(BUILD_CPPS) bowtie_
+Forwarded: not-needed
+--- bowtie2.orig/Makefile
++++ bowtie2/Makefile
+@@ -201,15 +201,6 @@
SEARCH_FRAGMENTS := $(wildcard search_*_phase*.c)
VERSION := $(shell cat BOWTIE2_VERSION)
@@ -18,7 +19,7 @@ Description: save resources by not making/testing the -fsantize variants
DEBUG_FLAGS := -O0 -g3 $(SSE_FLAG)
RELEASE_FLAGS := -O3 $(SSE_FLAG) -funroll-loops -g3
NOASSERT_FLAGS := -DNDEBUG
-@@ -230,15 +221,6 @@ BOWTIE2_BIN_LIST_DBG := bowtie2-build-s-
+@@ -229,15 +220,6 @@
bowtie2-align-l-debug \
bowtie2-inspect-s-debug \
bowtie2-inspect-l-debug
@@ -34,7 +35,7 @@ Description: save resources by not making/testing the -fsantize variants
GENERAL_LIST := $(wildcard scripts/*.sh) \
$(wildcard scripts/*.pl) \
-@@ -290,10 +272,9 @@ endif
+@@ -289,10 +271,9 @@
.PHONY: all allall both both-debug
all: $(BOWTIE2_BIN_LIST) ;
@@ -46,7 +47,7 @@ Description: save resources by not making/testing the -fsantize variants
DEFS := -fno-strict-aliasing \
-DBOWTIE2_VERSION="\"`cat BOWTIE2_VERSION`\"" \
-@@ -307,17 +288,10 @@ DEFS := -fno-strict-aliasing \
+@@ -306,17 +287,10 @@
$(CPPFLAGS) \
$(CFLAGS)
@@ -65,7 +66,7 @@ Description: save resources by not making/testing the -fsantize variants
$(CXX) $(RELEASE_FLAGS) $(RELEASE_DEFS) $(CXXFLAGS) \
$(DEFS) -DBOWTIE2 $(NOASSERT_FLAGS) -Wall \
$(CPPFLAGS) \
-@@ -325,7 +299,7 @@ bowtie2-build-s-sanitized bowtie2-build-
+@@ -324,7 +298,7 @@
$(SHARED_CPPS) $(BUILD_CPPS_MAIN) \
$(LDFLAGS) $(LDLIBS)
@@ -74,7 +75,7 @@ Description: save resources by not making/testing the -fsantize variants
$(CXX) $(RELEASE_FLAGS) $(RELEASE_DEFS) $(CXXFLAGS) \
$(DEFS) -DBOWTIE2 -DBOWTIE_64BIT_INDEX $(NOASSERT_FLAGS) -Wall \
$(CPPFLAGS) \
-@@ -353,7 +327,7 @@ bowtie2-build-l-debug: bt2_build.cpp $(S
+@@ -352,7 +326,7 @@
# bowtie2-align targets
#
@@ -83,7 +84,7 @@ Description: save resources by not making/testing the -fsantize variants
$(CXX) $(RELEASE_FLAGS) $(RELEASE_DEFS) $(CXXFLAGS) \
$(DEFS) -DBOWTIE2 $(NOASSERT_FLAGS) -Wall \
$(CPPFLAGS) \
-@@ -361,7 +335,7 @@ bowtie2-align-s-sanitized bowtie2-align-
+@@ -360,7 +334,7 @@
$(SHARED_CPPS) $(SEARCH_CPPS_MAIN) \
$(LDFLAGS) $(LDLIBS)
@@ -92,7 +93,7 @@ Description: save resources by not making/testing the -fsantize variants
$(CXX) $(RELEASE_FLAGS) $(RELEASE_DEFS) $(CXXFLAGS) \
$(DEFS) -DBOWTIE2 -DBOWTIE_64BIT_INDEX $(NOASSERT_FLAGS) -Wall \
$(CPPFLAGS) \
-@@ -391,7 +365,7 @@ bowtie2-align-l-debug: bt2_search.cpp $(
+@@ -390,7 +364,7 @@
# bowtie2-inspect targets
#
@@ -101,7 +102,7 @@ Description: save resources by not making/testing the -fsantize variants
$(CXX) $(RELEASE_FLAGS) \
$(RELEASE_DEFS) $(CXXFLAGS) \
$(DEFS) -DBOWTIE2 -DBOWTIE_INSPECT_MAIN -Wall \
-@@ -400,7 +374,7 @@ bowtie2-inspect-s-sanitized bowtie2-insp
+@@ -399,7 +373,7 @@
$(SHARED_CPPS) \
$(LDFLAGS) $(LDLIBS)
@@ -110,7 +111,7 @@ Description: save resources by not making/testing the -fsantize variants
$(CXX) $(RELEASE_FLAGS) \
$(RELEASE_DEFS) $(CXXFLAGS) \
$(DEFS) -DBOWTIE2 -DBOWTIE_INSPECT_MAIN -DBOWTIE_64BIT_INDEX -Wall \
-@@ -601,7 +575,7 @@ test: simple-test
+@@ -600,7 +574,7 @@
.PHONY: clean
clean:
@@ -119,9 +120,9 @@ Description: save resources by not making/testing the -fsantize variants
$(addsuffix .exe,$(BOWTIE2_BIN_LIST) $(BOWTIE2_BIN_LIST_DBG)) \
bowtie2-*.zip
rm -f core.* .tmp.head
---- a/bowtie2
-+++ b/bowtie2
-@@ -122,7 +122,6 @@ getBt2Desc(\%desc);
+--- bowtie2.orig/bowtie2
++++ bowtie2/bowtie2
+@@ -122,7 +122,6 @@
sub isWrapped($) { return defined($wrapped{$_[0]}); }
my $debug = 0;
@@ -129,7 +130,7 @@ Description: save resources by not making/testing the -fsantize variants
my %read_fns = ();
my %read_compress = ();
my $cap_out = undef; # Filename for passthrough
-@@ -184,7 +183,6 @@ GetOptions(
+@@ -184,7 +183,6 @@
"keep" => \$keep,
"verbose" => \$verbose,
"debug" => \$debug,
@@ -137,7 +138,7 @@ Description: save resources by not making/testing the -fsantize variants
"large-index" => \$large_idx,
"no-unal" => \$no_unal,
"un=s" => \&handle_un_or_al,
-@@ -473,9 +471,6 @@ my $suffix = "";
+@@ -473,9 +471,6 @@
if ($debug) {
$suffix = "-debug";
}
@@ -147,9 +148,9 @@ Description: save resources by not making/testing the -fsantize variants
# Construct command invoking bowtie2-align
quote_params(\@bt2_args);
---- a/bowtie2-build
-+++ b/bowtie2-build
-@@ -46,7 +46,6 @@ def main():
+--- bowtie2.orig/bowtie2-build
++++ bowtie2/bowtie2-build
+@@ -46,7 +46,6 @@
group = parser.add_mutually_exclusive_group()
group.add_argument('--debug', action='store_true')
@@ -157,7 +158,7 @@ Description: save resources by not making/testing the -fsantize variants
logging.basicConfig(level=logging.ERROR,
format='%(levelname)s: %(message)s'
-@@ -69,9 +68,9 @@ def main():
+@@ -69,9 +68,9 @@
build_bin_spec += '-debug'
build_bin_l += '-debug'
@@ -170,9 +171,9 @@ Description: save resources by not making/testing the -fsantize variants
fastas = []
if '-c' not in argv and len(argv) >= 2:
---- a/bowtie2-inspect
-+++ b/bowtie2-inspect
-@@ -33,7 +33,6 @@ def main():
+--- bowtie2.orig/bowtie2-inspect
++++ bowtie2/bowtie2-inspect
+@@ -33,7 +33,6 @@
group = parser.add_mutually_exclusive_group()
group.add_argument('--debug', action='store_true')
@@ -180,7 +181,7 @@ Description: save resources by not making/testing the -fsantize variants
parser.add_argument('--verbose', action='store_true')
parser.add_argument('--large-index', action='store_true')
-@@ -60,10 +59,6 @@ def main():
+@@ -60,10 +59,6 @@
inspect_bin_spec += '-debug'
inspect_bin_l += '-debug'
@@ -191,9 +192,9 @@ Description: save resources by not making/testing the -fsantize variants
if script_options.large_index:
inspect_bin_spec = os.path.join(ex_path,inspect_bin_l)
elif len(argv) >= 1:
---- a/scripts/test/simple_tests.pl
-+++ b/scripts/test/simple_tests.pl
-@@ -4605,7 +4605,7 @@ sub runbowtie2($$$$$$$$$$$$$$$$$$$$$$$$$
+--- bowtie2.orig/scripts/test/simple_tests.pl
++++ bowtie2/scripts/test/simple_tests.pl
+@@ -4605,7 +4605,7 @@
close(FA);
if($do_build) {
my $build_args = "";
@@ -202,17 +203,8 @@ Description: save resources by not making/testing the -fsantize variants
print "$cmd\n";
system($cmd);
($? == 0) || die "Bad exitlevel from bowtie2-build: $?";
-@@ -4807,7 +4807,7 @@ sub matchSamOptionalFlags($$) {
- my $tmpfafn = ".simple_tests.pl.fa";
- my $last_ref = undef;
- foreach my $large_idx (undef,1) {
-- foreach my $binary_type ("release", "debug", "sanitized") {
-+ foreach my $binary_type ("release", "debug") {
- for (my $ci = 0; $ci < scalar(@cases); $ci++) {
- my $c = $cases[$ci];
- last unless defined($c);
---- a/scripts/test/simple_tests.sh
-+++ b/scripts/test/simple_tests.sh
+--- bowtie2.orig/scripts/test/simple_tests.sh
++++ bowtie2/scripts/test/simple_tests.sh
@@ -21,8 +21,8 @@
# simple_tests.sh
@@ -224,9 +216,9 @@ Description: save resources by not making/testing the -fsantize variants
#MAKE=`which gmake || which make`
#$MAKE $* bowtie2-align-s \
---- a/bt2_build.cpp
-+++ b/bt2_build.cpp
-@@ -147,7 +147,6 @@ static void printUsage(ostream& out) {
+--- bowtie2.orig/bt2_build.cpp
++++ bowtie2/bt2_build.cpp
+@@ -147,7 +147,6 @@
out << " --large-index force generated index to be 'large', even if ref" << endl
<< " has fewer than 4 billion nucleotides" << endl
<< " --debug use the debug binary; slower, assertions enabled" << endl
@@ -234,9 +226,9 @@ Description: save resources by not making/testing the -fsantize variants
<< " --verbose log the issued command" << endl;
}
out << " -a/--noauto disable automatic -p/--bmax/--dcv memory-fitting" << endl
---- a/bt2_inspect.cpp
-+++ b/bt2_inspect.cpp
-@@ -81,7 +81,6 @@ static void printUsage(ostream& out) {
+--- bowtie2.orig/bt2_inspect.cpp
++++ bowtie2/bt2_inspect.cpp
+@@ -81,7 +81,6 @@
out << " --large-index force inspection of the 'large' index, even if a" << endl
<< " 'small' one is present." << endl
<< " --debug use the debug binary; slower, assertions enabled" << endl
=====================================
debian/patches/reproducible.patch
=====================================
@@ -3,6 +3,7 @@ Description: make build reproducible
hostname, time, etc. from the binary. It also ensures a stable
sorting order for all wildcard expansions in the Makefile.
Author: Sascha Steinbiss <sascha at steinbiss.name>
+Forwarded: not-needed
--- a/Makefile
+++ b/Makefile
@@ -26,7 +26,7 @@ bindir := $(PREFIX)/bin
=====================================
debian/patches/simde
=====================================
@@ -1,6 +1,6 @@
-Author: Michael R. Crusoe <michael.crusoe at gmail.com>
+Author: Michael R. Crusoe <crusoe at debian.org>
Description: Enable SIMDE everywhere
-
+Forwarded: not-needed
--- bowtie2.orig/sse_wrap.h
+++ bowtie2/sse_wrap.h
@@ -27,8 +27,9 @@
=====================================
debian/patches/skip_test_requiring_non-free_libmath-random-perl.patch
=====================================
@@ -4,6 +4,7 @@ Description: Math::Random is in package libmath-random-perl which is
unfortunately in non-free thus we can not use it for testing while building
this package. Thus the occurrences of references and the surrounding code
is removed here.
+Forwarded: not-needed
--- a/example/reads/simulate.pl
+++ b/example/reads/simulate.pl
=====================================
debian/patches/use-source-date-epoch-in-Makefile.patch
=====================================
@@ -5,9 +5,9 @@ Bug-Debian: https://bugs.debian.org/977435
https://reproducible-builds.org/docs/source-date-epoch/
---- a/Makefile
-+++ b/Makefile
-@@ -279,7 +279,7 @@ both-debug: bowtie2-align-s-debug bowtie
+--- bowtie2.orig/Makefile
++++ bowtie2/Makefile
+@@ -278,7 +278,7 @@
DEFS := -fno-strict-aliasing \
-DBOWTIE2_VERSION="\"`cat BOWTIE2_VERSION`\"" \
-DBUILD_HOST="\"$${HOSTNAME:-`hostname`}\"" \
=====================================
debian/rules
=====================================
@@ -31,13 +31,6 @@ endif
override_dh_auto_test:
ifeq (,$(filter nocheck,$(DEB_BUILD_OPTIONS)))
- LD_PRELOAD= $(MAKE) EXTRA_FLAGS="-std=c++98 $(LDFLAGS)" $(EXTRA_OPTIONS) \
- bowtie2-build-s-debug \
- bowtie2-build-l-debug \
- bowtie2-align-s-debug \
- bowtie2-align-l-debug \
- bowtie2-inspect-s-debug \
- bowtie2-inspect-l-debug
LD_PRELOAD= make -j1 test
endif
=====================================
debian/tests/control
=====================================
@@ -1,4 +1,4 @@
Tests: run-unit-test
-Depends: @
+Depends: @, libclone-perl, libtest-deep-perl, libclone-perl, libfile-which-perl, libmath-random-perl, libsys-info-perl
Restrictions: allow-stderr
Architecture: !s390x
=====================================
debian/tests/run-unit-test
=====================================
@@ -9,9 +9,21 @@ if [ "${AUTOPKGTEST_TMP}" = "" ] ; then
trap "rm -rf ${AUTOPKGTEST_TMP}" 0 INT QUIT ABRT PIPE TERM
fi
-cp -a /usr/share/doc/${pkg}/examples/* "${AUTOPKGTEST_TMP}"
+cp -ar /usr/share/doc/${pkg}/examples "${AUTOPKGTEST_TMP}"/
+cp -ar scripts/test "${AUTOPKGTEST_TMP}"/
+cp -ar scripts/sim "${AUTOPKGTEST_TMP}"/
-cd "${AUTOPKGTEST_TMP}"
+cd "${AUTOPKGTEST_TMP}"/test
+perl simple_tests.pl --bowtie2=/usr/bin/bowtie2 \
+ --bowtie2-build=/usr/bin/bowtie2-build \
+ --compressed
+
+cd "${AUTOPKGTEST_TMP}"/sim
+perl run.pl --bowtie2=/usr/bin/bowtie2 \
+ --bowtie2-build=/usr/bin/bowtie2-build \
+ --cpus=$(nproc)
+
+cd "${AUTOPKGTEST_TMP}"/examples
# check-wo-arguments
TMP="$(mktemp)"
=====================================
doc/website/recent_news.ssi
=====================================
@@ -1,9 +1,18 @@
+<h2>Version 2.5.1 - Feb 17, 2023</h2>
+<h3 id="bowtie2">bowtie2</h3>
+<ul>
+ <li>Fixed an issue affecting <code>bowtie2</code> alignment accuracy.</li>
+ <li>Updated the versions of the NCBI <code>NGS</code> and <code>VDB</code> libraries used by <code>bowtie2</code>.</li>
+ <li>Fixed a segmentation fault that would occur while aligning SRA data.</li>
+ <li>Fixed an issue preventing <code><a href="manual.shtml#bowtie2-options-un-mates">--un-mates</a></code> from properly saving unaligned mates.</li>
+</ul>
+
<h2>Version 2.5.0 - Oct 31, 2022</h2>
<h3 id="bowtie2">bowtie2</h3>
<ul>
<li>Overall improvements in the use of prefetch instructions. (contribution by Igor Sfiligoi)</li>
<li>Made input/output fully asynchronous by using a dedicated thread. (contribution by Igor Sfiligoi)</li>
- <li>Added support for AVX2 256-bit instructions with can be enabled by setting the <code>SSE_AXV2<code> environment variable at compile time. (contribution by Igor Sfiligoi)</li>
+ <li>Added support for AVX2 256-bit instructions with can be enabled by setting the <code>SSE_AXV2</code> environment variable at compile time. (contribution by Igor Sfiligoi)</li>
<li>Fixed an issue causing <code>bowtie2</code> to crash when processing ZSTD files with high compression ratios.</li>
<li>Changed the way that unique alignments are counted in summary message to better match up with filters on SAM output</li>
</ul>
=====================================
doc/website/rhsidebar.ssi
=====================================
@@ -18,10 +18,10 @@
</tr>
<tr>
<td>
- <a href="https://sourceforge.net/projects/bowtie-bio/files/bowtie2/2.5.0">Bowtie2 v2.4.5</a>
+ <a href="https://sourceforge.net/projects/bowtie-bio/files/bowtie2/2.5.1">Bowtie2 v2.5.1</a>
</td>
<td align="right">
- 10/31/22
+ 02/17/23
</td>
</tr>
<tr>
=====================================
pat.cpp
=====================================
@@ -1699,28 +1699,29 @@ std::pair<bool, int> SRAPatternSource::nextBatchImpl(
size_t readi = 0;
bool done = false;
- for(; readi < pt.max_buf_; readi++) {
- if(!sra_its_[pt.tid_]->nextRead() || !sra_its_[pt.tid_]->nextFragment()) {
+ while (readi < pt.max_buf_) {
+ if(!read_iter_->nextRead() || !read_iter_->nextFragment()) {
done = true;
break;
}
- const ngs::StringRef rname = sra_its_[pt.tid_]->getReadId();
- const ngs::StringRef ra_seq = sra_its_[pt.tid_]->getFragmentBases();
- const ngs::StringRef ra_qual = sra_its_[pt.tid_]->getFragmentQualities();
+ const ngs::StringRef rname = read_iter_->getReadId();
+ const ngs::StringRef ra_seq = read_iter_->getFragmentBases();
+ const ngs::StringRef ra_qual = read_iter_->getFragmentQualities();
readbuf[readi].readOrigBuf.install(rname.data(), rname.size());
readbuf[readi].readOrigBuf.append('\t');
readbuf[readi].readOrigBuf.append(ra_seq.data(), ra_seq.size());
readbuf[readi].readOrigBuf.append('\t');
readbuf[readi].readOrigBuf.append(ra_qual.data(), ra_qual.size());
- if(sra_its_[pt.tid_]->nextFragment()) {
- const ngs::StringRef rb_seq = sra_its_[pt.tid_]->getFragmentBases();
- const ngs::StringRef rb_qual = sra_its_[pt.tid_]->getFragmentQualities();
+ if(read_iter_->nextFragment()) {
+ const ngs::StringRef rb_seq = read_iter_->getFragmentBases();
+ const ngs::StringRef rb_qual = read_iter_->getFragmentQualities();
readbuf[readi].readOrigBuf.append('\t');
readbuf[readi].readOrigBuf.append(rb_seq.data(), rb_seq.size());
readbuf[readi].readOrigBuf.append('\t');
readbuf[readi].readOrigBuf.append(rb_qual.data(), rb_qual.size());
}
readbuf[readi].readOrigBuf.append('\n');
+ readi++;
}
pt.setReadId(readCnt_);
@@ -1877,26 +1878,14 @@ void SRAPatternSource::open() {
return;
}
- size_t window_size = MAX_ROW / sra_its_.size();
- size_t remainder = MAX_ROW % sra_its_.size();
- size_t i = 0, start = 1;
+ size_t start = 1;
if (pp_.skip > 0) {
start = pp_.skip + 1;
readCnt_ = pp_.skip;
}
- while (i < sra_its_.size()) {
- sra_its_[i] = new ngs::ReadIterator(sra_run.getReadRange(start, window_size, ngs::Read::all));
- assert(sra_its_[i] != NULL);
-
- i++;
- start += window_size;
- if (i == sra_its_.size() - 1) {
- window_size += remainder;
- }
- }
-
+ read_iter_ = new ngs::ReadIterator(sra_run.getReadRange(start, MAX_ROW, ngs::Read::all));
} catch(...) {
cerr << "Warning: Could not access \"" << sra_acc << "\" for reading; skipping..." << endl;
}
=====================================
pat.h
=====================================
@@ -1444,7 +1444,6 @@ public:
sra_acc_cur_(0),
cur_(0),
first_(true),
- sra_its_(p.nthreads),
mutex_m(),
pp_(p)
{
@@ -1456,12 +1455,7 @@ public:
}
virtual ~SRAPatternSource() {
- for (size_t i = 0; i < sra_its_.size(); i++) {
- if(sra_its_[i] != NULL) {
- delete sra_its_[i];
- sra_its_[i] = NULL;
- }
- }
+ delete read_iter_;
}
/**
@@ -1488,7 +1482,9 @@ public:
*/
virtual void reset() {
PatternSource::reset();
- sra_acc_cur_ = 0,
+ sra_acc_cur_ = 0;
+ if (read_iter_)
+ delete read_iter_;
open();
sra_acc_cur_++;
}
@@ -1510,7 +1506,7 @@ protected:
size_t cur_; // current read id
bool first_;
- std::vector<ngs::ReadIterator*> sra_its_;
+ ngs::ReadIterator* read_iter_;
/// Lock enforcing mutual exclusion for (a) file I/O, (b) writing fields
/// of this or another other shared object.
View it on GitLab: https://salsa.debian.org/med-team/bowtie2/-/compare/43afb83bb0e52164200a9575333c357b33b75ead...d2e29bfa56edcfe2581715f603f88b4203d94840
--
View it on GitLab: https://salsa.debian.org/med-team/bowtie2/-/compare/43afb83bb0e52164200a9575333c357b33b75ead...d2e29bfa56edcfe2581715f603f88b4203d94840
You're receiving this email because of your account on salsa.debian.org.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://alioth-lists.debian.net/pipermail/debian-med-commit/attachments/20230912/742ea7cb/attachment-0001.htm>
More information about the debian-med-commit
mailing list