]> git.donarmstrong.com Git - function2gene.git/blobdiff - bin/function2gene
handle \r properly
[function2gene.git] / bin / function2gene
index f3bd3ddfd7364a89afac2c4d391e43b3787e8b8d..b6810e2be8c8ed4eab05cedd73ca50b99e3d6719 100755 (executable)
@@ -192,6 +192,7 @@ if (@{$options{keywords}}) {
               next if /^\s*[#;]/;
               next unless /\w+/;
               chomp;
+              s/\r$//;
               my ($keyword,$weight) = split /\t/, $_;
               $weight = 1 if not defined $weight;
               $state{keyword_weight}{$keyword} = $weight;
@@ -339,13 +340,18 @@ if ($actions{combine}) {
                           } keys %{$state{done_keywords}{parse}};
 
      # create temporary file to store keyword weights
-
-     write_command_to_file('combined_results.txt',
-                          "$base_dir/combine_results",
-                          '--keywords',
-                          
-                          @parsed_results,
-                         );
+     my $file = IO::File->new('combined_keywords.txt','w') or
+         die "Unable to open combined_keywords.txt for writing: $!";
+     for my $keyword (keys %{$state{keyword_weight}}) {
+         print {$file} "$keyword\t$state{keyword_weight}{$keyword}\n";
+     }
+     system("$base_dir/combine_results",
+           '--keywords','combined_keywords.txt',
+           '--results','combined_results.txt',
+           '--results-table','combined_results_table.txt',
+           @parsed_results,
+          ) == 0
+               or die "combine_results failed with ".($?>>8);
      for my $result (@parsed_results) {
          $result =~ s/^parsed_results_//;
          $result =~ s/\.txt$//;
@@ -353,10 +359,6 @@ if ($actions{combine}) {
          $state{done_keywords}{combined}{$db}{$keyword} = 1;
      }
      save_state(\%state);
-     write_command_to_file('combined_results_table.txt',
-                          "$base_dir/results_to_table",
-                          'combined_results.txt',
-                         );
      ADVISE("Finished; results in $options{results}/combined_results.txt");
 }
 else {