]> git.donarmstrong.com Git - biopieces.git/commitdiff
added zip reading to read_fasta
authormartinahansen <martinahansen@74ccb610-7750-0410-82ae-013aeee3265d>
Wed, 18 Aug 2010 19:48:50 +0000 (19:48 +0000)
committermartinahansen <martinahansen@74ccb610-7750-0410-82ae-013aeee3265d>
Wed, 18 Aug 2010 19:48:50 +0000 (19:48 +0000)
git-svn-id: http://biopieces.googlecode.com/svn/trunk@1066 74ccb610-7750-0410-82ae-013aeee3265d

code_ruby/Maasha/lib/doc/classes/Fasta.html
code_ruby/Maasha/lib/doc/created.rid
code_ruby/Maasha/lib/doc/files/fasta_rb.html
code_ruby/Maasha/lib/doc/fr_class_index.html
code_ruby/Maasha/lib/doc/fr_file_index.html
code_ruby/Maasha/lib/doc/fr_method_index.html
code_ruby/Maasha/lib/doc/index.html
code_ruby/Maasha/lib/fasta.rb

index 8a9c706ad9c4d8047eb2f6e5b965675e7eecf271..ab36f569eefa4fe6f32559ac71dede8d2632bf2d 100644 (file)
 
       <div class="name-list">
 
-        <a href="#M000033">each</a>&nbsp;&nbsp;
+        <a href="#M000003">close</a>&nbsp;&nbsp;
 
-        <a href="#M000034">get_entry</a>&nbsp;&nbsp;
+        <a href="#M000004">each</a>&nbsp;&nbsp;
 
-        <a href="#M000032">new</a>&nbsp;&nbsp;
+        <a href="#M000005">get_entry</a>&nbsp;&nbsp;
 
-        <a href="#M000031">open</a>&nbsp;&nbsp;
+        <a href="#M000002">new</a>&nbsp;&nbsp;
+
+        <a href="#M000001">open</a>&nbsp;&nbsp;
 
       </div>
     </div>
       <h3 class="section-bar">Public Class methods</h3>
 
 
-      <div id="method-M000032" class="method-detail">
-        <a name="M000032"></a>
+      <div id="method-M000002" class="method-detail">
+        <a name="M000002"></a>
 
         <div class="method-heading">
 
-          <a href="Fasta.src/M000032.html" target="Code" class="method-signature"
-            onclick="popupCode('Fasta.src/M000032.html');return false;">
+          <a href="Fasta.src/M000002.html" target="Code" class="method-signature"
+            onclick="popupCode('Fasta.src/M000002.html');return false;">
 
           <span class="method-name">new</span><span class="method-args">(io, type=nil)</span>
 
       </div>
 
 
-      <div id="method-M000031" class="method-detail">
-        <a name="M000031"></a>
+      <div id="method-M000001" class="method-detail">
+        <a name="M000001"></a>
 
         <div class="method-heading">
 
-          <a href="Fasta.src/M000031.html" target="Code" class="method-signature"
-            onclick="popupCode('Fasta.src/M000031.html');return false;">
+          <a href="Fasta.src/M000001.html" target="Code" class="method-signature"
+            onclick="popupCode('Fasta.src/M000001.html');return false;">
 
-          <span class="method-name">open</span><span class="method-args">(*args) {|fasta| ...}</span>
+          <span class="method-name">open</span><span class="method-args">(*args) {|ios| ...}</span>
 
           </a>
 
         <div class="method-description">
 
           <p>
-Class method allowing open to be used on files. See File.open.
+Class method allowing open to be used on (zipped) files. See File.open.
 </p>
 
         </div>
@@ -175,13 +177,37 @@ Class method allowing open to be used on files. See File.open.
       <h3 class="section-bar">Public Instance methods</h3>
 
 
