[med-svn] [Git][med-team/damapper][master] 6 commits: New upstream version 0.0+git20240314.b025cf9

Étienne Mollier (@emollier) gitlab at salsa.debian.org
Sun Aug 25 17:31:24 BST 2024



Étienne Mollier pushed to branch master at Debian Med / damapper


Commits:
0f76cbf4 by Étienne Mollier at 2024-08-25T18:19:39+02:00
New upstream version 0.0+git20240314.b025cf9
- - - - -
f28aff8f by Étienne Mollier at 2024-08-25T18:19:40+02:00
Update upstream source from tag 'upstream/0.0+git20240314.b025cf9'

Update to upstream version '0.0+git20240314.b025cf9'
with Debian dir 659a7d8d13bef0b8db3e16536db20ae79cb15a2d
- - - - -
7b3c2d69 by Étienne Mollier at 2024-08-25T18:23:04+02:00
d/control: add myself to uploaders.

- - - - -
08587ddd by Étienne Mollier at 2024-08-25T18:23:24+02:00
d/control: declare compliance to standards version 4.7.0.

- - - - -
36e6e250 by Étienne Mollier at 2024-08-25T18:29:21+02:00
typo.patch: new: fix a typo caught by lintian.

- - - - -
ac4cd21c by Étienne Mollier at 2024-08-25T18:29:52+02:00
Ready for upload to unstable.

- - - - -


8 changed files:

- DB.c
- QV.c
- align.c
- align.h
- debian/changelog
- debian/control
- debian/patches/series
- + debian/patches/typo.patch


Changes:

=====================================
DB.c
=====================================
@@ -2208,7 +2208,7 @@ int Read_Extra(FILE *afile, char *aname, DAZZ_EXTRA *extra)
     }
   if (accum != extra->accum)
     { EPRINTF(EPLACE,
-           "%s: Reduction indicator of extra %s does not agree with previos .anno block files\n",
+           "%s: Reduction indicator of extra %s does not agree with previous .anno block files\n",
            Prog_Name,name);
       goto error;
     }
