Bio-EnsEMBL
view release on metacpan or search on metacpan
lib/Bio/EnsEMBL/CircularSlice.pm view on Meta::CPAN
=head1 NAME
Bio::EnsEMBL::CircularSlice - Arbitary Slice of a genome
=head1 SYNOPSIS
$sa = $db->get_SliceAdaptor;
$slice =
$sa->fetch_by_region( 'chromosome', 'X', 1_000_000, 2_000_000 );
# get some attributes of the slice
my $seqname = $slice->seq_region_name();
my $start = $slice->start();
my $end = $slice->end();
# get the sequence from the slice
my $seq = $slice->seq();
# get some features from the slice
foreach $gene ( @{ $slice->get_all_Genes } ) {
# do something with a gene
}
foreach my $feature ( @{ $slice->get_all_DnaAlignFeatures } ) {
# do something with dna-dna alignments
}
=head1 DESCRIPTION
A Slice object represents a region of a genome. It can be used to
retrieve sequence or features from an area of interest.
=head1 METHODS
=cut
package Bio::EnsEMBL::CircularSlice;
$Bio::EnsEMBL::CircularSlice::VERSION = '114.0.0';
use vars qw(@ISA);
use strict;
use Bio::PrimarySeqI;
use Bio::EnsEMBL::Utils::Argument qw(rearrange);
use Bio::EnsEMBL::Utils::Exception
qw(throw warning);
use Bio::EnsEMBL::RepeatMaskedSlice;
use Bio::EnsEMBL::Utils::Sequence qw(reverse_comp);
use Bio::EnsEMBL::Utils::Scalar qw( assert_ref );
use Bio::EnsEMBL::ProjectionSegment;
use Bio::EnsEMBL::Registry;
use Bio::EnsEMBL::DBSQL::MergedAdaptor;
#use Bio::EnsEMBL::IndividualSlice;
#use Bio::EnsEMBL::IndividualSliceFactory;
use Bio::EnsEMBL::Mapper::RangeRegistry;
use Bio::EnsEMBL::Slice;
use Data::Dumper;
use Scalar::Util qw(weaken isweak);
my $reg = "Bio::EnsEMBL::Registry";
@ISA = qw(Bio::EnsEMBL::Slice);
=head2 new
Arg [...] : List of named arguments
Bio::EnsEMBL::CoordSystem COORD_SYSTEM
string SEQ_REGION_NAME,
int START,
int END,
int SEQ_REGION_LENGTH, (optional)
string SEQ (optional)
int STRAND, (optional, defaults to 1)
Bio::EnsEMBL::DBSQL::SliceAdaptor ADAPTOR (optional)
Example :
$slice =
Bio::EnsEMBL::CircularSlice->new( -coord_system => $cs,
-start => 1,
-end => 10000,
-strand => 1,
-seq_region_name => 'X',
-seq_region_length => 12e6,
-adaptor => $slice_adaptor );
Description: Creates a new slice object. A slice represents a
region of sequence in a particular coordinate system.
Slices can be used to retrieve sequence and features
from an area of interest in a genome.
Coordinates start at 1 and are inclusive. Negative
coordinates or coordinates exceeding the length of
the seq_region are permitted. Start must be less
than or equal. to end regardless of the strand.
Slice objects are immutable. Once instantiated their
attributes (with the exception of the adaptor) may
not be altered. To change the attributes a new slice
must be created.
Returntype : Bio::EnsEMBL::CircularSlice
Exceptions : throws if start, end, coordsystem or seq_region_name not
specified or not of the correct type
Caller : general, Bio::EnsEMBL::SliceAdaptor
Status : Stable
=cut
sub new {
my $caller = shift;
#new can be called as a class or object method
my $class = ref($caller) || $caller;
my ( $seq, $coord_system, $seq_region_name, $seq_region_length,
$start, $end, $strand, $adaptor, $empty )
= rearrange( [
qw(SEQ COORD_SYSTEM SEQ_REGION_NAME SEQ_REGION_LENGTH
( run in 2.380 seconds using v1.01-cache-2.11-cpan-98e64b0badf )