genevalidator 1.6.1 → 1.6.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (131) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +3 -1
  3. data/.travis.yml +2 -0
  4. data/README.md +78 -30
  5. data/Rakefile +11 -8
  6. data/aux/app_template_footer.erb +1 -6
  7. data/aux/app_template_header.erb +12 -32
  8. data/aux/files/css/style.css +2 -8
  9. data/aux/files/js/plots.js +564 -576
  10. data/aux/files/js/script.js +10 -0
  11. data/aux/json_footer.erb +8 -0
  12. data/aux/json_header.erb +19 -0
  13. data/aux/json_query.erb +14 -0
  14. data/aux/template_footer.erb +9 -58
  15. data/aux/template_header.erb +18 -58
  16. data/aux/template_query.erb +8 -36
  17. data/bin/genevalidator +45 -32
  18. data/genevalidator.gemspec +11 -7
  19. data/lib/genevalidator.rb +75 -455
  20. data/lib/genevalidator/arg_validation.rb +78 -107
  21. data/lib/genevalidator/blast.rb +57 -60
  22. data/lib/genevalidator/clusterization.rb +15 -15
  23. data/lib/genevalidator/exceptions.rb +32 -5
  24. data/lib/genevalidator/get_raw_sequences.rb +70 -33
  25. data/lib/genevalidator/hsp.rb +1 -4
  26. data/lib/genevalidator/json_to_gv_results.rb +109 -0
  27. data/lib/genevalidator/output.rb +177 -185
  28. data/lib/genevalidator/pool.rb +2 -1
  29. data/lib/genevalidator/sequences.rb +3 -3
  30. data/lib/genevalidator/tabular_parser.rb +24 -18
  31. data/lib/genevalidator/validation.rb +279 -0
  32. data/lib/genevalidator/validation_alignment.rb +31 -47
  33. data/lib/genevalidator/validation_blast_reading_frame.rb +19 -18
  34. data/lib/genevalidator/validation_duplication.rb +23 -19
  35. data/lib/genevalidator/validation_gene_merge.rb +30 -65
  36. data/lib/genevalidator/validation_length_cluster.rb +14 -53
  37. data/lib/genevalidator/validation_length_rank.rb +10 -11
  38. data/lib/genevalidator/validation_open_reading_frame.rb +18 -19
  39. data/lib/genevalidator/validation_report.rb +2 -5
  40. data/lib/genevalidator/validation_test.rb +8 -4
  41. data/lib/genevalidator/version.rb +1 -1
  42. data/test/test_all_validations.rb +51 -66
  43. data/test/test_blast.rb +68 -51
  44. data/test/test_clusterization.rb +1 -1
  45. data/test/test_clusterization_2d.rb +19 -13
  46. data/test/test_extended_array_methods.rb +1 -1
  47. data/test/test_files/all_validations_mrna/mrna.blast_tab6 +1806 -0
  48. data/test/test_files/all_validations_mrna/mrna.blast_tab7 +1865 -0
  49. data/test/test_files/all_validations_mrna/{all_validations_mrna.fasta.blast_xml → mrna.blast_xml} +18642 -1
  50. data/test/test_files/all_validations_mrna/{all_validations_mrna.fasta.blast_xml.index → mrna.blast_xml.index} +300 -0
  51. data/test/test_files/all_validations_mrna/{all_validations_mrna.fasta → mrna.fa} +0 -0
  52. data/test/test_files/all_validations_mrna/mrna.raw_seq +3970 -0
  53. data/test/test_files/all_validations_mrna/{all_validations_mrna.fasta.blast_xml.raw_seq.idx → mrna.raw_seq.idx} +901 -1
  54. data/test/test_files/all_validations_prot/{all_validations_prot.fasta.blast_tab → prot.blast_tab6} +416 -0
  55. data/test/test_files/all_validations_prot/prot.blast_tab7 +2400 -0
  56. data/test/test_files/all_validations_prot/{all_validations_prot.fasta.blast_xml → prot.blast_xml} +18299 -6723
  57. data/test/test_files/all_validations_prot/{all_validations_prot.fasta.blast_xml.index → prot.blast_xml.index} +408 -0
  58. data/test/test_files/all_validations_prot/{all_validations_prot.fasta → prot.fa} +0 -0
  59. data/test/test_files/all_validations_prot/{all_validations_prot.fasta.blast_xml.raw_seq → prot.raw_seq} +2735 -0
  60. data/test/test_files/all_validations_prot/{all_validations_prot.fasta.blast_xml.raw_seq.idx → prot.raw_seq.idx} +3032 -1808
  61. data/test/test_sequences.rb +46 -41
  62. data/test/test_validation_open_reading_frame.rb +318 -202
  63. data/test/test_validations.rb +48 -32
  64. metadata +76 -102
  65. data/doc/AliasDuplicationError.html +0 -134
  66. data/doc/AlignmentValidation.html +0 -1687
  67. data/doc/AlignmentValidationOutput.html +0 -659
  68. data/doc/Blast.html +0 -1905
  69. data/doc/BlastRFValidationOutput.html +0 -545
  70. data/doc/BlastReadingFrameValidation.html +0 -370
  71. data/doc/BlastUtils.html +0 -875
  72. data/doc/ClasspathError.html +0 -134
  73. data/doc/Cluster.html +0 -1316
  74. data/doc/DuplciationValidationOutput.html +0 -564
  75. data/doc/DuplicationValidation.html +0 -920
  76. data/doc/DuplicationValidationOutput.html +0 -564
  77. data/doc/FileNotFoundException.html +0 -134
  78. data/doc/GeneMergeValidation.html +0 -935
  79. data/doc/GeneMergeValidationOutput.html +0 -652
  80. data/doc/HierarchicalClusterization.html +0 -994
  81. data/doc/Hsp.html +0 -1485
  82. data/doc/InconsistentTabularFormat.html +0 -135
  83. data/doc/LengthClusterValidation.html +0 -982
  84. data/doc/LengthClusterValidationOutput.html +0 -515
  85. data/doc/LengthRankValidation.html +0 -496
  86. data/doc/LengthRankValidationOutput.html +0 -517
  87. data/doc/NoInternetError.html +0 -135
  88. data/doc/NoMafftInstallationError.html +0 -134
  89. data/doc/NoPIdentError.html +0 -134
  90. data/doc/NoValidationError.html +0 -134
  91. data/doc/NotEnoughHitsError.html +0 -135
  92. data/doc/ORFValidationOutput.html +0 -593
  93. data/doc/OpenReadingFrameValidation.html +0 -1107
  94. data/doc/OtherError.html +0 -123
  95. data/doc/Output.html +0 -1540
  96. data/doc/Pair.html +0 -309
  97. data/doc/PairCluster.html +0 -767
  98. data/doc/Plot.html +0 -837
  99. data/doc/QueryError.html +0 -134
  100. data/doc/ReportClassError.html +0 -135
  101. data/doc/Sequence.html +0 -1299
  102. data/doc/SequenceTypeError.html +0 -135
  103. data/doc/TabularEntry.html +0 -837
  104. data/doc/TabularParser.html +0 -1104
  105. data/doc/Validation.html +0 -2147
  106. data/doc/ValidationClassError.html +0 -134
  107. data/doc/ValidationOutput.html +0 -460
  108. data/doc/ValidationReport.html +0 -940
  109. data/doc/ValidationTest.html +0 -939
  110. data/doc/_index.html +0 -449
  111. data/doc/class_list.html +0 -54
  112. data/doc/css/common.css +0 -1
  113. data/doc/css/full_list.css +0 -57
  114. data/doc/css/style.css +0 -338
  115. data/doc/file.README.html +0 -151
  116. data/doc/file_list.html +0 -56
  117. data/doc/frames.html +0 -26
  118. data/doc/index.html +0 -151
  119. data/doc/js/app.js +0 -214
  120. data/doc/js/full_list.js +0 -178
  121. data/doc/js/jquery.js +0 -4
  122. data/doc/method_list.html +0 -1505
  123. data/doc/top-level-namespace.html +0 -112
  124. data/test/test_files/all_validations_mrna/all_validations_mrna.fasta.blast_tab +0 -967
  125. data/test/test_files/all_validations_mrna/all_validations_mrna.fasta.blast_tab.index +0 -967
  126. data/test/test_files/all_validations_mrna/all_validations_mrna.fasta.blast_tab.raw_seq +0 -4929
  127. data/test/test_files/all_validations_mrna/all_validations_mrna.fasta.blast_tab.raw_seq.idx +0 -1006
  128. data/test/test_files/all_validations_mrna/all_validations_mrna.fasta.blast_xml.raw_seq +0 -2075
  129. data/test/test_files/all_validations_prot/all_validations_prot.fasta.blast_tab.index +0 -1864
  130. data/test/test_files/all_validations_prot/all_validations_prot.fasta.blast_tab.raw_seq +0 -42411
  131. data/test/test_files/all_validations_prot/all_validations_prot.fasta.blast_tab.raw_seq.idx +0 -3751
