- sequence = $4
- number = $10.to_i
- out_of = $11.to_i
- env_from = $20.to_i
- env_to = $21.to_i
- i_e_value = $13.to_f
-
- if ( ( ( e_value_threshold < 0.0 ) || ( i_e_value <= e_value_threshold ) ) &&
- ( ( length_threshold <= 0 ) || ( env_to - env_from + 1 ) >= length_threshold.to_f ) )
- hmmscan_datas << HmmsearchData.new( sequence, number, out_of, env_from, env_to, i_e_value )
- if ( number > max_domain_copy_number_per_protein )
- max_domain_copy_number_sequence = sequence
- max_domain_copy_number_per_protein = number
- end
- else # failed
- print( domain_fail_counter.to_s + ": " + sequence.to_s + " did not meet threshold(s)" )
- log << domain_fail_counter.to_s + ": " + sequence.to_s + " did not meet threshold(s)"
- if ( ( e_value_threshold.to_f >= 0.0 ) && ( i_e_value > e_value_threshold ) )
- print( " iE=" + i_e_value.to_s )
- log << " iE=" + i_e_value.to_s
- end
- if ( ( length_threshold.to_f > 0 ) && ( env_to - env_from + 1 ) < length_threshold.to_f )
- le = env_to - env_from + 1
- print( " l=" + le.to_s )
- log << " l=" + le.to_s
- end
- print( ld )
- log << ld
- domain_fail_counter += 1
- end
+ length = 1 + env_to - env_from
+
+ overall_target_length_sum += length
+ if length > overall_target_length_max
+ overall_target_length_max = length
+ end
+ if length < overall_target_length_min
+ overall_target_length_min = length
+ end
+
+ if i_e_value > overall_target_ie_max
+ overall_target_ie_max = i_e_value
+ end
+ if i_e_value < overall_target_ie_min
+ overall_target_ie_min = i_e_value
+ end
+
+ if ( ( ( e_value_threshold < 0.0 ) || ( i_e_value <= e_value_threshold ) ) &&
+ ( ( length_threshold <= 0 ) || ( length >= length_threshold.to_f ) ) )
+ hmmscan_datas << HmmsearchData.new( sequence, number, out_of, env_from, env_to, i_e_value )
+ passing_target_length_sum += length
+ passing_domains_per_protein += 1
+ if length > passing_target_length_max
+ passing_target_length_max = length
+ end
+ if length < passing_target_length_min
+ passing_target_length_min = length
+ end
+ if i_e_value > passing_target_ie_max
+ passing_target_ie_max = i_e_value
+ end
+ if i_e_value < passing_target_ie_min
+ passing_target_ie_min = i_e_value
+ end
+ if ( passing_domains_per_protein > max_domain_copy_number_per_protein )
+ max_domain_copy_number_sequence = sequence
+ max_domain_copy_number_per_protein = passing_domains_per_protein
+ end
+ else # no pass
+ log << domain_fail_counter.to_s + ": " + sequence.to_s + " fails threshold(s)"
+ if ( ( e_value_threshold.to_f >= 0.0 ) && ( i_e_value > e_value_threshold ) )
+ log << " iE=" + i_e_value.to_s
+ end
+ if ( ( length_threshold.to_f > 0 ) && ( env_to - env_from + 1 ) < length_threshold.to_f )
+ le = env_to - env_from + 1
+ log << " l=" + le.to_s
+ end
+ log << ld
+ domain_fail_counter += 1
+ end