Skip to content
Commits on Source (8)
libssw (1.1-2) unstable; urgency=medium
* Team upload.
* debhelper 11
* Point Vcs fields to salsa.debian.org
* Standards-Version: 4.1.5
* d/rules:
- Respect DEB_BUILD_OPTIONS in override_dh_auto_test
- Do not parse d/changelog
-- Andreas Tille <tille@debian.org> Mon, 16 Jul 2018 10:11:08 +0200
libssw (1.1-1) unstable; urgency=medium
[ Sascha Steinbiss ]
......
Source: libssw
Section: science
Priority: optional
Maintainer: Debian Med Packaging Team <debian-med-packaging@lists.alioth.debian.org>
Uploaders: Sascha Steinbiss <satta@debian.org>
Build-Depends: debhelper (>= 9.20151004),
Section: science
Priority: optional
Build-Depends: debhelper (>= 11~),
default-jdk-headless,
javahelper,
dh-autoreconf,
help2man,
zlib1g-dev,
maven-repo-helper
Standards-Version: 3.9.8
Testsuite: autopkgtest
Vcs-Browser: https://anonscm.debian.org/cgit/debian-med/libssw.git
Vcs-Git: https://anonscm.debian.org/git/debian-med/libssw.git
Standards-Version: 4.1.5
Vcs-Browser: https://salsa.debian.org/med-team/libssw
Vcs-Git: https://salsa.debian.org/med-team/libssw.git
Homepage: https://github.com/mengyao/Complete-Striped-Smith-Waterman-Library
Package: libssw0
......@@ -36,7 +34,6 @@ Description: fast SIMD parallelized implementation of the Smith-Waterman algorit
the sub-optimal alignment score and location heuristically.
Package: libssw-dev
Provides: libssw-dev
Architecture: any-amd64 x32
Multi-Arch: same
Section: libdevel
......@@ -44,6 +41,7 @@ Depends: ${shlibs:Depends},
${misc:Depends},
libssw0 (= ${binary:Version})
Pre-Depends: ${misc:Pre-Depends}
Provides: libssw-dev
Description: Development headers and static libraries for libssw
This package provides development headers and static libraries for libssw,
a fast implementation of the Smith-Waterman algorithm using
......
Description: fix building with GCC 5
Apparently binaries built with GCC 5 (and 6) will create a
binary that yields wrong alignments. While recording alignment
backtraces as edit operations, almost all indels get recorded as
replacements, which corrupts the output.
This has been reported upstream; this fix makes GCC build properly
behaving binaries, possibly at some performance expense as it
involves reducing the optimization level and removing inlining hints.
Author: Sascha Steinbiss <satta@debian.org>
Forwarded: https://github.com/mengyao/Complete-Striped-Smith-Waterman-Library/issues/37
Last-Update: 2016-07-19
--- a/src/ssw.c
+++ b/src/ssw.c
@@ -529,6 +529,37 @@
return bests;
}
+/*! @function Produce CIGAR 32-bit unsigned integer from CIGAR operation and CIGAR length
+ @param length length of CIGAR
+ @param op_letter CIGAR operation character ('M', 'I', etc)
+ @return 32-bit unsigned integer, representing encoded CIGAR operation and length
+*/
+uint32_t to_cigar_int (uint32_t length, char op_letter)
+{
+ switch (op_letter) {
+ case 'M': /* alignment match (can be a sequence match or mismatch */
+ default:
+ return length << BAM_CIGAR_SHIFT;
+ case 'S': /* soft clipping (clipped sequences present in SEQ) */
+ return (length << BAM_CIGAR_SHIFT) | (4u);
+ case 'D': /* deletion from the reference */
+ return (length << BAM_CIGAR_SHIFT) | (2u);
+ case 'I': /* insertion to the reference */
+ return (length << BAM_CIGAR_SHIFT) | (1u);
+ case 'H': /* hard clipping (clipped sequences NOT present in SEQ) */
+ return (length << BAM_CIGAR_SHIFT) | (5u);
+ case 'N': /* skipped region from the reference */
+ return (length << BAM_CIGAR_SHIFT) | (3u);
+ case 'P': /* padding (silent deletion from padded reference) */
+ return (length << BAM_CIGAR_SHIFT) | (6u);
+ case '=': /* sequence match */
+ return (length << BAM_CIGAR_SHIFT) | (7u);
+ case 'X': /* sequence mismatch */
+ return (length << BAM_CIGAR_SHIFT) | (8u);
+ }
+ return (uint32_t)-1; // This never happens
+}
+
static cigar* banded_sw (const int8_t* ref,
const int8_t* read,
int32_t refLen,
--- a/src/ssw.h
+++ b/src/ssw.h
@@ -22,7 +22,7 @@
#define MAPSTR "MIDNSHP=X"
#ifndef BAM_CIGAR_SHIFT
-#define BAM_CIGAR_SHIFT 4
+#define BAM_CIGAR_SHIFT 4u
#endif
@@ -134,32 +134,7 @@
@param op_letter CIGAR operation character ('M', 'I', etc)
@return 32-bit unsigned integer, representing encoded CIGAR operation and length
*/
-static inline uint32_t to_cigar_int (uint32_t length, char op_letter)
-{
- switch (op_letter) {
- case 'M': /* alignment match (can be a sequence match or mismatch */
- default:
- return length << BAM_CIGAR_SHIFT;
- case 'S': /* soft clipping (clipped sequences present in SEQ) */
- return (length << BAM_CIGAR_SHIFT) | (4u);
- case 'D': /* deletion from the reference */
- return (length << BAM_CIGAR_SHIFT) | (2u);
- case 'I': /* insertion to the reference */
- return (length << BAM_CIGAR_SHIFT) | (1u);
- case 'H': /* hard clipping (clipped sequences NOT present in SEQ) */
- return (length << BAM_CIGAR_SHIFT) | (5u);
- case 'N': /* skipped region from the reference */
- return (length << BAM_CIGAR_SHIFT) | (3u);
- case 'P': /* padding (silent deletion from padded reference) */
- return (length << BAM_CIGAR_SHIFT) | (6u);
- case '=': /* sequence match */
- return (length << BAM_CIGAR_SHIFT) | (7u);
- case 'X': /* sequence mismatch */
- return (length << BAM_CIGAR_SHIFT) | (8u);
- }
- return (uint32_t)-1; // This never happens
-}
-
+uint32_t to_cigar_int (uint32_t length, char op_letter);
/*! @function Extract CIGAR operation character from CIGAR 32-bit unsigned integer
@param cigar_int 32-bit unsigned integer, representing encoded CIGAR operation and length
......@@ -2,8 +2,8 @@
# DH_VERBOSE := 1
export DEB_BUILD_MAINT_OPTIONS = hardening=+bindnow
DEBVERS := $(shell dpkg-parsechangelog | sed -n -e 's/^Version: //p')
PKG_VERSION := $(shell echo '$(DEBVERS)' | sed -e 's/^[[:digit:]]*://' -e 's/-.*//')
include /usr/share/dpkg/default.mk
%:
dh $@ --with javahelper --with jh_maven_repo_helper
......@@ -16,7 +16,7 @@ override_dh_auto_build:
$(MAKE) -C src default java
override_dh_auto_install: debian/libssw0.install debian/libssw-dev.install debian/libssw-dev.links debian/libssw-java.install debian/libssw-java.links
mv src/ssw.jar src/ssw-$(PKG_VERSION).jar
mv src/ssw.jar src/ssw-$(DEB_VERSION_UPSTREAM).jar
dh_auto_install
override_dh_installman:
......@@ -28,12 +28,14 @@ override_dh_installman:
dh_installman
override_dh_auto_test:
ifeq (,$(filter nocheck,$(DEB_BUILD_OPTIONS)))
src/example_c
src/example_cpp
endif
debian/%.install: debian/%.install.in
sed 's/@DEB_HOST_MULTIARCH@/$(DEB_HOST_MULTIARCH)/g' $< > $@
debian/%.links: debian/%.links.in
sed -e 's/@DEB_HOST_MULTIARCH@/$(DEB_HOST_MULTIARCH)/g' \
-e 's/@DEB_JAVA_PKG_VERSION@/$(PKG_VERSION)/g' $< > $@
-e 's/@DEB_JAVA_PKG_VERSION@/$(DEB_VERSION_UPSTREAM)/g' $< > $@