[med-svn] [Git][med-team/python-pairix][master] 7 commits: New upstream version 0.3.8

Étienne Mollier (@emollier) gitlab at salsa.debian.org
Thu Aug 22 22:04:55 BST 2024



Étienne Mollier pushed to branch master at Debian Med / python-pairix


Commits:
f26204b6 by Étienne Mollier at 2024-08-22T21:42:35+02:00
New upstream version 0.3.8
- - - - -
86f619fd by Étienne Mollier at 2024-08-22T21:44:50+02:00
Update upstream source from tag 'upstream/0.3.8'

Update to upstream version '0.3.8'
with Debian dir 0b99aa28d9bb790aa491791a629ddce869990334
- - - - -
0860872f by Étienne Mollier at 2024-08-22T22:53:24+02:00
gcc-14.patch: new: fix various incompatible pointer types.

Closes: #1075419

- - - - -
4da053d7 by Étienne Mollier at 2024-08-22T22:59:03+02:00
d/control: declare compliance to standards version 4.7.0.

- - - - -
bc3a93e6 by Étienne Mollier at 2024-08-22T23:01:51+02:00
d/python3-pairix.lintian-overrides: refresh override.

- - - - -
d5034b0c by Étienne Mollier at 2024-08-22T23:02:30+02:00
d/control: add myself to uploaders.

- - - - -
c74f4f08 by Étienne Mollier at 2024-08-22T23:03:29+02:00
Ready for upload to unstable.

- - - - -


14 changed files:

- README.md
- VERSION.txt
- debian/changelog
- debian/control
- + debian/patches/gcc-14.patch
- debian/patches/series
- debian/python3-pairix.lintian-overrides
- + pairix_index_spec.pdf
- + pairix_index_spec.xlsx
- samples/test.regions2
- src/main.c
- src/pairix.h
- src/pairs_merger.c
- src/streamer_1d.c


Changes:

=====================================
README.md
=====================================
@@ -327,13 +327,14 @@ chr2:1-20000|*
 
 cat samples/test.regions2
 chrX:100000000-110000000|chrY
-chr19:1-100000|chr19
+chr19:1-300000|chr19
 
 bin/pairix -L samples/test_4dn.pairs.gz samples/test.regions samples/test.regions2
 SRR1658581.49364897	chr1	36379	chr20	62713042	+	+
 SRR1658581.31672330	chr1	12627	chr9	23963238	+	-
 SRR1658581.22713561	chr1	14377	chrX	107423076	-	+
 SRR1658581.31992022	chrX	108223782	chrY	5017118	-	-
