/usr/share/perl5/SWISS/Stars/aa.pm is in libswiss-perl 1.67-1.
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 | package SWISS::Stars::aa;
use vars qw($AUTOLOAD @ISA @EXPORT_OK %fields);
use Exporter;
use Carp;
use strict;
use SWISS::TextFunc;
use SWISS::ListBase;
BEGIN {
@EXPORT_OK = qw();
@ISA = ( 'Exporter', 'SWISS::ListBase');
%fields = (
);
}
sub new {
my $ref = shift;
my $class = ref($ref) || $ref;
my $self = new SWISS::ListBase;
$self->rebless($class);
return $self;
}
sub fromText {
my $self = new(shift);
my $textRef = shift;
my $line;
# The tag for the aa section is ' '
foreach $line ($$textRef =~ /^(\*\* .*\n)/gm) {
$line = SWISS::TextFunc->cleanLine($line);
$self->add($line);
};
# we have only read, so the object is still clean
$self->{_dirty} = 0;
return $self;
}
sub toText {
my $self = shift;
my ($textRef) = @_;
my $newText = '';
my $tag = ' ';
# remove old aa lines
$$textRef =~ s/^(\*\*$tag .*\n)//gm;
# assemble new aa lines
map ({$newText .= SWISS::TextFunc->wrapOn("\*\*$tag ",
"\*\*$tag ",
$SWISS::TextFunc::lineLengthStar,
$_,
' ')}
$self->elements);
# now the object is clean
$self->{_dirty} = 0;
# add new aa lines at the beginning
return $$textRef = $newText . $$textRef;
}
# The aa section should never be sorted
sub sort {
return 1;
};
1;
__END__
=head1 Name
SWISS::aa.pm
=head1 Description
B<SWISS/Stars/aa.pm> represents the unstructured part of the "annotator's section" within an SWISS-PROT + TrEMBL
entry. The "annotator's section" is not visible to the public. The unstructured part of it has the line tag '**'. See also the general description in Stars.html.
=head1 Inherits from
SWISS::ListBase.pm
=head1 Attributes
=over
=item C<list>
Each line is stored as one element of the list.
=back
=head1 Methods
=head2 Standard methods
=over
=item new
=item fromText
=item toText
=back
|