@@ -2829,7 +2829,7 @@ static Block_Looper *parse_block_arg(char *arg, int isDB)
     first = last = -1;
   else
     { if (index(ppnt+1,BLOCK_SYMBOL) != NULL)
-        { EPRINTF(EPLACE,"%s: Two or more occurences of %c-sign in source name '%s'\n",
+        { EPRINTF(EPLACE,"%s: Two or more occurrences of %c-sign in source name '%s'\n",
                          Prog_Name,BLOCK_SYMBOL,root);
           goto error;
         }


=====================================
QV.c
=====================================
@@ -1319,7 +1319,7 @@ error:
   EXIT(NULL);
 }
 
-  //  Free all the auxilliary storage associated with the encoding argument
+  //  Free all the auxiliary storage associated with the encoding argument
 
 void Free_QVcoding(QVcoding *coding)
 { if (coding->subChar >= 0)


=====================================
align.c
=====================================
@@ -163,6 +163,8 @@ void Free_Work_Data(Work_Data *ework)
                          //     2*TRIM_LEN edits are prefix-positive at rate ave_corr*f(bias)
                          //     (max value is 20)
 
+#define DUB_TRIM    45   //  = 3*TRIM_LEN
+
 #define PATH_LEN    60   //  Follow the last PATH_LEN columns/edges (max value is 63)
 
   //  Derivative fixed parameters
@@ -236,6 +238,8 @@ Align_Spec *New_Align_Spec(double ave_corr, int trace_space, float *freq, int re
   spec->freq[3]     = freq[3];
 
   match = freq[0] + freq[3];
+  if ((match <= 0.) == (match > 0.))   //  frequencies accidentally undefined?
+    match = .5;
   if (match > .5)
     match = 1.-match;
   bias = (int) ((match+.025)*20.-1.);
@@ -1729,6 +1733,7 @@ Path *Local_Alignment(Alignment *align, Work_Data *ework, Align_Spec *espec,
   int   aoff, boff;
   int   minp, maxp;
   int   selfie;
+  int   fshort, rshort;
 
   { int alen, blen;
     int maxtp, wsize;
@@ -1765,6 +1770,9 @@ Path *Local_Alignment(Alignment *align, Work_Data *ework, Align_Spec *espec,
 #endif
 
   selfie = (align->aseq == align->bseq);
+
+  while (((anti-hgh) >> 1) < 0)
+    hgh -= 1;
    
   if (lbord < 0)
     { if (selfie && low >= 0)
@@ -1799,9 +1807,11 @@ Path *Local_Alignment(Alignment *align, Work_Data *ework, Align_Spec *espec,
   if (forward_wave(work,spec,align,bpath,&low,hgh,anti,minp,maxp,aoff,boff))
     EXIT(NULL);
 
+  fshort = ((apath->aepos + apath->bepos) - anti < DUB_TRIM);
+
 #ifdef DEBUG_PASSES
   printf("F1 (%d,%d) ~ %d => (%d,%d) %d\n",
-         (2*anti+(low+hgh))/4,(anti-(low+hgh))/4,hgh-low,
+         (2*anti+(low+hgh))/4,(2*anti-(low+hgh))/4,hgh-low,
          apath->aepos,apath->bepos,apath->diffs);
 #endif
 
@@ -1813,6 +1823,37 @@ Path *Local_Alignment(Alignment *align, Work_Data *ework, Align_Spec *espec,
          (anti+low)/2,(anti-low)/2,apath->abpos,apath->bbpos,apath->diffs);
 #endif
 
+  rshort = (anti - (apath->abpos + apath->bbpos) < DUB_TRIM);
+
+  if (fshort)
+    { if (rshort)
+        { apath->aepos = apath->abpos = (apath->abpos+apath->aepos)/2;
+          apath->bepos = apath->bbpos = (apath->bbpos+apath->bepos)/2;
+          bpath->aepos = bpath->abpos = (bpath->abpos+bpath->aepos)/2;
+          bpath->bepos = bpath->bbpos = (bpath->bbpos+bpath->bepos)/2;
+          apath->tlen  = 0;
+          bpath->tlen  = 0;
+        }
+      else
+        { low  = apath->abpos - apath->bbpos;
+          anti = apath->abpos + apath->bbpos;
+          apath->tlen = bpath->tlen = 0;
+          if (forward_wave(work,spec,align,bpath,&low,low,anti,minp,maxp,aoff,boff))
+            EXIT(NULL);
+        }
+    }
+  else
+    { if (rshort)
+        { low  = apath->aepos - apath->bepos;
+          anti = apath->aepos + apath->bepos;
+          apath->tlen = bpath->tlen = 0;
+          apath->diffs = 0;
+          if (reverse_wave(work,spec,align,bpath,low,low,anti,minp,maxp,aoff,boff))
+            EXIT(NULL);
+        }
+    }
+        
+
   bpath->diffs = apath->diffs;
   if (ACOMP(align->flags))
     { uint16 *trace = (uint16 *) apath->trace;
@@ -3338,7 +3379,9 @@ int Print_Alignment(FILE *file, Alignment *align, Work_Data *ework,
   blen = align->blen;
 
   Abuf[width] = Bbuf[width] = Dbuf[width] = '\0';
-                                           /* buffer/output next column */
+
+  // buffer/output next column
+
 #define COLUMN(x,y)							\
 { int u, v;								\
   if (o >= width)							\
@@ -3389,19 +3432,18 @@ int Print_Alignment(FILE *file, Alignment *align, Work_Data *ework,
   b = align->bseq - 1;
 
   o  = 0;
-  i = j = 1;
+  i = align->path->abpos;
+  j = align->path->bbpos;
 
-  prefa = align->path->abpos;
-  prefb = align->path->bbpos;
+  prefa = 0;
+  for (prefa = 0; prefa < border && a[i] != 4; prefa++)
+    i -= 1;
+  i += 1;
 
-  if (prefa > border)
-    { i = prefa-(border-1);
-      prefa = border;
-    }
-  if (prefb > border)
-    { j = prefb-(border-1);
-      prefb = border;
-    }
+  prefb = 0;
+  for (prefb = 0; prefb < border && b[j] != 4; prefb++)
+    j -= 1;
+  j += 1;
 
   sa   = i-1;
   sb   = j-1;
@@ -3652,19 +3694,18 @@ int Print_Reference(FILE *file, Alignment *align, Work_Data *ework,
   b = align->bseq - 1;
 
   o  = 0;
-  i = j = 1;
+  i = align->path->abpos;
+  j = align->path->bbpos;
 
-  prefa = align->path->abpos;
-  prefb = align->path->bbpos;
+  prefa = 0;
+  for (prefa = 0; prefa < border && a[i] != 4; prefa++)
+    i -= 1;
+  i += 1;
 
-  if (prefa > border)
-    { i = prefa-(border-1);
-      prefa = border;
-    }
-  if (prefb > border)
-    { j = prefb-(border-1);
-      prefb = border;
-    }
+  prefb = 0;
+  for (prefb = 0; prefb < border && b[j] != 4; prefb++)
+    j -= 1;
+  j += 1;
 
   s0   = i;
   sa   = i-1;
@@ -5155,6 +5196,8 @@ int Compute_Trace_PTS(Alignment *align, Work_Data *ework, int trace_spacing, int
       }
     if (tlen <= 1)
       nmax = N;
+    if (dmax & 0x1)
+      dmax += 1;
 
     s = (dmax+3)*2*((trace_spacing+nmax+3)*sizeof(int) + sizeof(int *));
 
@@ -5265,6 +5308,8 @@ int Compute_Trace_MID(Alignment *align, Work_Data *ework, int trace_spacing, int
       }
     if (tlen <= 1)
       nmax = N;
+    if (dmax & 0x1)
+      dmax += 1;
 
     s = (dmax+3)*4*((trace_spacing+nmax+3)*sizeof(int) + sizeof(int *));
 
@@ -5451,3 +5496,397 @@ int Compute_Trace_IRR(Alignment *align, Work_Data *ework, int mode)
 
   return (0);
 }
+
+#undef DEBUG_BOX
+#undef DEBUG_DP
+#undef DEBUG_BACK
+#undef BOX_STATS
+
+#define LONG_SNAKE 50
+
+#ifdef DEBUG
+
+static int ASCII[5] = { 'a', 'c', 'g', 't', '.' };
+
+static inline void print_string(char *a, int l)
+{ int i;
+
+  for (i = 0; i < l; i++)
+    printf("%c",ASCII[(int) a[i]]);
+}
+
+#endif
+
+static inline int hamming(char *a, char *b, int n)
+{ int h, i, x, y;
+
+  h = 0;
+  for (i = 0; i < n; i++)
+    { x = *a++;
+      if (x == 4)
+        break;
+      y = *b++;
+      if (x != y)
+        { if (y == 4)
+            break;
+          else
+            h += 1;
+        }
+    }
+  return (h);
+}
+
+static inline int snake(char *a, char *b)
+{ int i, x;
+
+  for (i = 0; 1; i++)
+    { x = *a++;
+      if (x == 4)
+        break;
+      if (x != *b++)
+        break;
+    }
+  return (i);
+}
+
+static inline int rsnake(char *a, char *b)
+{ int i, x;
+
+  for (i = 0; 1; i++)
+    { x = *--a;
+      if (x == 4)
+        break;
+      if (x != *--b)
+        break;
+    }
+  return (i);
+}
+
+#ifdef BOX_STATS
+
+static int   MaxBxArea;
+static int   MaxBxWidth;
+static int   MaxBxHeight;
+static int64 SumBx;
+static int   NumBx;
+static int   BxHist[101];
+static int   BxExtend;
+static int   BxGaps;
+
+void BeginBoxStats()
+{ int i;
+
+  MaxBxArea   = 0;
+  MaxBxWidth  = 0;
+  MaxBxHeight = 0;
+  SumBx       = 0;
+  NumBx       = 0;
+  for (i = 0; i <= 100; i++)
+    BxHist[i] = 0;
+  BxExtend = 0;
+  BxGaps   = 0;
+}
+
+void EndBoxStats()
+{ int i;
+
+  printf("\n# of Boxes = %d with average work %lld\n",NumBx,SumBx/NumBx);
+  printf("\nMax Work  = %d\n",MaxBxArea);
+  printf("Max Diags = %d\n",MaxBxWidth);
+  printf("Max Waves = %d\n",MaxBxHeight);
+  printf("\nBox extended = %d\n",BxExtend);
+  printf("Gaps removed = %d\n",BxGaps);
+  printf("\nHistogram of box work:\n");
+  for (i = 0; i <= 100; i++)
+    if (BxHist[i] > 0)
+      printf(" %3d00: %10d\n",i,BxHist[i]);
+}
+
+#endif
+
+void Gap_Improver(Alignment *aln, Work_Data *ework)
+{ _Work_Data *work = (_Work_Data *) ework;
+  int        *F, *H;
+  int        *f, *h;
+
+  char  *A, *B;
+  int    x;
+  int    p, q;
+  int    d, m;
+  int   *t, T;
+  int    Fpos, Lpos, Fdag, Hamm, Gaps, Diag;
+  int    passes;
+ 
+  A = aln->aseq-1;
+  B = aln->bseq-1;
+  t = (int *) aln->path->trace;
+  T = aln->path->tlen;
+  F = (int *) work->vector;
+
+  d = aln->path->abpos - aln->path->bbpos;
+  q = t[0];
+  x = 0;
+  while (x < T)
+    { p = q;
+      m = x;
+      Fdag = d;
+      Fpos = p;
+      Hamm = 0;
+      Gaps = 1;
+      while (1)
+        { x += 1;
+          q = 0;
+          if (x >= T || (q = t[x]) != p)
+            { m = x-m;
+              if (p < 0)
+                { d -= m;
+                  if (q >= 0)
+                    break;
+                  if (p-q >= LONG_SNAKE)
+                    break;
+                  Hamm += hamming(A-p,B-(d+p),p-q);
+                }
+              else
+                { d += m;
+                  if (q <= 0)
+                    break;
+                  if (q-p >= LONG_SNAKE)
+                    break;
+                  Hamm += hamming(A+(p+d),B+p,q-p);
+                }
+              Gaps += 1;
+              p = q;
+              m = x;
+            }
+        }
+      if (Gaps == 1)
+        continue;
+      Lpos = p;
+      Diag = abs(Fdag-d)+1;
+
+      // Process box
+
+      p = Diag*(Gaps+Hamm+1)*sizeof(int);
+      if (p > work->vecmax)
+        { if (enlarge_vector(work,p))
+            EXIT (1);
+          F = (int *) work->vector;
+        }
+      H = F + Diag;
+
+#ifdef BOX_STATS
+      { int hgt  = Gaps+Hamm+1;
+        int area = Diag*hgt;
+        if (area > MaxBxArea)
+          MaxBxArea = area;
+        if (Diag > MaxBxWidth)
+          MaxBxWidth = Diag;
+        if (hgt > MaxBxHeight)
+          MaxBxHeight = hgt;
+        NumBx += 1;
+        SumBx += area;
+        if (area >= 10000)
+          BxHist[100] += 1;
+        else
+          BxHist[area/100] += 1;
+      }
+#endif
+#ifdef DEBUG_BOX
+      printf("Box:  %5d :: %4d x %3d (%2d+%2d)  :: %5d .. %5d  %6d .. %6d\n",
+             (Gaps+Hamm+1)*Diag,abs(Fpos-Lpos),Diag,Hamm,Gaps,Fpos,Lpos,Fdag,d);
+      fflush(stdout);
+#endif
+
+      if (Fpos < 0)
+        { Fpos = -Fpos;
+          Lpos = -Lpos;
+
+          while (A[Fpos-1] != B[(Fpos-Fdag)-1] && A[Fpos-1] != 4 && B[(Fpos-Fdag)-1] != 4)
+            { Fpos -= 1;
+#ifdef BOX_STATS
+              BxExtend += 1;
+#endif
+            }
+          while (A[Lpos] != B[Lpos-d] && A[Lpos] != 4 && B[Lpos-d] != 4)
+            { Lpos += 1;
+#ifdef BOX_STATS
+              BxExtend += 1;
+#endif
+            }
+
+          f = F;
+          *f++ = p = Fpos + snake(A+Fpos,B+(Fpos-Fdag));
+          for (m = Fdag-1; m >= d; m--)
+            *f++ = Fpos-1;
+          passes = 0;
+
+#ifdef DEBUG_DP
+          printf(" %2d:",passes);
+          for (m = Fdag; m >= d; m--)
+            printf(" %d",F[Fdag-m]);
+          printf("\n");
+          fflush(stdout);
+#endif
+
+          h = H;
+          p = Fpos;
+          while (p < Lpos)
+            { int b, c;
+
+              b = Fpos;
+              c = 0;
+              f = F;
+              for (m = Fdag; m >= d; m--)
+                { p = b;
+                  if (*f >= b)
+                    { b = *f;
+                      c = 0;
+                      p = b+1;
+                    }
+                  else
+                    c += 1;
+                  *h++ = c;
+                  *f++ = p += snake(A+p,B+(p-m));
+                }
+              passes += 1;
+
+#ifdef DEBUG_DP
+              printf(" %2d:",passes);
+              for (m = Fdag; m >= d; m--)
+                printf(" %d(%2d)",F[Fdag-m],h[(d-m)-1]);
+              printf("\n");
+              fflush(stdout);
+#endif
+            }
+
+          if (passes < Gaps+Hamm)
+            { int y, k;
+
+              p = Lpos;
+              m = d;
+              y = x;
+#ifdef DEBUG_BACK
+              printf("Short cut %d\n",(Gaps+Hamm)-passes);
+              printf("Path (%d,%d)",p,m);
+#endif
+#ifdef BOX_STATS
+              BxGaps += (Gaps+Hamm)-passes;
+#endif
+              while (h > H)
+                { p -= rsnake(A+p,B+(p-m));
+                  if (p < Fpos)
+                    p = Fpos;
+                  h -= Diag;
+                  k = h[Fdag-m];
+                  if (k == 0)
+                    p -= 1;
+                  else
+                    { m += k;
+                      for (; k > 0; k--)
+                        t[--y] = -p;
+                    }
+#ifdef DEBUG_BACK
+                  printf(" (%d,%d)",p,m);
+#endif
+                }
+#ifdef DEBUG_BACK
+              printf("\n");
+#endif
+            }
+        }
+      else
+        { while (B[Fpos-1] != A[(Fpos+Fdag)-1] && B[Fpos-1] != 4 && A[(Fpos+Fdag)-1] != 4)
+            { Fpos -= 1;
+#ifdef BOX_STATS
+              BxExtend += 1;
+#endif
+            }
+          while (B[Lpos] != A[Lpos+d] && B[Lpos] != 4 && A[Lpos+d] != 4)
+            { Lpos += 1;
+#ifdef BOX_STATS
+              BxExtend += 1;
+#endif
+            }
+
+          f = F;
+          *f++ = p = Fpos + snake(A+(Fpos+Fdag),B+Fpos);
+          for (m = Fdag+1; m <= d; m++)
+            *f++ = Fpos-1;
+          passes = 0;
+
+#ifdef DEBUG_DP
+          printf(" %2d:",passes);
+          for (m = Fdag; m <= d; m++) 
+            printf(" %d",F[m-Fdag]);
+          printf("\n");
+          fflush(stdout);
+#endif
+
+          h = H;
+          p = Fpos;
+          while (p < Lpos)
+            { int b, c;
+
+              b = Fpos;
+              c = 0;
+              f = F;
+              for (m = Fdag; m <= d; m++) 
+                { p = b;
+                  if (*f >= b)
+                    { b = *f;
+                      c = 0;
+                      p = b+1;
+                    }
+                  else
+                    c += 1;
+                  *h++ = c; 
+                  *f++ = p += snake(A+(m+p),B+p);
+                }
+              passes += 1;
+
+#ifdef DEBUG_DP
+              printf(" %2d:",passes);
+              for (m = Fdag; m <= d; m++) 
+                printf(" %d(%2d)",F[m-Fdag],h[(m-d)-1]);
+              printf("\n");
+              fflush(stdout);
+#endif
+            }
+
+          if (passes < Gaps+Hamm)
+            { int y, k;
+
+              p = Lpos;
+              m = d;
+              y = x;
+#ifdef DEBUG_BACK
+              printf("Short cut %d\n",(Gaps+Hamm)-passes);
+              printf("Path (%d,%d)",p,m);
+#endif
+#ifdef BOX_STATS
+              BxGaps += (Gaps+Hamm)-passes;
+#endif
+              while (h > H)
+                { p -= rsnake(A+(p+m),B+p);
+                  if (p < Fpos)
+                    p = Fpos;
+                  h -= Diag;
+                  k = h[m-Fdag];
+                  if (k == 0)
+                    p -= 1;
+                  else
+                    { m -= k;
+                      for (; k > 0; k--)
+                        t[--y] = p;
+                    }
+#ifdef DEBUG_BACK
+                  printf(" (%d,%d)",p,m);
+#endif
+                }
+#ifdef DEBUG_BACK
+              printf("\n");
+#endif
+            }
+        }
+    }
+}


=====================================
align.h
=====================================
@@ -99,12 +99,12 @@ typedef struct
 
      An alignment is modeled by an Alignment record, which in addition to a *pointer* to a
      'path', gives pointers to the A and B sequences, their lengths, and indicates whether
-     the B-sequence needs to be complemented ('comp' non-zero if so).  The 'trace' pointer
-     of the 'path' subrecord can be either NULL, a list of pass-through points, or an exact
+     the B- or A-sequence needs to be complemented ('comp' non-zero if so).  The 'trace' pointer
+     of the 'path' subrecord can be either NULL, a list of trace points, or an exact
      trace depending on what routines have been called on the record.
 
      One can (1) compute a trace, with Compute_Trace, either from scratch if 'path.trace' = NULL,
-     or using the sequence of pass-through points in trace, (2) print an ASCII representation
+     or using the sequence of trace points in trace, (2) print an ASCII representation
      of an alignment, or (3) reverse the roles of A and B, and (4) complement a sequence
      (which is a reversible process).
 
@@ -209,8 +209,8 @@ void Complement_Seq(char *a, int n);
        (b) it passes through one of the points (anti+k)/2,(anti-k)/2 for k in [low,hgh] within
              the underlying dynamic programming matrix (i.e. the points on diagonals low to hgh
              on anti-diagonal anti or anti-1 (depending on whether the diagonal is odd or even)),
-       (c) if lbord >= 0, then the alignment is always above diagonal low-lbord, and
-       (d) if hbord >= 0, then the alignment is always below diagonal hgh+hbord.
+       (c) if lbord >= 0, then the alignment is always above or on diagonal low-lbord, and
+       (d) if hbord >= 0, then the alignment is always below or on diagonal hgh+hbord.
 
      The path record of 'align' has its 'trace' filled from the point of view of an overlap
      between the aread and the bread.  In addition a Path record from the point of view of the
@@ -244,7 +244,7 @@ void Complement_Seq(char *a, int n);
 
      Compute_Trace_PTS computes a trace by computing the trace between successive trace points.
      It is much, much faster than Compute_Alignment below but at the tradeoff of not necessarily
-     being optimal as pass-through points are not all perfect.  Compute_Trace_MID computes a trace
+     being optimal as trace points are not all perfect.  Compute_Trace_MID computes a trace
      by computing the trace between the mid-points of alignments between two adjacent pairs of trace
      points.  It is generally twice as slow as Compute_Trace_PTS, but it produces nearer optimal
      alignments.  Both these routines return 1 if an error occurred and 0 otherwise.
@@ -307,7 +307,8 @@ void Complement_Seq(char *a, int n);
 
      Flip_Alignment modifies align so the roles of A and B are reversed.  If full is off then
      the trace is ignored, otherwise the trace must be to a full alignment trace and this trace
-     is also appropriately inverted.
+     is also appropriately inverted.  Similarly, Complement_Alignment switches which sequence
+     is complemented when an alignment involves said, and does nothing otherwise.
   */
 
   void Alignment_Cartoon(FILE *file, Alignment *align, int indent, int coord);
@@ -374,4 +375,12 @@ typedef struct {
 
   int  Check_Trace_Points(Overlap *ovl, int tspace, int verbose, char *fname);
 
+  /* Gap_Improver takes an alignment trace and improves it so the alignment has fewer, larger
+     gaps as if computed under an affine gap penalty.  It should be called immediately after
+     Compute_Trace_(PTS|MID).  The modified trace alignment is guaranteed to have the same
+     length as the input alignment.
+  */
+
+  void Gap_Improver(Alignment *align, Work_Data *work);
+
 #endif // _A_MODULE


=====================================
debian/changelog
=====================================
@@ -1,3 +1,12 @@
+damapper (0.0+git20240314.b025cf9-1) unstable; urgency=medium
+
+  * New upstream version 0.0+git20240314.b025cf9
+  * d/control: add myself to uploaders.
+  * d/control: declare compliance to standards version 4.7.0.
+  * typo.patch: new: fix a typo caught by lintian.
+
+ -- Étienne Mollier <emollier at debian.org>  Sun, 25 Aug 2024 18:29:43 +0200
+
 damapper (0.0+git20210330.ab45103-2) unstable; urgency=medium
 
   * Team upload.


=====================================
debian/control
=====================================
@@ -1,10 +1,11 @@
 Source: damapper
 Maintainer: Debian Med Packaging Team <debian-med-packaging at lists.alioth.debian.org>
-Uploaders: Shayan Doust <hello at shayandoust.me>
+Uploaders: Shayan Doust <hello at shayandoust.me>,
+           Étienne Mollier <emollier at debian.org>
 Section: science
 Priority: optional
 Build-Depends: debhelper-compat (= 13)
-Standards-Version: 4.6.2
+Standards-Version: 4.7.0
 Vcs-Browser: https://salsa.debian.org/med-team/damapper
 Vcs-Git: https://salsa.debian.org/med-team/damapper.git
 Homepage: https://github.com/thegenemyers/DAMAPPER


=====================================
debian/patches/series
=====================================
@@ -1,2 +1,3 @@
 modify_makefile.patch
 cross.patch
+typo.patch


=====================================
debian/patches/typo.patch
=====================================
@@ -0,0 +1,17 @@
+Description: fix typo caught by linting.
+Author: Étienne Mollier <emollier at debian.org>
+Forwarded: https://github.com/thegenemyers/DALIGNER/commit/f4289baceee5c5c933ecd276af9a2198474711f7
+Last-Update: 2024-08-25
+---
+This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
+--- damapper.orig/damapper.c
++++ damapper/damapper.c
+@@ -648,7 +648,7 @@
+             ARG_POSITIVE(SPACING,"Trace spacing")
+             break;
+           case 't':
+-            ARG_POSITIVE(MAX_REPS,"Tuple supression frequency")
++            ARG_POSITIVE(MAX_REPS,"Tuple suppression frequency")
+             break;
+           case 'M':
+             { int limit;



View it on GitLab: https://salsa.debian.org/med-team/damapper/-/compare/7060bade91abeeff8b6a9f8846fd0af8300f8cbb...ac4cd21cb713a5b2b413746f4345ddafed45267e

-- 
View it on GitLab: https://salsa.debian.org/med-team/damapper/-/compare/7060bade91abeeff8b6a9f8846fd0af8300f8cbb...ac4cd21cb713a5b2b413746f4345ddafed45267e
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/20240825/4a6c90f0/attachment-0001.htm>


More information about the debian-med-commit mailing list