UCSCBin 0.2.0

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 (44) hide show
  1. data/LICENSE +21 -0
  2. data/README.rdoc +46 -0
  3. data/Rakefile +51 -0
  4. data/UCSCBin.gemspec +92 -0
  5. data/VERSION +1 -0
  6. data/lib/UCSCBin.rb +144 -0
  7. data/rdoc/README_rdoc.html +170 -0
  8. data/rdoc/UCSCBin.html +185 -0
  9. data/rdoc/UCSCBin/BinRange.html +454 -0
  10. data/rdoc/UCSCBin/Utils.html +242 -0
  11. data/rdoc/created.rid +1 -0
  12. data/rdoc/images/brick.png +0 -0
  13. data/rdoc/images/brick_link.png +0 -0
  14. data/rdoc/images/bug.png +0 -0
  15. data/rdoc/images/bullet_black.png +0 -0
  16. data/rdoc/images/bullet_toggle_minus.png +0 -0
  17. data/rdoc/images/bullet_toggle_plus.png +0 -0
  18. data/rdoc/images/date.png +0 -0
  19. data/rdoc/images/find.png +0 -0
  20. data/rdoc/images/loadingAnimation.gif +0 -0
  21. data/rdoc/images/macFFBgHack.png +0 -0
  22. data/rdoc/images/package.png +0 -0
  23. data/rdoc/images/page_green.png +0 -0
  24. data/rdoc/images/page_white_text.png +0 -0
  25. data/rdoc/images/page_white_width.png +0 -0
  26. data/rdoc/images/plugin.png +0 -0
  27. data/rdoc/images/ruby.png +0 -0
  28. data/rdoc/images/tag_green.png +0 -0
  29. data/rdoc/images/wrench.png +0 -0
  30. data/rdoc/images/wrench_orange.png +0 -0
  31. data/rdoc/images/zoom.png +0 -0
  32. data/rdoc/index.html +79 -0
  33. data/rdoc/js/darkfish.js +116 -0
  34. data/rdoc/js/jquery.js +32 -0
  35. data/rdoc/js/quicksearch.js +114 -0
  36. data/rdoc/js/thickbox-compressed.js +10 -0
  37. data/rdoc/lib/UCSCBin_rb.html +82 -0
  38. data/rdoc/rdoc.css +696 -0
  39. data/sample/refseqgene.rb +35 -0
  40. data/spec/UCSCBin_BinRange_spec.rb +47 -0
  41. data/spec/UCSCBin_Utils_spec.rb +49 -0
  42. data/spec/spec.opts +1 -0
  43. data/spec/spec_helper.rb +9 -0
  44. metadata +132 -0
