[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