Bio-Polloc
view release on metacpan or search on metacpan
lib/Bio/Polloc/GroupCriteria.pm view on Meta::CPAN
is trusted. This is useful for non-directed features like repeats,
which context is actually directed.
=item -alldetected I<bool (int)>
Include all detected features (even these overlapping with input features).
=item -feature I<bool (int)>
Should I include the feature region in the search? 0 by default.
=item -lensd I<float>
Number of Standar Deviations (SD) tolerated as half of the range of lengths
for a feature. The average (Avg) and the standard deviation of the length
are calculated based on all the stored features, and the Avg+(SD*lensd) is
considered as the largest possible new feature. No minimum length constraint
is given, unless explicitly set with -minlen. This argument is ignored if
C<-maxlen> is explicitly set. Default is 1.5.
=item -maxlen I<int>
Maximum length of a new feature in number of residues. If zero (0) evaluates
C<-lensd> instead. Default is 0.
=item -minlen I<int>
Minimum length of a new feature in number of residues. Default is 0.
=item -similarity I<float>
Minimum fraction of similarity to include a found region. 0.8 by default.
=item -oneside I<bool (int)>
Should I consider features with only one of the sides? Takes effect only if
both -upstream and -downstream are defined. 0 by default.
=item -algorithm I<str>
=over
=item C<blast>
Use BLAST to search (after multiple alignment and consensus calculation of
queries). Default algorithm.
=item C<hmmer>
Use HMMer to search (after multiple alignment and C<hmmbuild> of query
sequences).
=back
=item -score I<int>
Minimum score for either algorithms B<blast> and B<hmmer>. 20 by default.
=item -consensusperc I<float>
Minimum percentage a residue must appear in order to include it in the
consensus used as query. 60 by default. Only if -algorithm blast.
=item -e I<float>
If C<-algorithm> B<blast>, maximum e-value. 0.1 by default.
=item -p I<str>
If C<-algorithm> B<blast>, program used (C<[t]blast[npx]>). B<blastn> by
default.
=back
=item Throws
L<Bio::Polloc::Polloc::Error> if unexpected input,
=back
=cut
sub extension {
my ($self, @args) = @_;
return $self->{'_groupextension'} unless $#args>=0;
@args = split /\s+/, $args[0] if $#args == 0;
$self->throw("Odd number of elements, impossible to build key-value pairs", \@args)
unless $#args%2;
my %f = @args;
$f{'-function'} ||= 'context';
$f{'-algorithm'} ||= 'blast';
($f{'-feature'} ||= 0) += 0;
($f{'-downstream'} ||= 0) += 0;
($f{'-upstream'} ||= 0) += 0;
($f{'-detectstrand'} ||= 0) += 0;
($f{'-alldetected'} ||= 0) += 0;
($f{'-oneside'} ||= 0) += 0;
$f{'-lensd'} = defined $f{'-lensd'} ? $f{'-lensd'}+0 : 1.5;
$f{'-maxlen'} = defined $f{'-maxlen'} ? $f{'-maxlen'}+0 : 0;
$f{'-minlen'} = defined $f{'-minlen'} ? $f{'-minlen'}+0 : 0;
$f{'-similarity'} = defined $f{'-similarity'} ? $f{'-similarity'}+0 : 0.8;
$f{'-score'} = defined $f{'-score'} ? $f{'-score'}+0 : 20;
$f{'-consensusperc'} = defined $f{'-consensusperc'} ? $f{'-consensusperc'}+0 : 60;
$f{'-e'} = defined $f{'-e'} ? $f{'-e'}+0 : 0.1;
$f{'-p'} = 'blastn' unless defined $f{'-p'};
$self->{'_groupextension'} = \%f;
return $self->{'_groupextension'};
}
=head2 extend
=over
=item
Extends a group based on the arguments provided by L<Bio::Polloc::GroupCriteria->extension>.
=item Arguments
=over
( run in 0.591 second using v1.01-cache-2.11-cpan-5b529ec07f3 )