- else
- 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( Constants::LINE_DELIMITER )
- log << Constants::LINE_DELIMITER
- domain_fail_counter += 1
- count_species( sequence, failed_species_counts )
- if failed_seqs.find_by_name_start( sequence, true ).length < 1
- add_sequence( sequence, in_msa, failed_seqs )
- proteins_with_failing_domains += 1
+
+ if min_linker
+ if ( ( e_value_threshold < 0.0 ) || ( prev_i_e_value <= e_value_threshold ) ) &&
+ ( ( length_threshold <= 0 ) || ( ( prev_env_to - prev_env_from + 1 ) >= length_threshold.to_f ) )
+
+ if prev_sequence && sequence != prev_sequence
+ prev_is_pair = false
+ end
+
+ if out_of == 1
+
+ if rev_sequence && sequence == prev_sequence
+ puts "sequence == prev_sequence && out_of == 1"
+ exit
+ end
+ extract_domain( sequence,
+ number,
+ out_of,
+ env_from,
+ env_to,
+ in_msa,
+ out_msa_singlets,
+ false,
+ true,
+ false,
+ false,
+ trim_name ,
+ add_species )
+
+ elsif prev_sequence && sequence == prev_sequence
+
+ if ( env_from - prev_env_to ) <= min_linker #######
+ extract_domain( sequence,
+ prev_number.to_s + "+" + number.to_s,
+ out_of,
+ prev_env_from,
+ env_to,
+ in_msa,
+ out_msa_pairs,
+ false,
+ true,
+ false,
+ false,
+ trim_name ,
+ add_species )
+ prev_is_pair = true
+ else #######
+ if !prev_is_pair
+ extract_domain( sequence,
+ prev_number,
+ out_of,
+ prev_env_from,
+ prev_env_to,
+ in_msa,
+ out_msa_distant_partners,
+ false,
+ true,
+ false,
+ false,
+ trim_name ,
+ add_species )
+ end
+ if number == out_of
+ extract_domain( sequence,
+ number,
+ out_of,
+ env_from,
+ env_to,
+ in_msa,
+ out_msa_distant_partners,
+ false,
+ true,
+ false,
+ false,
+ trim_name ,
+ add_species )
+ end
+ prev_is_pair = false
+ end #######
+
+ end
+ prev_sequence = sequence
+ prev_number = number
+ prev_env_from = env_from
+ prev_env_to = env_to
+ prev_i_e_value = i_e_value
+ end
+
+ else
+ 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( Constants::LINE_DELIMITER )
+ log << Constants::LINE_DELIMITER
+ domain_fail_counter += 1
+
+ if failed_seqs.find_by_name_start( sequence, true ).length < 1
+ add_sequence( sequence, in_msa, failed_seqs )
+ proteins_with_failing_domains += 1
+ end