From 7afe268ca93c376f06ace3ab7a2a8ff2049503c6 Mon Sep 17 00:00:00 2001 From: Ian Longden <ianl@sanger.ac.uk> Date: Wed, 15 Sep 2010 14:41:28 +0000 Subject: [PATCH] add code to both gene description methods for not adding [Source:..] option --- .../xref_mapping/XrefMapper/DisplayXrefs.pm | 24 +++++++++++++++---- 1 file changed, 19 insertions(+), 5 deletions(-) diff --git a/misc-scripts/xref_mapping/XrefMapper/DisplayXrefs.pm b/misc-scripts/xref_mapping/XrefMapper/DisplayXrefs.pm index 7510f6e5fd..42b88bdaba 100644 --- a/misc-scripts/xref_mapping/XrefMapper/DisplayXrefs.pm +++ b/misc-scripts/xref_mapping/XrefMapper/DisplayXrefs.pm @@ -805,12 +805,13 @@ GSQL my %no_source_name_in_desc; if( $self->mapper->can("no_source_label_list") ){ - foreach my $ext (@{$self->no_source_label_list()}){ - $no_source_name_in_desc{$ext} = 1; + foreach my $name (@{$self->mapper->no_source_label_list()}){ + my $id = $external_name_to_id{$name}; + print "$name will have no [Source:..] info\n"; + $no_source_name_in_desc{$id} = 1; } } - foreach my $gene_id (keys %genes_to_transcripts) { my %percent_id; @@ -1005,7 +1006,7 @@ GSQL print STDERR "Could not find display name for gene $best_gene_xref for external db ".$ex_db{$best_gene_xref}."\n"; } my $desc = $description; - if(!defined($no_source_name_in_desc{$ex_db_id_to_display_name{$ex_db{$best_gene_xref}}})){ + if(!defined($no_source_name_in_desc{$ex_db{$best_gene_xref}})){ $desc .= " [Source:".$ex_db_id_to_display_name{$ex_db{$best_gene_xref}}.";Acc:$acc]"; } @@ -1362,6 +1363,7 @@ sub set_gene_descriptions{ $sth->finish; my %source_id_to_external_name; + my %name_to_source_id; $sql = 'select s.source_id, s.name from source s, xref x where x.source_id = s.source_id group by s.source_id'; # only get those of interest $sth = $self->xref->dbc->prepare($sql); @@ -1370,6 +1372,7 @@ sub set_gene_descriptions{ while($sth->fetch()){ if(defined($name_to_external_name{$name})){ $source_id_to_external_name{$id} = $name_to_external_name{$name}; + $name_to_source_id{$name} = $id; } else{ die "ERROR: Could not find $name in external_db table please add this too continue\n"; @@ -1489,6 +1492,15 @@ DXS my $last_gene = 0; + my %no_source_name_in_desc; + if( $self->mapper->can("no_source_label_list") ){ + foreach my $name (@{$self->mapper->no_source_label_list()}){ + my $id = $name_to_source_id{$name}; + print "$name will not have [Source:...] info in desc\n"; + $no_source_name_in_desc{$id} = 1; + } + } + my $gene_desc_sth = $self->xref->dbc->prepare($gene_desc_sql); $gene_desc_sth->execute(); @@ -1502,7 +1514,9 @@ DXS if($gene_id != $last_gene and defined($desc) ){ my $filtered_description = $self->filter_by_regexp($desc, \@regexps); if ($filtered_description ne "") { - $desc .= " [Source:".$source_id_to_external_name{$source_id}.";Acc:".$label."]"; + if(!defined($no_source_name_in_desc{$source_id})){ + $desc .= " [Source:".$source_id_to_external_name{$source_id}.";Acc:".$label."]"; + } $update_gene_desc_sth->execute($desc,$gene_id); $gene_count++; $last_gene = $gene_id; -- GitLab