This file is indexed.

/usr/share/perl5/SWISS/KWs.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
package SWISS::KWs;

use vars qw($AUTOLOAD @ISA @EXPORT_OK %fields);

use Exporter;
use Carp;
use strict;

use SWISS::TextFunc;
use SWISS::ListBase;
use SWISS::KW;


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;
  my @tmp;

  if ($$textRef =~ /($SWISS::TextFunc::linePattern{'KW'})/m){   
    foreach $line (split /\n/m, $1) {
      $self->{indentation} += $line =~ s/^ //;
      $line = SWISS::TextFunc->cleanLine($line);
      @tmp = SWISS::TextFunc->listFromText($line, ';\s*', '\.\s*');
      push (@{$self->list()}, map {SWISS::KW->fromText($_)} @tmp); 
    }
  }
  $self->{_dirty} = 0;
  return $self;
}

sub toText {
  my $self = shift;
  my $textRef = shift;
  my @lines;
  my $newText = '';

  if ($self->size > 0) {
    $newText = join('; ', map {$_->toText()} @{$self->list}) . ".";
    my $prefix = "KW   ";
    my $col = $SWISS::TextFunc::lineLength;
    $col++, $prefix=" $prefix" if $self->{indentation};
    $newText = SWISS::TextFunc->wrapOn($prefix, $prefix, $col,
				       $newText , ';\s+');
  };

  $self->{_dirty} = 0;

  return SWISS::TextFunc->insertLineGroup($textRef, $newText, 
			     $SWISS::TextFunc::linePattern{'KW'});
}

sub sort {
  my $self = shift;

  return $self->set(sort {lc($a->text) cmp lc($b->text)} @{$self->list});
}

1;

__END__

=head1 Name

SWISS::KWs

=head1 Description

B<SWISS::KWs> represents the KW 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>

Each list element is a B<SWISS::KW> object. 

=back

=head1 Methods

=head2 Standard methods

=over

=item new

=item fromText

=item sort

sort() sorts the keywords alphabetically.

=item toText

=back