[Bio] / FigKernelScripts / db_xrefs_of.pl Repository:
ViewVC logotype

Annotation of /FigKernelScripts/db_xrefs_of.pl

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.2 - (view) (download) (as text)

1 : overbeek 1.1
2 :     use FIG;
3 :     my $fig = new FIG;
4 :    
5 :     # usage: db_xrefs_of < IDs > ID-Xrefs
6 :     #
7 :    
8 :     %tag_order = ( gene => 1,
9 :     sp => 2,
10 :     nr => 3,
11 :     uni => 4,
12 :     kegg => 5,
13 :     gi => 6
14 :     );
15 :    
16 : overbeek 1.2 while (defined($line = <STDIN>))
17 : overbeek 1.1 {
18 : overbeek 1.2 chop $line;
19 :     if ($line =~ /(\S+)$/)
20 : overbeek 1.1 {
21 :     $id = $1;
22 :     if ($id =~ /^fig\|/)
23 :     {
24 :     @possible_xrefs = $fig->feature_aliases($id);
25 :     }
26 :     else
27 :     {
28 :     @possible_xrefs = grep { $_ ne $id }
29 :     map { $_->[0] }
30 :     $fig->mapped_prot_ids($id);
31 :     }
32 :     @xrefs = map { $_->[0] }
33 :     grep { ($_->[1] ne "misc") && ($_->[1] ne "gene") }
34 :     map { [$_,&type_alias($_)] }
35 :     @possible_xrefs;
36 : overbeek 1.2 print "$line\t",join(",",@xrefs),"\n";
37 : overbeek 1.1 }
38 :     }
39 :    
40 :     sub type_alias {
41 :     my($alias) = @_;
42 :    
43 :     if (($alias =~ /^([^|]+)\|\S+$/) && defined($tag_order{$1}))
44 :     {
45 :     return $1;
46 :     }
47 :     elsif ($alias =~ /^[NXYZA]P_/)
48 :     {
49 :     return "nr";
50 :     }
51 :     elsif (($alias =~ /^[a-zA-Z]{3,4}$/) || ($alias =~ /^[a-zA-Z]{1,3}\d+$/))
52 :     {
53 :     return "gene";
54 :     }
55 :     return "misc";
56 :     }

MCS Webmaster
ViewVC Help
Powered by ViewVC 1.0.3