@@ -1,1107 +0,0 @@
1
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
2
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3
- <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
4
- <head>
5
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
6
- <title>
7
- Class: OpenReadingFrameValidation
8
-
9
- &mdash; Documentation by YARD 0.8.7.2
10
-
11
- </title>
12
-
13
- <link rel="stylesheet" href="css/style.css" type="text/css" charset="utf-8" />
14
-
15
- <link rel="stylesheet" href="css/common.css" type="text/css" charset="utf-8" />
16
-
17
- <script type="text/javascript" charset="utf-8">
18
- hasFrames = window.top.frames.main ? true : false;
19
- relpath = '';
20
- framesUrl = "frames.html#!" + escape(window.location.href);
21
- </script>
22
-
23
-
24
- <script type="text/javascript" charset="utf-8" src="js/jquery.js"></script>
25
-
26
- <script type="text/javascript" charset="utf-8" src="js/app.js"></script>
27
-
28
-
29
- </head>
30
- <body>
31
- <div id="header">
32
- <div id="menu">
33
-
34
- <a href="_index.html">Index (O)</a> &raquo;
35
-
36
-
37
- <span class="title">OpenReadingFrameValidation</span>
38
-
39
-
40
- <div class="noframes"><span class="title">(</span><a href="." target="_top">no frames</a><span class="title">)</span></div>
41
- </div>
42
-
43
- <div id="search">
44
-
45
- <a class="full_list_link" id="class_list_link"
46
- href="class_list.html">
47
- Class List
48
- </a>
49
-
50
- <a class="full_list_link" id="method_list_link"
51
- href="method_list.html">
52
- Method List
53
- </a>
54
-
55
- <a class="full_list_link" id="file_list_link"
56
- href="file_list.html">
57
- File List
58
- </a>
59
-
60
- </div>
61
- <div class="clear"></div>
62
- </div>
63
-
64
- <iframe id="search_frame"></iframe>
65
-
66
- <div id="content"><h1>Class: OpenReadingFrameValidation
67
-
68
-
69
-
70
- </h1>
71
-
72
- <dl class="box">
73
-
74
- <dt class="r1">Inherits:</dt>
75
- <dd class="r1">
76
- <span class="inheritName"><span class='object_link'><a href="ValidationTest.html" title="ValidationTest (class)">ValidationTest</a></span></span>
77
-
78
- <ul class="fullTree">
79
- <li>Object</li>
80
-
81
- <li class="next"><span class='object_link'><a href="ValidationTest.html" title="ValidationTest (class)">ValidationTest</a></span></li>
82
-
83
- <li class="next">OpenReadingFrameValidation</li>
84
-
85
- </ul>
86
- <a href="#" class="inheritanceTree">show all</a>
87
-
88
- </dd>
89
-
90
-
91
-
92
-
93
-
94
-
95
-
96
-
97
-
98
- <dt class="r2 last">Defined in:</dt>
99
- <dd class="r2 last">lib/genevalidator/validation_open_reading_frame.rb</dd>
100
-
101
- </dl>
102
- <div class="clear"></div>
103
-
104
- <h2>Overview</h2><div class="docstring">
105
- <div class="discussion">
106
-
107
- <p>This class contains the methods necessary for checking whether there is a
108
- main Open Reading Frame in the predicted sequence</p>
109
-
110
-
111
- </div>
112
- </div>
113
- <div class="tags">
114
-
115
-
116
- </div>
117
-
118
-
119
-
120
- <h2>Instance Attribute Summary <small>(<a href="#" class="summary_toggle">collapse</a>)</small></h2>
121
- <ul class="summary">
122
-
123
- <li class="public ">
124
- <span class="summary_signature">
125
-
126
- <a href="#filename-instance_method" title="#filename (instance method)">- (Object) <strong>filename</strong> </a>
127
-
128
-
129
-
130
- </span>
131
-
132
-
133
-
134
-
135
- <span class="note title readonly">readonly</span>
136
-
137
-
138
-
139
-
140
-
141
-
142
-
143
-
144
-
145
- <span class="summary_desc"><div class='inline'>
146
- <p>Returns the value of attribute filename.</p>
147
- </div></span>
148
-
149
- </li>
150
-
151
-
152
- <li class="public ">
153
- <span class="summary_signature">
154
-
155
- <a href="#start_codons-instance_method" title="#start_codons (instance method)">- (Object) <strong>start_codons</strong> </a>
156
-
157
-
158
-
159
- </span>
160
-
161
-
162
-
163
-
164
- <span class="note title readonly">readonly</span>
165
-
166
-
167
-
168
-
169
-
170
-
171
-
172
-
173
-
174
- <span class="summary_desc"><div class='inline'>
175
- <p>Returns the value of attribute start_codons.</p>
176
- </div></span>
177
-
178
- </li>
179
-
180
-
181
- <li class="public ">
182
- <span class="summary_signature">
183
-
184
- <a href="#stop_codons-instance_method" title="#stop_codons (instance method)">- (Object) <strong>stop_codons</strong> </a>
185
-
186
-
187
-
188
- </span>
189
-
190
-
191
-
192
-
193
- <span class="note title readonly">readonly</span>
194
-
195
-
196
-
197
-
198
-
199
-
200
-
201
-
202
-
203
- <span class="summary_desc"><div class='inline'>
204
- <p>Returns the value of attribute stop_codons.</p>
205
- </div></span>
206
-
207
- </li>
208
-
209
-
210
- </ul>
211
-
212
-
213
-
214
-
215
-
216
- <h3 class="inherited">Attributes inherited from <span class='object_link'><a href="ValidationTest.html" title="ValidationTest (class)">ValidationTest</a></span></h3>
217
- <p class="inherited"><span class='object_link'><a href="ValidationTest.html#cli_name-instance_method" title="ValidationTest#cli_name (method)">#cli_name</a></span>, <span class='object_link'><a href="ValidationTest.html#description-instance_method" title="ValidationTest#description (method)">#description</a></span>, <span class='object_link'><a href="ValidationTest.html#header-instance_method" title="ValidationTest#header (method)">#header</a></span>, <span class='object_link'><a href="ValidationTest.html#hits-instance_method" title="ValidationTest#hits (method)">#hits</a></span>, <span class='object_link'><a href="ValidationTest.html#prediction-instance_method" title="ValidationTest#prediction (method)">#prediction</a></span>, <span class='object_link'><a href="ValidationTest.html#running_time-instance_method" title="ValidationTest#running_time (method)">#running_time</a></span>, <span class='object_link'><a href="ValidationTest.html#short_header-instance_method" title="ValidationTest#short_header (method)">#short_header</a></span>, <span class='object_link'><a href="ValidationTest.html#type-instance_method" title="ValidationTest#type (method)">#type</a></span>, <span class='object_link'><a href="ValidationTest.html#validation_report-instance_method" title="ValidationTest#validation_report (method)">#validation_report</a></span></p>
218
-
219
-
220
-
221
- <h2>
222
- Instance Method Summary
223
- <small>(<a href="#" class="summary_toggle">collapse</a>)</small>
224
- </h2>
225
-
226
- <ul class="summary">
227
-
228
- <li class="public ">
229
- <span class="summary_signature">
230
-
231
- <a href="#get_orfs-instance_method" title="#get_orfs (instance method)">- (Object) <strong>get_orfs</strong>(orf_length = 100, prediction = @prediction, start_codons = @start_codons, stop_codons = @stop_codons) </a>
232
-
233
-
234
-
235
- </span>
236
-
237
-
238
-
239
-
240
-
241
-
242
-
243
-
244
-
245
- <span class="summary_desc"><div class='inline'>
246
- <p>Find open reading frames in the original sequence Applied only to
247
- nucleotide sequences Params: <tt>orf_length</tt>: minimimum ORF length,
248
- default 100 <tt>prediction</tt>: <tt>Sequence</tt> object
249
- <tt>start_codons</tt>: Array of <tt>String</tt> <tt>stop_codon</tt>: Array
250
- of <tt>String</tt> Output: <tt>Hash</tt> containing the reading frame (the
251
- key) and a list of intervals (the values).</p>
252
- </div></span>
253
-
254
- </li>
255
-
256
-
257
- <li class="public ">
258
- <span class="summary_signature">
259
-
260
- <a href="#initialize-instance_method" title="#initialize (instance method)">- (OpenReadingFrameValidation) <strong>initialize</strong>(type, prediction, hits, filename, start_codons = [], stop_codons = []) </a>
261
-
262
-
263
-
264
- </span>
265
-
266
-
267
- <span class="note title constructor">constructor</span>
268
-
269
-
270
-
271
-
272
-
273
-
274
-
275
-
276
- <span class="summary_desc"><div class='inline'>
277
- <p>Initilizes the object Params: <tt>type</tt>: type of the predicted sequence
278
- (:nucleotide or :protein) <tt>prediction</tt>: a <tt>Sequence</tt> object
279
- representing the blast query <tt>hits</tt>: a vector of <tt>Sequence</tt>
280
- objects (usually representig the blast hits) <tt>plot_filename</tt>: name
281
- of the input file, used when generatig the plot files
282
- <tt>start_codons</tt>: <tt>Array</tt> of codons <tt>stop_codons</tt>:
283
- <tt>Array</tt> of codons.</p>
284
- </div></span>
285
-
286
- </li>
287
-
288
-
289
- <li class="public ">
290
- <span class="summary_signature">
291
-
292
- <a href="#plot_orfs-instance_method" title="#plot_orfs (instance method)">- (Object) <strong>plot_orfs</strong>(orfs, output = &quot;#{@filename}_orfs.json&quot;, prediction = @prediction) </a>
293
-
294
-
295
-
296
- </span>
297
-
298
-
299
-
300
-
301
-
302
-
303
-
304
-
305
-
306
- <span class="summary_desc"><div class='inline'>
307
- <p>Plots the resions corresponding to open reading frames Param <tt>orfs</tt>:
308
- <tt>Hash</tt> containing the reading frame (the key) and a list of
309
- intervals (the values) <tt>output</tt>: location where the plot will be
310
- saved in jped file format <tt>prediction</tt>: Sequence objects.</p>
311
- </div></span>
312
-
313
- </li>
314
-
315
-
316
- <li class="public ">
317
- <span class="summary_signature">
318
-
319
- <a href="#run-instance_method" title="#run (instance method)">- (Object) <strong>run</strong> </a>
320
-
321
-
322
-
323
- </span>
324
-
325
-
326
-
327
-
328
-
329
-
330
-
331
-
332
-
333
- <span class="summary_desc"><div class='inline'>
334
- <p>Check whether there is a main reading frame Output:
335
- <tt>ORFValidationOutput</tt> object.</p>
336
- </div></span>
337
-
338
- </li>
339
-
340
-
341
- </ul>
342
-
343
-
344
-
345
-
346
-
347
-
348
-
349
-
350
- <div id="constructor_details" class="method_details_list">
351
- <h2>Constructor Details</h2>
352
-
353
- <div class="method_details first">
354
- <h3 class="signature first" id="initialize-instance_method">
355
-
356
- - (<tt><span class='object_link'><a href="" title="OpenReadingFrameValidation (class)">OpenReadingFrameValidation</a></span></tt>) <strong>initialize</strong>(type, prediction, hits, filename, start_codons = [], stop_codons = [])
357
-
358
-
359
-
360
-
361
-
362
- </h3><div class="docstring">
363
- <div class="discussion">
364
-
365
- <p>Initilizes the object Params: <tt>type</tt>: type of the predicted sequence
366
- (:nucleotide or :protein) <tt>prediction</tt>: a <tt>Sequence</tt> object
367
- representing the blast query <tt>hits</tt>: a vector of <tt>Sequence</tt>
368
- objects (usually representig the blast hits) <tt>plot_filename</tt>: name
369
- of the input file, used when generatig the plot files
370
- <tt>start_codons</tt>: <tt>Array</tt> of codons <tt>stop_codons</tt>:
371
- <tt>Array</tt> of codons</p>
372
-
373
-
374
- </div>
375
- </div>
376
- <div class="tags">
377
-
378
-
379
- </div><table class="source_code">
380
- <tr>
381
- <td>
382
- <pre class="lines">
383
-
384
-
385
- 57
386
- 58
387
- 59
388
- 60
389
- 61
390
- 62
391
- 63
392
- 64
393
- 65
394
- 66
395
- 67
396
- 68
397
- 69</pre>
398
- </td>
399
- <td>
400
- <pre class="code"><span class="info file"># File 'lib/genevalidator/validation_open_reading_frame.rb', line 57</span>
401
-
402
- <span class='kw'>def</span> <span class='id identifier rubyid_initialize'>initialize</span> <span class='lparen'>(</span><span class='id identifier rubyid_type'>type</span><span class='comma'>,</span> <span class='id identifier rubyid_prediction'>prediction</span><span class='comma'>,</span> <span class='id identifier rubyid_hits'>hits</span><span class='comma'>,</span> <span class='id identifier rubyid_filename'>filename</span><span class='comma'>,</span> <span class='id identifier rubyid_start_codons'>start_codons</span> <span class='op'>=</span> <span class='lbracket'>[</span><span class='rbracket'>]</span><span class='comma'>,</span> <span class='id identifier rubyid_stop_codons'>stop_codons</span> <span class='op'>=</span> <span class='lbracket'>[</span><span class='rbracket'>]</span><span class='rparen'>)</span>
403
- <span class='kw'>super</span>
404
- <span class='ivar'>@filename</span> <span class='op'>=</span> <span class='id identifier rubyid_filename'>filename</span>
405
- <span class='ivar'>@start_codons</span> <span class='op'>=</span> <span class='id identifier rubyid_start_codons'>start_codons</span>
406
- <span class='ivar'>@stop_codons</span> <span class='op'>=</span> <span class='id identifier rubyid_stop_codons'>stop_codons</span>
407
- <span class='ivar'>@short_header</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>ORF</span><span class='tstring_end'>&quot;</span></span>
408
- <span class='ivar'>@header</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Main ORF</span><span class='tstring_end'>&quot;</span></span>
409
- <span class='ivar'>@description</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>Check whether there is a single main Open Reading Frame</span><span class='tstring_end'>'</span></span><span class='op'>&lt;&lt;</span>
410
- <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'> in the predicted gene. Aplicable only for nucleotide queries. Meaning</span><span class='tstring_end'>'</span></span><span class='op'>&lt;&lt;</span>
411
- <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'> of the output displayed: %=MAIN ORF COVERAGE. Coverage higher than 80%</span><span class='tstring_end'>'</span></span><span class='op'>&lt;&lt;</span>
412
- <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'> passe the validation test.</span><span class='tstring_end'>'</span></span>
413
- <span class='ivar'>@cli_name</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>orf</span><span class='tstring_end'>&quot;</span></span>
414
- <span class='kw'>end</span></pre>
415
- </td>
416
- </tr>
417
- </table>
418
- </div>
419
-
420
- </div>
421
-
422
- <div id="instance_attr_details" class="attr_details">
423
- <h2>Instance Attribute Details</h2>
424
-
425
-
426
- <span id=""></span>
427
- <div class="method_details first">
428
- <h3 class="signature first" id="filename-instance_method">
429
-
430
- - (<tt>Object</tt>) <strong>filename</strong> <span class="extras">(readonly)</span>
431
-
432
-
433
-
434
-
435
-
436
- </h3><div class="docstring">
437
- <div class="discussion">
438
-
439
- <p>Returns the value of attribute filename</p>
440
-
441
-
442
- </div>
443
- </div>
444
- <div class="tags">
445
-
446
-
447
- </div><table class="source_code">
448
- <tr>
449
- <td>
450
- <pre class="lines">
451
-
452
-
453
- 44
454
- 45
455
- 46</pre>
456
- </td>
457
- <td>
458
- <pre class="code"><span class="info file"># File 'lib/genevalidator/validation_open_reading_frame.rb', line 44</span>
459
-
460
- <span class='kw'>def</span> <span class='id identifier rubyid_filename'>filename</span>
461
- <span class='ivar'>@filename</span>
462
- <span class='kw'>end</span></pre>
463
- </td>
464
- </tr>
465
- </table>
466
- </div>
467
-
468
-
469
- <span id=""></span>
470
- <div class="method_details ">
471
- <h3 class="signature " id="start_codons-instance_method">
472
-
473
- - (<tt>Object</tt>) <strong>start_codons</strong> <span class="extras">(readonly)</span>
474
-
475
-
476
-
477
-
478
-
479
- </h3><div class="docstring">
480
- <div class="discussion">
481
-
482
- <p>Returns the value of attribute start_codons</p>
483
-
484
-
485
- </div>
486
- </div>
487
- <div class="tags">
488
-
489
-
490
- </div><table class="source_code">
491
- <tr>
492
- <td>
493
- <pre class="lines">
494
-
495
-
496
- 45
497
- 46
498
- 47</pre>
499
- </td>
500
- <td>
501
- <pre class="code"><span class="info file"># File 'lib/genevalidator/validation_open_reading_frame.rb', line 45</span>
502
-
503
- <span class='kw'>def</span> <span class='id identifier rubyid_start_codons'>start_codons</span>
504
- <span class='ivar'>@start_codons</span>
505
- <span class='kw'>end</span></pre>
506
- </td>
507
- </tr>
508
- </table>
509
- </div>
510
-
511
-
512
- <span id=""></span>
513
- <div class="method_details ">
514
- <h3 class="signature " id="stop_codons-instance_method">
515
-
516
- - (<tt>Object</tt>) <strong>stop_codons</strong> <span class="extras">(readonly)</span>
517
-
518
-
519
-
520
-
521
-
522
- </h3><div class="docstring">
523
- <div class="discussion">
524
-
525
- <p>Returns the value of attribute stop_codons</p>
526
-
527
-
528
- </div>
529
- </div>
530
- <div class="tags">
531
-
532
-
533
- </div><table class="source_code">
534
- <tr>
535
- <td>
536
- <pre class="lines">
537
-
538
-
539
- 46
540
- 47
541
- 48</pre>
542
- </td>
543
- <td>
544
- <pre class="code"><span class="info file"># File 'lib/genevalidator/validation_open_reading_frame.rb', line 46</span>
545
-
546
- <span class='kw'>def</span> <span class='id identifier rubyid_stop_codons'>stop_codons</span>
547
- <span class='ivar'>@stop_codons</span>
548
- <span class='kw'>end</span></pre>
549
- </td>
550
- </tr>
551
- </table>
552
- </div>
553
-
554
- </div>
555
-
556
-
557
- <div id="instance_method_details" class="method_details_list">
558
- <h2>Instance Method Details</h2>
559
-
560
-
561
- <div class="method_details first">
562
- <h3 class="signature first" id="get_orfs-instance_method">
563
-
564
- - (<tt>Object</tt>) <strong>get_orfs</strong>(orf_length = 100, prediction = @prediction, start_codons = @start_codons, stop_codons = @stop_codons)
565
-
566
-
567
-
568
-
569
-
570
- </h3><div class="docstring">
571
- <div class="discussion">
572
-
573
- <p>Find open reading frames in the original sequence Applied only to
574
- nucleotide sequences Params: <tt>orf_length</tt>: minimimum ORF length,
575
- default 100 <tt>prediction</tt>: <tt>Sequence</tt> object
576
- <tt>start_codons</tt>: Array of <tt>String</tt> <tt>stop_codon</tt>: Array
577
- of <tt>String</tt> Output: <tt>Hash</tt> containing the reading frame (the
578
- key) and a list of intervals (the values)</p>
579
-
580
-
581
- </div>
582
- </div>
583
- <div class="tags">
584
-
585
-
586
- </div><table class="source_code">
587
- <tr>
588
- <td>
589
- <pre class="lines">
590
-
591
-
592
- 122
593
- 123
594
- 124
595
- 125
596
- 126
597
- 127
598
- 128
599
- 129
600
- 130
601
- 131
602
- 132
603
- 133
604
- 134
605
- 135
606
- 136
607
- 137
608
- 138
609
- 139
610
- 140
611
- 141
612
- 142
613
- 143
614
- 144
615
- 145
616
- 146
617
- 147
618
- 148
619
- 149
620
- 150
621
- 151
622
- 152
623
- 153
624
- 154
625
- 155
626
- 156
627
- 157
628
- 158
629
- 159
630
- 160
631
- 161
632
- 162
633
- 163
634
- 164
635
- 165
636
- 166
637
- 167
638
- 168
639
- 169
640
- 170
641
- 171
642
- 172
643
- 173
644
- 174
645
- 175
646
- 176
647
- 177
648
- 178
649
- 179
650
- 180
651
- 181
652
- 182
653
- 183
654
- 184
655
- 185
656
- 186
657
- 187
658
- 188
659
- 189
660
- 190
661
- 191
662
- 192
663
- 193
664
- 194
665
- 195
666
- 196
667
- 197
668
- 198
669
- 199
670
- 200
671
- 201
672
- 202
673
- 203
674
- 204
675
- 205
676
- 206
677
- 207
678
- 208
679
- 209
680
- 210
681
- 211
682
- 212
683
- 213
684
- 214
685
- 215
686
- 216
687
- 217
688
- 218
689
- 219
690
- 220
691
- 221
692
- 222
693
- 223
694
- 224
695
- 225
696
- 226
697
- 227
698
- 228
699
- 229
700
- 230
701
- 231
702
- 232
703
- 233
704
- 234
705
- 235
706
- 236
707
- 237
708
- 238
709
- 239
710
- 240
711
- 241
712
- 242
713
- 243
714
- 244
715
- 245
716
- 246
717
- 247
718
- 248
719
- 249
720
- 250
721
- 251
722
- 252
723
- 253
724
- 254
725
- 255
726
- 256
727
- 257
728
- 258
729
- 259
730
- 260
731
- 261
732
- 262
733
- 263
734
- 264
735
- 265
736
- 266
737
- 267
738
- 268
739
- 269
740
- 270
741
- 271</pre>
742
- </td>
743
- <td>
744
- <pre class="code"><span class="info file"># File 'lib/genevalidator/validation_open_reading_frame.rb', line 122</span>
745
-
746
- <span class='kw'>def</span> <span class='id identifier rubyid_get_orfs'>get_orfs</span><span class='lparen'>(</span><span class='id identifier rubyid_orf_length'>orf_length</span> <span class='op'>=</span> <span class='int'>100</span><span class='comma'>,</span> <span class='id identifier rubyid_prediction'>prediction</span> <span class='op'>=</span> <span class='ivar'>@prediction</span><span class='comma'>,</span> <span class='id identifier rubyid_start_codons'>start_codons</span> <span class='op'>=</span> <span class='ivar'>@start_codons</span><span class='comma'>,</span> <span class='id identifier rubyid_stop_codons'>stop_codons</span> <span class='op'>=</span> <span class='ivar'>@stop_codons</span><span class='rparen'>)</span>
747
-
748
- <span class='kw'>if</span> <span class='id identifier rubyid_prediction'>prediction</span><span class='period'>.</span><span class='id identifier rubyid_type'>type</span> <span class='op'>!=</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>nucleotide</span><span class='tstring_end'>&quot;</span></span>
749
- <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>-</span><span class='tstring_end'>&quot;</span></span>
750
- <span class='kw'>end</span>
751
-
752
- <span class='id identifier rubyid_seq'>seq</span> <span class='op'>=</span> <span class='id identifier rubyid_prediction'>prediction</span><span class='period'>.</span><span class='id identifier rubyid_raw_sequence'>raw_sequence</span>
753
- <span class='id identifier rubyid_len'>len</span> <span class='op'>=</span> <span class='id identifier rubyid_seq'>seq</span><span class='period'>.</span><span class='id identifier rubyid_length'>length</span>
754
- <span class='id identifier rubyid_stops'>stops</span> <span class='op'>=</span> <span class='lbrace'>{</span><span class='rbrace'>}</span>
755
-
756
- <span class='id identifier rubyid_stop_codons'>stop_codons</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_codon'>codon</span><span class='op'>|</span>
757
- <span class='id identifier rubyid_occurences'>occurences</span> <span class='op'>=</span> <span class='lparen'>(</span><span class='int'>0</span> <span class='op'>..</span> <span class='id identifier rubyid_seq'>seq</span><span class='period'>.</span><span class='id identifier rubyid_length'>length</span> <span class='op'>-</span> <span class='int'>1</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_find_all'>find_all</span> <span class='lbrace'>{</span> <span class='op'>|</span><span class='id identifier rubyid_i'>i</span><span class='op'>|</span> <span class='id identifier rubyid_seq'>seq</span><span class='lbracket'>[</span><span class='id identifier rubyid_i'>i</span><span class='comma'>,</span><span class='int'>3</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_downcase'>downcase</span> <span class='op'>==</span> <span class='id identifier rubyid_codon'>codon</span><span class='period'>.</span><span class='id identifier rubyid_downcase'>downcase</span> <span class='rbrace'>}</span>
758
- <span class='id identifier rubyid_occurences'>occurences</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_occ'>occ</span><span class='op'>|</span>
759
- <span class='id identifier rubyid_stops'>stops</span><span class='lbracket'>[</span><span class='id identifier rubyid_occ'>occ</span> <span class='op'>+</span> <span class='int'>3</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_codon'>codon</span>
760
- <span class='kw'>end</span>
761
- <span class='kw'>end</span>
762
-
763
- <span class='id identifier rubyid_result'>result</span> <span class='op'>=</span> <span class='lbrace'>{</span><span class='rbrace'>}</span>
764
- <span class='id identifier rubyid_result'>result</span><span class='lbracket'>[</span><span class='int'>1</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='lbracket'>[</span><span class='rbracket'>]</span>
765
- <span class='id identifier rubyid_result'>result</span><span class='lbracket'>[</span><span class='int'>2</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='lbracket'>[</span><span class='rbracket'>]</span>
766
- <span class='id identifier rubyid_result'>result</span><span class='lbracket'>[</span><span class='int'>3</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='lbracket'>[</span><span class='rbracket'>]</span>
767
- <span class='id identifier rubyid_result'>result</span><span class='lbracket'>[</span><span class='op'>-</span><span class='int'>1</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='lbracket'>[</span><span class='rbracket'>]</span>
768
- <span class='id identifier rubyid_result'>result</span><span class='lbracket'>[</span><span class='op'>-</span><span class='int'>2</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='lbracket'>[</span><span class='rbracket'>]</span>
769
- <span class='id identifier rubyid_result'>result</span><span class='lbracket'>[</span><span class='op'>-</span><span class='int'>3</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='lbracket'>[</span><span class='rbracket'>]</span>
770
-
771
- <span class='comment'>#direct strand
772
- </span> <span class='comment'>#reading frame 1, direct strand
773
- </span> <span class='id identifier rubyid_m3'>m3</span> <span class='op'>=</span> <span class='id identifier rubyid_stops'>stops</span><span class='period'>.</span><span class='id identifier rubyid_map'>map</span><span class='lbrace'>{</span><span class='op'>|</span><span class='id identifier rubyid_x'>x</span><span class='op'>|</span> <span class='id identifier rubyid_x'>x</span><span class='lbracket'>[</span><span class='int'>0</span><span class='rbracket'>]</span><span class='rbrace'>}</span><span class='period'>.</span><span class='id identifier rubyid_select'>select</span><span class='lbrace'>{</span><span class='op'>|</span><span class='id identifier rubyid_y'>y</span><span class='op'>|</span> <span class='id identifier rubyid_y'>y</span> <span class='op'>%</span> <span class='int'>3</span> <span class='op'>==</span> <span class='int'>0</span><span class='rbrace'>}</span><span class='period'>.</span><span class='id identifier rubyid_sort'>sort</span>
774
-
775
- <span class='id identifier rubyid_m3'>m3</span> <span class='op'>=</span> <span class='lbracket'>[</span><span class='int'>1</span><span class='comma'>,</span> <span class='id identifier rubyid_m3'>m3</span><span class='comma'>,</span> <span class='id identifier rubyid_prediction'>prediction</span><span class='period'>.</span><span class='id identifier rubyid_raw_sequence'>raw_sequence</span><span class='period'>.</span><span class='id identifier rubyid_length'>length</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_flatten'>flatten</span>
776
- <span class='lparen'>(</span><span class='int'>1</span><span class='op'>..</span><span class='id identifier rubyid_m3'>m3</span><span class='period'>.</span><span class='id identifier rubyid_length'>length</span><span class='op'>-</span><span class='int'>1</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_i'>i</span><span class='op'>|</span>
777
- <span class='kw'>if</span> <span class='id identifier rubyid_start_codons'>start_codons</span><span class='period'>.</span><span class='id identifier rubyid_length'>length</span> <span class='op'>==</span> <span class='int'>0</span>
778
- <span class='kw'>if</span> <span class='id identifier rubyid_m3'>m3</span><span class='lbracket'>[</span><span class='id identifier rubyid_i'>i</span><span class='rbracket'>]</span> <span class='op'>-</span> <span class='id identifier rubyid_m3'>m3</span><span class='lbracket'>[</span><span class='id identifier rubyid_i'>i</span><span class='op'>-</span><span class='int'>1</span><span class='rbracket'>]</span> <span class='op'>&gt;</span> <span class='id identifier rubyid_orf_length'>orf_length</span>
779
- <span class='id identifier rubyid_result'>result</span><span class='lbracket'>[</span><span class='int'>1</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_push'>push</span><span class='lparen'>(</span><span class='lbracket'>[</span><span class='id identifier rubyid_m3'>m3</span><span class='lbracket'>[</span><span class='id identifier rubyid_i'>i</span><span class='op'>-</span><span class='int'>1</span><span class='rbracket'>]</span><span class='comma'>,</span> <span class='id identifier rubyid_m3'>m3</span><span class='lbracket'>[</span><span class='id identifier rubyid_i'>i</span><span class='rbracket'>]</span><span class='rbracket'>]</span><span class='rparen'>)</span>
780
- <span class='kw'>end</span>
781
- <span class='kw'>else</span>
782
- <span class='id identifier rubyid_start_codons'>start_codons</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_scd'>scd</span><span class='op'>|</span>
783
- <span class='comment'># start_offset = 0
784
- </span><span class='comment'># unless i == 1
785
- </span> <span class='comment'>#find the first occurence of the start codon in the prospective orf
786
- </span> <span class='id identifier rubyid_start_offset'>start_offset</span> <span class='op'>=</span> <span class='lparen'>(</span><span class='id identifier rubyid_m3'>m3</span><span class='lbracket'>[</span><span class='id identifier rubyid_i'>i</span><span class='op'>-</span><span class='int'>1</span><span class='rbracket'>]</span><span class='op'>-</span><span class='int'>1</span><span class='op'>..</span><span class='id identifier rubyid_m3'>m3</span><span class='lbracket'>[</span><span class='id identifier rubyid_i'>i</span><span class='rbracket'>]</span><span class='op'>-</span><span class='id identifier rubyid_orf_length'>orf_length</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_find_all'>find_all</span><span class='lbrace'>{</span><span class='op'>|</span><span class='id identifier rubyid_i'>i</span><span class='op'>|</span> <span class='id identifier rubyid_seq'>seq</span><span class='lbracket'>[</span><span class='id identifier rubyid_i'>i</span><span class='comma'>,</span><span class='int'>3</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_downcase'>downcase</span> <span class='op'>==</span> <span class='id identifier rubyid_scd'>scd</span><span class='period'>.</span><span class='id identifier rubyid_downcase'>downcase</span><span class='rbrace'>}</span><span class='period'>.</span><span class='id identifier rubyid_select'>select</span><span class='lbrace'>{</span><span class='op'>|</span><span class='id identifier rubyid_y'>y</span><span class='op'>|</span> <span class='id identifier rubyid_y'>y</span> <span class='op'>%</span> <span class='int'>3</span> <span class='op'>==</span> <span class='int'>0</span><span class='rbrace'>}</span><span class='period'>.</span><span class='id identifier rubyid_first'>first</span>
787
- <span class='comment'># end
788
- </span> <span class='kw'>if</span> <span class='id identifier rubyid_start_offset'>start_offset</span> <span class='op'>!=</span> <span class='kw'>nil</span> <span class='kw'>and</span> <span class='id identifier rubyid_m3'>m3</span><span class='lbracket'>[</span><span class='id identifier rubyid_i'>i</span><span class='rbracket'>]</span> <span class='op'>-</span> <span class='id identifier rubyid_start_offset'>start_offset</span> <span class='op'>&gt;</span> <span class='id identifier rubyid_orf_length'>orf_length</span>
789
- <span class='id identifier rubyid_result'>result</span><span class='lbracket'>[</span><span class='int'>1</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_push'>push</span><span class='lparen'>(</span><span class='lbracket'>[</span><span class='id identifier rubyid_start_offset'>start_offset</span><span class='comma'>,</span> <span class='id identifier rubyid_m3'>m3</span><span class='lbracket'>[</span><span class='id identifier rubyid_i'>i</span><span class='rbracket'>]</span><span class='rbracket'>]</span><span class='rparen'>)</span>
790
- <span class='kw'>end</span>
791
- <span class='kw'>end</span>
792
- <span class='kw'>end</span>
793
- <span class='kw'>end</span>
794
-
795
- <span class='comment'>#reading frame 2, direct strand
796
- </span> <span class='id identifier rubyid_m3_1'>m3_1</span> <span class='op'>=</span> <span class='id identifier rubyid_stops'>stops</span><span class='period'>.</span><span class='id identifier rubyid_map'>map</span><span class='lbrace'>{</span><span class='op'>|</span><span class='id identifier rubyid_x'>x</span><span class='op'>|</span> <span class='id identifier rubyid_x'>x</span><span class='lbracket'>[</span><span class='int'>0</span><span class='rbracket'>]</span><span class='rbrace'>}</span><span class='period'>.</span><span class='id identifier rubyid_select'>select</span><span class='lbrace'>{</span><span class='op'>|</span><span class='id identifier rubyid_y'>y</span><span class='op'>|</span> <span class='id identifier rubyid_y'>y</span> <span class='op'>%</span> <span class='int'>3</span> <span class='op'>==</span> <span class='int'>1</span><span class='rbrace'>}</span><span class='period'>.</span><span class='id identifier rubyid_sort'>sort</span>
797
- <span class='id identifier rubyid_m3_1'>m3_1</span> <span class='op'>=</span> <span class='lbracket'>[</span><span class='int'>2</span><span class='comma'>,</span> <span class='id identifier rubyid_m3_1'>m3_1</span><span class='comma'>,</span> <span class='id identifier rubyid_prediction'>prediction</span><span class='period'>.</span><span class='id identifier rubyid_raw_sequence'>raw_sequence</span><span class='period'>.</span><span class='id identifier rubyid_length'>length</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_flatten'>flatten</span>
798
- <span class='lparen'>(</span><span class='int'>1</span><span class='op'>..</span><span class='id identifier rubyid_m3_1'>m3_1</span><span class='period'>.</span><span class='id identifier rubyid_length'>length</span><span class='op'>-</span><span class='int'>1</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_i'>i</span><span class='op'>|</span>
799
- <span class='kw'>if</span> <span class='id identifier rubyid_start_codons'>start_codons</span><span class='period'>.</span><span class='id identifier rubyid_length'>length</span> <span class='op'>==</span> <span class='int'>0</span>
800
- <span class='kw'>if</span> <span class='id identifier rubyid_m3_1'>m3_1</span><span class='lbracket'>[</span><span class='id identifier rubyid_i'>i</span><span class='rbracket'>]</span> <span class='op'>-</span> <span class='id identifier rubyid_m3_1'>m3_1</span><span class='lbracket'>[</span><span class='id identifier rubyid_i'>i</span><span class='op'>-</span><span class='int'>1</span><span class='rbracket'>]</span> <span class='op'>&gt;</span> <span class='id identifier rubyid_orf_length'>orf_length</span>
801
- <span class='id identifier rubyid_result'>result</span><span class='lbracket'>[</span><span class='int'>2</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_push'>push</span><span class='lparen'>(</span><span class='lbracket'>[</span><span class='id identifier rubyid_m3_1'>m3_1</span><span class='lbracket'>[</span><span class='id identifier rubyid_i'>i</span><span class='op'>-</span><span class='int'>1</span><span class='rbracket'>]</span><span class='comma'>,</span> <span class='id identifier rubyid_m3_1'>m3_1</span><span class='lbracket'>[</span><span class='id identifier rubyid_i'>i</span><span class='rbracket'>]</span><span class='rbracket'>]</span><span class='rparen'>)</span>
802
- <span class='kw'>end</span>
803
- <span class='kw'>else</span>
804
- <span class='id identifier rubyid_start_codons'>start_codons</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_scd'>scd</span><span class='op'>|</span>
805
- <span class='id identifier rubyid_start_offset'>start_offset</span> <span class='op'>=</span> <span class='lparen'>(</span><span class='id identifier rubyid_m3_1'>m3_1</span><span class='lbracket'>[</span><span class='id identifier rubyid_i'>i</span><span class='op'>-</span><span class='int'>1</span><span class='rbracket'>]</span><span class='op'>-</span><span class='int'>1</span><span class='op'>..</span><span class='id identifier rubyid_m3_1'>m3_1</span><span class='lbracket'>[</span><span class='id identifier rubyid_i'>i</span><span class='rbracket'>]</span><span class='op'>-</span><span class='id identifier rubyid_orf_length'>orf_length</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_find_all'>find_all</span><span class='lbrace'>{</span><span class='op'>|</span><span class='id identifier rubyid_i'>i</span><span class='op'>|</span> <span class='id identifier rubyid_seq'>seq</span><span class='lbracket'>[</span><span class='id identifier rubyid_i'>i</span><span class='comma'>,</span><span class='int'>3</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_downcase'>downcase</span> <span class='op'>==</span> <span class='id identifier rubyid_scd'>scd</span><span class='period'>.</span><span class='id identifier rubyid_downcase'>downcase</span><span class='rbrace'>}</span><span class='period'>.</span><span class='id identifier rubyid_select'>select</span><span class='lbrace'>{</span><span class='op'>|</span><span class='id identifier rubyid_y'>y</span><span class='op'>|</span> <span class='id identifier rubyid_y'>y</span> <span class='op'>%</span> <span class='int'>3</span> <span class='op'>==</span> <span class='int'>1</span><span class='rbrace'>}</span><span class='period'>.</span><span class='id identifier rubyid_first'>first</span>
806
- <span class='kw'>if</span> <span class='id identifier rubyid_start_offset'>start_offset</span> <span class='op'>!=</span> <span class='kw'>nil</span> <span class='kw'>and</span> <span class='id identifier rubyid_m3_1'>m3_1</span><span class='lbracket'>[</span><span class='id identifier rubyid_i'>i</span><span class='rbracket'>]</span> <span class='op'>-</span> <span class='id identifier rubyid_start_offset'>start_offset</span> <span class='op'>&gt;</span> <span class='id identifier rubyid_orf_length'>orf_length</span>
807
- <span class='id identifier rubyid_result'>result</span><span class='lbracket'>[</span><span class='int'>2</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_push'>push</span><span class='lparen'>(</span><span class='lbracket'>[</span><span class='id identifier rubyid_start_offset'>start_offset</span><span class='comma'>,</span> <span class='id identifier rubyid_m3_1'>m3_1</span><span class='lbracket'>[</span><span class='id identifier rubyid_i'>i</span><span class='rbracket'>]</span><span class='rbracket'>]</span><span class='rparen'>)</span>
808
- <span class='kw'>end</span>
809
- <span class='kw'>end</span>
810
- <span class='kw'>end</span>
811
- <span class='kw'>end</span>
812
-
813
- <span class='comment'>#reading frame 3, direct strand
814
- </span> <span class='id identifier rubyid_m3_2'>m3_2</span> <span class='op'>=</span> <span class='id identifier rubyid_stops'>stops</span><span class='period'>.</span><span class='id identifier rubyid_map'>map</span><span class='lbrace'>{</span><span class='op'>|</span><span class='id identifier rubyid_x'>x</span><span class='op'>|</span> <span class='id identifier rubyid_x'>x</span><span class='lbracket'>[</span><span class='int'>0</span><span class='rbracket'>]</span><span class='rbrace'>}</span><span class='period'>.</span><span class='id identifier rubyid_select'>select</span><span class='lbrace'>{</span><span class='op'>|</span><span class='id identifier rubyid_y'>y</span><span class='op'>|</span> <span class='id identifier rubyid_y'>y</span> <span class='op'>%</span> <span class='int'>3</span> <span class='op'>==</span> <span class='int'>2</span><span class='rbrace'>}</span><span class='period'>.</span><span class='id identifier rubyid_sort'>sort</span>
815
- <span class='id identifier rubyid_m3_2'>m3_2</span> <span class='op'>=</span> <span class='lbracket'>[</span><span class='int'>3</span><span class='comma'>,</span> <span class='id identifier rubyid_m3_2'>m3_2</span><span class='comma'>,</span> <span class='id identifier rubyid_prediction'>prediction</span><span class='period'>.</span><span class='id identifier rubyid_raw_sequence'>raw_sequence</span><span class='period'>.</span><span class='id identifier rubyid_length'>length</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_flatten'>flatten</span>
816
- <span class='lparen'>(</span><span class='int'>1</span><span class='op'>..</span><span class='id identifier rubyid_m3_2'>m3_2</span><span class='period'>.</span><span class='id identifier rubyid_length'>length</span><span class='op'>-</span><span class='int'>1</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_i'>i</span><span class='op'>|</span>
817
- <span class='kw'>if</span> <span class='id identifier rubyid_start_codons'>start_codons</span><span class='period'>.</span><span class='id identifier rubyid_length'>length</span> <span class='op'>==</span> <span class='int'>0</span>
818
- <span class='kw'>if</span> <span class='id identifier rubyid_m3_2'>m3_2</span><span class='lbracket'>[</span><span class='id identifier rubyid_i'>i</span><span class='rbracket'>]</span> <span class='op'>-</span> <span class='id identifier rubyid_m3_2'>m3_2</span><span class='lbracket'>[</span><span class='id identifier rubyid_i'>i</span><span class='op'>-</span><span class='int'>1</span><span class='rbracket'>]</span> <span class='op'>&gt;</span> <span class='id identifier rubyid_orf_length'>orf_length</span>
819
- <span class='id identifier rubyid_result'>result</span><span class='lbracket'>[</span><span class='int'>3</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_push'>push</span><span class='lparen'>(</span><span class='lbracket'>[</span><span class='id identifier rubyid_m3_2'>m3_2</span><span class='lbracket'>[</span><span class='id identifier rubyid_i'>i</span><span class='op'>-</span><span class='int'>1</span><span class='rbracket'>]</span><span class='comma'>,</span> <span class='id identifier rubyid_m3_2'>m3_2</span><span class='lbracket'>[</span><span class='id identifier rubyid_i'>i</span><span class='rbracket'>]</span><span class='rbracket'>]</span><span class='rparen'>)</span>
820
- <span class='kw'>end</span>
821
- <span class='kw'>else</span>
822
- <span class='id identifier rubyid_start_codons'>start_codons</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_scd'>scd</span><span class='op'>|</span>
823
- <span class='id identifier rubyid_start_offset'>start_offset</span> <span class='op'>=</span> <span class='lparen'>(</span><span class='id identifier rubyid_m3_2'>m3_2</span><span class='lbracket'>[</span><span class='id identifier rubyid_i'>i</span><span class='op'>-</span><span class='int'>1</span><span class='rbracket'>]</span><span class='op'>-</span><span class='int'>1</span><span class='op'>..</span><span class='id identifier rubyid_m3_2'>m3_2</span><span class='lbracket'>[</span><span class='id identifier rubyid_i'>i</span><span class='rbracket'>]</span><span class='op'>-</span><span class='id identifier rubyid_orf_length'>orf_length</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_find_all'>find_all</span><span class='lbrace'>{</span><span class='op'>|</span><span class='id identifier rubyid_i'>i</span><span class='op'>|</span> <span class='id identifier rubyid_seq'>seq</span><span class='lbracket'>[</span><span class='id identifier rubyid_i'>i</span><span class='comma'>,</span><span class='int'>3</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_downcase'>downcase</span> <span class='op'>==</span> <span class='id identifier rubyid_scd'>scd</span><span class='period'>.</span><span class='id identifier rubyid_downcase'>downcase</span><span class='rbrace'>}</span><span class='period'>.</span><span class='id identifier rubyid_select'>select</span><span class='lbrace'>{</span><span class='op'>|</span><span class='id identifier rubyid_y'>y</span><span class='op'>|</span> <span class='id identifier rubyid_y'>y</span> <span class='op'>%</span> <span class='int'>3</span> <span class='op'>==</span> <span class='int'>2</span><span class='rbrace'>}</span><span class='period'>.</span><span class='id identifier rubyid_first'>first</span>
824
- <span class='kw'>if</span> <span class='id identifier rubyid_start_offset'>start_offset</span> <span class='op'>!=</span> <span class='kw'>nil</span> <span class='kw'>and</span> <span class='id identifier rubyid_m3_2'>m3_2</span><span class='lbracket'>[</span><span class='id identifier rubyid_i'>i</span><span class='rbracket'>]</span> <span class='op'>-</span> <span class='id identifier rubyid_start_offset'>start_offset</span> <span class='op'>&gt;</span> <span class='id identifier rubyid_orf_length'>orf_length</span>
825
- <span class='id identifier rubyid_result'>result</span><span class='lbracket'>[</span><span class='int'>3</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_push'>push</span><span class='lparen'>(</span><span class='lbracket'>[</span><span class='id identifier rubyid_start_offset'>start_offset</span><span class='comma'>,</span> <span class='id identifier rubyid_m3_2'>m3_2</span><span class='lbracket'>[</span><span class='id identifier rubyid_i'>i</span><span class='rbracket'>]</span><span class='rbracket'>]</span><span class='rparen'>)</span>
826
- <span class='kw'>end</span>
827
- <span class='kw'>end</span>
828
- <span class='kw'>end</span>
829
- <span class='kw'>end</span>
830
-
831
- <span class='comment'>#reverse strand
832
- </span> <span class='id identifier rubyid_stops_reverse'>stops_reverse</span> <span class='op'>=</span> <span class='lbrace'>{</span><span class='rbrace'>}</span>
833
-
834
- <span class='id identifier rubyid_seq_reverse'>seq_reverse</span> <span class='op'>=</span> <span class='const'>Bio</span><span class='op'>::</span><span class='const'>Sequence</span><span class='op'>::</span><span class='const'>NA</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='id identifier rubyid_seq'>seq</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_reverse_complement'>reverse_complement</span>
835
- <span class='id identifier rubyid_stop_codons'>stop_codons</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_codon'>codon</span><span class='op'>|</span>
836
- <span class='id identifier rubyid_occurences'>occurences</span> <span class='op'>=</span> <span class='lparen'>(</span><span class='int'>0</span> <span class='op'>..</span> <span class='id identifier rubyid_seq_reverse'>seq_reverse</span><span class='period'>.</span><span class='id identifier rubyid_length'>length</span> <span class='op'>-</span> <span class='int'>1</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_find_all'>find_all</span> <span class='lbrace'>{</span> <span class='op'>|</span><span class='id identifier rubyid_i'>i</span><span class='op'>|</span> <span class='id identifier rubyid_seq_reverse'>seq_reverse</span><span class='lbracket'>[</span><span class='id identifier rubyid_i'>i</span><span class='comma'>,</span><span class='int'>3</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_downcase'>downcase</span> <span class='op'>==</span> <span class='id identifier rubyid_codon'>codon</span><span class='period'>.</span><span class='id identifier rubyid_downcase'>downcase</span> <span class='rbrace'>}</span>
837
- <span class='id identifier rubyid_occurences'>occurences</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_occ'>occ</span><span class='op'>|</span>
838
- <span class='id identifier rubyid_stops_reverse'>stops_reverse</span><span class='lbracket'>[</span><span class='id identifier rubyid_occ'>occ</span> <span class='op'>+</span> <span class='int'>3</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_codon'>codon</span>
839
- <span class='kw'>end</span>
840
- <span class='kw'>end</span>
841
-
842
- <span class='id identifier rubyid_m3'>m3</span> <span class='op'>=</span> <span class='id identifier rubyid_stops_reverse'>stops_reverse</span><span class='period'>.</span><span class='id identifier rubyid_map'>map</span><span class='lbrace'>{</span><span class='op'>|</span><span class='id identifier rubyid_x'>x</span><span class='op'>|</span> <span class='id identifier rubyid_x'>x</span><span class='lbracket'>[</span><span class='int'>0</span><span class='rbracket'>]</span><span class='rbrace'>}</span><span class='period'>.</span><span class='id identifier rubyid_select'>select</span><span class='lbrace'>{</span><span class='op'>|</span><span class='id identifier rubyid_y'>y</span><span class='op'>|</span> <span class='id identifier rubyid_y'>y</span> <span class='op'>%</span> <span class='int'>3</span> <span class='op'>==</span> <span class='int'>0</span><span class='rbrace'>}</span><span class='period'>.</span><span class='id identifier rubyid_sort'>sort</span>
843
- <span class='id identifier rubyid_m3'>m3</span> <span class='op'>=</span> <span class='lbracket'>[</span><span class='int'>1</span><span class='comma'>,</span> <span class='id identifier rubyid_m3'>m3</span><span class='comma'>,</span> <span class='id identifier rubyid_prediction'>prediction</span><span class='period'>.</span><span class='id identifier rubyid_raw_sequence'>raw_sequence</span><span class='period'>.</span><span class='id identifier rubyid_length'>length</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_flatten'>flatten</span>
844
-
845
- <span class='lparen'>(</span><span class='int'>1</span><span class='op'>..</span><span class='id identifier rubyid_m3'>m3</span><span class='period'>.</span><span class='id identifier rubyid_length'>length</span><span class='op'>-</span><span class='int'>1</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_i'>i</span><span class='op'>|</span>
846
- <span class='kw'>if</span> <span class='id identifier rubyid_start_codons'>start_codons</span><span class='period'>.</span><span class='id identifier rubyid_length'>length</span> <span class='op'>==</span> <span class='int'>0</span>
847
- <span class='kw'>if</span> <span class='id identifier rubyid_m3'>m3</span><span class='lbracket'>[</span><span class='id identifier rubyid_i'>i</span><span class='rbracket'>]</span> <span class='op'>-</span> <span class='id identifier rubyid_m3'>m3</span><span class='lbracket'>[</span><span class='id identifier rubyid_i'>i</span><span class='op'>-</span><span class='int'>1</span><span class='rbracket'>]</span> <span class='op'>&gt;</span> <span class='id identifier rubyid_orf_length'>orf_length</span>
848
- <span class='id identifier rubyid_result'>result</span><span class='lbracket'>[</span><span class='op'>-</span><span class='int'>1</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_push'>push</span><span class='lparen'>(</span><span class='lbracket'>[</span><span class='id identifier rubyid_len'>len</span> <span class='op'>-</span> <span class='id identifier rubyid_m3'>m3</span><span class='lbracket'>[</span><span class='id identifier rubyid_i'>i</span><span class='rbracket'>]</span><span class='comma'>,</span> <span class='id identifier rubyid_len'>len</span> <span class='op'>-</span> <span class='id identifier rubyid_m3'>m3</span><span class='lbracket'>[</span><span class='id identifier rubyid_i'>i</span><span class='op'>-</span><span class='int'>1</span><span class='rbracket'>]</span><span class='rbracket'>]</span><span class='rparen'>)</span>
849
- <span class='kw'>end</span>
850
- <span class='kw'>else</span>
851
- <span class='id identifier rubyid_start_codons'>start_codons</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_scd'>scd</span><span class='op'>|</span>
852
- <span class='id identifier rubyid_start_offset'>start_offset</span> <span class='op'>=</span> <span class='lparen'>(</span><span class='id identifier rubyid_m3'>m3</span><span class='lbracket'>[</span><span class='id identifier rubyid_i'>i</span><span class='op'>-</span><span class='int'>1</span><span class='rbracket'>]</span><span class='op'>-</span><span class='int'>1</span><span class='op'>..</span><span class='id identifier rubyid_m3'>m3</span><span class='lbracket'>[</span><span class='id identifier rubyid_i'>i</span><span class='rbracket'>]</span><span class='op'>-</span><span class='id identifier rubyid_orf_length'>orf_length</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_find_all'>find_all</span><span class='lbrace'>{</span><span class='op'>|</span><span class='id identifier rubyid_i'>i</span><span class='op'>|</span> <span class='id identifier rubyid_seq_reverse'>seq_reverse</span><span class='lbracket'>[</span><span class='id identifier rubyid_i'>i</span><span class='comma'>,</span><span class='int'>3</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_downcase'>downcase</span> <span class='op'>==</span> <span class='id identifier rubyid_scd'>scd</span><span class='period'>.</span><span class='id identifier rubyid_downcase'>downcase</span><span class='rbrace'>}</span><span class='period'>.</span><span class='id identifier rubyid_select'>select</span><span class='lbrace'>{</span><span class='op'>|</span><span class='id identifier rubyid_y'>y</span><span class='op'>|</span> <span class='id identifier rubyid_y'>y</span> <span class='op'>%</span> <span class='int'>3</span> <span class='op'>==</span> <span class='int'>0</span><span class='rbrace'>}</span><span class='period'>.</span><span class='id identifier rubyid_first'>first</span>
853
- <span class='kw'>if</span> <span class='id identifier rubyid_start_offset'>start_offset</span> <span class='op'>!=</span> <span class='kw'>nil</span> <span class='kw'>and</span> <span class='id identifier rubyid_m3'>m3</span><span class='lbracket'>[</span><span class='id identifier rubyid_i'>i</span><span class='rbracket'>]</span> <span class='op'>-</span> <span class='id identifier rubyid_start_offset'>start_offset</span> <span class='op'>&gt;</span> <span class='id identifier rubyid_orf_length'>orf_length</span>
854
- <span class='id identifier rubyid_result'>result</span><span class='lbracket'>[</span><span class='op'>-</span><span class='int'>1</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_push'>push</span><span class='lparen'>(</span><span class='lbracket'>[</span><span class='id identifier rubyid_len'>len</span> <span class='op'>-</span> <span class='id identifier rubyid_m3'>m3</span><span class='lbracket'>[</span><span class='id identifier rubyid_i'>i</span><span class='rbracket'>]</span><span class='comma'>,</span> <span class='id identifier rubyid_len'>len</span> <span class='op'>-</span> <span class='id identifier rubyid_start_offset'>start_offset</span><span class='rbracket'>]</span><span class='rparen'>)</span>
855
- <span class='kw'>end</span>
856
- <span class='kw'>end</span>
857
- <span class='kw'>end</span>
858
- <span class='kw'>end</span>
859
-
860
- <span class='id identifier rubyid_m3_1'>m3_1</span> <span class='op'>=</span> <span class='id identifier rubyid_stops_reverse'>stops_reverse</span><span class='period'>.</span><span class='id identifier rubyid_map'>map</span><span class='lbrace'>{</span><span class='op'>|</span><span class='id identifier rubyid_x'>x</span><span class='op'>|</span> <span class='id identifier rubyid_x'>x</span><span class='lbracket'>[</span><span class='int'>0</span><span class='rbracket'>]</span><span class='rbrace'>}</span><span class='period'>.</span><span class='id identifier rubyid_select'>select</span><span class='lbrace'>{</span><span class='op'>|</span><span class='id identifier rubyid_y'>y</span><span class='op'>|</span> <span class='id identifier rubyid_y'>y</span> <span class='op'>%</span> <span class='int'>3</span> <span class='op'>==</span> <span class='int'>1</span><span class='rbrace'>}</span><span class='period'>.</span><span class='id identifier rubyid_sort'>sort</span>
861
- <span class='id identifier rubyid_m3_1'>m3_1</span> <span class='op'>=</span> <span class='lbracket'>[</span><span class='int'>2</span><span class='comma'>,</span> <span class='id identifier rubyid_m3_1'>m3_1</span><span class='comma'>,</span> <span class='id identifier rubyid_prediction'>prediction</span><span class='period'>.</span><span class='id identifier rubyid_raw_sequence'>raw_sequence</span><span class='period'>.</span><span class='id identifier rubyid_length'>length</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_flatten'>flatten</span>
862
- <span class='lparen'>(</span><span class='int'>1</span><span class='op'>..</span><span class='id identifier rubyid_m3_1'>m3_1</span><span class='period'>.</span><span class='id identifier rubyid_length'>length</span><span class='op'>-</span><span class='int'>1</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_i'>i</span><span class='op'>|</span>
863
- <span class='kw'>if</span> <span class='id identifier rubyid_start_codons'>start_codons</span><span class='period'>.</span><span class='id identifier rubyid_length'>length</span> <span class='op'>==</span> <span class='int'>0</span>
864
- <span class='kw'>if</span> <span class='id identifier rubyid_m3_1'>m3_1</span><span class='lbracket'>[</span><span class='id identifier rubyid_i'>i</span><span class='rbracket'>]</span> <span class='op'>-</span> <span class='id identifier rubyid_m3_1'>m3_1</span><span class='lbracket'>[</span><span class='id identifier rubyid_i'>i</span><span class='op'>-</span><span class='int'>1</span><span class='rbracket'>]</span> <span class='op'>&gt;</span> <span class='id identifier rubyid_orf_length'>orf_length</span>
865
- <span class='id identifier rubyid_result'>result</span><span class='lbracket'>[</span><span class='op'>-</span><span class='int'>2</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_push'>push</span><span class='lparen'>(</span><span class='lbracket'>[</span><span class='id identifier rubyid_len'>len</span> <span class='op'>-</span> <span class='id identifier rubyid_m3_1'>m3_1</span><span class='lbracket'>[</span><span class='id identifier rubyid_i'>i</span><span class='rbracket'>]</span><span class='comma'>,</span> <span class='id identifier rubyid_len'>len</span> <span class='op'>-</span> <span class='id identifier rubyid_m3_1'>m3_1</span><span class='lbracket'>[</span><span class='id identifier rubyid_i'>i</span><span class='op'>-</span><span class='int'>1</span><span class='rbracket'>]</span><span class='rbracket'>]</span><span class='rparen'>)</span>
866
- <span class='kw'>end</span>
867
- <span class='kw'>else</span>
868
- <span class='id identifier rubyid_start_codons'>start_codons</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_scd'>scd</span><span class='op'>|</span>
869
- <span class='id identifier rubyid_start_offset'>start_offset</span> <span class='op'>=</span> <span class='lparen'>(</span><span class='id identifier rubyid_m3_1'>m3_1</span><span class='lbracket'>[</span><span class='id identifier rubyid_i'>i</span><span class='op'>-</span><span class='int'>1</span><span class='rbracket'>]</span><span class='op'>-</span><span class='int'>1</span><span class='op'>..</span><span class='id identifier rubyid_m3_1'>m3_1</span><span class='lbracket'>[</span><span class='id identifier rubyid_i'>i</span><span class='rbracket'>]</span><span class='op'>-</span><span class='id identifier rubyid_orf_length'>orf_length</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_find_all'>find_all</span><span class='lbrace'>{</span><span class='op'>|</span><span class='id identifier rubyid_i'>i</span><span class='op'>|</span> <span class='id identifier rubyid_seq_reverse'>seq_reverse</span><span class='lbracket'>[</span><span class='id identifier rubyid_i'>i</span><span class='comma'>,</span><span class='int'>3</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_downcase'>downcase</span> <span class='op'>==</span> <span class='id identifier rubyid_scd'>scd</span><span class='period'>.</span><span class='id identifier rubyid_downcase'>downcase</span><span class='rbrace'>}</span><span class='period'>.</span><span class='id identifier rubyid_select'>select</span><span class='lbrace'>{</span><span class='op'>|</span><span class='id identifier rubyid_y'>y</span><span class='op'>|</span> <span class='id identifier rubyid_y'>y</span> <span class='op'>%</span> <span class='int'>3</span> <span class='op'>==</span> <span class='int'>1</span><span class='rbrace'>}</span><span class='period'>.</span><span class='id identifier rubyid_first'>first</span>
870
- <span class='kw'>if</span> <span class='id identifier rubyid_start_offset'>start_offset</span> <span class='op'>!=</span> <span class='kw'>nil</span> <span class='kw'>and</span> <span class='id identifier rubyid_m3_1'>m3_1</span><span class='lbracket'>[</span><span class='id identifier rubyid_i'>i</span><span class='rbracket'>]</span> <span class='op'>-</span> <span class='id identifier rubyid_start_offset'>start_offset</span> <span class='op'>&gt;</span> <span class='id identifier rubyid_orf_length'>orf_length</span>
871
- <span class='id identifier rubyid_result'>result</span><span class='lbracket'>[</span><span class='op'>-</span><span class='int'>2</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_push'>push</span><span class='lparen'>(</span><span class='lbracket'>[</span><span class='id identifier rubyid_len'>len</span> <span class='op'>-</span> <span class='id identifier rubyid_m3_1'>m3_1</span><span class='lbracket'>[</span><span class='id identifier rubyid_i'>i</span><span class='rbracket'>]</span><span class='comma'>,</span> <span class='id identifier rubyid_len'>len</span> <span class='op'>-</span> <span class='id identifier rubyid_start_offset'>start_offset</span><span class='rbracket'>]</span><span class='rparen'>)</span>
872
- <span class='kw'>end</span>
873
- <span class='kw'>end</span>
874
- <span class='kw'>end</span>
875
- <span class='kw'>end</span>
876
-
877
- <span class='id identifier rubyid_m3_2'>m3_2</span> <span class='op'>=</span> <span class='id identifier rubyid_stops_reverse'>stops_reverse</span><span class='period'>.</span><span class='id identifier rubyid_map'>map</span><span class='lbrace'>{</span><span class='op'>|</span><span class='id identifier rubyid_x'>x</span><span class='op'>|</span> <span class='id identifier rubyid_x'>x</span><span class='lbracket'>[</span><span class='int'>0</span><span class='rbracket'>]</span><span class='rbrace'>}</span><span class='period'>.</span><span class='id identifier rubyid_select'>select</span><span class='lbrace'>{</span><span class='op'>|</span><span class='id identifier rubyid_y'>y</span><span class='op'>|</span> <span class='id identifier rubyid_y'>y</span> <span class='op'>%</span> <span class='int'>3</span> <span class='op'>==</span> <span class='int'>2</span><span class='rbrace'>}</span><span class='period'>.</span><span class='id identifier rubyid_sort'>sort</span>
878
- <span class='id identifier rubyid_m3_2'>m3_2</span> <span class='op'>=</span> <span class='lbracket'>[</span><span class='int'>3</span><span class='comma'>,</span> <span class='id identifier rubyid_m3_2'>m3_2</span><span class='comma'>,</span> <span class='id identifier rubyid_prediction'>prediction</span><span class='period'>.</span><span class='id identifier rubyid_raw_sequence'>raw_sequence</span><span class='period'>.</span><span class='id identifier rubyid_length'>length</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_flatten'>flatten</span>
879
- <span class='lparen'>(</span><span class='int'>1</span><span class='op'>..</span><span class='id identifier rubyid_m3_2'>m3_2</span><span class='period'>.</span><span class='id identifier rubyid_length'>length</span><span class='op'>-</span><span class='int'>1</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_i'>i</span><span class='op'>|</span>
880
- <span class='kw'>if</span> <span class='id identifier rubyid_start_codons'>start_codons</span><span class='period'>.</span><span class='id identifier rubyid_length'>length</span> <span class='op'>==</span> <span class='int'>0</span>
881
- <span class='kw'>if</span> <span class='id identifier rubyid_m3_2'>m3_2</span><span class='lbracket'>[</span><span class='id identifier rubyid_i'>i</span><span class='rbracket'>]</span> <span class='op'>-</span> <span class='id identifier rubyid_m3_2'>m3_2</span><span class='lbracket'>[</span><span class='id identifier rubyid_i'>i</span><span class='op'>-</span><span class='int'>1</span><span class='rbracket'>]</span> <span class='op'>&gt;</span> <span class='id identifier rubyid_orf_length'>orf_length</span>
882
- <span class='id identifier rubyid_result'>result</span><span class='lbracket'>[</span><span class='op'>-</span><span class='int'>3</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_push'>push</span><span class='lparen'>(</span><span class='lbracket'>[</span><span class='id identifier rubyid_len'>len</span> <span class='op'>-</span> <span class='id identifier rubyid_m3_2'>m3_2</span><span class='lbracket'>[</span><span class='id identifier rubyid_i'>i</span><span class='rbracket'>]</span><span class='comma'>,</span> <span class='id identifier rubyid_len'>len</span> <span class='op'>-</span> <span class='id identifier rubyid_m3_2'>m3_2</span><span class='lbracket'>[</span><span class='id identifier rubyid_i'>i</span><span class='op'>-</span><span class='int'>1</span><span class='rbracket'>]</span><span class='rbracket'>]</span><span class='rparen'>)</span>
883
- <span class='kw'>end</span>
884
- <span class='kw'>else</span>
885
- <span class='id identifier rubyid_start_codons'>start_codons</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_scd'>scd</span><span class='op'>|</span>
886
- <span class='id identifier rubyid_start_offset'>start_offset</span> <span class='op'>=</span> <span class='lparen'>(</span><span class='id identifier rubyid_m3_2'>m3_2</span><span class='lbracket'>[</span><span class='id identifier rubyid_i'>i</span><span class='op'>-</span><span class='int'>1</span><span class='rbracket'>]</span><span class='op'>-</span><span class='int'>1</span><span class='op'>..</span><span class='id identifier rubyid_m3_2'>m3_2</span><span class='lbracket'>[</span><span class='id identifier rubyid_i'>i</span><span class='rbracket'>]</span><span class='op'>-</span><span class='id identifier rubyid_orf_length'>orf_length</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_find_all'>find_all</span><span class='lbrace'>{</span><span class='op'>|</span><span class='id identifier rubyid_i'>i</span><span class='op'>|</span> <span class='id identifier rubyid_seq_reverse'>seq_reverse</span><span class='lbracket'>[</span><span class='id identifier rubyid_i'>i</span><span class='comma'>,</span><span class='int'>3</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_downcase'>downcase</span> <span class='op'>==</span> <span class='id identifier rubyid_scd'>scd</span><span class='period'>.</span><span class='id identifier rubyid_downcase'>downcase</span><span class='rbrace'>}</span><span class='period'>.</span><span class='id identifier rubyid_select'>select</span><span class='lbrace'>{</span><span class='op'>|</span><span class='id identifier rubyid_y'>y</span><span class='op'>|</span> <span class='id identifier rubyid_y'>y</span> <span class='op'>%</span> <span class='int'>3</span> <span class='op'>==</span> <span class='int'>2</span><span class='rbrace'>}</span><span class='period'>.</span><span class='id identifier rubyid_first'>first</span>
887
- <span class='kw'>if</span> <span class='id identifier rubyid_start_offset'>start_offset</span> <span class='op'>!=</span> <span class='kw'>nil</span> <span class='kw'>and</span> <span class='id identifier rubyid_m3_2'>m3_2</span><span class='lbracket'>[</span><span class='id identifier rubyid_i'>i</span><span class='rbracket'>]</span> <span class='op'>-</span> <span class='id identifier rubyid_start_offset'>start_offset</span> <span class='op'>&gt;</span> <span class='id identifier rubyid_orf_length'>orf_length</span>
888
- <span class='id identifier rubyid_result'>result</span><span class='lbracket'>[</span><span class='op'>-</span><span class='int'>3</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_push'>push</span><span class='lparen'>(</span><span class='lbracket'>[</span><span class='id identifier rubyid_len'>len</span> <span class='op'>-</span> <span class='id identifier rubyid_m3_2'>m3_2</span><span class='lbracket'>[</span><span class='id identifier rubyid_i'>i</span><span class='rbracket'>]</span><span class='comma'>,</span> <span class='id identifier rubyid_len'>len</span> <span class='op'>-</span> <span class='id identifier rubyid_start_offset'>start_offset</span><span class='rbracket'>]</span><span class='rparen'>)</span>
889
- <span class='kw'>end</span>
890
- <span class='kw'>end</span>
891
- <span class='kw'>end</span>
892
- <span class='kw'>end</span>
893
-
894
- <span class='id identifier rubyid_result'>result</span>
895
- <span class='kw'>end</span></pre>
896
- </td>
897
- </tr>
898
- </table>
899
- </div>
900
-
901
- <div class="method_details ">
902
- <h3 class="signature " id="plot_orfs-instance_method">
903
-
904
- - (<tt>Object</tt>) <strong>plot_orfs</strong>(orfs, output = &quot;#{@filename}_orfs.json&quot;, prediction = @prediction)
905
-
906
-
907
-
908
-
909
-
910
- </h3><div class="docstring">
911
- <div class="discussion">
912
-
913
- <p>Plots the resions corresponding to open reading frames Param <tt>orfs</tt>:
914
- <tt>Hash</tt> containing the reading frame (the key) and a list of
915
- intervals (the values) <tt>output</tt>: location where the plot will be
916
- saved in jped file format <tt>prediction</tt>: Sequence objects</p>
917
-
918
-
919
- </div>
920
- </div>
921
- <div class="tags">
922
-
923
- <p class="tag_title">Raises:</p>
924
- <ul class="raise">
925
-
926
- <li>
927
-
928
-
929
- <span class='type'>(<tt><span class='object_link'><a href="QueryError.html" title="QueryError (class)">QueryError</a></span></tt>)</span>
930
-
931
-
932
-
933
- </li>
934
-
935
- </ul>
936
-
937
- </div><table class="source_code">
938
- <tr>
939
- <td>
940
- <pre class="lines">
941
-
942
-
943
- 279
944
- 280
945
- 281
946
- 282
947
- 283
948
- 284
949
- 285
950
- 286
951
- 287
952
- 288
953
- 289
954
- 290
955
- 291
956
- 292
957
- 293
958
- 294
959
- 295
960
- 296
961
- 297</pre>
962
- </td>
963
- <td>
964
- <pre class="code"><span class="info file"># File 'lib/genevalidator/validation_open_reading_frame.rb', line 279</span>
965
-
966
- <span class='kw'>def</span> <span class='id identifier rubyid_plot_orfs'>plot_orfs</span><span class='lparen'>(</span><span class='id identifier rubyid_orfs'>orfs</span><span class='comma'>,</span> <span class='id identifier rubyid_output'>output</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='embexpr_beg'>#{</span><span class='ivar'>@filename</span><span class='rbrace'>}</span><span class='tstring_content'>_orfs.json</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span> <span class='id identifier rubyid_prediction'>prediction</span> <span class='op'>=</span> <span class='ivar'>@prediction</span><span class='rparen'>)</span>
967
- <span class='id identifier rubyid_raise'>raise</span> <span class='const'>QueryError</span> <span class='kw'>unless</span> <span class='id identifier rubyid_orfs'>orfs</span><span class='period'>.</span><span class='id identifier rubyid_is_a?'>is_a?</span> <span class='const'>Hash</span>
968
-
969
- <span class='id identifier rubyid_len'>len</span> <span class='op'>=</span> <span class='id identifier rubyid_prediction'>prediction</span><span class='period'>.</span><span class='id identifier rubyid_raw_sequence'>raw_sequence</span><span class='period'>.</span><span class='id identifier rubyid_length'>length</span>
970
-
971
- <span class='id identifier rubyid_f'>f</span> <span class='op'>=</span> <span class='const'>File</span><span class='period'>.</span><span class='id identifier rubyid_open'>open</span><span class='lparen'>(</span><span class='id identifier rubyid_output'>output</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>w</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span>
972
- <span class='id identifier rubyid_f'>f</span><span class='period'>.</span><span class='id identifier rubyid_write'>write</span><span class='lparen'>(</span><span class='lparen'>(</span><span class='id identifier rubyid_orfs'>orfs</span><span class='period'>.</span><span class='id identifier rubyid_each_with_index'>each_with_index</span><span class='period'>.</span><span class='id identifier rubyid_map'>map</span><span class='lbrace'>{</span><span class='op'>|</span><span class='id identifier rubyid_elem'>elem</span><span class='comma'>,</span> <span class='id identifier rubyid_i'>i</span><span class='op'>|</span> <span class='lbrace'>{</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>y</span><span class='tstring_end'>&quot;</span></span><span class='op'>=&gt;</span><span class='id identifier rubyid_elem'>elem</span><span class='lbracket'>[</span><span class='int'>0</span><span class='rbracket'>]</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>start</span><span class='tstring_end'>&quot;</span></span><span class='op'>=&gt;</span><span class='int'>0</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>stop</span><span class='tstring_end'>&quot;</span></span><span class='op'>=&gt;</span><span class='id identifier rubyid_len'>len</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>color</span><span class='tstring_end'>&quot;</span></span><span class='op'>=&gt;</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>black</span><span class='tstring_end'>&quot;</span></span><span class='rbrace'>}</span><span class='rbrace'>}</span> <span class='op'>+</span>
973
- <span class='id identifier rubyid_orfs'>orfs</span><span class='period'>.</span><span class='id identifier rubyid_each_with_index'>each_with_index</span><span class='period'>.</span><span class='id identifier rubyid_map'>map</span><span class='lbrace'>{</span><span class='op'>|</span><span class='id identifier rubyid_elem'>elem</span><span class='comma'>,</span> <span class='id identifier rubyid_i'>i</span><span class='op'>|</span> <span class='id identifier rubyid_elem'>elem</span><span class='lbracket'>[</span><span class='int'>1</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_map'>map</span><span class='lbrace'>{</span><span class='op'>|</span><span class='id identifier rubyid_orf'>orf</span><span class='op'>|</span> <span class='lbrace'>{</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>y</span><span class='tstring_end'>&quot;</span></span><span class='op'>=&gt;</span><span class='id identifier rubyid_elem'>elem</span><span class='lbracket'>[</span><span class='int'>0</span><span class='rbracket'>]</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>start</span><span class='tstring_end'>&quot;</span></span><span class='op'>=&gt;</span><span class='id identifier rubyid_orf'>orf</span><span class='lbracket'>[</span><span class='int'>0</span><span class='rbracket'>]</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>stop</span><span class='tstring_end'>&quot;</span></span><span class='op'>=&gt;</span><span class='id identifier rubyid_orf'>orf</span><span class='lbracket'>[</span><span class='int'>1</span><span class='rbracket'>]</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>color</span><span class='tstring_end'>&quot;</span></span><span class='op'>=&gt;</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>red</span><span class='tstring_end'>&quot;</span></span><span class='rbrace'>}</span><span class='rbrace'>}</span><span class='rbrace'>}</span><span class='period'>.</span><span class='id identifier rubyid_flatten'>flatten</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_to_json'>to_json</span><span class='rparen'>)</span>
974
- <span class='id identifier rubyid_f'>f</span><span class='period'>.</span><span class='id identifier rubyid_close'>close</span>
975
-
976
- <span class='kw'>return</span> <span class='const'>Plot</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='id identifier rubyid_output'>output</span><span class='period'>.</span><span class='id identifier rubyid_scan'>scan</span><span class='lparen'>(</span><span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>\/([^\/]+)$</span><span class='regexp_end'>/</span></span><span class='rparen'>)</span><span class='lbracket'>[</span><span class='int'>0</span><span class='rbracket'>]</span><span class='lbracket'>[</span><span class='int'>0</span><span class='rbracket'>]</span><span class='comma'>,</span>
977
- <span class='symbol'>:lines</span><span class='comma'>,</span>
978
- <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Open reading frame with START codon</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span>
979
- <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span>
980
- <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>length</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span>
981
- <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Reading Frame</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span>
982
- <span class='int'>14</span><span class='rparen'>)</span>
983
-
984
- <span class='kw'>end</span></pre>
985
- </td>
986
- </tr>
987
- </table>
988
- </div>
989
-
990
- <div class="method_details ">
991
- <h3 class="signature " id="run-instance_method">
992
-
993
- - (<tt>Object</tt>) <strong>run</strong>
994
-
995
-
996
-
997
-
998
-
999
- </h3><div class="docstring">
1000
- <div class="discussion">
1001
-
1002
- <p>Check whether there is a main reading frame Output:
1003
- <tt>ORFValidationOutput</tt> object</p>
1004
-
1005
-
1006
- </div>
1007
- </div>
1008
- <div class="tags">
1009
-
1010
-
1011
- </div><table class="source_code">
1012
- <tr>
1013
- <td>
1014
- <pre class="lines">
1015
-
1016
-
1017
- 76
1018
- 77
1019
- 78
1020
- 79
1021
- 80
1022
- 81
1023
- 82
1024
- 83
1025
- 84
1026
- 85
1027
- 86
1028
- 87
1029
- 88
1030
- 89
1031
- 90
1032
- 91
1033
- 92
1034
- 93
1035
- 94
1036
- 95
1037
- 96
1038
- 97
1039
- 98
1040
- 99
1041
- 100
1042
- 101
1043
- 102
1044
- 103
1045
- 104
1046
- 105
1047
- 106
1048
- 107
1049
- 108
1050
- 109
1051
- 110</pre>
1052
- </td>
1053
- <td>
1054
- <pre class="code"><span class="info file"># File 'lib/genevalidator/validation_open_reading_frame.rb', line 76</span>
1055
-
1056
- <span class='kw'>def</span> <span class='id identifier rubyid_run'>run</span>
1057
- <span class='kw'>begin</span>
1058
- <span class='kw'>if</span> <span class='id identifier rubyid_type'>type</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span> <span class='op'>!=</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>nucleotide</span><span class='tstring_end'>&quot;</span></span>
1059
- <span class='ivar'>@validation_report</span> <span class='op'>=</span> <span class='const'>ValidationReport</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span> <span class='symbol'>:unapplicable</span><span class='rparen'>)</span>
1060
- <span class='kw'>return</span> <span class='ivar'>@validation_report</span>
1061
- <span class='kw'>end</span>
1062
-
1063
- <span class='id identifier rubyid_raise'>raise</span> <span class='const'>NotEnoughHitsError</span> <span class='kw'>unless</span> <span class='id identifier rubyid_hits'>hits</span><span class='period'>.</span><span class='id identifier rubyid_length'>length</span> <span class='op'>&gt;=</span> <span class='int'>5</span>
1064
- <span class='id identifier rubyid_raise'>raise</span> <span class='const'>Exception</span> <span class='kw'>unless</span> <span class='id identifier rubyid_prediction'>prediction</span><span class='period'>.</span><span class='id identifier rubyid_is_a?'>is_a?</span> <span class='const'>Sequence</span> <span class='kw'>and</span>
1065
- <span class='id identifier rubyid_hits'>hits</span><span class='lbracket'>[</span><span class='int'>0</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_is_a?'>is_a?</span> <span class='const'>Sequence</span>
1066
-
1067
- <span class='id identifier rubyid_start'>start</span> <span class='op'>=</span> <span class='const'>Time</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span>
1068
- <span class='id identifier rubyid_orfs'>orfs</span> <span class='op'>=</span> <span class='id identifier rubyid_get_orfs'>get_orfs</span>
1069
-
1070
- <span class='comment'># check if longest ORF / prediction &gt; 0.8 (ok)
1071
- </span> <span class='id identifier rubyid_prediction_len'>prediction_len</span> <span class='op'>=</span> <span class='id identifier rubyid_prediction'>prediction</span><span class='period'>.</span><span class='id identifier rubyid_raw_sequence'>raw_sequence</span><span class='period'>.</span><span class='id identifier rubyid_length'>length</span>
1072
- <span class='id identifier rubyid_longest_orf'>longest_orf</span> <span class='op'>=</span> <span class='id identifier rubyid_orfs'>orfs</span><span class='period'>.</span><span class='id identifier rubyid_map'>map</span><span class='lbrace'>{</span><span class='op'>|</span><span class='id identifier rubyid_elem'>elem</span><span class='op'>|</span> <span class='id identifier rubyid_elem'>elem</span><span class='lbracket'>[</span><span class='int'>1</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_map'>map</span><span class='lbrace'>{</span><span class='op'>|</span><span class='id identifier rubyid_orf'>orf</span><span class='op'>|</span> <span class='id identifier rubyid_orf'>orf</span><span class='lbracket'>[</span><span class='int'>1</span><span class='rbracket'>]</span><span class='op'>-</span><span class='id identifier rubyid_orf'>orf</span><span class='lbracket'>[</span><span class='int'>0</span><span class='rbracket'>]</span><span class='rbrace'>}</span><span class='rbrace'>}</span><span class='period'>.</span><span class='id identifier rubyid_flatten'>flatten</span><span class='period'>.</span><span class='id identifier rubyid_max'>max</span>
1073
- <span class='id identifier rubyid_ratio'>ratio</span> <span class='op'>=</span> <span class='id identifier rubyid_longest_orf'>longest_orf</span><span class='op'>/</span><span class='lparen'>(</span><span class='id identifier rubyid_prediction_len'>prediction_len</span> <span class='op'>+</span> <span class='float'>0.0</span><span class='rparen'>)</span>
1074
-
1075
- <span class='id identifier rubyid_plot1'>plot1</span> <span class='op'>=</span> <span class='id identifier rubyid_plot_orfs'>plot_orfs</span><span class='lparen'>(</span><span class='id identifier rubyid_orfs'>orfs</span><span class='rparen'>)</span>
1076
-
1077
- <span class='ivar'>@validation_report</span> <span class='op'>=</span> <span class='const'>ORFValidationOutput</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='id identifier rubyid_orfs'>orfs</span><span class='comma'>,</span> <span class='id identifier rubyid_ratio'>ratio</span><span class='rparen'>)</span>
1078
- <span class='ivar'>@running_time</span> <span class='op'>=</span> <span class='const'>Time</span><span class='period'>.</span><span class='id identifier rubyid_now'>now</span> <span class='op'>-</span> <span class='id identifier rubyid_start'>start</span>
1079
-
1080
- <span class='ivar'>@validation_report</span><span class='period'>.</span><span class='id identifier rubyid_plot_files'>plot_files</span><span class='period'>.</span><span class='id identifier rubyid_push'>push</span><span class='lparen'>(</span><span class='id identifier rubyid_plot1'>plot1</span><span class='rparen'>)</span>
1081
- <span class='kw'>return</span> <span class='ivar'>@validation_report</span>
1082
-
1083
- <span class='kw'>rescue</span> <span class='const'>NotEnoughHitsError</span> <span class='op'>=&gt;</span> <span class='id identifier rubyid_error'>error</span>
1084
- <span class='ivar'>@validation_report</span> <span class='op'>=</span> <span class='const'>ValidationReport</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Not enough evidence</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span> <span class='symbol'>:warning</span><span class='rparen'>)</span>
1085
- <span class='kw'>return</span> <span class='ivar'>@validation_report</span>
1086
- <span class='kw'>rescue</span> <span class='const'>Exception</span> <span class='op'>=&gt;</span> <span class='id identifier rubyid_error'>error</span>
1087
- <span class='ivar'>@validation_report</span><span class='period'>.</span><span class='id identifier rubyid_errors'>errors</span><span class='period'>.</span><span class='id identifier rubyid_push'>push</span> <span class='const'>OtherError</span>
1088
- <span class='kw'>return</span> <span class='const'>ValidationReport</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Unexpected error</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span> <span class='symbol'>:error</span><span class='rparen'>)</span>
1089
- <span class='kw'>end</span>
1090
- <span class='kw'>end</span></pre>
1091
- </td>
1092
- </tr>
1093
- </table>
1094
- </div>
1095
-
1096
- </div>
1097
-
1098
- </div>
1099
-
1100
- <div id="footer">
1101
- Generated on Sat Sep 28 07:01:33 2013 by
1102
- <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
1103
- 0.8.7.2 (ruby-1.9.3).
1104
- </div>
1105
-
1106
- </body>
1107
- </html>