-      <div id="method-M000033" class="method-detail">
-        <a name="M000033"></a>
+      <div id="method-M000003" class="method-detail">
+        <a name="M000003"></a>
+
+        <div class="method-heading">
+
+          <a href="Fasta.src/M000003.html" target="Code" class="method-signature"
+            onclick="popupCode('Fasta.src/M000003.html');return false;">
+
+          <span class="method-name">close</span><span class="method-args">()</span>
+
+          </a>
+
+        </div>
+
+        <div class="method-description">
+
+          <p>
+Method to close ios.
+</p>
+
+        </div>
+      </div>
+
+
+      <div id="method-M000004" class="method-detail">
+        <a name="M000004"></a>
 
         <div class="method-heading">
 
-          <a href="Fasta.src/M000033.html" target="Code" class="method-signature"
-            onclick="popupCode('Fasta.src/M000033.html');return false;">
+          <a href="Fasta.src/M000004.html" target="Code" class="method-signature"
+            onclick="popupCode('Fasta.src/M000004.html');return false;">
 
           <span class="method-name">each</span><span class="method-args">() {|entry| ...}</span>
 
@@ -199,13 +225,13 @@ Iterator method for parsing FASTA enries.
       </div>
 
 
-      <div id="method-M000034" class="method-detail">
-        <a name="M000034"></a>
+      <div id="method-M000005" class="method-detail">
+        <a name="M000005"></a>
 
         <div class="method-heading">
 
-          <a href="Fasta.src/M000034.html" target="Code" class="method-signature"
-            onclick="popupCode('Fasta.src/M000034.html');return false;">
+          <a href="Fasta.src/M000005.html" target="Code" class="method-signature"
+            onclick="popupCode('Fasta.src/M000005.html');return false;">
 
           <span class="method-name">get_entry</span><span class="method-args">()</span>
 
@@ -216,9 +242,8 @@ Iterator method for parsing FASTA enries.
         <div class="method-description">
 
           <p>
-Method to get the next FASTA entry form an ios and return this as a <a
-href="Seq.html">Seq</a> object. If no entry is found or eof then nil is
-returned.
+Method to get the next FASTA entry form an ios and return this as a Seq
+object. If no entry is found or eof then nil is returned.
 </p>
 
         </div>
index 90dc268f57c2eb1da2980d72dafa5b1f83fcbfc7..120565f76fe02050550e7c4030e00d8476d1fcb8 100644 (file)
@@ -1 +1 @@
-Tue, 17 Aug 2010 15:43:49 +0200
+Wed, 18 Aug 2010 21:48:07 +0200
index 6f2167f3d452bf3e77cf002b9b58add7d99e41c6..21a9b007e366e01aa5e0574b8c7cfcfd332b029d 100644 (file)
@@ -53,7 +53,7 @@
     </tr>
     <tr class="top-aligned-row">
       <td><strong>Last Update:</strong></td>
-      <td>2010-08-17 15:43:01 +0200</td>
+      <td>2010-08-18 21:33:24 +0200</td>
     </tr>
     </table>
   </div>
@@ -78,7 +78,9 @@ any later version.
 
       <div class="name-list">
 
-        <a href="seq_rb.html">seq</a>&nbsp;&nbsp;
+        seq&nbsp;&nbsp;
+
+        zlib&nbsp;&nbsp;
 
       </div>
     </div>
index 7fc7d713f3ff98a3dead97e6bcb2c7ab1f08a4b0..25576829568127db34c034a67b6335caa9986411 100644 (file)
   <h1 class="section-bar">Classes</h1>
   <div id="index-entries">
 
-    <a href="classes/Biopieces.html">Biopieces</a><br />
-
-    <a href="classes/CastError.html">CastError</a><br />
-
-    <a href="classes/Casts.html">Casts</a><br />
-
     <a href="classes/Fasta.html">Fasta</a><br />
 
     <a href="classes/FastaError.html">FastaError</a><br />
 
