Bio-Polloc

 view release on metacpan or  search on metacpan

lib/Bio/Polloc/Typing/bandingPattern.pm  view on Meta::CPAN

   $self->_initialize(@args);
   return $self;
}

=head1 METHODS FROM Bio::Polloc::TypingI

=head2 scan

See L<Bio::Polloc::TypingI-E<gt>scan>.

L<fragments> must be implemented by the C<Bio::Polloc::Typing::bandingPattern::*>
object.

=cut

sub scan {
   my ($self, @args) = @_;
   my ($locigroup) = $self->_rearrange([qw(LOCIGROUP)], @args);
   $locigroup ||= $self->locigroup;
   return $self->_scan_locigroup($self->fragments(-locigroup=>$locigroup));
}

=head2 cluster

=head2 typing_value

See L<Bio::Polloc::TypingI-E<gt>typing_value>.

Returns the size of the loci between the minimum (L<min_size>)
and the maximum (L<max_size>) size.

lib/Bio/Polloc/Typing/bandingPattern.pm  view on Meta::CPAN

	 $img->rectangle($x1, $y1, $x2, $y2);
	 $self->debug("Band from $y1 to $y2");
      }
   }
   return $img;
}


=head1 SPECIFIC METHODS

=head2 fragments

Generates fragments.

=head3 Arguments

=over

=item -locigroup I<Bio::Polloc::LociGroup>

The group of loci to be used as base to design the protocol.

=back

=head3 Returns

A L<Bio::Polloc::LociGrop>, where each locus is a fragment.

=head3 Throws

A L<Bio::Polloc::Polloc::NotImplementedException> unless implemented
by the specific C<Bio::Polloc::Typing::bandingPattern::*> object.

=cut

sub fragments { $_[0]->throw("fragments", $_[0], "Bio::Polloc::Polloc::NotImplementedException") }

=head2 max_size

Gets/sets the maximum locus size.  No limit (C<inf>) by default.

=cut

sub max_size {
   my($self, $value) = @_;
   $self->{'_max_size'} = $value+0 if defined $value;

lib/Bio/Polloc/Typing/bandingPattern/amplification.pm  view on Meta::CPAN

=head2 scan

=head2 cluster

=head2 typing_value

=head2 graph_content

=head1 METHODS FROM Bio::Polloc::Typing::bandingPattern

=head2 fragments

=cut

sub fragments {
   my($self, @args) = @_;
   my ($locigroup) = $self->_rearrange([qw(LOCIGROUP)], @args);
   defined $locigroup or $self->throw('Trying to amplify fragments, but no loci group provided');
   my $primers = $self->design_primers(-locigroup=>$locigroup);
   return unless defined $primers;
   UNIVERSAL::can($primers, 'isa') and $primers->isa('Bio::Polloc::Polloc::IO')
   		or $self->throw('Wrong primers file', $primers, 'Bio::Polloc::Polloc::UnexpectedException');
   defined $primers->file or $self->throw('Impossible to locate primers temporal file', $primers, 'Bio::Polloc::Polloc::UnexpectedException');
   my $out = Bio::Polloc::LociGroup->new(-genomes=>$locigroup->genomes);
   for my $g (0 .. $#{$locigroup->genomes}){
      next unless defined $locigroup->genomes->[$g]->file;
      my $run = Bio::Polloc::Polloc::IO->new(-file=>"primersearch '".$locigroup->genomes->[$g]->file."' ".
      						"'".$primers->file."' '".$self->annealing_errors."' -auto -stdout |");

lib/Bio/Polloc/TypingI.pm  view on Meta::CPAN


L<http://www.mendeley.com/research/bacterial-strain-typing-in-the-genomic-era/>.

One of:

=over

=item bandingPattern

"DNA banding pattern-based methods which classify bacteria
according to the size of fragments generated by amplification
and/or enzymatic digestion of genomic DNA" (Li I<et al> 2009)

=item bandingPattern::amplification

Same of C<bandingPattern>, but specifying fragments generated
B<by amplification>.

=item bandingPattern::restriction

Same of C<bandingPattern>, but specifying fragments generated
B<by enzymatic digestion>.

=item sequencing

"DNA sequencing-based methods, which study the polymorphism of
DNA sequences" (Li I<et al> 2009)

=item hybridization

"DNA hybridization-based methods using nucleotidic probes" (Li



( run in 0.894 second using v1.01-cache-2.11-cpan-364913b4093 )