diff --git a/misc-scripts/xref_mapping/XrefMapper/BasicMapper.pm b/misc-scripts/xref_mapping/XrefMapper/BasicMapper.pm index 12f57fab14f4f7cd570e08e42da8b57766531dda..e10a0259aa71684fe6501e748a8a192121f38a1c 100644 --- a/misc-scripts/xref_mapping/XrefMapper/BasicMapper.pm +++ b/misc-scripts/xref_mapping/XrefMapper/BasicMapper.pm @@ -928,17 +928,20 @@ sub official_naming{ } } } - if(!defined($gene_symbol) and !defined($other_symbol) ){ # No HGNC or other so look for vega clone names - foreach my $tran_id (@{$gene_to_transcripts{$gene_id}}){ - $dbentrie_sth->execute("Clone_based_vega_transcript", $tran_id, "Transcript"); - $dbentrie_sth->bind_columns(\$display, \$xref_id, \$object_xref_id, \$level); - while($dbentrie_sth->fetch){ - my($acc_bit, $num) = split(/-\d\d\d$/,$display); -# $tran_to_vega_ext{$tran_id} = $num; ## already done. - $vega_clone_name = $acc_bit; - } + foreach my $tran_id (@{$gene_to_transcripts{$gene_id}}){ + $dbentrie_sth->execute("Clone_based_vega_transcript", $tran_id, "Transcript"); + $dbentrie_sth->bind_columns(\$display, \$xref_id, \$object_xref_id, \$level); + while($dbentrie_sth->fetch){ + $display =~ /(.+)-(\d\d\d)$/; + my $acc_bit =$1; + my $num = $2; + $tran_to_vega_ext{$tran_id} = $num; + $xref_added{$display.":".$clone_based_vega_tran_id} = $xref_id; + $vega_clone_name = $acc_bit; } + } + if(!defined($gene_symbol) and !defined($other_symbol) ){ # No HGNC or other so look for vega clone names if(!defined($vega_clone_name)){ #if no vega clone name use the ensembl clone name @@ -986,16 +989,6 @@ sub official_naming{ } -# my $slice = $gene->slice->sub_Slice($gene->start,$gene->end,$gene->strand); -# my @segments = @{$slice->project('clone')}; -# my $len=0; -# foreach my $seg (@segments){ -# my $clone = $seg->to_Slice(); -# if($clone->length() > $len){ -# $clone_name = $clone->seq_region_name; -# $len = $clone->length(); -# } -# } if(defined($clone_name)){ $clone_name =~ s/[.]\d+//; #remove .number } @@ -1112,34 +1105,42 @@ sub official_naming{ # then add transcript names. my $ext = 201; - my $no_vega_ext=$ext; foreach my $tran_id ( sort @{$gene_to_transcripts{$gene_id}}){ + my $id = $name."-".$ext; if(defined($tran_to_vega_ext{$tran_id})){ - $ext = $tran_to_vega_ext{$tran_id}; + $id = $name."-".$tran_to_vega_ext{$tran_id}; + if(!defined($xref_added{$id.":".$t_source_id})){ + $max_xref_id++; + $ins_xref_sth->execute($max_xref_id, $t_source_id, $id, $id, $desc, undef); + $xref_added{$id.":".$t_source_id} = $max_xref_id; + + $max_object_xref_id++; + $ins_object_xref_sth->execute($max_object_xref_id, $tran_id, 'Transcript', $xref_added{$id.":".$t_source_id}, undef); + $ins_dep_ix_sth->execute($max_object_xref_id, 100, 100); + $set_tran_display_xref_sth->execute($max_xref_id, $tran_id); + } } else{ - $ext = $no_vega_ext; - $no_vega_ext++; - } - my $id = $name."-".$ext; -# print $id."\ts=".$t_source_id."\n"; - while(defined($xref_added{$id.":".$t_source_id})){ + while(defined($xref_added{$id.":".$t_source_id})){ + $ext++; + $id = $name."-".$ext; + } $ext++; - $id = $name."-".$ext; + $max_xref_id++; + $ins_xref_sth->execute($max_xref_id, $t_source_id, $id, $id, $desc, undef); + $xref_added{$id.":".$t_source_id} = $max_xref_id; + + $max_object_xref_id++; + $ins_object_xref_sth->execute($max_object_xref_id, $tran_id, 'Transcript', $xref_added{$id.":".$t_source_id}, undef); + $ins_dep_ix_sth->execute($max_object_xref_id, 100, 100); + $set_tran_display_xref_sth->execute($max_xref_id, $tran_id); } - - $max_xref_id++; - $ins_xref_sth->execute($max_xref_id, $t_source_id, $id, $id, $desc, undef); - $xref_added{$id.":".$t_source_id} = $max_xref_id; - - $max_object_xref_id++; - $ins_object_xref_sth->execute($max_object_xref_id, $tran_id, 'Transcript', $xref_added{$id.":".$t_source_id}, undef); - $ins_dep_ix_sth->execute($max_object_xref_id, 100, 100); - $set_tran_display_xref_sth->execute($max_xref_id, $tran_id); - $ext++; - } +# print $id."\ts=".$t_source_id."\n"; + + } + } } # for each gene