Skip to content
Snippets Groups Projects
Commit e3299418 authored by Andy Yates's avatar Andy Yates
Browse files

Fixing to use SUPER::seq() on the subsequence slice and then using the block fetched repeats

parent c1ab1c34
No related branches found
No related tags found
No related merge requests found
...@@ -210,19 +210,14 @@ sub not_default_masking_cases { ...@@ -210,19 +210,14 @@ sub not_default_masking_cases {
sub seq { sub seq {
my $self = shift; my $self = shift;
# #
# get all the features # get all the features
# #
my $logic_names = $self->repeat_mask_logic_names(); my $repeats = $self->_get_repeat_features($self);
my $soft_mask = $self->soft_mask(); my $soft_mask = $self->soft_mask();
my $not_default_masking_cases = $self->not_default_masking_cases; my $not_default_masking_cases = $self->not_default_masking_cases();
my @repeats;
foreach my $l (@$logic_names) {
push @repeats, @{$self->get_all_RepeatFeatures($l)};
}
# #
# get the dna # get the dna
# #
...@@ -231,7 +226,7 @@ sub seq { ...@@ -231,7 +226,7 @@ sub seq {
# #
# mask the dna # mask the dna
# #
$self->_mask_features(\$dna,\@repeats,$soft_mask,$not_default_masking_cases); $self->_mask_features(\$dna,$repeats,$soft_mask,$not_default_masking_cases);
return $dna; return $dna;
} }
...@@ -282,23 +277,32 @@ sub subseq { ...@@ -282,23 +277,32 @@ sub subseq {
$subslice = $subsequence_slice; $subslice = $subsequence_slice;
} }
# my $repeats = $self->_get_repeat_features($subslice);
# get all the features
#
my $logic_names = $self->repeat_mask_logic_names();
my $soft_mask = $self->soft_mask(); my $soft_mask = $self->soft_mask();
my $not_default_masking_cases = $self->not_default_masking_cases; my $not_default_masking_cases = $self->not_default_masking_cases();
my $dna = $subsequence_slice->SUPER::seq();
my @repeats; $subsequence_slice->_mask_features(\$dna,$repeats,$soft_mask,$not_default_masking_cases);
return $dna;
}
=head2 _get_repeat_features
Args [1] : Bio::EnsEMBL::Slice to fetch features for
Description : Gets repeat features for the given slice
Returntype : ArrayRef[Bio::EnsEMBL::RepeatFeature] array of repeats
=cut
sub _get_repeat_features {
my ($self, $slice) = @_;
my $logic_names = $self->repeat_mask_logic_names();
my @repeats;
foreach my $l (@$logic_names) { foreach my $l (@$logic_names) {
push @repeats, @{$subslice->get_all_RepeatFeatures($l)}; push @repeats, @{$slice->get_all_RepeatFeatures($l)};
} }
return \@repeats;
#
# No need to mask sequence, seq() already does it for the new subsequence_slice
#
return $subsequence_slice->seq();
} }
1; 1;
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment