[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, ¤t_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