[med-svn] [Git][med-team/snap-aligner][upstream] New upstream version 2.0.5+dfsg
Michael R. Crusoe (@crusoe)
gitlab at salsa.debian.org
Fri Sep 5 13:48:02 BST 2025
Michael R. Crusoe pushed to branch upstream at Debian Med / snap-aligner
Commits:
7a8ef679 by Michael R. Crusoe at 2025-09-05T13:51:44+02:00
New upstream version 2.0.5+dfsg
- - - - -
7 changed files:
- README.md
- SNAPLib/AlignerOptions.cpp
- SNAPLib/BaseAligner.cpp
- SNAPLib/CommandProcessor.cpp
- SNAPLib/IntersectingPairedEndAligner.cpp
- docs/SNAP User Manual.docx
- docs/SNAP User Manual.pdf
Changes:
=====================================
README.md
=====================================
@@ -13,15 +13,7 @@ need for several pipeline stages used by other aligners.
## Binaries
-The SNAP executable
-- [v2.0.2 For Linux](https://1drv.ms/u/s!AhuEg_0yZD86hcpYCkpLlDktZnVaow?e=QRDhs4)
-- [v2.0.2 for Windows 10](https://1drv.ms/u/s!AhuEg_0yZD86hcpZQUgOEMrmA5qaLA?e=eUNeHZ)
-- [v2.0.0 for OSX](https://1drv.ms/u/s!AhuEg_0yZD86hcphrIjwoeTjdSvgoA?e=coSU85)
-
-The SNAPCommand tool
-- [SNAPCommand for Linux](https://1drv.ms/u/s!AhuEg_0yZD86hcpdvv0ZBdB1BqF57g?e=IHVbq2>)
-- [SNAPCommand for Windows 10](https://1drv.ms/u/s!AhuEg_0yZD86hcpaSLKPRGJ6dcvVgA?e=vXH8y6)
-- [SNAPCommand for OSX](https://1drv.ms/u/s!AhuEg_0yZD86hcpgy-ONBaw0DjFpTQ?e=cMc6eE)
+Current binaries are available on this GitHub page under "releases"
## Documentation
@@ -39,6 +31,6 @@ When you build it, you will have to set it to build for x64, not "Any CPU" or 32
For Linux, simply type `make`. Requirements:
- g++ version 4.8.5 or later
-- zlib 1.2.11 or later from http://zlib.net/
+- zlib 1.2.11 or later from http://zlib.net/. On Ubuntu, do sudo apt install libz1g-dev
=====================================
SNAPLib/AlignerOptions.cpp
=====================================
@@ -154,7 +154,7 @@ AlignerOptions::usage()
" -x explore some hits of overly popular seeds (useful for filtering)\n"
" -S suppress additional processing (sorted BAM output only)\n"
" i=index, d=duplicate marking\n"
- " -f stop on first match within edit distance limit (filtering mode)\n"
+ " -f stop on first match within edit distance limit (filtering mode, single-end only)\n"
" -F filter output (a=aligned only, s=single hit only (MAPQ >= %d), u=unaligned only, l=long enough to align (see -mrl))\n"
" -E an alternate (and fully general) way to specify filter options. Emit only these types s = single hit (MAPQ >= %d), m = multiple hit (MAPQ < %d),\n"
" x = not long enough to align, u = unaligned, b = filter must apply to both ends of a paired-end read. Combine the letters after\n"
=====================================
SNAPLib/BaseAligner.cpp
=====================================
@@ -1292,6 +1292,21 @@ Return Value:
bool foundAlignment = useHamming ? (score1Gapless != ScoreAboveLimit && score2Gapless != ScoreAboveLimit) : (score1 != ScoreAboveLimit && score2 != ScoreAboveLimit);
+ if (foundAlignment && genomeLocationOffset != 0 &&
+ NULL == genome->getSubstring(genomeLocation + genomeLocationOffset, genomeDataLength)) {
+ //
+ // We had an indel that pushed the alignment to cross a contig boundary. Just dump it
+ // (though maybe hard clipping is more approproiate).
+ //
+ foundAlignment = false;
+#ifdef _DEBUG
+ if (_DumpAlignments) {
+ printf("\t\t Rejected candidate alignment at %s because an indel caused it to cross a contig boundary\n",
+ genome->genomeLocationInStringForm(genomeLocation.location, genomeLocationBuffer, genomeLocationBufferSize));
+ }
+#endif // _DEBUG
+ }
+
if (foundAlignment) {
score = score1 + score2;
scoreGapless = score1Gapless + score2Gapless;
@@ -1303,7 +1318,6 @@ Return Value:
//
genomeLocation += genomeLocationOffset;
-
agScore = agScore1 + agScore2;
//
@@ -1478,8 +1492,15 @@ Return Value:
// care about the best alignment. Stop now but mark the result as MultipleHits because we're not
// confident that it's the best one. We don't support mapq in this secnario, because we haven't
// explored enough to compute it.
+
+
+ (altAwareness ? scoresForNonAltAlignments : scoresForAllAlignments).fillInSingleAlignmentResult(primaryResult, popularSeedsSkipped);
+ //
+ // Force MAPQ 0 in this case, since we didn't explore the whole space and can't say.
+ //
primaryResult->status = MultipleHits;
primaryResult->mapq = 0;
+ firstALTResult->status = NotFound;
return true;
}
=====================================
SNAPLib/CommandProcessor.cpp
=====================================
@@ -36,7 +36,7 @@ Revision History:
#include "Compat.h"
#include "HitDepth.h"
-const char *SNAP_VERSION = "2.0.3";
+const char *SNAP_VERSION = "2.0.5";
static void usage()
{
=====================================
SNAPLib/IntersectingPairedEndAligner.cpp
=====================================
@@ -3359,6 +3359,19 @@ IntersectingPairedEndAligner::scoreLocation(
agScore2 = (seedOffset - score2) * matchReward - score2 * subPenalty;
}
+ if (0 != *genomeLocationOffset && NULL == genome->getSubstring(genomeLocation + *genomeLocationOffset, genomeDataLength)) {
+ //
+ // We adjusted the alignment offset due to an indel in such a way that it now crosses a contig boundary.
+ // Dump the alignment.
+ //
+#ifdef _DEBUG
+ if (_DumpAlignments) {
+ printf("Rejecting alignment candidate because an indel caused a contig boundary cross\n");
+ }
+#endif // _DEBUG
+ score2 = ScoreAboveLimit;
+ }
+
if (score1 != ScoreAboveLimit && score2 != ScoreAboveLimit) {
*score = score1 + score2;
_ASSERT(*score <= scoreLimit);
=====================================
docs/SNAP User Manual.docx
=====================================
Binary files a/docs/SNAP User Manual.docx and b/docs/SNAP User Manual.docx differ
=====================================
docs/SNAP User Manual.pdf
=====================================
Binary files a/docs/SNAP User Manual.pdf and b/docs/SNAP User Manual.pdf differ
View it on GitLab: https://salsa.debian.org/med-team/snap-aligner/-/commit/7a8ef679ea93153b54b5577b3d5e7d6d8bee80c3
--
View it on GitLab: https://salsa.debian.org/med-team/snap-aligner/-/commit/7a8ef679ea93153b54b5577b3d5e7d6d8bee80c3
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/20250905/19c54c76/attachment-0001.htm>
More information about the debian-med-commit
mailing list