/usr/lib/perl5/Ace/Sequence/Homol.pm is in libace-perl 1.92-3.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 | # Ace::Sequence::Homol is just like Ace::Object, but has start() and end() methods
package Ace::Sequence::Homol;
use vars '@ISA';
@ISA = 'Ace::Object';
# this was a mistake!
# use overload '""' => 'asString';
# *stop = \&end;
sub new_homol {
my ($pack,$tclass,$tname,$db,$start,$end) = @_;
return unless my $obj = $db->class->new($tclass,$tname,$db,1);
@$obj{'start','end'} = ($start,$end);
return bless $obj,$pack;
}
sub start { return $_[0]->{'start'}; }
sub end { return $_[0]->{'end'}; }
sub stop { return $_[0]->{'end'}; }
# sub _clone {
# my $self = shift;
# my $pack = ref($self);
# return $pack->new($self->db,$self->class,$self->name,$self->start,$self->end);
# }
#sub asString {
# my $n = $_[0]->name;
# "$n/$_[0]->{'start'}-$_[0]->{'end'}";
#}
1;
=head1 NAME
Ace::Sequence::Homol - Temporary Sequence Homology Class
=head1 SYNOPSIS
# Get all similarity features from an Ace::Sequence
@homol = $seq->features('Similarity');
# sort by score
@sorted = sort { $a->score <=> $b->score } @homol;
# the last one has the highest score
$best = $sorted[$#sorted];
# fetch its associated Ace::Sequence::Homol
$homol = $best->target;
# print out the sequence name, DNA, start and end
print $homol->name,' ',$homol->start,'-',$homol->end,"\n";
print $homol->asDNA;
=head1 DESCRIPTION
I<Ace::Sequence::Homol> is a subclass of L<Ace::Object> (B<not>
L<Ace::Sequence>) which is specialized for returning information about
a DNA or protein homology. This is a temporary placeholder for a more
sophisticated homology class which will include support for
alignments.
=head1 OBJECT CREATION
You will not ordinarily create an I<Ace::Sequence::Homol> object
directly. Instead, objects will be created in response to an info()
or group() method call on a similarity feature in an
I<Ace::Sequence::Feature> object. If you wish to create an
I<Ace::Sequence::Homol> object directly, please consult the source
code for the I<new()> method.
=head1 OBJECT METHODS
Most methods are inherited from I<Ace::Object>. The following
methods are also supported:
=over 4
=item start()
$start = $homol->start;
Returns the start of the area that is similar to the
I<Ace::Sequence::Feature> from which his homology was derived.
Coordinates are relative to the target homology.
=item end()
$end = $homol->end;
Returns the end of the area that is similar to the
I<Ace::Sequence::Feature> from which his homology was derived.
Coordinates are relative to the target homology.
=item asString()
$label = $homol->asString;
Returns a human-readable identifier describing the nature of the
feature. The format is:
$name/$start-$end
for example:
HUMGEN13/1-67
This method is also called automatically when the object is treated in
a string context.
=back
=head1 SEE ALSO
L<Ace>, L<Ace::Object>,
L<Ace::Sequence>,L<Ace::Sequence::FeatureList>,
L<Ace::Sequence::Feature>, L<GFF>
=head1 AUTHOR
Lincoln Stein <lstein@w3.org> with extensive help from Jean
Thierry-Mieg <mieg@kaa.crbm.cnrs-mop.fr>
Copyright (c) 1999, Lincoln D. Stein
This library is free software; you can redistribute it and/or modify
it under the same terms as Perl itself. See DISCLAIMER.txt for
disclaimers of warranty.
=cut
|