Skip to content

Commit eb9d316

Browse files
committed
gene_caller: Fix regression (off by one on reverse strand)
1 parent ea0ec3c commit eb9d316

1 file changed

Lines changed: 4 additions & 4 deletions

File tree

src/geneml/produce_genes.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -52,8 +52,8 @@ def create_exons(gene_events: list[GeneEvent], contig_length: int, is_rc: bool)
5252
if not (event.type in (CDS_START, EXON_START) and next_event.type in (CDS_END, EXON_END)):
5353
raise ValueError(f'Invalid gene events pair (expected start event and end event): {event}, {next_event}')
5454
if is_rc:
55-
start_pos = contig_length - next_event.pos
56-
end_pos = contig_length - event.pos
55+
start_pos = contig_length - next_event.pos - 1
56+
end_pos = contig_length - event.pos - 1
5757
else:
5858
start_pos = event.pos
5959
end_pos = next_event.pos
@@ -73,8 +73,8 @@ def create_transcripts(scored_gene_calls: list[tuple[float, list[GeneEvent]]],
7373
for score, gene_events in scored_gene_calls:
7474
filtered_events = filter_gene_events(gene_events)
7575
if is_rc:
76-
start_pos = contig_length - filtered_events[-1].pos
77-
end_pos = contig_length - filtered_events[0].pos
76+
start_pos = contig_length - filtered_events[-1].pos - 1
77+
end_pos = contig_length - filtered_events[0].pos - 1
7878
else:
7979
start_pos = filtered_events[0].pos
8080
end_pos = filtered_events[-1].pos

0 commit comments

Comments
 (0)