bio-samtools 0.2.5 → 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (73) hide show
  1. data/README.rdoc +7 -20
  2. data/Rakefile +11 -0
  3. data/VERSION +1 -1
  4. data/bio-samtools.gemspec +67 -1
  5. data/doc/basic_styles.css +31 -0
  6. data/doc/classes/Bio.html +139 -0
  7. data/doc/classes/Bio/DB.html +137 -0
  8. data/doc/classes/Bio/DB/Alignment.html +441 -0
  9. data/doc/classes/Bio/DB/Alignment.src/M000012.html +19 -0
  10. data/doc/classes/Bio/DB/Alignment.src/M000013.html +27 -0
  11. data/doc/classes/Bio/DB/Alignment.src/M000014.html +45 -0
  12. data/doc/classes/Bio/DB/Alignment.src/M000015.html +40 -0
  13. data/doc/classes/Bio/DB/SAM.html +510 -0
  14. data/doc/classes/Bio/DB/SAM/Library.html +135 -0
  15. data/doc/classes/Bio/DB/SAM/Library.src/M000006.html +28 -0
  16. data/doc/classes/Bio/DB/SAM/Tools.html +278 -0
  17. data/doc/classes/Bio/DB/SAM/Tools.src/M000007.html +20 -0
  18. data/doc/classes/Bio/DB/SAM/Tools/Bam1CoreT.html +111 -0
  19. data/doc/classes/Bio/DB/SAM/Tools/Bam1T.html +150 -0
  20. data/doc/classes/Bio/DB/SAM/Tools/Bam1T.src/M000010.html +20 -0
  21. data/doc/classes/Bio/DB/SAM/Tools/BamHeaderT.html +169 -0
  22. data/doc/classes/Bio/DB/SAM/Tools/BamHeaderT.src/M000008.html +19 -0
  23. data/doc/classes/Bio/DB/SAM/Tools/BamHeaderT.src/M000009.html +18 -0
  24. data/doc/classes/Bio/DB/SAM/Tools/BamPileup1T.html +111 -0
  25. data/doc/classes/Bio/DB/SAM/Tools/SamfileT.html +129 -0
  26. data/doc/classes/Bio/DB/SAM/Tools/SamfileTX.html +111 -0
  27. data/doc/classes/Bio/DB/SAMException.html +140 -0
  28. data/doc/classes/Bio/DB/SAMException.src/M000016.html +18 -0
  29. data/doc/classes/Bio/DB/Sam.src/M000017.html +43 -0
  30. data/doc/classes/Bio/DB/Sam.src/M000018.html +42 -0
  31. data/doc/classes/Bio/DB/Sam.src/M000019.html +18 -0
  32. data/doc/classes/Bio/DB/Sam.src/M000020.html +22 -0
  33. data/doc/classes/Bio/DB/Sam.src/M000021.html +19 -0
  34. data/doc/classes/Bio/DB/Sam.src/M000022.html +25 -0
  35. data/doc/classes/Bio/DB/Sam.src/M000023.html +28 -0
  36. data/doc/classes/Bio/DB/Sam.src/M000024.html +28 -0
  37. data/doc/classes/Bio/DB/Sam.src/M000025.html +46 -0
  38. data/doc/classes/Bio/DB/Sam.src/M000026.html +24 -0
  39. data/doc/classes/Bio/DB/Sam.src/M000027.html +19 -0
  40. data/doc/classes/Bio/DB/Sam.src/M000028.html +24 -0
  41. data/doc/classes/Bio/DB/Sam.src/M000029.html +41 -0
  42. data/doc/classes/Bio/DB/Sam.src/M000030.html +31 -0
  43. data/doc/classes/Bio/DB/Sam.src/M000031.html +86 -0
  44. data/doc/classes/Bio/DB/Sam.src/M000032.html +34 -0
  45. data/doc/classes/Bio/DB/Tag.html +160 -0
  46. data/doc/classes/Bio/DB/Tag.src/M000011.html +21 -0
  47. data/doc/classes/LibC.html +105 -0
  48. data/doc/classes/Pileup.html +374 -0
  49. data/doc/classes/Pileup.src/M000001.html +34 -0
  50. data/doc/classes/Pileup.src/M000002.html +21 -0
  51. data/doc/classes/Pileup.src/M000003.html +21 -0
  52. data/doc/classes/Pileup.src/M000004.html +21 -0
  53. data/doc/classes/Pileup.src/M000005.html +31 -0
  54. data/doc/created.rid +1 -0
  55. data/doc/files/lib/bio-samtools_rb.html +109 -0
  56. data/doc/files/lib/bio/db/sam/bam_rb.html +108 -0
  57. data/doc/files/lib/bio/db/sam/faidx_rb.html +108 -0
  58. data/doc/files/lib/bio/db/sam/library_rb.html +101 -0
  59. data/doc/files/lib/bio/db/sam/pileup_rb.html +178 -0
  60. data/doc/files/lib/bio/db/sam/sam_rb.html +113 -0
  61. data/doc/files/lib/bio/db/sam_rb.html +111 -0
  62. data/doc/fr_class_index.html +43 -0
  63. data/doc/fr_file_index.html +33 -0
  64. data/doc/fr_method_index.html +58 -0
  65. data/doc/index.html +24 -0
  66. data/doc/rdoc-style.css +208 -0
  67. data/doc/tutorial.html +165 -0
  68. data/doc/tutorial.pdf +0 -0
  69. data/lib/bio/db/sam.rb +163 -1
  70. data/lib/bio/db/sam/pileup.rb +98 -0
  71. data/test/basictest.rb +14 -0
  72. data/test/pileup.rb +68 -0
  73. metadata +84 -18
