X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=bin%2Ffunction2gene;h=66b02bb51ca6e48ed400a5e40abc3b7f325761fb;hb=b7fa49b314e0844bbca5ed06cbe5f7e6bfa651c4;hp=f3bd3ddfd7364a89afac2c4d391e43b3787e8b8d;hpb=364cd5a25c2bb985b587a6b0b5d2e23de18d9c10;p=function2gene.git diff --git a/bin/function2gene b/bin/function2gene index f3bd3dd..66b02bb 100755 --- a/bin/function2gene +++ b/bin/function2gene @@ -130,7 +130,7 @@ $ERRORS.="restart-at must be one of get, parse or combine\n" if $ERRORS.="unknown database(s)" if @{$options{databases}} and - grep {$_ !~ /^(?:ncbi|genecard|harvester)$/i} @{$options{databases}}; + grep {$_ !~ /^(?:ncbi|genecard|harvester|ensembl|uniprot)$/i} @{$options{databases}}; if (not length $options{results}) { $ERRORS.="results directory not specified"; @@ -142,7 +142,7 @@ elsif (not -d $options{results} or not -w $options{results}) { pod2usage($ERRORS) if length $ERRORS; if (not @{$options{databases}}) { - $options{databases} = [qw(ncbi genecard harvester)] + $options{databases} = [qw(ncbi genecard harvester ensembl uniprot)] } $DEBUG = $options{debug}; @@ -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 {