[Bio] / FigKernelPackages / Annotation.pm Repository:
ViewVC logotype

Annotation of /FigKernelPackages/Annotation.pm

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.4 - (view) (download) (as text)

1 : olson 1.1 #
2 : olson 1.3 # Copyright (c) 2003-2006 University of Chicago and Fellowship
3 :     # for Interpretations of Genomes. All Rights Reserved.
4 :     #
5 :     # This file is part of the SEED Toolkit.
6 :     #
7 :     # The SEED Toolkit is free software. You can redistribute
8 :     # it and/or modify it under the terms of the SEED Toolkit
9 :     # Public License.
10 :     #
11 :     # You should have received a copy of the SEED Toolkit Public License
12 :     # along with this program; if not write to the University of Chicago
13 :     # at info@ci.uchicago.edu or the Fellowship for Interpretation of
14 :     # Genomes at veronika@thefig.info or download a copy from
15 :     # http://www.theseed.org/LICENSE.TXT.
16 :     #
17 :    
18 :     #
19 : olson 1.1 # Simple object to hold annotations in-memory.
20 :     #
21 :    
22 : parrello 1.4 =pod
23 :    
24 :     #TITLE OldAnnotationPm
25 :    
26 :     This is a simple object that is used by [[FigPm]] to keep annotations in memory.
27 :    
28 :     =cut
29 :    
30 : olson 1.1 package Annotation;
31 :    
32 :     use strict;
33 :    
34 :     sub new
35 :     {
36 :     my($class, $fid, $anno_time, $made_by, @anno) = @_;
37 :    
38 :    
39 :     my $self = {
40 : parrello 1.2 fid => $fid,
41 :     anno_time => $anno_time,
42 :     made_by => $made_by,
43 :     anno => [@anno],
44 : olson 1.1 };
45 :    
46 :     #
47 :     # See if it's an assignment annotation.
48 :     #
49 :    
50 :     if ($anno[0] =~ /^Set\s+(\S+)\s+function\s+to$/)
51 :     {
52 : parrello 1.2 $self->{is_assignment} = 1;
53 :     $self->{assignment_who} = $1;
54 :     $self->{assignment} = $anno[1];
55 : olson 1.1
56 : parrello 1.2 # parentheses required for ActivePERL
57 :     $self->{is_master_assignment} = ($1 eq 'master' or $1 eq 'FIG');
58 : olson 1.1 }
59 :    
60 :     return bless($self, $class);
61 :     }
62 :    
63 :     sub fid
64 :     {
65 :     my($self) = @_;
66 :     return $self->{fid};
67 :     }
68 :    
69 :     sub anno_time
70 :     {
71 :     my($self) = @_;
72 :     return $self->{anno_time};
73 :     }
74 :    
75 :     sub made_by
76 :     {
77 :     my($self) = @_;
78 :     return $self->{made_by};
79 :     }
80 :    
81 :     sub is_assignment
82 :     {
83 :     my($self) = @_;
84 :     return $self->{is_assignment};
85 :     }
86 :    
87 :     sub is_master_assignment
88 :     {
89 :     my($self) = @_;
90 :     return $self->{is_master_assignment};
91 :     }
92 :    
93 :     sub assignment_who
94 :     {
95 :     my($self) = @_;
96 :     return $self->{assignment_who};
97 :     }
98 :    
99 :     sub assignment
100 :     {
101 :     my($self) = @_;
102 :     return $self->{assignment};
103 :     }
104 :    
105 :    
106 :     sub set_assignment_who
107 :     {
108 :     my($self, $val) = @_;
109 :     my $old = $self->{assignment_who};
110 :     $self->{assignment_who} = $val;
111 :     $self->{anno}->[0] = "Set $val function to";
112 :     return $old;
113 :     }
114 :    
115 :     sub as_text
116 :     {
117 :     my($self) = @_;
118 :    
119 :     return join("\n", @$self{'fid', 'anno_time', 'made_by'}, @{$self->{anno}});
120 :     }
121 :    
122 :     sub anno_text
123 :     {
124 :     my($self) = @_;
125 :    
126 :     return join("\n", @{$self->{anno}});
127 :     }
128 :    
129 :     1;

MCS Webmaster
ViewVC Help
Powered by ViewVC 1.0.3