/usr/share/perl5/SWISS/Refs.pm is in libswiss-perl 1.67-1.2.
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 | package SWISS::Refs;
use vars qw($AUTOLOAD @ISA @EXPORT_OK %fields $opt_debug);
use Exporter;
use Carp;
use strict;
use SWISS::TextFunc;
use SWISS::ListBase;
use SWISS::Ref;
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 $class = shift;
my $textRef = shift;
my $self = new SWISS::Refs;
my $ref;
if ($$textRef =~ /($SWISS::TextFunc::linePattern{'R.'})/m){
foreach $ref (split /(?=^ ?RN)/m, $1) {
$self->push(SWISS::Ref->fromText(\$ref));
}
}
else {
$self->initialize;
};
$self->{_dirty} = 0;
return $self;
}
sub toText {
my $self = shift;
my $textRef = shift;
my $newText = '';
my $ref;
foreach $ref (@{$self->list}) {
$newText .= $ref->toText;
# Now text and object representation are being synchronised, reset
# the _dirty flag of $ref.
$ref->{_dirty} = 0;
};
if (defined $main::opt_debug && $main::opt_debug>1) {
print STDERR "$newText";
};
$self->{_dirty} = 0;
return SWISS::TextFunc->insertLineGroup($textRef, $newText,
$SWISS::TextFunc::linePattern{'R.'});
}
# Overwrite the inherited sort method.
sub sort {
my ($self) = @_;
return $self->set(sort {$a->RN <=> $b->RN} @{$self->list});
return 1;
}
# Overwrite the inherited update method.
sub update {
return 1;
}
1;
__END__
=head1 Name
SWISS::Refs.pm
=head1 Description
B<SWISS::Refs> represents the Reference lines within an SWISS-PROT + TREMBL
entry as specified in the user manual
http://www.expasy.org/sprot/userman.html .
=head1 Inherits from
SWISS::ListBase.pm
=head1 Attributes
=over
=item C<list>
A list of SWISS::Ref objects. Each object represents one reference.
=back
=head1 Methods
=head2 Standard methods
=over
=item new
=item fromText
=item toText
=back
|