+SRR1658581.55524746	chr19	105058	chr19	105558	+	-
 ```
 
 


=====================================
VERSION.txt
=====================================
@@ -1 +1 @@
-0.3.7
+0.3.8


=====================================
debian/changelog
=====================================
@@ -1,3 +1,14 @@
+python-pairix (0.3.8-1) unstable; urgency=medium
+
+  * New upstream version 0.3.8
+  * gcc-14.patch: new: fix various incompatible pointer types.
+    (Closes: #1075419)
+  * d/control: declare compliance to standards version 4.7.0.
+  * d/python3-pairix.lintian-overrides: refresh override.
+  * d/control: add myself to uploaders.
+
+ -- Étienne Mollier <emollier at debian.org>  Thu, 22 Aug 2024 23:02:54 +0200
+
 python-pairix (0.3.7-7) unstable; urgency=medium
 
   * Team upload.


=====================================
debian/control
=====================================
@@ -1,6 +1,7 @@
 Source: python-pairix
 Maintainer: Debian Med Packaging Team <debian-med-packaging at lists.alioth.debian.org>
-Uploaders: Andreas Tille <tille at debian.org>
+Uploaders: Andreas Tille <tille at debian.org>,
+           Étienne Mollier <emollier at debian.org>
 Section: science
 Testsuite: autopkgtest-pkg-pybuild
 Priority: optional
@@ -10,7 +11,7 @@ Build-Depends: debhelper-compat (= 13),
                python3-setuptools,
                zlib1g-dev,
                python3-pytest <!nocheck>
-Standards-Version: 4.6.2
+Standards-Version: 4.7.0
 Vcs-Browser: https://salsa.debian.org/med-team/python-pairix
 Vcs-Git: https://salsa.debian.org/med-team/python-pairix.git
 Homepage: https://github.com/4dn-dcic/pairix


=====================================
debian/patches/gcc-14.patch
=====================================
@@ -0,0 +1,95 @@
+Description: fix various incompatible pointer types.
+ This patch fixes a bunch of type error like the following by casting
+ the expected types, working around gcc warnings that have gone fatal in
+ gcc 14:
+ .
+ 	src/index.c:1263:59: error: passing argument 2 of ‘ti_querys_2d_multi’ from incompatible pointer type
+ 	+[-Wincompatible-pointer-types]
+ 	 1263 |          sequential_iter_t *siter = ti_querys_2d_multi(t, regions, n_sub_list);
+ 	      |                                                           ^~~~~~~
+ 	      |                                                           |
+ 	      |                                                           char **
+ 	src/pairix.h:131:73: note: expected ‘const char **’ but argument is of type ‘char **’
+
+Author: Étienne Mollier <emollier at debian.org>
+Bug-Debian: https://bugs.debian.org/1075419
+Forwarded: no
+Last-Update: 2024-08-22
+---
+This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
+--- python-pairix.orig/src/index.c
++++ python-pairix/src/index.c
+@@ -1216,7 +1216,7 @@
+          if( (chrend = strchr(chr2, ':')) != NULL) {
+             *chrend=0; chronly=0;
+          }
+-         char **chrpairlist = ti_seqname(t->idx, &n_seqpair_list);
++         char **chrpairlist = (char**)ti_seqname(t->idx, &n_seqpair_list);
+          chr1list = get_seq1_list_for_given_seq2(chr2, chrpairlist, n_seqpair_list, &n_sub_list);
+          if(chronly==0) *chrend=':';  // revert to original region string including beg and end
+          // create an array of regions in string.
+@@ -1233,7 +1233,7 @@
+          free(chr1list);
+ 
+          // multi-region query
+-         sequential_iter_t *siter = ti_querys_2d_multi(t, regions, n_sub_list);
++         sequential_iter_t *siter = ti_querys_2d_multi(t, (const char**)regions, n_sub_list);
+          for(i=0;i<n_sub_list;i++) free(regions[i]);
+          free(regions);
+          return(siter);
+@@ -1243,7 +1243,7 @@
+          if( (chrend = strchr(chr1, ':')) != NULL) {
+             *chrend=0; chronly=0;
+          }
+-         char **chrpairlist = ti_seqname(t->idx, &n_seqpair_list);
++         char **chrpairlist = (char**)ti_seqname(t->idx, &n_seqpair_list);
+          chr2list = get_seq2_list_for_given_seq1(chr1, chrpairlist, n_seqpair_list, &n_sub_list);
+          if(chronly==0) *chrend=':';  // revert to original region string including beg and end
+ 
+@@ -1260,7 +1260,7 @@
+          for(i=0;i<n_sub_list;i++) free(chr2list[i]);
+          free(chr2list);
+ 
+-         sequential_iter_t *siter = ti_querys_2d_multi(t, regions, n_sub_list);
++         sequential_iter_t *siter = ti_querys_2d_multi(t, (const char**)regions, n_sub_list);
+          for(i=0;i<n_sub_list;i++) free(regions[i]);
+          free(regions);
+          return(siter);
+@@ -1414,7 +1414,7 @@
+         str_ptr++;
+         strcpy(str_ptr,name2);
+ 
+-	if (name == 0) return ti_iter_first();
++	if (name == 0) return (int)ti_iter_first();
+ 	// then need to load the index
+ 	if (ti_lazy_index_load(t) != 0) return 0;
+         if(ti_get_tid(t->idx, namepair) <0) return -1;
+@@ -1640,7 +1640,7 @@
+      if(n<=0) { fprintf(stderr, "Null pairix_t array\n"); return(0); }
+      for(i=0;i<n;i++){
+       if(tbs[i] && tbs[i]->idx){
+-            seqnames = ti_seqname(tbs[i]->idx,&len);
++            seqnames = (char**)ti_seqname(tbs[i]->idx,&len);
+             if(seqnames){
+               conc_seq_list = realloc(conc_seq_list, sizeof(char*)*(n_seq_list+len));
+               for(k=0,j=n_seq_list;j<n_seq_list+len;j++,k++)
+@@ -1968,7 +1968,7 @@
+     if(ti_get_sc2(idx) == -1) return(-2);  // not a 2d file (not applicable)
+ 
+     int len;
+-    char **seqnames = ti_seqname(idx,&len);
++    const char **seqnames = ti_seqname(idx,&len);
+     if(seqnames){
+       int i;
+       for(i=0;i<len;i++){
+--- python-pairix.orig/src/pairixmodule.c
++++ python-pairix/src/pairixmodule.c
+@@ -600,7 +600,7 @@
+ pairix_get_blocknames(PairixObject *self)
+ {
+   int n,i;
+-  char **blocknames = ti_seqname(self->tb->idx, &n);
++  char **blocknames = (char**)ti_seqname(self->tb->idx, &n);
+   PyObject *bnames = PyList_New(n);
+   if(!bnames) return NULL;
+   for(i=0;i<n;i++){


=====================================
debian/patches/series
=====================================
@@ -1 +1,2 @@
 python3.10
+gcc-14.patch


=====================================
debian/python3-pairix.lintian-overrides
=====================================
@@ -1 +1 @@
-python3-pairix: missing-dependency-on-libc needed by
+missing-dependency-on-libc needed by usr/lib/python3/dist-packages/pypairix.cpython-*.so


=====================================
pairix_index_spec.pdf
=====================================
Binary files /dev/null and b/pairix_index_spec.pdf differ


=====================================
pairix_index_spec.xlsx
=====================================
Binary files /dev/null and b/pairix_index_spec.xlsx differ


=====================================
samples/test.regions2
=====================================
@@ -1,2 +1,2 @@
 chrX:100000000-110000000|chrY
-chr19:1-100000|chr19
+chr19:1-300000|chr19


=====================================
src/main.c
=====================================
@@ -165,7 +165,7 @@ int main(int argc, char *argv[])
     if(conf.bc2 && !conf.ec2) conf.ec2=conf.bc2;
     if (optind == argc || help_flag) {
         fprintf(stderr, "\n");
-        fprintf(stderr, "Program: pairix (PAIRs file InderXer)\n");
+        fprintf(stderr, "Program: pairix (PAIRs file IndeXer)\n");
         fprintf(stderr, "Version: %s\n\n", PACKAGE_VERSION);
         fprintf(stderr, "Usage:   pairix <in.pairs.gz> [region1 [region2 [...]]]\n\n");
         fprintf(stderr, "Options: -p STR     preset: pairs, merged_nodups, old_merged_nodups, gff, bed, sam, vcf, psltbl [gff]\n");


=====================================
src/pairix.h
=====================================
@@ -28,7 +28,7 @@
 #ifndef __TABIDX_H
 #define __TABIDX_H
 
-#define PACKAGE_VERSION "0.3.7"
+#define PACKAGE_VERSION "0.3.8"
 
 #include <stdint.h>
 #include "kstring.h"


=====================================
src/pairs_merger.c
=====================================
@@ -10,47 +10,6 @@
 
 #define FILENAMEMAX 2000
 
-int main(int argc, char *argv[])
-{
-    int num_fn = argc -1;
-    int i;
-    //BGZF *bzfp;
-    //int f_dst;
-
-    if(argc==1){
-       fprintf(stderr, "\n");
-       fprintf(stderr, "Program: pairs_merger\n");
-       fprintf(stderr, "Version: %s\n\n", PACKAGE_VERSION);
-       //fprintf(stderr, "Usage:   pairs_merger <in1.pairs.gz> <in2.pairs.gz> <in3.pairs.gz> ... > out.pairs.gz\n\n");
-       fprintf(stderr, "Usage:   pairs_merger <in1.pairs.gz> <in2.pairs.gz> <in3.pairs.gz> ... | bgzip -c  > out.pairs.gz\n\n");
-       return(1);
-    }
-
-    char *fn_list[num_fn];
-    for(i=0;i<num_fn;i++) {
-       fn_list[i]=malloc(FILENAMEMAX*sizeof(char));
-       strcpy(fn_list[i],argv[i+1]);
-    }
-
-    // write to stdout bgzip
-    //f_dst = fileno(stdout);
-    //bzfp = bgzf_dopen(f_dst, "w");
-
-    // actually write merged pairs to bzfp stdout
-    //int res = pairs_merger(fn_list, num_fn, bzfp);
-    int res = pairs_merger(fn_list, num_fn, NULL);
-
-    // close bgzf stream
-    //if (bgzf_close(bzfp) < 0) fail(bzfp);
-    //if (bgzf_close(bzfp) < 0){  fprintf(stderr,"Error: %d\n",bzfp->errcode); return(1); }
-
-
-    for(i=0;i<num_fn;i++) {
-       free(fn_list[i]);
-    }
-    return(res);
-}
-
 int pairs_merger(char **fn, int n, BGZF *bzfp)  // pass bgfp if the result should be bgzipped. or pass NULL.
 {
     pairix_t *tbs[n];
@@ -91,6 +50,47 @@ int pairs_merger(char **fn, int n, BGZF *bzfp)  // pass bgfp if the result shoul
       for(i=0;i<n;i++) ti_close(tbs[i]);
       for(i=0;i<n_uniq_seq;i++) free(uniq_seq_list[i]);
       free(uniq_seq_list);
-      return(NULL);
-    } else { fprintf(stderr,"Null unique seq list\n"); return(NULL); }
+      return(0);
+    } else { fprintf(stderr,"Null unique seq list\n"); return(0); }
+}
+
+int main(int argc, char *argv[])
+{
+    int num_fn = argc -1;
+    int i;
+    //BGZF *bzfp;
+    //int f_dst;
+
+    if(argc==1){
+       fprintf(stderr, "\n");
+       fprintf(stderr, "Program: pairs_merger\n");
+       fprintf(stderr, "Version: %s\n\n", PACKAGE_VERSION);
+       //fprintf(stderr, "Usage:   pairs_merger <in1.pairs.gz> <in2.pairs.gz> <in3.pairs.gz> ... > out.pairs.gz\n\n");
+       fprintf(stderr, "Usage:   pairs_merger <in1.pairs.gz> <in2.pairs.gz> <in3.pairs.gz> ... | bgzip -c  > out.pairs.gz\n\n");
+       return(1);
+    }
+
+    char *fn_list[num_fn];
+    for(i=0;i<num_fn;i++) {
+       fn_list[i]=malloc(FILENAMEMAX*sizeof(char));
+       strcpy(fn_list[i],argv[i+1]);
+    }
+
+    // write to stdout bgzip
+    //f_dst = fileno(stdout);
+    //bzfp = bgzf_dopen(f_dst, "w");
+
+    // actually write merged pairs to bzfp stdout
+    //int res = pairs_merger(fn_list, num_fn, bzfp);
+    int res = pairs_merger(fn_list, num_fn, NULL);
+
+    // close bgzf stream
+    //if (bgzf_close(bzfp) < 0) fail(bzfp);
+    //if (bgzf_close(bzfp) < 0){  fprintf(stderr,"Error: %d\n",bzfp->errcode); return(1); }
+
+
+    for(i=0;i<num_fn;i++) {
+       free(fn_list[i]);
+    }
+    return(res);
 }


=====================================
src/streamer_1d.c
=====================================
@@ -10,41 +10,6 @@
 
 #define FILENAMEMAX 2000
 
-int main(int argc, char *argv[])
-{
-    //BGZF *bzfp;
-    //int f_dst;
-
-    if(argc==1){
-       fprintf(stderr, "\n");
-       fprintf(stderr, "Program: streamer_1d\n");
-       fprintf(stderr, "Version: %s\n\n", PACKAGE_VERSION);
-       fprintf(stderr, "Resorter (convert a file sorted by chr1-chr2-pos1-pos2 to a stream sorted by chr1-pos1)\n\n");
-       fprintf(stderr, "Usage:   streamer_1d in.2d.pairs.gz > out.1d.pairs\n");
-       fprintf(stderr, "Usage:   streamer_1d in.2d.pairs.gz | bgzip -c  > out.1d.pairs.gz\n\n");
-       return(1);
-    }
-
-    char *fn;
-    fn=malloc(FILENAMEMAX*sizeof(char));
-    strcpy(fn,argv[1]);
-
-    // write to stdout bgzip (This is slower, so don't use it)
-    //f_dst = fileno(stdout);
-    //bzfp = bgzf_dopen(f_dst, "w");
-
-    // actually write merged pairs to bzfp stdout
-    //int res = stream_1d(fn, bzfp);
-    int res = stream_1d(fn);
-
-    // close bgzf stream
-    //if (bgzf_close(bzfp) < 0) fail(bzfp);
-    //if (bgzf_close(bzfp) < 0){  fprintf(stderr,"Error: %d\n",bzfp->errcode); return(1); }
-
-    free(fn);
-    return(res);
-}
-
 
 // Uc->Up converter - convert a single 2D-sorted file into a 1D-sorted stream.
 int stream_1d(char *fn)
@@ -91,3 +56,39 @@ int stream_1d(char *fn)
 
     return (0);
 }
+
+int main(int argc, char *argv[])
+{
+    //BGZF *bzfp;
+    //int f_dst;
+
+    if(argc==1){
+       fprintf(stderr, "\n");
+       fprintf(stderr, "Program: streamer_1d\n");
+       fprintf(stderr, "Version: %s\n\n", PACKAGE_VERSION);
+       fprintf(stderr, "Resorter (convert a file sorted by chr1-chr2-pos1-pos2 to a stream sorted by chr1-pos1)\n\n");
+       fprintf(stderr, "Usage:   streamer_1d in.2d.pairs.gz > out.1d.pairs\n");
+       fprintf(stderr, "Usage:   streamer_1d in.2d.pairs.gz | bgzip -c  > out.1d.pairs.gz\n\n");
+       return(1);
+    }
+
+    char *fn;
+    fn=malloc(FILENAMEMAX*sizeof(char));
+    strcpy(fn,argv[1]);
+
+    // write to stdout bgzip (This is slower, so don't use it)
+    //f_dst = fileno(stdout);
+    //bzfp = bgzf_dopen(f_dst, "w");
+
+    // actually write merged pairs to bzfp stdout
+    //int res = stream_1d(fn, bzfp);
+    int res = stream_1d(fn);
+
+    // close bgzf stream
+    //if (bgzf_close(bzfp) < 0) fail(bzfp);
+    //if (bgzf_close(bzfp) < 0){  fprintf(stderr,"Error: %d\n",bzfp->errcode); return(1); }
+
+    free(fn);
+    return(res);
+}
+



View it on GitLab: https://salsa.debian.org/med-team/python-pairix/-/compare/963d7138f516dbb709a4cca2c820459a887cc78a...c74f4f0828a43128a54b020095d81deb49a91749

-- 
View it on GitLab: https://salsa.debian.org/med-team/python-pairix/-/compare/963d7138f516dbb709a4cca2c820459a887cc78a...c74f4f0828a43128a54b020095d81deb49a91749
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/20240822/3646b10e/attachment-0001.htm>


More information about the debian-med-commit mailing list