[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.3 - (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 : overbeek 1.3 gi => 6,
14 :     fig => 7
15 : overbeek 1.1 );
16 :    
17 : overbeek 1.2 while (defined($line = <STDIN>))
18 : overbeek 1.1 {
19 : overbeek 1.2 chop $line;
20 :     if ($line =~ /(\S+)$/)
21 : overbeek 1.1 {
22 :     $id = $1;
23 :     if ($id =~ /^fig\|/)
24 :     {
25 : overbeek 1.3 @possible_xrefs = ($id,$fig->feature_aliases($id));
26 :     }
27 :     elsif ($peg = $fig->by_alias($id))
28 :     {
29 :     @possible_xrefs = ($peg,$fig->feature_aliases($peg));
30 : overbeek 1.1 }
31 :     else
32 :     {
33 : overbeek 1.3 @possible_xrefs = map { $_->[0] }
34 :     $fig->mapped_prot_ids($id);
35 : overbeek 1.1 }
36 : overbeek 1.3
37 : overbeek 1.1 @xrefs = map { $_->[0] }
38 :     grep { ($_->[1] ne "misc") && ($_->[1] ne "gene") }
39 :     map { [$_,&type_alias($_)] }
40 :     @possible_xrefs;
41 : overbeek 1.2 print "$line\t",join(",",@xrefs),"\n";
42 : overbeek 1.1 }
43 :     }
44 :    
45 :     sub type_alias {
46 :     my($alias) = @_;
47 :    
48 :     if (($alias =~ /^([^|]+)\|\S+$/) && defined($tag_order{$1}))
49 :     {
50 :     return $1;
51 :     }
52 :     elsif ($alias =~ /^[NXYZA]P_/)
53 :     {
54 :     return "nr";
55 :     }
56 :     elsif (($alias =~ /^[a-zA-Z]{3,4}$/) || ($alias =~ /^[a-zA-Z]{1,3}\d+$/))
57 :     {
58 :     return "gene";
59 :     }
60 :     return "misc";
61 :     }

MCS Webmaster
ViewVC Help
Powered by ViewVC 1.0.3