[med-svn] [Git][med-team/subread][master] 6 commits: New upstream version 2.0.8+dfsg

Étienne Mollier (@emollier) gitlab at salsa.debian.org
Wed Mar 5 13:20:54 GMT 2025



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


Commits:
b8c77b14 by Étienne Mollier at 2025-03-05T14:06:04+01:00
New upstream version 2.0.8+dfsg
- - - - -
63853268 by Étienne Mollier at 2025-03-05T14:06:20+01:00
Update upstream source from tag 'upstream/2.0.8+dfsg'

Update to upstream version '2.0.8+dfsg'
with Debian dir 08a8923cae69325842e9803aabf9c1203dc19ce5
- - - - -
cb9bada6 by Étienne Mollier at 2025-03-05T14:07:17+01:00
d/control: declare compliance to standards version 4.7.2.

- - - - -
5e831b30 by Étienne Mollier at 2025-03-05T14:08:51+01:00
typo.patch: unfuzz.

- - - - -
acb0f4f1 by Étienne Mollier at 2025-03-05T14:19:41+01:00
2to3.patch: normalise Last-Update timestamp.

- - - - -
153be008 by Étienne Mollier at 2025-03-05T14:20:14+01:00
d/changelog: ready for upload to unstable.

- - - - -


9 changed files:

- debian/changelog
- debian/control
- debian/patches/2to3.patch
- debian/patches/typo.patch
- src/core.c
- src/index-builder.c
- src/makefile.version
- src/readSummary.c
- src/sambam-file.h


Changes:

=====================================
debian/changelog
=====================================
@@ -1,3 +1,13 @@
+subread (2.0.8+dfsg-1) unstable; urgency=medium
+
+  * Team upload.
+  * New upstream version 2.0.8+dfsg
+  * d/control: declare compliance to standards version 4.7.2.
+  * typo.patch: unfuzz.
+  * 2to3.patch: normalise Last-Update timestamp.
+
+ -- Étienne Mollier <emollier at debian.org>  Wed, 05 Mar 2025 14:20:06 +0100
+
 subread (2.0.7+dfsg-1) unstable; urgency=medium
 
   * Team upload.


=====================================
debian/control
=====================================
@@ -9,7 +9,7 @@ Build-Depends: bc <!nocheck>,
                architecture-is-little-endian,
                python3 <!nocheck>,
                zlib1g-dev
-Standards-Version: 4.7.0
+Standards-Version: 4.7.2
 Vcs-Browser: https://salsa.debian.org/med-team/subread
 Vcs-Git: https://salsa.debian.org/med-team/subread.git
 Homepage: http://sourceforge.net/projects/subread/


=====================================
debian/patches/2to3.patch
=====================================
@@ -1,7 +1,7 @@
 Description: Use 2to3 to port to Python3
 Bug-Debian: https://bugs.debian.org/938576
 Author: Andreas Tille <tille at debian.org>
-Last-Update: Thu, 05 Sep 2019 09:01:45 +0200
+Last-Update: 2019-09-05
 
 --- a/test/subread-align/readname_cigar_match.py
 +++ b/test/subread-align/readname_cigar_match.py


=====================================
debian/patches/typo.patch
=====================================
@@ -22,7 +22,7 @@ Author: Alex Mestiashvili <alex at biotec.tu-dresden.de>
  						final_feture_names[GENE_NAME_LIST_BUFFER_SIZE-1]=0;
  					}
  
