Bio-DB-GFF
view release on metacpan or search on metacpan
lib/Bio/DB/GFF/Feature.pm view on Meta::CPAN
$self->{stop} = $high
if (!defined($self->{stop})) || $high > $self->{stop};
} else {
$self->{start} = $high
if (!defined($self->{start})) || $high > $self->{start};
$self->{stop} = $low
if (!defined($self->{stop})) || $low < $self->{stop};
}
}
# fix up endpoints of targets too (for homologies only)
my $h = $feat->group;
next unless $h && $h->isa('Bio::DB::GFF::Homol');
next unless $g && $g->isa('Bio::DB::GFF::Homol');
($start,$stop) = ($h->{start},$h->{stop});
if ($shrink && !$tfirst++) {
$g->{start} = $start;
$g->{stop} = $stop;
} else {
if ($start <= $stop) {
lib/Bio/DB/GFF/Feature.pm view on Meta::CPAN
sub gff_string {
my $self = shift;
my $version = $self->version;
# gff3_string and gff_string are synonymous if the version is set to 3
return $self->gff3_string(@_) if $version == 3;
my ($start,$stop) = ($self->start,$self->stop);
# the defined() tests prevent uninitialized variable warnings, when dealing with clone objects
# whose endpoints may be undefined
($start,$stop) = ($stop,$start) if defined($start) && defined($stop) && $start > $stop;
my ($class,$name) = ('','');
my $strand = ('-','.','+')[$self->strand+1];
my @group;
if (my $t = $self->target) {
push @group, $version == 2.5 ? $self->flatten_target($t,2.5)
: $self->flatten_target($t);
lib/Bio/DB/GFF/Feature.pm view on Meta::CPAN
Status : Public
=cut
sub gff3_string {
my $self = shift;
my ($recurse,$parent) = @_;
my ($start,$stop) = ($self->start,$self->stop);
# the defined() tests prevent uninitialized variable warnings, when dealing with clone objects
# whose endpoints may be undefined
($start,$stop) = ($stop,$start) if defined($start) && defined($stop) && $start > $stop;
my $strand = ('-','.','+')[$self->strand+1];
my $ref = $self->refseq;
my $n = ref($ref) ? $ref->name : $ref;
my $phase = $self->phase;
$phase = '.' unless defined $phase;
my ($class,$name) = ('','');
my @group;
( run in 0.292 second using v1.01-cache-2.11-cpan-b61123c0432 )