git://source.jalview.org
/
jalview.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
inprogress
[jalview.git]
/
forester
/
ruby
/
evoruby
/
lib
/
evo
/
tool
/
hmmscan_summary.rb
diff --git
a/forester/ruby/evoruby/lib/evo/tool/hmmscan_summary.rb
b/forester/ruby/evoruby/lib/evo/tool/hmmscan_summary.rb
index
db82d4a
..
55ba7a4
100644
(file)
--- a/
forester/ruby/evoruby/lib/evo/tool/hmmscan_summary.rb
+++ b/
forester/ruby/evoruby/lib/evo/tool/hmmscan_summary.rb
@@
-29,6
+29,7
@@
module Evoruby
WWW = "www.phylosoft.org"
DELIMITER_OPTION = "d"
WWW = "www.phylosoft.org"
DELIMITER_OPTION = "d"
+ SPECIES_OPTION = "s"
I_E_VALUE_THRESHOLD_OPTION = "ie"
FS_E_VALUE_THRESHOLD_OPTION = "pe"
HMM_FOR_PROTEIN_OUTPUT = "m"
I_E_VALUE_THRESHOLD_OPTION = "ie"
FS_E_VALUE_THRESHOLD_OPTION = "pe"
HMM_FOR_PROTEIN_OUTPUT = "m"
@@
-84,6
+85,7
@@
module Evoruby
allowed_opts.push( PARSE_OUT_DESCRIPITION_OPTION )
allowed_opts.push( HMM_FOR_PROTEIN_OUTPUT )
allowed_opts.push( UNIPROT )
allowed_opts.push( PARSE_OUT_DESCRIPITION_OPTION )
allowed_opts.push( HMM_FOR_PROTEIN_OUTPUT )
allowed_opts.push( UNIPROT )
+ allowed_opts.push( SPECIES_OPTION )
disallowed = cla.validate_allowed_options_as_str( allowed_opts )
if ( disallowed.length > 0 )
disallowed = cla.validate_allowed_options_as_str( allowed_opts )
if ( disallowed.length > 0 )
@@
-116,6
+118,8
@@
module Evoruby
end
end
end
end
+
+
fs_e_value_threshold = -1.0
if ( cla.is_option_set?( FS_E_VALUE_THRESHOLD_OPTION ) )
begin
fs_e_value_threshold = -1.0
if ( cla.is_option_set?( FS_E_VALUE_THRESHOLD_OPTION ) )
begin
@@
-146,6
+150,15
@@
module Evoruby
end
end
end
end
+ species = "HUMAN"
+ if ( cla.is_option_set?( SPECIES_OPTION ) )
+ begin
+ species = cla.get_option_value( SPECIES_OPTION )
+ rescue ArgumentError => e
+ Util.fatal_error( PRG_NAME, "error: " + e.to_s, STDOUT )
+ end
+ end
+
ignore_dufs = false
if ( cla.is_option_set?( IGNORE_DUF_OPTION ) )
ignore_dufs = true
ignore_dufs = false
if ( cla.is_option_set?( IGNORE_DUF_OPTION ) )
ignore_dufs = true
@@
-159,6
+172,7
@@
module Evoruby
puts()
puts( "hmmpfam outputfile : " + inpath )
puts( "outputfile : " + outpath )
puts()
puts( "hmmpfam outputfile : " + inpath )
puts( "outputfile : " + outpath )
+ puts( "species : " + species )
if ( i_e_value_threshold >= 0.0 )
puts( "i-E-value threshold : " + i_e_value_threshold.to_s )
else
if ( i_e_value_threshold >= 0.0 )
puts( "i-E-value threshold : " + i_e_value_threshold.to_s )
else
@@
-201,7
+215,8
@@
module Evoruby
parse_descriptions,
fs_e_value_threshold,
hmm_for_protein_output,
parse_descriptions,
fs_e_value_threshold,
hmm_for_protein_output,
- uniprot )
+ uniprot,
+ species )
rescue IOError => e
Util.fatal_error( PRG_NAME, "error: " + e.to_s, STDOUT )
end
rescue IOError => e
Util.fatal_error( PRG_NAME, "error: " + e.to_s, STDOUT )
end
@@
-230,7
+245,8
@@
module Evoruby
get_descriptions,
fs_e_value_threshold,
hmm_for_protein_output,
get_descriptions,
fs_e_value_threshold,
hmm_for_protein_output,
- uniprot )
+ uniprot,
+ species )
@@
-288,7
+304,8
@@
module Evoruby
fs_e_value_threshold,
hmm_for_protein_output,
i_e_value_threshold,
fs_e_value_threshold,
hmm_for_protein_output,
i_e_value_threshold,
- true )
+ false,
+ species )
end
hmmscan_results_per_protein.clear
end
end
hmmscan_results_per_protein.clear
end
@@
-303,12
+320,14
@@
module Evoruby
end
end
end
end
end
end
+
if !hmm_for_protein_output.empty? && !hmmscan_results_per_protein.empty?
process_hmmscan_results_per_protein( hmmscan_results_per_protein,
fs_e_value_threshold,
hmm_for_protein_output,
i_e_value_threshold,
if !hmm_for_protein_output.empty? && !hmmscan_results_per_protein.empty?
process_hmmscan_results_per_protein( hmmscan_results_per_protein,
fs_e_value_threshold,
hmm_for_protein_output,
i_e_value_threshold,
- true )
+ false,
+ species )
end
outfile.flush()
end
outfile.flush()
@@
-339,7
+358,8
@@
module Evoruby
fs_e_value_threshold,
hmm_for_protein_output,
i_e_value_threshold,
fs_e_value_threshold,
hmm_for_protein_output,
i_e_value_threshold,
- uniprotkb )
+ uniprotkb,
+ species )
dc = 0
# filter according to i-Evalue threshold
dc = 0
# filter according to i-Evalue threshold
@@
-347,12
+367,15
@@
module Evoruby
hmmscan_results_per_protein_filtered = []
hmmscan_results_per_protein.each do | r |
hmmscan_results_per_protein_filtered = []
hmmscan_results_per_protein.each do | r |
+
+
+
if r.model == hmm_for_protein_output
if r.model == hmm_for_protein_output
- if r.fs_e_value > fs_e_value_threshold
+ if i_e_value_threshold >= 0.0 && r.fs_e_value > fs_e_value_threshold
return
end
end
return
end
end
- if r.i_e_value <= i_e_value_threshold
+ if i_e_value_threshold < 0 || r.i_e_value <= i_e_value_threshold
hmmscan_results_per_protein_filtered << r
if r.model == hmm_for_protein_output
dc += 1
hmmscan_results_per_protein_filtered << r
if r.model == hmm_for_protein_output
dc += 1
@@
-376,7
+399,7
@@
module Evoruby
s = ""
s << own.query + "\t"
s = ""
s << own.query + "\t"
- s << "HUMAN" + "\t"
+ s << species + "\t"
s << own.fs_e_value.to_s + "\t"
s << own.qlen.to_s + "\t"
s << dc.to_s + "\t"
s << own.fs_e_value.to_s + "\t"
s << own.qlen.to_s + "\t"
s << dc.to_s + "\t"
@@
-385,37
+408,17
@@
module Evoruby
s << r.model + " "
end
s << "\t"
s << r.model + " "
end
s << "\t"
- e = UniprotKB::get_entry_by_id( process_id( own.query ) )
- # if e != nil && e.de != nil
- # e.de.each do |i|
- #
- # end
- # else
- # s << "-"
- # end
- s << "\t"
- if e != nil && e.dr != nil
- e.dr.each do | dr |
- if dr != nil
- if dr =~ /PDB;\s+([A-Z0-9]{4});/
- s << $1
- end
- end
- end
- else
- s << "-"
- end
- s << "\t"
+ #e = UniprotKB::get_entry_by_id( process_id( own.query ) )
+ #if e != nil
+ # s << uniprot_annotation( e )
+ # # s << "\uniprot_annotationt"
+ #end
-
-
-
- s << "\t"
overview = make_overview( hmmscan_results_per_protein_filtered, hmm_for_protein_output )
overview = make_overview( hmmscan_results_per_protein_filtered, hmm_for_protein_output )
- s << overview + "\t"
+ s << overview + "\t"
s << calc_linkers( hmmscan_results_per_protein_filtered, hmm_for_protein_output ) + "\t"
s << calc_linkers( hmmscan_results_per_protein_filtered, hmm_for_protein_output ) + "\t"
@@
-439,6
+442,18
@@
module Evoruby
puts s
end
puts s
end
+ def uniprot_annotation( e )
+ s = ""
+ pdb_ids = e.get_pdb_ids
+ if !pdb_ids.empty?
+ pdb_ids.each do | pdb |
+ s << pdb << ", "
+ end
+ else
+ s << "-"
+ end
+ s
+ end
def calc_linkers( hmmscan_results_per_protein_filtered, hmm_for_protein_output )
linkers = ""
def calc_linkers( hmmscan_results_per_protein_filtered, hmm_for_protein_output )
linkers = ""