diejoin(' ', 'Comparing relative position for regions on different reference (rname)',$self->rname,'ne',$from_locus->rname)."\n"if($self->rname ne $from_locus->rname);
diejoin(' ', 'Comparing relative position for regions on different reference (rname)',$self->rname,'ne',$from_locus->rname)."\n"if($self->rname ne $from_locus->rname);
diejoin(' ', 'Comparing relative position for regions on different reference (rname)',$self->rname,'ne',$from_locus->rname)."\n"if($self->rname ne $from_locus->rname);
diejoin(' ', 'Comparing relative position for regions on different reference (rname)',$self->rname,'ne',$from_locus->rname)."\n"if($self->rname ne $from_locus->rname);
diejoin(' ', 'Comparing relative position for regions on different reference (rname)',$self->rname,'ne',$from_locus->rname)."\n"if($self->rname ne $from_locus->rname);
diejoin(' ', 'Comparing relative position for regions on different reference (rname)',$self->rname,'ne',$from_locus->rname)."\n"if($self->rname ne $from_locus->rname);
diejoin(' ', 'Comparing relative position for regions on different reference (rname)',$self->rname,'ne',$from_locus->rname)."\n"if($self->rname ne $from_locus->rname);
diejoin(' ', 'Comparing relative position for regions on different reference (rname)',$self->rname,'ne',$from_locus->rname)."\n"if($self->rname ne $from_locus->rname);
diejoin(' ', 'Comparing relative position for regions on different reference (rname)',$self->rname,'ne',$from_locus->rname)."\n"if($self->rname ne $from_locus->rname);
if(($use_strand== 0 or $self->strand == $region2->strand) and ($self->rname eq $region2->rname) and (($self->start-$offset) <= $region2->stop) and ($region2->start <= ($self->stop+$offset))) {
return1; #overlap
}
else{
return0; #no overlap
}
}
suboverlaps {
my($self, $region2, $use_strand) = @_;
$use_strand//= 1;
if(($use_strand== 0 or $self->strand == $region2->strand) and ($self->rname eq $region2->rname) and ($self->start <= $region2->stop) and ($region2->start <= $self->stop)) {
if(($use_strand== 0 or $self->strand == $region2->strand) and ($self->rname eq $region2->rname) and ($self->start <= $region2->start) and ($region2->stop <= $self->stop)) {
return1;
}
else{
return0;
}
}
subcontains_position {
my($self, $position) = @_;
if(($self->start <= $position) and ($position<= $self->stop)) {