]> git.donarmstrong.com Git - biopieces.git/commitdiff
added masks to align.rb
authormartinahansen <martinahansen@74ccb610-7750-0410-82ae-013aeee3265d>
Fri, 3 Feb 2012 07:09:49 +0000 (07:09 +0000)
committermartinahansen <martinahansen@74ccb610-7750-0410-82ae-013aeee3265d>
Fri, 3 Feb 2012 07:09:49 +0000 (07:09 +0000)
git-svn-id: http://biopieces.googlecode.com/svn/trunk@1739 74ccb610-7750-0410-82ae-013aeee3265d

code_ruby/lib/maasha/align.rb

index 85c3490700fe8b97c14f72743fb54798ce4dcfd7..f7f59f6b265f911f833a740ad4d4a782cdfc3a37 100755 (executable)
@@ -177,26 +177,31 @@ class Align
       @entries = entries
       @cols    = entries.first.length
       @rows    = entries.size
+
+      @has_qual = entries.first.qual.nil? ? false : true
+
       @na_seq  = NArray.byte(@cols, @rows)
-      @na_qual = NArray.byte(@cols, @rows)
+      @na_qual = NArray.byte(@cols, @rows) if @has_qual
 
       na_add_entries
 
-      m1 = mask_high_qual
-      m2 = mask_conserved_columns
-      m3 = mask_conserved_residues
+      if @has_qual
+        m1 = mask_high_qual
+        m2 = mask_conserved_columns
+        m3 = mask_conserved_residues
 
-      @na_seq  *= m3
-      @na_qual *= m3
+        @na_seq  *= m3
+        @na_qual *= m3
 
-      @na_seq  *= (m1 | m2)
-      @na_qual *= (m1 | m2)
+        @na_seq  *= (m1 | m2)
+        @na_qual *= (m1 | m2)
+      end
     end
 
     def to_seq
       new_seq      = Seq.new
       new_seq.seq  = consensus_seq
-      new_seq.qual = consensus_qual
+      new_seq.qual = consensus_qual if @has_qual
       new_seq.type = "dna"
 
       new_seq
@@ -207,7 +212,7 @@ class Align
     def na_add_entries
       @entries.each_with_index do |entry, i|
         @na_seq[true, i]  = NArray.to_na(entry.seq.downcase.tr(TR_NUC, TR_HEX), "byte")
-        @na_qual[true, i] = NArray.to_na(entry.qual, "byte") - SCORE_ILLUMINA
+        @na_qual[true, i] = NArray.to_na(entry.qual, "byte") - SCORE_ILLUMINA if @has_qual
       end
     end