@@ -0,0 +1,86 @@
1
+ <?xml version="1.0" encoding="iso-8859-1"?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
+
6
+ <html>
7
+ <head>
8
+ <title>mpileup (Bio::DB::Sam)</title>
9
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
+ <link rel="stylesheet" href="../../../.././rdoc-style.css" type="text/css" media="screen" />
11
+ </head>
12
+ <body class="standalone-code">
13
+ <pre><span class="ruby-comment cmt"># File lib/bio/db/sam.rb, line 279</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">mpileup</span>( <span class="ruby-identifier">opts</span> )
15
+
16
+ <span class="ruby-identifier">raise</span> <span class="ruby-constant">SAMException</span>.<span class="ruby-identifier">new</span>(), <span class="ruby-value str">&quot;No BAMFile provided&quot;</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@sam</span> <span class="ruby-keyword kw">and</span> <span class="ruby-ivar">@binary</span>
17
+ <span class="ruby-identifier">raise</span> <span class="ruby-constant">SAMException</span>.<span class="ruby-identifier">new</span>(), <span class="ruby-value str">&quot;No FastA provided&quot;</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@fasta_path</span>
18
+ <span class="ruby-comment cmt">#long option form to short samtools form..</span>
19
+ <span class="ruby-identifier">long_opts</span> = {
20
+ <span class="ruby-identifier">:region</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">:r</span>,
21
+ <span class="ruby-identifier">:illumina_quals</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">:six</span>,
22
+ <span class="ruby-identifier">:count_anomalous</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">:A</span>,
23
+ <span class="ruby-identifier">:no_baq</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">:B</span>,
24
+ <span class="ruby-identifier">:adjust_mapq</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">:C</span>,
25
+ <span class="ruby-identifier">:max_per_bam_depth</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">:d</span>,
26
+ <span class="ruby-identifier">:extended_baq</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">:E</span>,
27
+ <span class="ruby-identifier">:exclude_reads_file</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">:G</span>,
28
+ <span class="ruby-identifier">:list_of_positions</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">:l</span>,
29
+ <span class="ruby-identifier">:mapping_quality_cap</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">:M</span>,
30
+ <span class="ruby-identifier">:ignore_rg</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">:R</span>,
31
+ <span class="ruby-identifier">:min_mapping_quality</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">:q</span>,
32
+ <span class="ruby-identifier">:min_base_quality</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">:Q</span>
33
+ }
34
+
35
+ <span class="ruby-comment cmt">##convert any long_opts to short opts </span>
36
+ <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">each_pair</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">k</span>,<span class="ruby-identifier">v</span><span class="ruby-operator">|</span>
37
+ <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">long_opts</span>[<span class="ruby-identifier">k</span>]
38
+ <span class="ruby-identifier">opts</span>[<span class="ruby-identifier">long_opts</span>[<span class="ruby-identifier">k</span>]] = <span class="ruby-identifier">v</span>
39
+ <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">delete</span>(<span class="ruby-identifier">k</span>)
40
+ <span class="ruby-keyword kw">end</span>
41
+ <span class="ruby-keyword kw">end</span>
42
+
43
+ <span class="ruby-comment cmt">##remove any calls to -g or -u for mpileup, bcf output is not yet supported</span>
44
+ <span class="ruby-comment cmt">##and also associated output options</span>
45
+ [<span class="ruby-identifier">:g</span>, <span class="ruby-identifier">:u</span>, <span class="ruby-identifier">:e</span>, <span class="ruby-identifier">:h</span>, <span class="ruby-identifier">:I</span>, <span class="ruby-identifier">:L</span>, <span class="ruby-identifier">:o</span>, <span class="ruby-identifier">:p</span>].<span class="ruby-identifier">each</span> {<span class="ruby-operator">|</span><span class="ruby-identifier">x</span><span class="ruby-operator">|</span> <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">delete</span>(<span class="ruby-identifier">x</span>) }
46
+
47
+ <span class="ruby-identifier">strptrs</span> = []
48
+ <span class="ruby-identifier">strptrs</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">FFI</span><span class="ruby-operator">::</span><span class="ruby-constant">MemoryPointer</span>.<span class="ruby-identifier">from_string</span>(<span class="ruby-value str">&quot;mpileup&quot;</span>)
49
+ <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">k</span>,<span class="ruby-identifier">v</span><span class="ruby-operator">|</span>
50
+ <span class="ruby-keyword kw">next</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">opts</span>[<span class="ruby-identifier">k</span>] <span class="ruby-comment cmt">##dont bother unless the values provided are true.. </span>
51
+ <span class="ruby-identifier">k</span> = <span class="ruby-value str">'6'</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">k</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">:six</span>
52
+ <span class="ruby-identifier">k</span> = <span class="ruby-value str">'-'</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">k</span>.<span class="ruby-identifier">to_s</span>
53
+ <span class="ruby-identifier">strptrs</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">FFI</span><span class="ruby-operator">::</span><span class="ruby-constant">MemoryPointer</span>.<span class="ruby-identifier">from_string</span>(<span class="ruby-identifier">k</span>)
54
+ <span class="ruby-identifier">strptrs</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">FFI</span><span class="ruby-operator">::</span><span class="ruby-constant">MemoryPointer</span>.<span class="ruby-identifier">from_string</span>(<span class="ruby-identifier">v</span>.<span class="ruby-identifier">to_s</span>) <span class="ruby-keyword kw">unless</span> [<span class="ruby-value str">&quot;-R&quot;</span>, <span class="ruby-value str">&quot;-B&quot;</span>, <span class="ruby-value str">&quot;-E&quot;</span>, <span class="ruby-value str">&quot;-6&quot;</span>, <span class="ruby-value str">&quot;-A&quot;</span>].<span class="ruby-identifier">include?</span>(<span class="ruby-identifier">k</span>) <span class="ruby-comment cmt">#these are just flags so don't pass a value...</span>
55
+ <span class="ruby-keyword kw">end</span>
56
+ <span class="ruby-identifier">strptrs</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">FFI</span><span class="ruby-operator">::</span><span class="ruby-constant">MemoryPointer</span>.<span class="ruby-identifier">from_string</span>(<span class="ruby-value str">'-f'</span>)
57
+ <span class="ruby-identifier">strptrs</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">FFI</span><span class="ruby-operator">::</span><span class="ruby-constant">MemoryPointer</span>.<span class="ruby-identifier">from_string</span>(<span class="ruby-ivar">@fasta_path</span>)
58
+ <span class="ruby-identifier">strptrs</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">FFI</span><span class="ruby-operator">::</span><span class="ruby-constant">MemoryPointer</span>.<span class="ruby-identifier">from_string</span>(<span class="ruby-ivar">@sam</span>)
59
+ <span class="ruby-identifier">strptrs</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-keyword kw">nil</span>
60
+
61
+ <span class="ruby-comment cmt"># Now load all the pointers into a native memory block</span>
62
+ <span class="ruby-identifier">argv</span> = <span class="ruby-constant">FFI</span><span class="ruby-operator">::</span><span class="ruby-constant">MemoryPointer</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">:pointer</span>, <span class="ruby-identifier">strptrs</span>.<span class="ruby-identifier">length</span>)
63
+ <span class="ruby-identifier">strptrs</span>.<span class="ruby-identifier">each_with_index</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">p</span>, <span class="ruby-identifier">i</span><span class="ruby-operator">|</span>
64
+ <span class="ruby-identifier">argv</span>[<span class="ruby-identifier">i</span>].<span class="ruby-identifier">put_pointer</span>(<span class="ruby-value">0</span>, <span class="ruby-identifier">p</span>)
65
+ <span class="ruby-keyword kw">end</span>
66
+
67
+ <span class="ruby-identifier">old_stdout</span> = <span class="ruby-constant">STDOUT</span>.<span class="ruby-identifier">clone</span>
68
+ <span class="ruby-identifier">read_pipe</span>, <span class="ruby-identifier">write_pipe</span> = <span class="ruby-constant">IO</span>.<span class="ruby-identifier">pipe</span>()
69
+ <span class="ruby-constant">STDOUT</span>.<span class="ruby-identifier">reopen</span>(<span class="ruby-identifier">write_pipe</span>)
70
+ <span class="ruby-comment cmt">#int bam_mpileup(int argc, char *argv[])</span>
71
+ <span class="ruby-constant">Bio</span><span class="ruby-operator">::</span><span class="ruby-constant">DB</span><span class="ruby-operator">::</span><span class="ruby-constant">SAM</span><span class="ruby-operator">::</span><span class="ruby-constant">Tools</span>.<span class="ruby-identifier">bam_mpileup</span>(<span class="ruby-identifier">strptrs</span>.<span class="ruby-identifier">length</span> <span class="ruby-operator">-</span> <span class="ruby-value">1</span>,<span class="ruby-identifier">argv</span>)
72
+ <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">fork</span>
73
+ <span class="ruby-identifier">write_pipe</span>.<span class="ruby-identifier">close</span>
74
+ <span class="ruby-constant">STDOUT</span>.<span class="ruby-identifier">reopen</span>(<span class="ruby-identifier">old_stdout</span>) <span class="ruby-comment cmt">#beware .. stdout from other processes eg tests calling this method can get mixed in...</span>
75
+ <span class="ruby-keyword kw">begin</span>
76
+ <span class="ruby-keyword kw">while</span> <span class="ruby-identifier">line</span> = <span class="ruby-identifier">read_pipe</span>.<span class="ruby-identifier">readline</span>
77
+ <span class="ruby-keyword kw">yield</span> <span class="ruby-constant">Pileup</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">line</span>)
78
+ <span class="ruby-keyword kw">end</span>
79
+ <span class="ruby-keyword kw">rescue</span> <span class="ruby-constant">EOFError</span>
80
+ <span class="ruby-identifier">read_pipe</span>.<span class="ruby-identifier">close</span>
81
+ <span class="ruby-constant">Process</span>.<span class="ruby-identifier">wait</span>
82
+ <span class="ruby-keyword kw">end</span>
83
+ <span class="ruby-keyword kw">end</span>
84
+ <span class="ruby-keyword kw">end</span></pre>
85
+ </body>
86
+ </html>
@@ -0,0 +1,34 @@
1
+ <?xml version="1.0" encoding="iso-8859-1"?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
+
6
+ <html>
7
+ <head>
8
+ <title>deprecated_pileup (Bio::DB::Sam)</title>
9
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
+ <link rel="stylesheet" href="../../../.././rdoc-style.css" type="text/css" media="screen" />
11
+ </head>
12
+ <body class="standalone-code">
13
+ <pre><span class="ruby-comment cmt"># File lib/bio/db/sam.rb, line 357</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">deprecated_pileup</span>( <span class="ruby-identifier">cmd</span> )
15
+
16
+ <span class="ruby-identifier">system</span>(<span class="ruby-value str">'samtools pileup &gt; /dev/null 2&gt;&amp;1'</span>)
17
+ <span class="ruby-comment cmt">##assumes samtools is in the path...</span>
18
+ <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">$?</span>.<span class="ruby-identifier">exitstatus</span> <span class="ruby-operator">&gt;</span> <span class="ruby-value">1</span>
19
+ <span class="ruby-identifier">raise</span> <span class="ruby-constant">RuntimeError</span>, <span class="ruby-value str">&quot;samtools is required on the path. A version of samtools with the pileup function is required&quot;</span>
20
+ <span class="ruby-keyword kw">end</span>
21
+
22
+ <span class="ruby-identifier">raise</span> <span class="ruby-constant">SAMException</span>.<span class="ruby-identifier">new</span>(), <span class="ruby-value str">&quot;No BAMFile provided&quot;</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@sam</span> <span class="ruby-keyword kw">and</span> <span class="ruby-ivar">@binary</span>
23
+ <span class="ruby-identifier">raise</span> <span class="ruby-constant">SAMException</span>.<span class="ruby-identifier">new</span>(), <span class="ruby-value str">&quot;No FastA provided&quot;</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@fasta_path</span>
24
+
25
+ <span class="ruby-identifier">command</span> = <span class="ruby-value str">'samtools pileup '</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">cmd</span> <span class="ruby-operator">+</span> <span class="ruby-node">&quot; -f #{@fasta_path}&quot;</span> <span class="ruby-operator">+</span> <span class="ruby-node">&quot; #{@sam}&quot;</span>
26
+
27
+ <span class="ruby-identifier">pipe</span> = <span class="ruby-constant">IO</span>.<span class="ruby-identifier">popen</span>(<span class="ruby-identifier">command</span>)
28
+ <span class="ruby-keyword kw">while</span> <span class="ruby-identifier">line</span> = <span class="ruby-identifier">pipe</span>.<span class="ruby-identifier">gets</span>
29
+ <span class="ruby-keyword kw">yield</span> <span class="ruby-constant">Pileup</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">line</span>)
30
+ <span class="ruby-keyword kw">end</span>
31
+ <span class="ruby-identifier">pipe</span>.<span class="ruby-identifier">close</span>
32
+ <span class="ruby-keyword kw">end</span></pre>
33
+ </body>
34
+ </html>
@@ -0,0 +1,160 @@
1
+ <?xml version="1.0" encoding="iso-8859-1"?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
+
6
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
7
+ <head>
8
+ <title>Class: Bio::DB::Tag</title>
9
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
+ <meta http-equiv="Content-Script-Type" content="text/javascript" />
11
+ <link rel="stylesheet" href="../../.././rdoc-style.css" type="text/css" media="screen" />
12
+ <script type="text/javascript">
13
+ // <![CDATA[
14
+
15
+ function popupCode( url ) {
16
+ window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
17
+ }
18
+
19
+ function toggleCode( id ) {
20
+ if ( document.getElementById )
21
+ elem = document.getElementById( id );
22
+ else if ( document.all )
23
+ elem = eval( "document.all." + id );
24
+ else
25
+ return false;
26
+
27
+ elemStyle = elem.style;
28
+
29
+ if ( elemStyle.display != "block" ) {
30
+ elemStyle.display = "block"
31
+ } else {
32
+ elemStyle.display = "none"
33
+ }
34
+
35
+ return true;
36
+ }
37
+
38
+ // Make codeblocks hidden by default
39
+ document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }</style>" )
40
+
41
+ // ]]>
42
+ </script>
43
+
44
+ </head>
45
+ <body>
46
+
47
+
48
+
49
+ <div id="classHeader">
50
+ <table class="header-table">
51
+ <tr class="top-aligned-row">
52
+ <td><strong>Class</strong></td>
53
+ <td class="class-name-in-header">Bio::DB::Tag</td>
54
+ </tr>
55
+ <tr class="top-aligned-row">
56
+ <td><strong>In:</strong></td>
57
+ <td>
58
+ <a href="../../../files/lib/bio/db/sam_rb.html">
59
+ lib/bio/db/sam.rb
60
+ </a>
61
+ <br />
62
+ </td>
63
+ </tr>
64
+
65
+ <tr class="top-aligned-row">
66
+ <td><strong>Parent:</strong></td>
67
+ <td>
68
+ Object
69
+ </td>
70
+ </tr>
71
+ </table>
72
+ </div>
73
+ <!-- banner header -->
74
+
75
+ <div id="bodyContent">
76
+
77
+
78
+
79
+ <div id="contextContent">
80
+
81
+
82
+
83
+ </div>
84
+
85
+ <div id="method-list">
86
+ <h3 class="section-bar">Methods</h3>
87
+
88
+ <div class="name-list">
89
+ <a href="#M000011">set</a>&nbsp;&nbsp;
90
+ </div>
91
+ </div>
92
+
93
+ </div>
94
+
95
+
96
+ <!-- if includes -->
97
+
98
+ <div id="section">
99
+
100
+
101
+
102
+
103
+
104
+ <div id="attribute-list">
105
+ <h3 class="section-bar">Attributes</h3>
106
+
107
+ <div class="name-list">
108
+ <table>
109
+ <tr class="top-aligned-row context-row">
110
+ <td class="context-item-name">tag</td>
111
+ <td class="context-item-value">&nbsp;[RW]&nbsp;</td>
112
+ <td class="context-item-desc"></td>
113
+ </tr>
114
+ <tr class="top-aligned-row context-row">
115
+ <td class="context-item-name">type</td>
116
+ <td class="context-item-value">&nbsp;[RW]&nbsp;</td>
117
+ <td class="context-item-desc"></td>
118
+ </tr>
119
+ <tr class="top-aligned-row context-row">
120
+ <td class="context-item-name">value</td>
121
+ <td class="context-item-value">&nbsp;[RW]&nbsp;</td>
122
+ <td class="context-item-desc"></td>
123
+ </tr>
124
+ </table>
125
+ </div>
126
+ </div>
127
+
128
+
129
+
130
+ <!-- if method_list -->
131
+ <div id="methods">
132
+ <h3 class="section-bar">Public Instance methods</h3>
133
+
134
+ <div id="method-M000011" class="method-detail">
135
+ <a name="M000011"></a>
136
+
137
+ <div class="method-heading">
138
+ <a href="Tag.src/M000011.html" target="Code" class="method-signature"
139
+ onclick="popupCode('Tag.src/M000011.html');return false;">
140
+ <span class="method-name">set</span><span class="method-args">(str)</span>
141
+ </a>
142
+ </div>
143
+
144
+ <div class="method-description">
145
+ </div>
146
+ </div>
147
+
148
+
149
+ </div>
150
+
151
+
152
+ </div>
153
+
154
+
155
+ <div id="validator-badges">
156
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
157
+ </div>
158
+
159
+ </body>
160
+ </html>
@@ -0,0 +1,21 @@
1
+ <?xml version="1.0" encoding="iso-8859-1"?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
+
6
+ <html>
7
+ <head>
8
+ <title>set (Bio::DB::Tag)</title>
9
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
+ <link rel="stylesheet" href="../../../.././rdoc-style.css" type="text/css" media="screen" />
11
+ </head>
12
+ <body class="standalone-code">
13
+ <pre><span class="ruby-comment cmt"># File lib/bio/db/sam.rb, line 381</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">set</span>(<span class="ruby-identifier">str</span>)
15
+ <span class="ruby-identifier">v</span> = <span class="ruby-identifier">str</span>.<span class="ruby-identifier">split</span>(<span class="ruby-value str">&quot;:&quot;</span>)
16
+ <span class="ruby-ivar">@tag</span> = <span class="ruby-identifier">v</span>[<span class="ruby-value">0</span>]
17
+ <span class="ruby-ivar">@type</span> = <span class="ruby-identifier">v</span>[<span class="ruby-value">1</span>]
18
+ <span class="ruby-ivar">@value</span> = <span class="ruby-identifier">v</span>[<span class="ruby-value">2</span>]
19
+ <span class="ruby-keyword kw">end</span></pre>
20
+ </body>
21
+ </html>
@@ -0,0 +1,105 @@
1
+ <?xml version="1.0" encoding="iso-8859-1"?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
+
6
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
7
+ <head>
8
+ <title>Module: LibC</title>
9
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
+ <meta http-equiv="Content-Script-Type" content="text/javascript" />
11
+ <link rel="stylesheet" href=".././rdoc-style.css" type="text/css" media="screen" />
12
+ <script type="text/javascript">
13
+ // <![CDATA[
14
+
15
+ function popupCode( url ) {
16
+ window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
17
+ }
18
+
19
+ function toggleCode( id ) {
20
+ if ( document.getElementById )
21
+ elem = document.getElementById( id );
22
+ else if ( document.all )
23
+ elem = eval( "document.all." + id );
24
+ else
25
+ return false;
26
+
27
+ elemStyle = elem.style;
28
+
29
+ if ( elemStyle.display != "block" ) {
30
+ elemStyle.display = "block"
31
+ } else {
32
+ elemStyle.display = "none"
33
+ }
34
+
35
+ return true;
36
+ }
37
+
38
+ // Make codeblocks hidden by default
39
+ document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }</style>" )
40
+
41
+ // ]]>
42
+ </script>
43
+
44
+ </head>
45
+ <body>
46
+
47
+
48
+
49
+ <div id="classHeader">
50
+ <table class="header-table">
51
+ <tr class="top-aligned-row">
52
+ <td><strong>Module</strong></td>
53
+ <td class="class-name-in-header">LibC</td>
54
+ </tr>
55
+ <tr class="top-aligned-row">
56
+ <td><strong>In:</strong></td>
57
+ <td>
58
+ <a href="../files/lib/bio/db/sam_rb.html">
59
+ lib/bio/db/sam.rb
60
+ </a>
61
+ <br />
62
+ </td>
63
+ </tr>
64
+
65
+ </table>
66
+ </div>
67
+ <!-- banner header -->
68
+
69
+ <div id="bodyContent">
70
+
71
+
72
+
73
+ <div id="contextContent">
74
+
75
+
76
+
77
+ </div>
78
+
79
+
80
+ </div>
81
+
82
+
83
+ <!-- if includes -->
84
+
85
+ <div id="section">
86
+
87
+
88
+
89
+
90
+
91
+
92
+
93
+
94
+ <!-- if method_list -->
95
+
96
+
97
+ </div>
98
+
99
+
100
+ <div id="validator-badges">
101
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
102
+ </div>
103
+
104
+ </body>
105
+ </html>
@@ -0,0 +1,374 @@
1
+ <?xml version="1.0" encoding="iso-8859-1"?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
+
6
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
7
+ <head>
8
+ <title>Class: Pileup</title>
9
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
+ <meta http-equiv="Content-Script-Type" content="text/javascript" />
11
+ <link rel="stylesheet" href=".././rdoc-style.css" type="text/css" media="screen" />
12
+ <script type="text/javascript">
13
+ // <![CDATA[
14
+
15
+ function popupCode( url ) {
16
+ window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
17
+ }
18
+
19
+ function toggleCode( id ) {
20
+ if ( document.getElementById )
21
+ elem = document.getElementById( id );
22
+ else if ( document.all )
23
+ elem = eval( "document.all." + id );
24
+ else
25
+ return false;
26
+
27
+ elemStyle = elem.style;
28
+
29
+ if ( elemStyle.display != "block" ) {
30
+ elemStyle.display = "block"
31
+ } else {
32
+ elemStyle.display = "none"
33
+ }
34
+
35
+ return true;
36
+ }
37
+
38
+ // Make codeblocks hidden by default
39
+ document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }</style>" )
40
+
41
+ // ]]>
42
+ </script>
43
+
44
+ </head>
45
+ <body>
46
+
47
+
48
+
49
+ <div id="classHeader">
50
+ <table class="header-table">
51
+ <tr class="top-aligned-row">
52
+ <td><strong>Class</strong></td>
53
+ <td class="class-name-in-header">Pileup</td>
54
+ </tr>
55
+ <tr class="top-aligned-row">
56
+ <td><strong>In:</strong></td>
57
+ <td>
58
+ <a href="../files/lib/bio/db/sam/pileup_rb.html">
59
+ lib/bio/db/sam/pileup.rb
60
+ </a>
61
+ <br />
62
+ </td>
63
+ </tr>
64
+
65
+ <tr class="top-aligned-row">
66
+ <td><strong>Parent:</strong></td>
67
+ <td>
68
+ Object
69
+ </td>
70
+ </tr>
71
+ </table>
72
+ </div>
73
+ <!-- banner header -->
74
+
75
+ <div id="bodyContent">
76
+
77
+
78
+
79
+ <div id="contextContent">
80
+
81
+ <div id="description">
82
+ <h1><a href="Pileup.html">Pileup</a></h1>
83
+ <p>
84
+ A class representing information in SAMTools pileup format
85
+ </p>
86
+ <table>
87
+ <tr><td valign="top">Author:</td><td>Dan MacLean (dan.maclean@tsl.ac.uk)
88
+
89
+ </td></tr>
90
+ </table>
91
+ <p>
92
+ <a href="Pileup.html">Pileup</a> is described at <a
93
+ href="http://sourceforge.net/apps/mediawiki/samtools/index.php?title=SAM_FAQ#I_do_not_understand_the_columns_in_the_pileup_output">sourceforge.net/apps/mediawiki/samtools/index.php?title=SAM_FAQ#I_do_not_understand_the_columns_in_the_pileup_output</a>.
94
+ Briefly (when you invoke pileup with the -c option):
95
+ </p>
96
+ <ul>
97
+ <li>1 reference sequence name
98
+
99
+ </li>
100
+ <li>2 reference coordinate
101
+
102
+ </li>
103
+ <li>(3) reference base, or `*&#8217; for an indel line
104
+
105
+ </li>
106
+ <li>(4) genotype where heterozygotes are encoded in the IUB code: M=A/C, R=A/G,
107
+ W=A/T, S=C/G, Y=C/T and K=G/T; indels are indicated by, for example, */+A,
108
+ -A/* or +CC/-C. There is no difference between */+A or +A/*.
109
+
110
+ </li>
111
+ <li>(5) Phred-scaled likelihood that the genotype is wrong, which is also
112
+ called `<a href="Pileup.html#M000005">consensus</a> quality&#8217;.
113
+
114
+ </li>
115
+ <li>(6) Phred-scaled likelihood that the genotype is identical to the
116
+ reference, which is also called `SNP quality&#8217;. Suppose the reference
117
+ base is A and in alignment we see 17 G and 3 A. We will get a low <a
118
+ href="Pileup.html#M000005">consensus</a> quality because it is difficult to
119
+ distinguish an A/G heterozygote from a G/G homozygote. We will get a high
120
+ SNP quality, though, because the evidence of a SNP is very strong.
121
+
122
+ </li>
123
+ <li>(7) root mean square (RMS) mapping quality
124
+
125
+ </li>
126
+ <li>8 # reads covering the position
127
+
128
+ </li>
129
+ <li>9 read bases at a SNP line (check the manual page for more information);
130
+ the 1st indel allele otherwise
131
+
132
+ </li>
133
+ <li>10 base quality at a SNP line; the 2nd indel allele otherwise
134
+
135
+ </li>
136
+ <li>(11) indel line only: # reads directly supporting the 1st indel allele
137
+
138
+ </li>
139
+ <li>(12) indel line only: # reads directly supporting the 2nd indel allele
140
+
141
+ </li>
142
+ <li>(13) indel line only: # reads supporting a third indel allele
143
+
144
+ </li>
145
+ </ul>
146
+ <p>
147
+ If pileup is invoked without `-c&#8217;, indel lines and columns between 3
148
+ and 7 inclusive will not be outputted.
149
+ </p>
150
+ <p>
151
+ NB mpileup uses the 6 column output format eg
152
+ &quot;seq2\t151\tG\tG\t36\t0\t99\t12\t...........A\t:9&lt;;;7=&lt;&lt;&lt;&lt;&lt;&quot;
153
+ <a href="Pileup.html">Pileup</a> provides accessors for all columns (6 or
154
+ 10 column format) and a few other useful methods
155
+ </p>
156
+
157
+ </div>
158
+
159
+
160
+ </div>
161
+
162
+ <div id="method-list">
163
+ <h3 class="section-bar">Methods</h3>
164
+
165
+ <div class="name-list">
166
+ <a href="#M000005">consensus</a>&nbsp;&nbsp;
167
+ <a href="#M000001">new</a>&nbsp;&nbsp;
168
+ <a href="#M000003">non_ref_count</a>&nbsp;&nbsp;
169
+ <a href="#M000002">non_refs</a>&nbsp;&nbsp;
170
+ <a href="#M000004">ref_count</a>&nbsp;&nbsp;
171
+ </div>
172
+ </div>
173
+
174
+ </div>
175
+
176
+
177
+ <!-- if includes -->
178
+
179
+ <div id="section">
180
+
181
+
182
+
183
+
184
+
185
+ <div id="attribute-list">
186
+ <h3 class="section-bar">Attributes</h3>
187
+
188
+ <div class="name-list">
189
+ <table>
190
+ <tr class="top-aligned-row context-row">
191
+ <td class="context-item-name">ar1</td>
192
+ <td class="context-item-value">&nbsp;[RW]&nbsp;</td>
193
+ <td class="context-item-desc"></td>
194
+ </tr>
195
+ <tr class="top-aligned-row context-row">
196
+ <td class="context-item-name">ar2</td>
197
+ <td class="context-item-value">&nbsp;[RW]&nbsp;</td>
198
+ <td class="context-item-desc"></td>
199
+ </tr>
200
+ <tr class="top-aligned-row context-row">
201
+ <td class="context-item-name">ar3</td>
202
+ <td class="context-item-value">&nbsp;[RW]&nbsp;</td>
203
+ <td class="context-item-desc"></td>
204
+ </tr>
205
+ <tr class="top-aligned-row context-row">
206
+ <td class="context-item-name">consensus</td>
207
+ <td class="context-item-value">&nbsp;[RW]&nbsp;</td>
208
+ <td class="context-item-desc"></td>
209
+ </tr>
210
+ <tr class="top-aligned-row context-row">
211
+ <td class="context-item-name">consensus_quality</td>
212
+ <td class="context-item-value">&nbsp;[RW]&nbsp;</td>
213
+ <td class="context-item-desc"></td>
214
+ </tr>
215
+ <tr class="top-aligned-row context-row">
216
+ <td class="context-item-name">coverage</td>
217
+ <td class="context-item-value">&nbsp;[RW]&nbsp;</td>
218
+ <td class="context-item-desc"></td>
219
+ </tr>
220
+ <tr class="top-aligned-row context-row">
221
+ <td class="context-item-name">pos</td>
222
+ <td class="context-item-value">&nbsp;[RW]&nbsp;</td>
223
+ <td class="context-item-desc"></td>
224
+ </tr>
225
+ <tr class="top-aligned-row context-row">
226
+ <td class="context-item-name">read_bases</td>
227
+ <td class="context-item-value">&nbsp;[RW]&nbsp;</td>
228
+ <td class="context-item-desc"></td>
229
+ </tr>
230
+ <tr class="top-aligned-row context-row">
231
+ <td class="context-item-name">read_quals</td>
232
+ <td class="context-item-value">&nbsp;[RW]&nbsp;</td>
233
+ <td class="context-item-desc"></td>
234
+ </tr>
235
+ <tr class="top-aligned-row context-row">
236
+ <td class="context-item-name">ref_base</td>
237
+ <td class="context-item-value">&nbsp;[RW]&nbsp;</td>
238
+ <td class="context-item-desc"></td>
239
+ </tr>
240
+ <tr class="top-aligned-row context-row">
241
+ <td class="context-item-name">ref_name</td>
242
+ <td class="context-item-value">&nbsp;[RW]&nbsp;</td>
243
+ <td class="context-item-desc"></td>
244
+ </tr>
245
+ <tr class="top-aligned-row context-row">
246
+ <td class="context-item-name">rms_mapq</td>
247
+ <td class="context-item-value">&nbsp;[RW]&nbsp;</td>
248
+ <td class="context-item-desc"></td>
249
+ </tr>
250
+ <tr class="top-aligned-row context-row">
251
+ <td class="context-item-name">snp_quality</td>
252
+ <td class="context-item-value">&nbsp;[RW]&nbsp;</td>
253
+ <td class="context-item-desc"></td>
254
+ </tr>
255
+ </table>
256
+ </div>
257
+ </div>
258
+
259
+
260
+
261
+ <!-- if method_list -->
262
+ <div id="methods">
263
+ <h3 class="section-bar">Public Class methods</h3>
264
+
265
+ <div id="method-M000001" class="method-detail">
266
+ <a name="M000001"></a>
267
+
268
+ <div class="method-heading">
269
+ <a href="Pileup.src/M000001.html" target="Code" class="method-signature"
270
+ onclick="popupCode('Pileup.src/M000001.html');return false;">
271
+ <span class="method-name">new</span><span class="method-args">(pile_up_line)</span>
272
+ </a>
273
+ </div>
274
+
275
+ <div class="method-description">
276
+ <p>
277
+ creates the <a href="Pileup.html">Pileup</a> object
278
+ </p>
279
+ <pre>
280
+ pile_up_line = &quot;seq2\t151\tG\tG\t36\t0\t99\t12\t...........A\t:9&lt;;;7=&lt;&lt;&lt;&lt;&lt;&quot;
281
+ pile = Pileup.new(pile_up_line)
282
+ </pre>
283
+ </div>
284
+ </div>
285
+
286
+ <h3 class="section-bar">Public Instance methods</h3>
287
+
288
+ <div id="method-M000005" class="method-detail">
289
+ <a name="M000005"></a>
290
+
291
+ <div class="method-heading">
292
+ <a href="Pileup.src/M000005.html" target="Code" class="method-signature"
293
+ onclick="popupCode('Pileup.src/M000005.html');return false;">
294
+ <span class="method-name">consensus</span><span class="method-args">()</span>
295
+ </a>
296
+ </div>
297
+
298
+ <div class="method-description">
299
+ <p>
300
+ returns the <a href="Pileup.html#M000005">consensus</a> (most frequent)
301
+ base from the pileup, if there are equally represented bases returns a
302
+ string containing all equally represented bases in alphabetical order
303
+ </p>
304
+ </div>
305
+ </div>
306
+
307
+ <div id="method-M000003" class="method-detail">
308
+ <a name="M000003"></a>
309
+
310
+ <div class="method-heading">
311
+ <a href="Pileup.src/M000003.html" target="Code" class="method-signature"
312
+ onclick="popupCode('Pileup.src/M000003.html');return false;">
313
+ <span class="method-name">non_ref_count</span><span class="method-args">()</span>
314
+ </a>
315
+ </div>
316
+
317
+ <div class="method-description">
318
+ <p>
319
+ returns the total non-reference bases in the reads at this position
320
+ </p>
321
+ </div>
322
+ </div>
323
+
324
+ <div id="method-M000002" class="method-detail">
325
+ <a name="M000002"></a>
326
+
327
+ <div class="method-heading">
328
+ <a href="Pileup.src/M000002.html" target="Code" class="method-signature"
329
+ onclick="popupCode('Pileup.src/M000002.html');return false;">
330
+ <span class="method-name">non_refs</span><span class="method-args">()</span>
331
+ </a>
332
+ </div>
333
+
334
+ <div class="method-description">
335
+ <p>
336
+ Calculate the total count of each non-reference nucleotide and return a
337
+ hash of all 4 nt counts, returns a hash
338
+ </p>
339
+ <pre>
340
+ pile.non_refs #{:A =&gt; 1, :C =&gt; 0, :T =&gt; 0, :G =&gt; 0}
341
+ </pre>
342
+ </div>
343
+ </div>
344
+
345
+ <div id="method-M000004" class="method-detail">
346
+ <a name="M000004"></a>
347
+
348
+ <div class="method-heading">
349
+ <a href="Pileup.src/M000004.html" target="Code" class="method-signature"
350
+ onclick="popupCode('Pileup.src/M000004.html');return false;">
351
+ <span class="method-name">ref_count</span><span class="method-args">()</span>
352
+ </a>
353
+ </div>
354
+
355
+ <div class="method-description">
356
+ <p>
357
+ returns the count of reference-bases in the reads at this position
358
+ </p>
359
+ </div>
360
+ </div>
361
+
362
+
363
+ </div>
364
+
365
+
366
+ </div>
367
+
368
+
369
+ <div id="validator-badges">
370
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
371
+ </div>
372
+
373
+ </body>
374
+ </html>