annotate pfamScan/Bio/Pfam/HMM/HMM.pm @ 0:68a3648c7d91 draft default tip

Uploaded
author matteoc
date Thu, 22 Dec 2016 04:45:31 -0500
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
1 # HMM.pm
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
2 #
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
3 # Author: finnr
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
4 # Maintainer: $Id: HMM.pm,v 1.1 2009-10-08 12:27:28 jt6 Exp $
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
5 # Version: $Revision: 1.1 $
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
6 # Created: Nov 24, 2008
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
7 # Last Modified: $Date: 2009-10-08 12:27:28 $
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
8 =head1 NAME
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
9
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
10 Template - a short description of the class
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
11
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
12 =cut
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
13
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
14 package Bio::Pfam::HMM::HMM;
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
15
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
16 =head1 DESCRIPTION
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
17
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
18 A more detailed description of what this class does and how it does it.
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
19
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
20 $Id: HMM.pm,v 1.1 2009-10-08 12:27:28 jt6 Exp $
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
21
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
22 =head1 COPYRIGHT
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
23
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
24 File: HMM.pm
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
25
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
26 Copyright (c) 2007: Genome Research Ltd.
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
27
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
28 Authors: Rob Finn (rdf@sanger.ac.uk), John Tate (jt6@sanger.ac.uk)
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
29
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
30 This is free software; you can redistribute it and/or
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
31 modify it under the terms of the GNU General Public License
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
32 as published by the Free Software Foundation; either version 2
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
33 of the License, or (at your option) any later version.
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
34
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
35 This program is distributed in the hope that it will be useful,
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
36 but WITHOUT ANY WARRANTY; without even the implied warranty of
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
37 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
38 GNU General Public License for more details.
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
39
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
40 You should have received a copy of the GNU General Public License
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
41 along with this program; if not, write to the Free Software
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
42 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
43 or see the on-line version at http://www.gnu.org/copyleft/gpl.txt
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
44
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
45 =cut
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
46
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
47 use strict;
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
48 use warnings;
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
49
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
50 use Moose;
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
51 use Moose::Util::TypeConstraints;
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
52 use Carp;
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
53
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
54 #-------------------------------------------------------------------------------
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
55
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
56 =head1 METHODS
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
57
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
58 =cut
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
59
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
60
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
61 subtype 'hmmVersion'
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
62 => as Str
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
63 => where { $_ =~ m/^HMMER3\/f\s+\[3\.\d+[ab](\d+)?\s+|\s+\[.*\]/ }
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
64 => message { "|$_| does not look like as HMMER3 version" };
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
65
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
66 subtype 'hmmName'
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
67 => as Str
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
68 => where { $_ =~ m/\S{1,15}/ }
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
69 => message { "|$_| does not look like Pfam name or SEED" };
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
70
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
71 subtype 'hmmAcc'
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
72 => as Str
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
73 => where { $_ =~ m/PF\d{5}/ }
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
74 => message { "|$_| does not look like Pfam accession" };
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
75
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
76
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
77 subtype 'hmmAlpha'
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
78 => as Str
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
79 => where { $_ eq 'amino' or $_ eq 'nucleic' }
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
80 => message { "|$_| does not look like a HMMER3 alphabet" };
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
81
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
82
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
83 subtype 'hmmMsvStats'
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
84 => as HashRef
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
85 => where { defined ($_->{mu}) and defined ($_->{lambda}) and ($_->{lambda} <= 0.8) and ($_->{lambda} >= 0.5) }
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
86 => message { "Mu |$_->{mu}| and lambda |$_->{lambda}| must be defined and lambda must be between 0.5 and 0.8" };
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
87
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
88
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
89 subtype 'hmmViterbiStats'
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
90 => as HashRef
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
91 => where { defined ($_->{mu}) and defined ($_->{lambda}) and ($_->{lambda} <= 0.8) and ($_->{lambda} >= 0.5) }
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
92 => message { "Mu |$_->{mu}| and lambda |$_->{lambda}| must be defined and lambda must be between 0.5 and 0.8" };
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
93
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
94 subtype 'hmmForwardStats'
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
95 => as HashRef
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
96 => where { defined ($_->{tau}) and defined ($_->{lambda}) and ($_->{lambda} <= 0.8) and ($_->{lambda} >= 0.5) }
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
97 => message { "Tau |$_->{tau}| and lambda |$_->{lambda}| must be defined and lambda must be between 0.5 and 0.8" };
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
98
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
99 has 'version' => (
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
100 isa => 'hmmVersion',
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
101 is => 'rw',
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
102 required => 1
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
103 );
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
104
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
105 has 'name' => (
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
106 isa => 'hmmName',
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
107 is => 'rw',
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
108 required => 1
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
109 );
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
110
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
111 has 'accession' => (
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
112 isa => 'hmmAcc',
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
113 is => 'rw'
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
114 );
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
115
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
116 has 'description' => (
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
117 isa => 'Str',
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
118 is => 'rw'
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
119 );
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
120
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
121 has 'length' => (
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
122 isa => 'Int',
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
123 is => 'rw',
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
124 required => 1
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
125 );
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
126
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
127 has 'alpha' => (
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
128 isa => 'hmmAlpha',
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
129 is => 'rw',
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
130 required => 1,
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
131 );
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
132
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
133 has 'rf' => (
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
134 isa => 'Bool',
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
135 is => 'rw',
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
136 required => 1
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
137 );
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
138
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
139 has 'mm' => (
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
140 isa => 'Bool',
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
141 is => 'rw',
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
142 );
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
143
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
144 has 'cons' => (
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
145 isa => 'Bool',
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
146 is => 'rw',
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
147 );
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
148
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
149 has 'cs' => (
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
150 isa => 'Bool',
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
151 is => 'rw',
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
152 required => 1
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
153 );
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
154
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
155 has 'map' => (
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
156 isa => 'Bool',
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
157 is => 'rw',
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
158 required => 1
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
159 );
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
160
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
161 has 'date' => (
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
162 isa => 'Str',
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
163 is => 'rw',
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
164 required => 1
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
165 );
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
166
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
167 has 'buildLine' => (
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
168 isa => 'HashRef[Str]',
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
169 is => 'rw',
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
170 required => 1,
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
171 default => sub { {} },
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
172 );
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
173
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
174 has 'searchMethod' => (
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
175 isa => 'Str',
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
176 is => 'rw',
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
177 );
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
178
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
179 has 'nSeq' => (
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
180 isa => 'Int',
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
181 is => 'rw',
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
182 required => 1
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
183 );
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
184
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
185 has 'msvStats' => (
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
186 isa => 'hmmMsvStats',
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
187 is => 'rw',
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
188 required => 1
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
189 );
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
190
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
191 has 'viterbiStats' => (
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
192 isa => 'hmmViterbiStats',
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
193 is => 'rw',
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
194 required => 1
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
195 );
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
196
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
197 has 'forwardStats' => (
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
198 isa => 'hmmForwardStats',
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
199 is => 'rw',
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
200 required => 1
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
201 );
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
202
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
203
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
204 has 'effn' => (
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
205 isa => 'Num',
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
206 is => 'rw',
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
207 required => 1
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
208 );
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
209
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
210 has 'cksum' => (
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
211 isa => 'Int',
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
212 is => 'rw',
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
213 required => 1
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
214 );
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
215
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
216 has 'seqGA' => (
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
217 isa => 'Num',
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
218 is => 'rw',
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
219 );
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
220
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
221 has 'domGA' => (
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
222 isa => 'Num',
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
223 is => 'rw',
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
224 );
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
225
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
226 has 'seqTC' => (
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
227 isa => 'Num',
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
228 is => 'rw',
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
229 );
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
230
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
231 has 'domTC' => (
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
232 isa => 'Num',
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
233 is => 'rw',
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
234 );
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
235
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
236 has 'seqNC' => (
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
237 isa => 'Num',
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
238 is => 'rw',
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
239 );
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
240
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
241 has 'domNC' => (
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
242 isa => 'Num',
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
243 is => 'rw',
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
244 );
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
245
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
246 has 'emissionLines' => (
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
247 isa => 'ArrayRef[ArrayRef]',
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
248 is => 'rw',
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
249 default => sub { [] },
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
250 );
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
251
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
252 has 'mapPos'=> (
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
253 isa => 'ArrayRef[Int]',
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
254 is => 'rw',
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
255 default => sub{ [] }
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
256 );
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
257
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
258 has 'compLines' => (
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
259 isa => 'ArrayRef[Str]',
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
260 is => 'rw',
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
261 default => sub { [] },
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
262 );
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
263
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
264 __PACKAGE__->meta->make_immutable;
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
265 1;
68a3648c7d91 Uploaded
matteoc
parents:
diff changeset
266