From 3b9a7d3cb0b635a3f1271dff7e429dd9ca7c4762 Mon Sep 17 00:00:00 2001 From: Kieron Taylor <ktaylor@ebi.ac.uk> Date: Wed, 7 Nov 2012 15:05:50 +0000 Subject: [PATCH] Added support for situations where original canonical transcripts have disappeared from the data. --- misc-scripts/canonical_transcripts/reason_changes.pl | 6 ++++-- .../select_canonical_transcripts.pl | 9 ++++++++- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/misc-scripts/canonical_transcripts/reason_changes.pl b/misc-scripts/canonical_transcripts/reason_changes.pl index 3bd96cf5b7..764d88da9e 100755 --- a/misc-scripts/canonical_transcripts/reason_changes.pl +++ b/misc-scripts/canonical_transcripts/reason_changes.pl @@ -87,8 +87,10 @@ sub compare { $blurt !~ /nmd/i #User suppressing this test ) { $reason_key = 'havana_merge_nmd_over_e_coding'; - } - else { + } elsif (! $old->[1] ) { + # The old canonical transcript was not found. + $reason_key = 'new'; + } else { $reason_key = 'other'; } } diff --git a/misc-scripts/canonical_transcripts/select_canonical_transcripts.pl b/misc-scripts/canonical_transcripts/select_canonical_transcripts.pl index 8a7448e278..fe072dc28b 100644 --- a/misc-scripts/canonical_transcripts/select_canonical_transcripts.pl +++ b/misc-scripts/canonical_transcripts/select_canonical_transcripts.pl @@ -144,7 +144,13 @@ foreach my $slice (@$slices) { my $old_canonical = $gene->canonical_transcript; - if ($new_canonical->dbID != $old_canonical->dbID) { + if (! defined($old_canonical)) { + # Original canonical transcript is now absent, or never set. + if ($log_fh) { + print $log_fh "Old=[,,,,,,]\n"; + printf $log_fh "New=[%s,%s,%s,%s,%s,%s,'%s']\n", @{ $transcript_selector->encode_transcript($new_canonical) }; + } + } elsif ($new_canonical->dbID != $old_canonical->dbID) { no warnings 'uninitialized'; printf "%s (%s) changed transcript from %s (%s) to %s (%s)\n", $gene->stable_id,$gene->dbID,$old_canonical->stable_id,$old_canonical->dbID, @@ -166,6 +172,7 @@ foreach my $slice (@$slices) { printf $log_fh "New=[%s,%s,%s,%s,%s,%s,'%s']\n", @{ $transcript_selector->encode_transcript($new_canonical) }; } } + } } -- GitLab