-    <a href="classes/OptionHandler.html">OptionHandler</a><br />
-
-    <a href="classes/Seq.html">Seq</a><br />
-
-    <a href="classes/SeqError.html">SeqError</a><br />
-
-    <a href="classes/Status.html">Status</a><br />
-
-    <a href="classes/Stream.html">Stream</a><br />
-
   </div>
 </div>
 </body>
index fd47302cbb529791512ea06d20eb6a09f02e74d0..83e8a0418fff97624bf06b7469f40843a546e33b 100644 (file)
   <h1 class="section-bar">Files</h1>
   <div id="index-entries">
 
-    <a href="files/biopieces_rb.html">biopieces.rb</a><br />
-
     <a href="files/fasta_rb.html">fasta.rb</a><br />
 
-    <a href="files/seq_rb.html">seq.rb</a><br />
-
   </div>
 </div>
 </body>
index 5a0e1e97a28d71e6f6ddfa462db2654bad6ebab7..007edaa12264cdefc40f0b5d5d9c01b5ed8bf8b4 100644 (file)
   <h1 class="section-bar">Methods</h1>
   <div id="index-entries">
 
-    <a href="classes/Seq.html#M000043">complement (Seq)</a><br />
+    <a href="classes/Fasta.html#M000003">close (Fasta)</a><br />
 
-    <a href="classes/Status.html#M000029">delete (Status)</a><br />
+    <a href="classes/Fasta.html#M000004">each (Fasta)</a><br />
 
-    <a href="classes/Fasta.html#M000033">each (Fasta)</a><br />
+    <a href="classes/Fasta.html#M000005">get_entry (Fasta)</a><br />
 
-    <a href="classes/Biopieces.html#M000004">each (Biopieces)</a><br />
+    <a href="classes/Fasta.html#M000002">new (Fasta)</a><br />
 
-    <a href="classes/Biopieces.html#M000003">each_record (Biopieces)</a><br />
-
-    <a href="classes/Seq.html#M000044">generate (Seq)</a><br />
-
-    <a href="classes/Fasta.html#M000034">get_entry (Fasta)</a><br />
-
-    <a href="classes/Status.html#M000027">get_tmpdir (Status)</a><br />
-
-    <a href="classes/Seq.html#M000037">is_dna (Seq)</a><br />
-
-    <a href="classes/Seq.html#M000039">is_protein (Seq)</a><br />
-
-    <a href="classes/Seq.html#M000038">is_rna (Seq)</a><br />
-
-    <a href="classes/Seq.html#M000036">len (Seq)</a><br />
-
-    <a href="classes/Seq.html#M000035">length (Seq)</a><br />
-
-    <a href="classes/Status.html#M000028">log (Status)</a><br />
-
-    <a href="classes/Biopieces.html#M000006">mktmpdir (Biopieces)</a><br />
-
-    <a href="classes/OptionHandler.html#M000008">new (OptionHandler)</a><br />
-
-    <a href="classes/Casts.html#M000007">new (Casts)</a><br />
-
-    <a href="classes/Fasta.html#M000032">new (Fasta)</a><br />
-
-    <a href="classes/Biopieces.html#M000001">new (Biopieces)</a><br />
-
-    <a href="classes/Stream.html#M000030">open (Stream)</a><br />
-
-    <a href="classes/Fasta.html#M000031">open (Fasta)</a><br />
-
-    <a href="classes/OptionHandler.html#M000016">options_check (OptionHandler)</a><br />
-
-    <a href="classes/OptionHandler.html#M000023">options_check_allowed (OptionHandler)</a><br />
-
-    <a href="classes/OptionHandler.html#M000022">options_check_dir (OptionHandler)</a><br />
-
-    <a href="classes/OptionHandler.html#M000024">options_check_disallowed (OptionHandler)</a><br />
-
-    <a href="classes/OptionHandler.html#M000020">options_check_file (OptionHandler)</a><br />
-
-    <a href="classes/OptionHandler.html#M000021">options_check_files (OptionHandler)</a><br />
-
-    <a href="classes/OptionHandler.html#M000018">options_check_int (OptionHandler)</a><br />
-
-    <a href="classes/OptionHandler.html#M000017">options_check_mandatory (OptionHandler)</a><br />
-
-    <a href="classes/OptionHandler.html#M000019">options_check_uint (OptionHandler)</a><br />
-
-    <a href="classes/OptionHandler.html#M000014">options_default (OptionHandler)</a><br />
-
-    <a href="classes/OptionHandler.html#M000015">options_glob (OptionHandler)</a><br />
-
-    <a href="classes/OptionHandler.html#M000009">options_parse (OptionHandler)</a><br />
-
-    <a href="classes/Biopieces.html#M000002">parse (Biopieces)</a><br />
-
-    <a href="classes/OptionHandler.html#M000013">print_usage_and_exit (OptionHandler)</a><br />
-
-    <a href="classes/OptionHandler.html#M000011">print_usage_full? (OptionHandler)</a><br />
-
-    <a href="classes/OptionHandler.html#M000012">print_usage_short? (OptionHandler)</a><br />
-
-    <a href="classes/Biopieces.html#M000005">puts (Biopieces)</a><br />
-
-    <a href="classes/Status.html#M000025">set (Status)</a><br />
-
-    <a href="classes/Status.html#M000026">set_tmpdir (Status)</a><br />
-
-    <a href="classes/Seq.html#M000042">to_bp (Seq)</a><br />
-
-    <a href="classes/Seq.html#M000041">to_dna (Seq)</a><br />
-
-    <a href="classes/Seq.html#M000040">to_rna (Seq)</a><br />
-
-    <a href="classes/OptionHandler.html#M000010">wiki_path (OptionHandler)</a><br />
+    <a href="classes/Fasta.html#M000001">open (Fasta)</a><br />
 
   </div>
 </div>
