[med-svn] [Git][med-team/lastz][upstream] New upstream version 1.04.22
Andreas Tille (@tille)
gitlab at salsa.debian.org
Wed Aug 24 07:05:46 BST 2022
Andreas Tille pushed to branch upstream at Debian Med / lastz
Commits:
878629d3 by Andreas Tille at 2022-08-24T07:52:24+02:00
New upstream version 1.04.22
- - - - -
9 changed files:
- README.lastz.html
- README.md
- src/gapped_extend.c
- src/gapped_extend.h
- src/genpaf.h
- src/lastz.c
- src/sequences.c
- src/sequences.h
- src/version.mak
Changes:
=====================================
README.lastz.html
=====================================
@@ -79,8 +79,8 @@
<body>
<p class=vvlarge>
-<h1>LASTZ Release 1.04.15,
- built August 27, 2021</h1>
+<h1>LASTZ Release 1.04.22,
+ built August 7, 2022</h1>
TABLE OF CONTENTS
@@ -4530,13 +4530,17 @@ be described by this field:
<h3>BLASTN (alignment output)</h3>
+<p>
+<em>Note: Prior to release 1.04.22, this format reported query positions
+incorrectly when alignments were on opposite strands.</em>
+
<p>
The BLASTN format reports pairwise alignments in a format similar to
NCBI’s BLASTN program. Output is modeled upon version 2.2.24+ of the
standalone version of BLASTN available from
<a href="ftp://ftp.ncbi.nlm.nih.gov/blast/executables/blast+/LATEST/">
-NCBI’s BLAST ftp site</a>. Output should be similar that produced by the
-command
+NCBI’s BLAST ftp site</a>. (Note: that version of BLASTN is no longer
+available.) Output should be similar that produced by the command
<pre>
blastn -task blastn -db <target> -query <query> -outfmt 7
</pre>
@@ -7763,7 +7767,7 @@ These changes have no affect on the executable.
<tr class=newsect>
<td>
-<a name="history_recent"></a>1.04.15</td><td>Aug/27/2021</td><td>
+1.04.15</td><td>Aug/27/2021</td><td>
Fixed a bug in which the setting for
<code><a href="#option_queryhspbest">‑‑queryhspbest</a></code>
was ignored. For more details see
@@ -7801,6 +7805,25 @@ Some changes were made to the source code to placate compiler warnings. These
changes have no affect on the executable.
</td></tr>
+<!-- 1.04.22 -->
+
+<tr class=newsect>
+<td>
+<a name="history_recent"></a>1.04.22</td><td>Aug/7/2022</td><td>
+Fixed a serious bug in the <a href="#fmt_blastn">blastn format</a>.
+<p class=small>
+In previous versions query positions were misreported for alignments on
+opposite strands. Blastn (the program) always reports the position of the
+query along the forward strand. Previous versions of lastz reported it
+along the aligning strand.
+<p class=small>
+This has been corrected.
+<p class=small>
+For more details see
+<a href="https://github.com/lastz/lastz/issues/51">issue 51</a> at the lastz
+github repository.
+</td></tr>
+
</tbody></table>
<!---->
=====================================
README.md
=====================================
@@ -7,9 +7,9 @@ https://github.com/lastz/lastz/releases.
Users are encouraged to use a tagged release, as this working branch may not
be stable.
-As of this writing, the latest official release is version 1.04.03.
-Additional LASTZ releases, including all releases prior to March 2017, can be
-found at http://www.bx.psu.edu/~rsharris/lastz (in the form of tarballs).
+As of this writing, the latest official release is version 1.04.22.
+Additional LASTZ releases, including all releases prior to September 2021, can
+be found at http://www.bx.psu.edu/~rsharris/lastz (in the form of tarballs).
For information about installation and use, see https://lastz.github.io/lastz
(equivalent to README.lastz.html in this repository).
@@ -21,5 +21,8 @@ binaries (the version there might lag behind the latest version here):
http://hgdownload.soe.ucsc.edu/admin/exe/macOSX.x86_64/
```
-Updated Apr/6/2018 by Bob Harris (the LASTZ guy)
+A GPU accelerated version, SegAlign, can be found at
+https://github.com/gsneha26/SegAlign.
+
+Updated Aug/7/2022 by Bob Harris (the LASTZ guy)
=====================================
src/gapped_extend.c
=====================================
@@ -1288,6 +1288,31 @@ alignel* gapped_extend
{
mp = msp[i];
+ if ((gapped_extend_dbgAnchorsProgress != 0) && (i % gapped_extend_dbgAnchorsProgress == 0))
+ {
+ int reportStrand = true;
+ fprintf (stderr, "processing");
+ if ((seq2->shortHeader != NULL) && (!seq2->useFullNames))
+ fprintf (stderr, " %s", seq2->shortHeader);
+ else if (seq2->header != NULL)
+ fprintf (stderr, " %s", seq2->header);
+ else
+ reportStrand = false;
+ if (reportStrand)
+ {
+ if (seq2->revCompFlags == rcf_comp)
+ fprintf (stderr, "(complement)");
+ else if (seq2->revCompFlags == rcf_rev)
+ fprintf (stderr, "(reverse)");
+ else if (seq2->revCompFlags == rcf_revcomp)
+ fprintf (stderr, "-");
+ else
+ fprintf (stderr, "+");
+ }
+ fprintf (stderr, " anchor #%u (%.2f%% of %u) hspId=" u64Fmt "\n",
+ i+1, 100.0*i/anchors->len, anchors->len, mp->hspId);
+ }
+
debugGappedExtendVerbosity_1;
debugSnoopAnchorToGapped_1;
debugsnoopSpecialHsp_1;
=====================================
src/gapped_extend.h
=====================================
@@ -31,6 +31,7 @@ int gapped_extend_dbgShowIdentity = false;
int gapped_extend_dbgShowHsps = false;
int gapped_extend_dbgShowAnchors = false;
int gapped_extend_dbgShowAnchorsHowOften = 0;
+int gapped_extend_dbgAnchorsProgress = 0;
int gapped_extend_dbgAllowBatches = false;
#ifdef tryout
int gapped_extend_dbgTriviality = false;
@@ -42,6 +43,7 @@ global int gapped_extend_dbgShowIdentity;
global int gapped_extend_dbgShowHsps;
global int gapped_extend_dbgShowAnchors;
global int gapped_extend_dbgShowAnchorsHowOften;
+global int gapped_extend_dbgAnchorsProgress;
global int gapped_extend_dbgAllowBatches;
#ifdef tryout
global int gapped_extend_dbgTriviality;
=====================================
src/genpaf.h
=====================================
@@ -115,7 +115,7 @@ enum
#define genpafStandardKeys "#NDSZEndszeIC"
#define genpafMappingKeys "NZEnd>,IC^"
#define genpafSegmentKeys "NBEnbed#"
-#define genpafBlastKeys "nNmWvybeQR%$"
+#define genpafBlastKeys "nNmWvy<,QR%$" // was, erroneously, "nNmWvybeQR%$"
#define genpafRDotplotKeys "02!13!XX"
#define genpafRDotplotScoreKeys "02#!13#!XXX"
#define genpafPafWfMashKeys "ns>,dNSZEuW{|}"
=====================================
src/lastz.c
=====================================
@@ -459,6 +459,7 @@ static int dbgAnchorParsing = false;
static int dbgAnchorContent = false;
static int dbgShowAnchors = false;
static int dbgShowAnchorsHowOften = 0;
+static int dbgAnchorsProgress = 0;
static int dbgSortAnchorsByDiag = false;
static int dbgInhibitSegmentReduction = false;
static int dbgMasking = false;
@@ -7781,6 +7782,18 @@ static void parse_options_loop
goto next_arg;
}
+ if ((strcmp_prefix (arg, "--debug=segmentprogress:") == 0)
+ || (strcmp_prefix (arg, "--debug=segmentsprogress:") == 0)
+ || (strcmp_prefix (arg, "--debug=anchorprogress:") == 0)
+ || (strcmp_prefix (arg, "--debug=anchorsprogress:") == 0))
+ {
+ scan = strchr(argStr,':') + 1;
+ dbgAnchorsProgress = string_to_unitized_int (scan, true /*units of 1,000*/);
+ if (dbgAnchorsProgress <= 0)
+ dbgAnchorsProgress = 0;
+ goto next_arg;
+ }
+
if (strcmp (arg, "--debug=sort:diag") == 0)
{ dbgSortAnchorsByDiag = true; goto next_arg; }
@@ -9190,6 +9203,7 @@ threshold_check_done:
gapped_extend_dbgShowHsps = dbgShowHsps;
gapped_extend_dbgShowAnchors = dbgShowAnchors;
gapped_extend_dbgShowAnchorsHowOften = dbgShowAnchorsHowOften;
+ gapped_extend_dbgAnchorsProgress = dbgAnchorsProgress;
sequences_keepFastaArrow = lzParams->lajCompatible;
=====================================
src/sequences.c
=====================================
@@ -3621,7 +3621,7 @@ static void load_nib_sequence
//----------
static int find_2bit_sequence (seq* _seq, char* name);
-static u32 read_2bit_index_entry (seq* _seq, char seqName[256], u32 seqNum);
+static u32 read_2bit_index_entry (seq* _seq, char seqName[maxSequenceName+1], u32 seqNum);
//--- read_2bit_header ---
@@ -4025,6 +4025,12 @@ static int find_2bit_sequence
//--- read_2bit_index_entry ---
+// complain if someone has tried to set maxSequenceName too small
+
+#if maxSequenceName < 255
+#error ***** maxSequenceName is too small (names in 2bit files can be up to 255 characters) *****
+#endif
+
static u32 read_2bit_index_entry
(seq* _seq,
char seqName[maxSequenceName+1],
@@ -4034,6 +4040,8 @@ static u32 read_2bit_index_entry
size_t bytesRead;
// read the name
+ //
+ // nota bene: 0<=nameSize<=255
nameSize = getc_or_die (_seq->f, _seq->filename);
if (nameSize > 0)
=====================================
src/sequences.h
=====================================
@@ -192,7 +192,7 @@ typedef struct interval { unspos s; unspos e; } interval;
//
//----------
-#define maxSequenceName 100
+#define maxSequenceName 255 // has to be at least this big to accomodate 2bit files
#define maxSequenceHeader 992
#define seqBufferSize (maxSequenceHeader+32)
#define maxFastqSequenceLen 10000
=====================================
src/version.mak
=====================================
@@ -1,4 +1,4 @@
VERSION_MAJOR=1
VERSION_MINOR=04
-VERSION_SUBMINOR=15
-REVISION_DATE=20210827
+VERSION_SUBMINOR=22
+REVISION_DATE=20220807
View it on GitLab: https://salsa.debian.org/med-team/lastz/-/commit/878629d35228fae74cdc693a70ce5ff5a80a3894
--
View it on GitLab: https://salsa.debian.org/med-team/lastz/-/commit/878629d35228fae74cdc693a70ce5ff5a80a3894
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/20220824/d60b6d90/attachment-0001.htm>
More information about the debian-med-commit
mailing list