inprogress
authorcmzmasek@gmail.com <cmzmasek@gmail.com@ca865154-3058-d1c3-3e42-d8f55a55bdbd>
Wed, 16 Jan 2013 22:27:30 +0000 (22:27 +0000)
committercmzmasek@gmail.com <cmzmasek@gmail.com@ca865154-3058-d1c3-3e42-d8f55a55bdbd>
Wed, 16 Jan 2013 22:27:30 +0000 (22:27 +0000)
forester/ruby/evoruby/exe/select_same_gn.rb

index e3d5132..97887a9 100755 (executable)
@@ -25,6 +25,7 @@ module Evoruby
   end
 
   all_names = Set.new
+  all_seqs = Set.new
   gn_to_seqs = Hash.new
   unique_genes_msa = Msa.new
   longest_non_unique_genes_msa = Msa.new
@@ -38,11 +39,18 @@ module Evoruby
     seq = msa.get_sequence( i )
     name = seq.get_name
     if all_names.include?( name )
-      puts "error: " + name + " is not unique"
+      puts "error: " + name + " is not unique (#" + i + ")"
+      exit
     else
       all_names << name
     end
-
+    mol_seq = seq.get_sequence_as_string.upcase
+    if all_seqs.include?( mol_seq )
+      puts "error: sequence of " + name + " is not unique (#" + i + ")"
+      exit
+    else
+      all_seqs << mol_seq
+    end
 
     if fragment_re.match( name )
       puts "ignored because fragment: " + name