index b40cde714075b4104812e93ed69fdf641ca11856..b25b07df1394ad8614f41b674b39bcadcfba5b25 100644 (file)
@@ -16,6 +16,6 @@
         <frame src="fr_class_index.html"  name="Classes" />
         <frame src="fr_method_index.html" name="Methods" />
     </frameset>
-    <frame src="files/biopieces_rb.html" name="docwin" />
+    <frame src="files/fasta_rb.html" name="docwin" />
 </frameset>
 </html>
index b0db2c8dd9bedf417f47860e782ce3001c3f6744..31c7529e199d00c3e32f095442a810c29ffdbfd5 100644 (file)
@@ -22,7 +22,6 @@
 
 require 'seq'
 require 'zlib'
-require 'pp'
 
 # Error class for all exceptions to do with FASTA.
 class FastaError < StandardError; end
@@ -31,28 +30,18 @@ class Fasta
   include Enumerable
 
   # Class method allowing open to be used on (zipped) files.
-  # See File.open and Zlib::GzipReader.
+  # See File.open.
   def self.open(*args)
-    ios = File.open(*args)
-
-    begin
-      ios = Zlib::GzipReader.new(ios)
-    rescue
-      ios.rewind
-    end
-
-    fasta = self.new(ios)
+    ios = self.zopen(*args)
 
     if block_given?
       begin
-        yield fasta
+        yield ios
       ensure
         ios.close
       end
-
-      return true
     else
-      return fasta
+      return ios
     end
   end
 
@@ -61,6 +50,11 @@ class Fasta
     @type = type
   end
 
+  # Method to close ios.
+  def close
+    @io.close
+  end
+
   # Iterator method for parsing FASTA enries.
   def each
     while entry = get_entry do
@@ -90,6 +84,22 @@ class Fasta
 
     entry
   end
+
+  private
+
+  # Helper method to return an ios to a file that may be zipped in which case
+  # the ios is unzipped on the fly. See File.open.
+  def self.zopen(*args)
+    ios = File.open(*args)
+
+    begin
+      ios = Zlib::GzipReader.new(ios)
+    rescue
+      ios.rewind
+    end
+
+    self.new(ios)
+  end
 end