X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=forester%2Fruby%2Fevoruby%2Flib%2Fevo%2Ftool%2Fhmmscan_analysis.rb;h=0aaab8465f38f347167cba6c420d9cb711e96efe;hb=af5b37d5113266b2e849729ff1c0b5ef94e628f9;hp=a02a775f39b48c9c132f06817974fec9570b316e;hpb=8192d1af80c2f7dd166ea6c3bfb3eaa749d09f73;p=jalview.git diff --git a/forester/ruby/evoruby/lib/evo/tool/hmmscan_analysis.rb b/forester/ruby/evoruby/lib/evo/tool/hmmscan_analysis.rb index a02a775..0aaab84 100644 --- a/forester/ruby/evoruby/lib/evo/tool/hmmscan_analysis.rb +++ b/forester/ruby/evoruby/lib/evo/tool/hmmscan_analysis.rb @@ -309,12 +309,13 @@ module Evoruby end species = nil + ll = nil if msa != nil seq = get_sequence( query, msa ) species = get_species( seq ) raise StandardError, "could not get species" if species == nil || species.empty? if x_models != nil && x_models.length > 0 - extract_linkers( hmmscan_results_per_protein_filtered, x_models, seq, extraction_output_file ) + ll = extract_linker( hmmscan_results_per_protein_filtered, x_models, seq, extraction_output_file ) end end @@ -331,6 +332,12 @@ module Evoruby s << r.model + " " end s << "\t" + if msa != nil + if ll != nil + s << ll.to_s + end + s << "\t" + end s << make_overview_da( hmmscan_results_per_protein_filtered ) s << "\t" s << make_detailed_da( hmmscan_results_per_protein_filtered, qlen ) @@ -339,17 +346,19 @@ module Evoruby end - def extract_linkers( hmmscan_results_per_protein_filtered, x_models, seq, extraction_output_file ) + def extract_linker( hmmscan_results_per_protein_filtered, x_models, seq, extraction_output_file ) raise StandardError, "extraction output file is nil" if extraction_output_file == nil prev_r = nil hmmscan_results_per_protein_filtered.each do | r | if prev_r != nil if ( x_models.length == 2 && prev_r.model == x_models[ 0 ] && r.model == x_models[ 1 ] ) - extract_linker( prev_r.env_to, r.env_from, seq, extraction_output_file ) + ll = output_linker( prev_r.env_to, r.env_from, seq, extraction_output_file ) + return ll end end prev_r = r end + return nil end @@ -377,11 +386,13 @@ module Evoruby end - def extract_linker( first, last , seq, output_file ) + def output_linker( first, last , seq, output_file ) if ( last - first >= 1 ) output_file.print( ">" + seq.get_name + " [" + first.to_s + "-" + last.to_s + "]" + "\n") output_file.print( seq.get_subsequence( first - 1 , last - 1 ).get_sequence_as_string + "\n" ) end + last - first + 1 + end