diff --git a/modules/Bio/EnsEMBL/IdMapping/ExonScoreBuilder.pm b/modules/Bio/EnsEMBL/IdMapping/ExonScoreBuilder.pm index a5b65aac3c36d645830e937b0d02a35030cddcfd..fea7cba5d793c2cda31e75155e1814c09a73d486 100644 --- a/modules/Bio/EnsEMBL/IdMapping/ExonScoreBuilder.pm +++ b/modules/Bio/EnsEMBL/IdMapping/ExonScoreBuilder.pm @@ -402,11 +402,17 @@ sub calc_overlap_score { my $score = ( $overlap/$source_length + $overlap/$target_length )/2; - # PENALTY: - # penalise by 10% if phase if different - if ( $source_exon->phase != $target_exon->phase ) { - $score *= 0.9; - } + # The following penalty was removed because it meant that an exon + # whose sequence and position had not changed would become a + # candidate for similarity mapping when its phase changed. This + # caused lots of criss-crossing stable ID history entries between + # genes/transcripts/translations in some gene families. + # + ## PENALTY: + ## penalise by 10% if phase if different + #if ( $source_exon->phase != $target_exon->phase ) { + #$score *= 0.9; + #} # add score to scoring matrix if it's at least 0.5 if ( $score >= 0.5 ) {