]> git.donarmstrong.com Git - biopieces.git/blobdiff - code_ruby/lib/maasha/sff.rb
add comments to ambiguity.rb
[biopieces.git] / code_ruby / lib / maasha / sff.rb
index c5243adb3c82ef02eae5e587111d4d9bf5920426..6b277e39b9c9b0e602c08ec386e56968e64df613 100644 (file)
@@ -195,7 +195,11 @@ class Read
 
   # Method that converts a Read object's data to a Biopiece record (a hash).
   def to_bp
-    coordinates_get
+    # Simulated SFF files may not have coordinates.
+    begin
+      coordinates_get
+    rescue
+    end
 
     hash = {}
 
@@ -206,7 +210,7 @@ class Read
     hash[:CLIP_QUAL_RIGHT]    = self.clip_qual_right    - 1
     hash[:CLIP_ADAPTOR_LEFT]  = self.clip_adapter_left  - 1
     hash[:CLIP_ADAPTOR_RIGHT] = self.clip_adaptor_right - 1
-    hash[:SCORES]             = self.quality_scores.map { |i| (i += 64).chr }.join ""
+    hash[:SCORES]             = self.quality_scores.map { |i| (i += Seq::SCORE_BASE).chr }.join ""
     hash[:X_POS]              = self.x_pos
     hash[:Y_POS]              = self.y_pos
 
@@ -215,7 +219,7 @@ class Read
 
   # Method that converts a Read object's data to a Seq object.
   def to_seq
-    Seq.new(self.name, self.bases, nil, self.quality_scores.map { |i| (i += 64).chr }.join "")
+    Seq.new(self.name, self.bases, nil, self.quality_scores.map { |i| (i += Seq::SCORE_BASE).chr }.join("") )
   end
 
   # Method that soft masks the sequence (i.e. lowercases sequence) according to
@@ -226,6 +230,8 @@ class Read
     right  = self.bases[self.clip_qual_right ... self.bases.length].downcase
 
     self.bases = left + middle + right
+
+    self
   end
 
   # Method that clips sequence (i.e. trims) according to
@@ -233,6 +239,8 @@ class Read
   def clip
     self.bases          = self.bases[self.clip_qual_left - 1 ... self.clip_qual_right]
     self.quality_scores = self.quality_scores[self.clip_qual_left - 1 ... self.clip_qual_right]
+
+    self
   end
 
   private