@@ -0,0 +1,185 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
3
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
4
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
5
+ <head>
6
+ <meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
7
+
8
+ <title>Module: UCSCBin</title>
9
+
10
+ <link rel="stylesheet" href="./rdoc.css" type="text/css" media="screen" />
11
+
12
+ <script src="./js/jquery.js" type="text/javascript"
13
+ charset="utf-8"></script>
14
+ <script src="./js/thickbox-compressed.js" type="text/javascript"
15
+ charset="utf-8"></script>
16
+ <script src="./js/quicksearch.js" type="text/javascript"
17
+ charset="utf-8"></script>
18
+ <script src="./js/darkfish.js" type="text/javascript"
19
+ charset="utf-8"></script>
20
+
21
+ </head>
22
+ <body class="module">
23
+
24
+ <div id="metadata">
25
+ <div id="file-metadata">
26
+ <div id="file-list-section" class="section">
27
+ <h3 class="section-header">In Files</h3>
28
+ <div class="section-body">
29
+ <ul>
30
+
31
+ <li><a href="./lib/UCSCBin_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
32
+ class="thickbox" title="lib/UCSCBin.rb">lib/UCSCBin.rb</a></li>
33
+
34
+ </ul>
35
+ </div>
36
+ </div>
37
+
38
+
39
+ </div>
40
+
41
+ <div id="class-metadata">
42
+
43
+ <!-- Parent Class -->
44
+
45
+
46
+ <!-- Namespace Contents -->
47
+
48
+ <div id="namespace-list-section" class="section">
49
+ <h3 class="section-header">Namespace</h3>
50
+ <ul class="link-list">
51
+
52
+ <li><span class="type">CLASS</span> <a href="UCSCBin/BinRange.html">UCSCBin::BinRange</a></li>
53
+
54
+ <li><span class="type">CLASS</span> <a href="UCSCBin/Utils.html">UCSCBin::Utils</a></li>
55
+
56
+ </ul>
57
+ </div>
58
+
59
+
60
+ <!-- Method Quickref -->
61
+
62
+
63
+ <!-- Included Modules -->
64
+
65
+ </div>
66
+
67
+ <div id="project-metadata">
68
+
69
+
70
+ <div id="fileindex-section" class="section project-section">
71
+ <h3 class="section-header">Files</h3>
72
+ <ul>
73
+
74
+ <li class="file"><a href="./README_rdoc.html">README.rdoc</a></li>
75
+
76
+ </ul>
77
+ </div>
78
+
79
+
80
+ <div id="classindex-section" class="section project-section">
81
+ <h3 class="section-header">Class Index
82
+ <span class="search-toggle"><img src="./images/find.png"
83
+ height="16" width="16" alt="[+]"
84
+ title="show/hide quicksearch" /></span></h3>
85
+ <form action="#" method="get" accept-charset="utf-8" class="initially-hidden">
86
+ <fieldset>
87
+ <legend>Quicksearch</legend>
88
+ <input type="text" name="quicksearch" value=""
89
+ class="quicksearch-field" />
90
+ </fieldset>
91
+ </form>
92
+
93
+ <ul class="link-list">
94
+
95
+ <li><a href="./UCSCBin.html">UCSCBin</a></li>
96
+
97
+ <li><a href="./UCSCBin/BinRange.html">UCSCBin::BinRange</a></li>
98
+
99
+ <li><a href="./UCSCBin/Utils.html">UCSCBin::Utils</a></li>
100
+
101
+ </ul>
102
+ <div id="no-class-search-results" style="display: none;">No matching classes.</div>
103
+ </div>
104
+
105
+
106
+ </div>
107
+ </div>
108
+
109
+ <div id="documentation">
110
+ <h1 class="module">UCSCBin</h1>
111
+
112
+ <div id="description">
113
+ <h1><a href="UCSCBin.html">UCSCBin</a></h1>
114
+ <table>
115
+ <tr><td valign="top">Author:</td><td>Hiroyuki Mishima
116
+
117
+ </td></tr>
118
+ <tr><td valign="top">Copyright:</td><td>Hiroyuki Mishima, 2010
119
+
120
+ </td></tr>
121
+ <tr><td valign="top">Licence:</td><td>the MIT/X11 licence. See the LICENCE file.
122
+
123
+ </td></tr>
124
+ </table>
125
+ <p>
126
+ Original program in C by Jim Kent, 2002
127
+ </p>
128
+ <p>
129
+ Util: convert between 0-based half-open interval and 1-based full-close
130
+ intervals.
131
+ </p>
132
+ <p>
133
+ BinRange: Calculate Bin number from genomic physical position according to
134
+ UCSC&#8217;s Bin Indexing System.
135
+ </p>
136
+ <p>
137
+ See also <a
138
+ href="http://genomewiki.ucsc.edu/index.php/Bin_indexing_system">genomewiki.ucsc.edu/index.php/Bin_indexing_system</a>,
139
+ a paper Kent, et. al. Genome Research 2002.12:996-1006, and
140
+ src/lib/binRange.c in the kent source tree.
141
+ </p>
142
+
143
+ </div>
144
+
145
+ <!-- Constants -->
146
+
147
+ <div id="constants-list" class="section">
148
+ <h3 class="section-header">Constants</h3>
149
+ <dl>
150
+
151
+ <dt><a name="Version">Version</a></dt>
152
+
153
+ <dd class="description"><p>
154
+ <a href="UCSCBin.html#Version">Version</a> = &#8220;0.1.0&#8220; # 20100714
155
+ </p></dd>
156
+
157
+
158
+ </dl>
159
+ </div>
160
+
161
+
162
+ <!-- Attributes -->
163
+
164
+
165
+ <!-- Methods -->
166
+
167
+
168
+ </div>
169
+
170
+
171
+ <div id="rdoc-debugging-section-dump" class="debugging-section">
172
+
173
+ <p>Disabled; run with --debug to generate this.</p>
174
+
175
+ </div>
176
+
177
+ <div id="validator-badges">
178
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
179
+ <p><small>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish
180
+ Rdoc Generator</a> 1.1.6</small>.</p>
181
+ </div>
182
+
183
+ </body>
184
+ </html>
185
+
@@ -0,0 +1,454 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
3
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
4
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
5
+ <head>
6
+ <meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
7
+
8
+ <title>Class: UCSCBin::BinRange</title>
9
+
10
+ <link rel="stylesheet" href="../rdoc.css" type="text/css" media="screen" />
11
+
12
+ <script src="../js/jquery.js" type="text/javascript"
13
+ charset="utf-8"></script>
14
+ <script src="../js/thickbox-compressed.js" type="text/javascript"
15
+ charset="utf-8"></script>
16
+ <script src="../js/quicksearch.js" type="text/javascript"
17
+ charset="utf-8"></script>
18
+ <script src="../js/darkfish.js" type="text/javascript"
19
+ charset="utf-8"></script>
20
+
21
+ </head>
22
+ <body class="class">
23
+
24
+ <div id="metadata">
25
+ <div id="file-metadata">
26
+ <div id="file-list-section" class="section">
27
+ <h3 class="section-header">In Files</h3>
28
+ <div class="section-body">
29
+ <ul>
30
+
31
+ <li><a href="../lib/UCSCBin_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
32
+ class="thickbox" title="lib/UCSCBin.rb">lib/UCSCBin.rb</a></li>
33
+
34
+ </ul>
35
+ </div>
36
+ </div>
37
+
38
+
39
+ </div>
40
+
41
+ <div id="class-metadata">
42
+
43
+ <!-- Parent Class -->
44
+
45
+ <div id="parent-class-section" class="section">
46
+ <h3 class="section-header">Parent</h3>
47
+
48
+ <p class="link">Object</p>
49
+
50
+ </div>
51
+
52
+
53
+ <!-- Namespace Contents -->
54
+
55
+
56
+ <!-- Method Quickref -->
57
+
58
+ <div id="method-list-section" class="section">
59
+ <h3 class="section-header">Methods</h3>
60
+ <ul class="link-list">
61
+
62
+ <li><a href="#M000003">::bin_all</a></li>
63
+
64
+ <li><a href="#M000007">::bin_all_extended</a></li>
65
+
66
+ <li><a href="#M000006">::bin_all_standard</a></li>
67
+
68
+ <li><a href="#M000002">::bin_from_range</a></li>
69
+
70
+ <li><a href="#M000005">::bin_from_range_extended</a></li>
71
+
72
+ <li><a href="#M000004">::bin_from_range_standard</a></li>
73
+
74
+ </ul>
75
+ </div>
76
+
77
+
78
+ <!-- Included Modules -->
79
+
80
+ </div>
81
+
82
+ <div id="project-metadata">
83
+
84
+
85
+ <div id="fileindex-section" class="section project-section">
86
+ <h3 class="section-header">Files</h3>
87
+ <ul>
88
+
89
+ <li class="file"><a href="../README_rdoc.html">README.rdoc</a></li>
90
+
91
+ </ul>
92
+ </div>
93
+
94
+
95
+ <div id="classindex-section" class="section project-section">
96
+ <h3 class="section-header">Class Index
97
+ <span class="search-toggle"><img src="../images/find.png"
98
+ height="16" width="16" alt="[+]"
99
+ title="show/hide quicksearch" /></span></h3>
100
+ <form action="#" method="get" accept-charset="utf-8" class="initially-hidden">
101
+ <fieldset>
102
+ <legend>Quicksearch</legend>
103
+ <input type="text" name="quicksearch" value=""
104
+ class="quicksearch-field" />
105
+ </fieldset>
106
+ </form>
107
+
108
+ <ul class="link-list">
109
+
110
+ <li><a href="../UCSCBin.html">UCSCBin</a></li>
111
+
112
+ <li><a href="../UCSCBin/BinRange.html">UCSCBin::BinRange</a></li>
113
+
114
+ <li><a href="../UCSCBin/Utils.html">UCSCBin::Utils</a></li>
115
+
116
+ </ul>
117
+ <div id="no-class-search-results" style="display: none;">No matching classes.</div>
118
+ </div>
119
+
120
+
121
+ </div>
122
+ </div>
123
+
124
+ <div id="documentation">
125
+ <h1 class="class">UCSCBin::BinRange</h1>
126
+
127
+ <div id="description">
128
+
129
+ </div>
130
+
131
+ <!-- Constants -->
132
+
133
+ <div id="constants-list" class="section">
134
+ <h3 class="section-header">Constants</h3>
135
+ <dl>
136
+
137
+ <dt><a name="BINRANGE_MAXEND_512M">BINRANGE_MAXEND_512M</a></dt>
138
+
139
+ <dd class="description missing-docs">(Not documented)</dd>
140
+
141
+
142
+ <dt><a name="BIN_OFFSETS_EXTENDED">BIN_OFFSETS_EXTENDED</a></dt>
143
+
144
+ <dd class="description missing-docs">(Not documented)</dd>
145
+
146
+
147
+ <dt><a name="BIN_OFFSETS">BIN_OFFSETS</a></dt>
148
+
149
+ <dd class="description missing-docs">(Not documented)</dd>
150
+
151
+
152
+ <dt><a name="BIN_OFFSET_OLD_TO_EXTENDED">BIN_OFFSET_OLD_TO_EXTENDED</a></dt>
153
+
154
+ <dd class="description missing-docs">(Not documented)</dd>
155
+
156
+
157
+ <dt><a name="BIN_FIRST_SHIFT">BIN_FIRST_SHIFT</a></dt>
158
+
159
+ <dd class="description"><p>
160
+ How much to shift to get to finest bin.
161
+ </p></dd>
162
+
163
+
164
+ <dt><a name="BIN_NEXT_SHIFT">BIN_NEXT_SHIFT</a></dt>
165
+
166
+ <dd class="description"><p>
167
+ How much to shift to get to next larger bin.
168
+ </p></dd>
169
+
170
+
171
+ </dl>
172
+ </div>
173
+
174
+
175
+ <!-- Attributes -->
176
+
177
+
178
+ <!-- Methods -->
179
+
180
+ <div id="public-class-method-details" class="method-section section">
181
+ <h3 class="section-header">Public Class Methods</h3>
182
+
183
+
184
+ <div id="bin-all-method" class="method-detail ">
185
+ <a name="M000003"></a>
186
+
187
+ <div class="method-heading">
188
+
189
+ <span class="method-name">bin_all</span><span
190
+ class="method-args">(p_start, p_end)</span>
191
+ <span class="method-click-advice">click to toggle source</span>
192
+
193
+ </div>
194
+
195
+ <div class="method-description">
196
+
197
+ <p>
198
+ Return an Array of BINs which are all bins containing whole the
199
+ interval/range. Thus, it always contains &#8220;0&#8221; indicating a bin
200
+ containing whole of a chromosome.
201
+ </p>
202
+ <p>
203
+ extended bin index for positions >= 512M is not supported yet Do you need
204
+ it? Please email me.
205
+ </p>
206
+
207
+
208
+
209
+ <div class="method-source-code"
210
+ id="bin-all-source">
211
+ <pre>
212
+ <span class="ruby-comment cmt"># File lib/UCSCBin.rb, line 89</span>
213
+ <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">bin_all</span>(<span class="ruby-identifier">p_start</span>, <span class="ruby-identifier">p_end</span>)
214
+ <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">p_end</span> <span class="ruby-operator">&lt;=</span> <span class="ruby-constant">BINRANGE_MAXEND_512M</span>
215
+ <span class="ruby-identifier">bin_all_standard</span>(<span class="ruby-identifier">p_start</span>, <span class="ruby-identifier">p_end</span>)
216
+ <span class="ruby-keyword kw">else</span>
217
+ <span class="ruby-identifier">bin_all_extended</span>(<span class="ruby-identifier">p_start</span>, <span class="ruby-identifier">p_end</span>)
218
+ <span class="ruby-keyword kw">end</span>
219
+ <span class="ruby-keyword kw">end</span></pre>
220
+ </div>
221
+
222
+ </div>
223
+
224
+
225
+ </div>
226
+
227
+
228
+ <div id="bin-from-range-method" class="method-detail ">
229
+ <a name="M000002"></a>
230
+
231
+ <div class="method-heading">
232
+
233
+ <span class="method-name">bin_from_range</span><span
234
+ class="method-args">(bin_start, bin_end)</span>
235
+ <span class="method-click-advice">click to toggle source</span>
236
+
237
+ </div>
238
+
239
+ <div class="method-description">
240
+
241
+ <p>
242
+ Return a Integer of a BIN which is the smallest/finest bin containing whole
243
+ the interval/range.
244
+ </p>
245
+ <p>
246
+ Extended bin index for positions >= 512M is not supported yet Do you need
247
+ it? Please email me.
248
+ </p>
249
+
250
+
251
+
252
+ <div class="method-source-code"
253
+ id="bin-from-range-source">
254
+ <pre>
255
+ <span class="ruby-comment cmt"># File lib/UCSCBin.rb, line 72</span>
256
+ <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">bin_from_range</span>(<span class="ruby-identifier">bin_start</span>, <span class="ruby-identifier">bin_end</span>)
257
+ <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">bin_end</span> <span class="ruby-operator">&lt;=</span> <span class="ruby-constant">BINRANGE_MAXEND_512M</span>
258
+ <span class="ruby-identifier">bin_from_range_standard</span>(<span class="ruby-identifier">bin_start</span>, <span class="ruby-identifier">bin_end</span>)
259
+ <span class="ruby-keyword kw">else</span>
260
+ <span class="ruby-identifier">bin_from_range_extended</span>(<span class="ruby-identifier">bin_start</span>, <span class="ruby-identifier">bin_end</span>)
261
+ <span class="ruby-keyword kw">end</span>
262
+ <span class="ruby-keyword kw">end</span></pre>
263
+ </div>
264
+
265
+ </div>
266
+
267
+
268
+ </div>
269
+
270
+
271
+ </div>
272
+
273
+ <div id="private-class-method-details" class="method-section section">
274
+ <h3 class="section-header">Private Class Methods</h3>
275
+
276
+
277
+ <div id="bin-all-extended-method" class="method-detail ">
278
+ <a name="M000007"></a>
279
+
280
+ <div class="method-heading">
281
+
282
+ <span class="method-name">bin_all_extended</span><span
283
+ class="method-args">(bin_start, bin_end)</span>
284
+ <span class="method-click-advice">click to toggle source</span>
285
+
286
+ </div>
287
+
288
+ <div class="method-description">
289
+
290
+ <p class="missing-docs">(Not documented)</p>
291
+
292
+
293
+
294
+ <div class="method-source-code"
295
+ id="bin-all-extended-source">
296
+ <pre>
297
+ <span class="ruby-comment cmt"># File lib/UCSCBin.rb, line 140</span>
298
+ <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">bin_all_extended</span>(<span class="ruby-identifier">bin_start</span>, <span class="ruby-identifier">bin_end</span>)
299
+ <span class="ruby-identifier">raise</span> <span class="ruby-constant">NotImplementedError</span>, <span class="ruby-value str">&quot;Extended bins are not supported yet&quot;</span>
300
+ <span class="ruby-keyword kw">end</span></pre>
301
+ </div>
302
+
303
+ </div>
304
+
305
+
306
+ </div>
307
+
308
+
309
+ <div id="bin-all-standard-method" class="method-detail ">
310
+ <a name="M000006"></a>
311
+
312
+ <div class="method-heading">
313
+
314
+ <span class="method-name">bin_all_standard</span><span
315
+ class="method-args">(bin_start, bin_end)</span>
316
+ <span class="method-click-advice">click to toggle source</span>
317
+
318
+ </div>
319
+
320
+ <div class="method-description">
321
+
322
+ <p class="missing-docs">(Not documented)</p>
323
+
324
+
325
+
326
+ <div class="method-source-code"
327
+ id="bin-all-standard-source">
328
+ <pre>
329
+ <span class="ruby-comment cmt"># File lib/UCSCBin.rb, line 123</span>
330
+ <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">bin_all_standard</span>(<span class="ruby-identifier">bin_start</span>, <span class="ruby-identifier">bin_end</span>)
331
+ <span class="ruby-identifier">bin_start_orig</span> = <span class="ruby-identifier">bin_start</span>
332
+ <span class="ruby-identifier">bin_end_orig</span> = <span class="ruby-identifier">bin_end</span>
333
+ <span class="ruby-identifier">results</span> = <span class="ruby-constant">Array</span>.<span class="ruby-identifier">new</span>
334
+
335
+ <span class="ruby-identifier">bin_start</span> <span class="ruby-operator">&gt;&gt;=</span> <span class="ruby-constant">BIN_FIRST_SHIFT</span>
336
+ <span class="ruby-identifier">bin_end</span> <span class="ruby-operator">-=</span> <span class="ruby-value">1</span>
337
+ <span class="ruby-identifier">bin_end</span> <span class="ruby-operator">&gt;&gt;=</span> <span class="ruby-constant">BIN_FIRST_SHIFT</span>
338
+
339
+ <span class="ruby-constant">BIN_OFFSETS</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">offset</span><span class="ruby-operator">|</span>
340
+ <span class="ruby-identifier">results</span>.<span class="ruby-identifier">concat</span>(((<span class="ruby-identifier">offset</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">bin_start</span>)<span class="ruby-operator">..</span>(<span class="ruby-identifier">offset</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">bin_end</span>)).<span class="ruby-identifier">to_a</span>)
341
+ <span class="ruby-identifier">bin_start</span> <span class="ruby-operator">&gt;&gt;=</span> <span class="ruby-constant">BIN_NEXT_SHIFT</span>
342
+ <span class="ruby-identifier">bin_end</span> <span class="ruby-operator">&gt;&gt;=</span> <span class="ruby-constant">BIN_NEXT_SHIFT</span>
343
+ <span class="ruby-keyword kw">end</span>
344
+ <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">results</span>
345
+ <span class="ruby-keyword kw">end</span></pre>
346
+ </div>
347
+
348
+ </div>
349
+
350
+
351
+ </div>
352
+
353
+
354
+ <div id="bin-from-range-extended-method" class="method-detail ">
355
+ <a name="M000005"></a>
356
+
357
+ <div class="method-heading">
358
+
359
+ <span class="method-name">bin_from_range_extended</span><span
360
+ class="method-args">(bin_start, bin_end)</span>
361
+ <span class="method-click-advice">click to toggle source</span>
362
+
363
+ </div>
364
+
365
+ <div class="method-description">
366
+
367
+ <p class="missing-docs">(Not documented)</p>
368
+
369
+
370
+
371
+ <div class="method-source-code"
372
+ id="bin-from-range-extended-source">
373
+ <pre>
374
+ <span class="ruby-comment cmt"># File lib/UCSCBin.rb, line 119</span>
375
+ <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">bin_from_range_extended</span>(<span class="ruby-identifier">bin_start</span>, <span class="ruby-identifier">bin_end</span>)
376
+ <span class="ruby-identifier">raise</span> <span class="ruby-constant">NotImplementedError</span>, <span class="ruby-value str">&quot;Extended bins are not supported yet&quot;</span>
377
+ <span class="ruby-keyword kw">end</span></pre>
378
+ </div>
379
+
380
+ </div>
381
+
382
+
383
+ </div>
384
+
385
+
386
+ <div id="bin-from-range-standard-method" class="method-detail ">
387
+ <a name="M000004"></a>
388
+
389
+ <div class="method-heading">
390
+
391
+ <span class="method-name">bin_from_range_standard</span><span
392
+ class="method-args">(bin_start, bin_end)</span>
393
+ <span class="method-click-advice">click to toggle source</span>
394
+
395
+ </div>
396
+
397
+ <div class="method-description">
398
+
399
+ <p class="missing-docs">(Not documented)</p>
400
+
401
+
402
+
403
+ <div class="method-source-code"
404
+ id="bin-from-range-standard-source">
405
+ <pre>
406
+ <span class="ruby-comment cmt"># File lib/UCSCBin.rb, line 99</span>
407
+ <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">bin_from_range_standard</span>(<span class="ruby-identifier">bin_start</span>, <span class="ruby-identifier">bin_end</span>)
408
+ <span class="ruby-comment cmt"># Given start,end in chromosome coordinates assign it</span>
409
+ <span class="ruby-comment cmt"># a bin. There's a bin for each 128k segment, for each</span>
410
+ <span class="ruby-comment cmt"># 1M segment, for each 8M segment, for each 64M segment,</span>
411
+ <span class="ruby-comment cmt"># and for each chromosome (which is assumed to be less than</span>
412
+ <span class="ruby-comment cmt"># 512M.) A range goes into the smallest bin it will fit in.</span>
413
+
414
+ <span class="ruby-identifier">bin_start</span> <span class="ruby-operator">&gt;&gt;=</span> <span class="ruby-constant">BIN_FIRST_SHIFT</span>
415
+ <span class="ruby-identifier">bin_end</span> <span class="ruby-operator">-=</span> <span class="ruby-value">1</span>
416
+ <span class="ruby-identifier">bin_end</span> <span class="ruby-operator">&gt;&gt;=</span> <span class="ruby-constant">BIN_FIRST_SHIFT</span>
417
+
418
+ <span class="ruby-constant">BIN_OFFSETS</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">offset</span><span class="ruby-operator">|</span>
419
+ <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">offset</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">bin_start</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">bin_start</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">bin_end</span>
420
+ <span class="ruby-identifier">bin_start</span> <span class="ruby-operator">&gt;&gt;=</span> <span class="ruby-constant">BIN_NEXT_SHIFT</span>
421
+ <span class="ruby-identifier">bin_end</span> <span class="ruby-operator">&gt;&gt;=</span> <span class="ruby-constant">BIN_NEXT_SHIFT</span>
422
+ <span class="ruby-keyword kw">end</span>
423
+ <span class="ruby-identifier">raise</span> <span class="ruby-constant">RangeError</span>, \
424
+ <span class="ruby-node">&quot;start #{bin_start}, end #{bin_end} out of range in findBin (max is 512M)&quot;</span>
425
+ <span class="ruby-keyword kw">end</span></pre>
426
+ </div>
427
+
428
+ </div>
429
+
430
+
431
+ </div>
432
+
433
+
434
+ </div>
435
+
436
+
437
+ </div>
438
+
439
+
440
+ <div id="rdoc-debugging-section-dump" class="debugging-section">
441
+
442
+ <p>Disabled; run with --debug to generate this.</p>
443
+
444
+ </div>
445
+
446
+ <div id="validator-badges">
447
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
448
+ <p><small>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish
449
+ Rdoc Generator</a> 1.1.6</small>.</p>
450
+ </div>
451
+
452
+ </body>
453
+ </html>
454
+