-@@ -6673,7 +6673,7 @@
+@@ -6668,7 +6668,7 @@
  					else if(optarg[0]=='5')
  						reduce_5_3_ends_to_one = REDUCE_TO_5_PRIME_END;
  					else{


=====================================
src/core.c
=====================================
@@ -2553,10 +2553,12 @@ int do_iteration_two(global_context_t * global_context, thread_context_t * threa
 
 		sqr_read_number++;
 		fetch_next_read_pair(global_context, thread_context, ginp1, ginp2, &read_len_1, &read_len_2, read_name_1, read_name_2, read_text_1, read_text_2, qual_text_1, qual_text_2, 0, &current_read_number);
-		//if(current_read_number%500000==0)SUBREADprintf("THREAD_OPT2_fetch %s  %s ; RNO=%lld\n", read_name_1, read_text_1, current_read_number);
+
+		if((global_context -> config.is_BAM_output && global_context -> output_bam_writer -> is_internal_error) ||  global_context -> input_reads.is_internal_error || (global_context -> output_sam_is_full))break;
+		if(current_read_number < 0) break;
+
 		strcpy(raw_read_text_1, read_text_1);
 		strcpy(raw_qual_text_1, qual_text_1);
-		//printf("OCT27-STEPB - %s\n", read_name_1);
 
 		if(global_context -> input_reads.is_paired_end_reads){
 			strcpy(raw_read_text_2, read_text_2);
@@ -2591,10 +2593,6 @@ int do_iteration_two(global_context_t * global_context, thread_context_t * threa
 				fastq_64_to_33(raw_qual_text_2);
 		}
 
-		if((global_context -> config.is_BAM_output && global_context -> output_bam_writer -> is_internal_error) ||  global_context -> input_reads.is_internal_error || 
-		   (global_context -> output_sam_is_full))break;
-		if(current_read_number < 0) break;
-
 		// if no more reads
 		if( global_context -> input_reads.is_paired_end_reads)
 			max_votes = max(_global_retrieve_alignment_ptr(global_context, current_read_number, 0, 0)->selected_votes, _global_retrieve_alignment_ptr(global_context, current_read_number, 1, 0)->selected_votes);
@@ -2765,9 +2763,11 @@ int do_iteration_two(global_context_t * global_context, thread_context_t * threa
 							if( scores_array[read_record_i] >= best_score_highest && (current_realignment_result -> realign_flags & CORE_TOO_MANY_MISMATCHES)==0
 							  && output_cursor < global_context -> config.reported_multi_best_reads){
 								strcpy(read_text_1, raw_read_text_1);
-								strcpy(read_text_2, raw_read_text_2);
 								strcpy(qual_text_1, raw_qual_text_1);
-								strcpy(qual_text_2, raw_qual_text_2);
+								if(global_context -> input_reads.is_paired_end_reads){
+									strcpy(read_text_2, raw_read_text_2);
+									strcpy(qual_text_2, raw_qual_text_2);
+								}
 
 								if(is_break_even) current_realignment_result -> realign_flags |= CORE_IS_BREAKEVEN; 
 								current_realignment_result -> MAPQ_adjustment = current_MISMATCH_buffer [read_record_i] + ( is_second_read?(r2_step2_locations): (r1_step2_locations));
@@ -2937,9 +2937,11 @@ int do_iteration_two(global_context_t * global_context, thread_context_t * threa
 								realignment_result_t * r2_realign = final_realignments + final_realignment_index2[r2_best_id];
 
 								strcpy(read_text_1, raw_read_text_1);
-								strcpy(read_text_2, raw_read_text_2);
 								strcpy(qual_text_1, raw_qual_text_1);
-								strcpy(qual_text_2, raw_qual_text_2);
+								if(global_context -> input_reads.is_paired_end_reads){
+									strcpy(read_text_2, raw_read_text_2);
+									strcpy(qual_text_2, raw_qual_text_2);
+								}
 
 								if(is_break_even){
 									r1_realign -> realign_flags |= CORE_IS_BREAKEVEN;
@@ -2964,9 +2966,11 @@ int do_iteration_two(global_context_t * global_context, thread_context_t * threa
 		//printf("OCT27-WRITE-UNMAP?-%s-THRE %d\n", read_name_1, thread_context -> thread_id);
 		if(output_cursor<1) {
 			strcpy(read_text_1, raw_read_text_1);
-			strcpy(read_text_2, raw_read_text_2);
 			strcpy(qual_text_1, raw_qual_text_1);
-			strcpy(qual_text_2, raw_qual_text_2);
+			if(global_context -> input_reads.is_paired_end_reads){
+				strcpy(read_text_2, raw_read_text_2);
+				strcpy(qual_text_2, raw_qual_text_2);
+			}
 //		SUBREADprintf("THREAD_OPT3_write %s\n", read_name_1);
 			write_realignments_for_fragment(global_context, thread_context, &out_context, current_read_number, NULL, NULL, read_name_1, read_name_2, read_text_1, read_text_2, raw_qual_text_1, raw_qual_text_2, read_len_1, read_len_2, 0, 0, non_informative_subreads_r1, non_informative_subreads_r2);
 		}


=====================================
src/index-builder.c
=====================================
@@ -73,6 +73,14 @@ void print_build_log(double finished_rate, double read_per_second, double expect
 }
 
 
+void save_none_informative(void * key, void * hashed_obj, HashTable * tab){
+	FILE * fp = tab -> appendix1;
+	unsigned int subread_int = key - NULL;
+	int repeats = hashed_obj - NULL;
+	fwrite(&subread_int, 4 /* fixed size of a subread */,1,fp);
+	fwrite(&repeats, 4 /* fixed size of a subread */,1,fp);
+}
+
 #define MAX_BASES_IN_INDEX 4294900000.0
 
 int build_gene_index(const char index_prefix [], char ** chro_files, int chro_file_number, int threshold, HashTable * huge_table, unsigned int * chro_lens, long long actual_bases, int for_measure_buckets, unsigned int ** bucket_sizes, unsigned int expected_hash_items, unsigned int bucket_no, unsigned int * total_tables){
@@ -437,6 +445,12 @@ int build_gene_index(const char index_prefix [], char ** chro_files, int chro_fi
 			SUBreadSprintf(fn, 3100, "%s.%02d.c.array", index_prefix, index_i);
 			unlink(fn);
 		}
+	} else if(!for_measure_buckets){
+		SUBreadSprintf(fn, 3100, "%s.lowinf", index_prefix);
+		FILE * noninf_fp = f_subr_open(fn,"wb");
+		huge_table -> appendix1 = noninf_fp;
+		HashTableIteration(huge_table, save_none_informative);
+		fclose(noninf_fp);
 	}
 	free(fn);
 	free(ginp);
@@ -674,8 +688,7 @@ int scan_gene_index(const char index_prefix [], char ** chro_files, int chro_fil
 	free(ginp);
 	gehash_destory(&occurrence_table);
 
-	if(huge_table -> numOfElements)
-	{
+	if(huge_table -> numOfElements){
 		print_in_box(80,0,0,"%llu uninformative subreads were found.", huge_table -> numOfElements);
 		print_in_box(80,0,0,"These subreads were excluded from index building.");
 	}


=====================================
src/makefile.version
=====================================
@@ -1,4 +1,4 @@
-SUBREAD_VERSION_BASE=2.0.7
+SUBREAD_VERSION_BASE=2.0.8
 SUBREAD_VERSION_DATE=$(SUBREAD_VERSION_BASE)-$(shell date +"%d%b%Y")
 SUBREAD_VERSION="$(SUBREAD_VERSION_DATE)"
 SUBREAD_VERSION="$(SUBREAD_VERSION_BASE)"


=====================================
src/readSummary.c
=====================================
@@ -199,7 +199,7 @@ typedef struct {
 
 	unsigned short chro_reverse_table_current_size;
 	unsigned int * reverse_table_start_index;
-	int reverse_table_start_index_size;
+	unsigned int reverse_table_start_index_size;
 	//unsigned int * reverse_table_end_index;
 } fc_chromosome_index_info;
 
@@ -1133,9 +1133,9 @@ int load_feature_info(fc_thread_global_context_t *global_context, const char * a
 			chro_stab -> chro_features ++;
 
 			if( chro_stab -> chro_possible_length >= chro_stab -> reverse_table_start_index_size ) {
-				int old_end = sizeof(int) *( chro_stab -> reverse_table_start_index_size  / REVERSE_TABLE_BUCKET_LENGTH +2);
+				unsigned int old_end = sizeof(int) *( chro_stab -> reverse_table_start_index_size  / REVERSE_TABLE_BUCKET_LENGTH +2);
 				chro_stab -> reverse_table_start_index_size = max(chro_stab -> reverse_table_start_index_size * 2, (int)(chro_stab -> chro_possible_length * 1.3));
-				int new_size = sizeof(int) *( chro_stab -> reverse_table_start_index_size  / REVERSE_TABLE_BUCKET_LENGTH +2);
+				unsigned int new_size = sizeof(int) *( chro_stab -> reverse_table_start_index_size  / REVERSE_TABLE_BUCKET_LENGTH +2);
 				chro_stab -> reverse_table_start_index = realloc( chro_stab -> reverse_table_start_index , new_size);
 				memset(chro_stab -> reverse_table_start_index + old_end / sizeof(int), 0, new_size - old_end);
 			}
@@ -5177,11 +5177,6 @@ void print_usage()
 	SUBREADputs("                      removed). By default, intermediate files will be saved to");
 	SUBREADputs("                      the directory specified in '-o' argument.");
 	SUBREADputs("");
-	SUBREADputs("  --maxMOp <int>      Maximum number of 'M' operations allowed in a CIGAR");
-	SUBREADputs("                      string. 10 by default. Both 'X' and '=' are treated as 'M'");
-	SUBREADputs("                      and adjacent 'M' operations are merged in the CIGAR");
-	SUBREADputs("                      string.");
-	SUBREADputs("");
 	SUBREADputs("  --verbose           Output verbose information for debugging, such as un-");
 	SUBREADputs("                      matched chromosome/contig names.");
 	SUBREADputs("");


=====================================
src/sambam-file.h
=====================================
@@ -69,7 +69,25 @@ typedef struct
 
 
 #define SB_FETCH(a)  if((a) -> input_binary_stream_write_ptr - (a) -> input_binary_stream_read_ptr < 3000){int test_rlen_2 = SamBam_fetch_next_chunk(a); if(test_rlen_2 == -2){(a)->is_bam_broken = 1;}}
-#define SB_FETCH_ONEREAD(a)   { int record_len=0;memcpy(&record_len,(a) -> input_binary_stream_buffer + (a) -> input_binary_stream_read_ptr - (a) -> input_binary_stream_buffer_start_ptr,4); while((a) -> input_binary_stream_write_ptr - (a) -> input_binary_stream_read_ptr < record_len +4){int test_rlen_2 = SamBam_fetch_next_chunk(a); if(test_rlen_2 <1){(a)->is_bam_broken = 1;break;}} }
+
+#define SB_FETCH_ONEREAD(a) { \
+    int init_have = (a) -> input_binary_stream_write_ptr - (a) -> input_binary_stream_read_ptr; \
+    while(init_have <4){\
+      int test_rlen_2 = SamBam_fetch_next_chunk(a);\
+      if(test_rlen_2 <1){(a)->is_bam_broken = 1;break;}\
+      init_have+= test_rlen_2;\
+    }\
+    if(!(a)->is_bam_broken){ \
+      int record_len=0;\
+      memcpy(&record_len,(a) -> input_binary_stream_buffer + (a) -> input_binary_stream_read_ptr - \
+        (a) -> input_binary_stream_buffer_start_ptr,4); \
+      while((a) -> input_binary_stream_write_ptr - (a) -> input_binary_stream_read_ptr < record_len +4){\
+        int test_rlen_2 = SamBam_fetch_next_chunk(a); \
+        if(test_rlen_2 <1){(a)->is_bam_broken = 1;break;}\
+      }\
+    }  }
+
+//#define SB_FETCH_ONEREAD(a)   { int record_len=0;memcpy(&record_len,(a) -> input_binary_stream_buffer + (a) -> input_binary_stream_read_ptr - (a) -> input_binary_stream_buffer_start_ptr,4); while((a) -> input_binary_stream_write_ptr - (a) -> input_binary_stream_read_ptr < record_len +4){int test_rlen_2 = SamBam_fetch_next_chunk(a); if(test_rlen_2 <1){(a)->is_bam_broken = 1;break;}} }
 #define SB_EOF(a)  ((a)-> is_eof && (  (a) -> input_binary_stream_write_ptr <= (a) -> input_binary_stream_read_ptr ))
 #define SB_READ(a)  ((a) -> input_binary_stream_buffer + (a) -> input_binary_stream_read_ptr - (a) -> input_binary_stream_buffer_start_ptr)
 #define SB_RINC(a, len)   ((a) -> input_binary_stream_read_ptr) += len



View it on GitLab: https://salsa.debian.org/med-team/subread/-/compare/8bc5ee0dc943978fb8dded357b91a5022543e8e4...153be008b2618951778a9d47cb20715d27d84d31

-- 
View it on GitLab: https://salsa.debian.org/med-team/subread/-/compare/8bc5ee0dc943978fb8dded357b91a5022543e8e4...153be008b2618951778a9d47cb20715d27d84d31
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/20250305/80c4d537/attachment-0001.htm>


More information about the debian-med-commit mailing list