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

Annotation of /FigKernelScripts/sphinx_index_genome.pl

Parent Directory Parent Directory | Revision Log Revision Log


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

1 : olson 1.1
2 :     use strict;
3 :     use Encode;
4 :     use FIG;
5 :     my $fig = new FIG;
6 :    
7 :     print <<END;
8 :     <?xml version="1.0" encoding="utf-8"?>
9 :     <sphinx:docset>
10 :     <sphinx:schema>
11 :     <sphinx:field name="fid"/>
12 :     <sphinx:field name="annotation"/>
13 :     <sphinx:field name="content"/>
14 :     </sphinx:schema>
15 :     END
16 :    
17 :     my %tmap = (peg => 1, rna => 2);
18 :    
19 :     for my $genome ($fig->genomes(1))
20 :     {
21 :     print STDERR "$genome\n";
22 :     my $gs = $fig->genus_species($genome);
23 :     for my $feature (@{$fig->all_features_detailed_fast($genome)})
24 :     {
25 :     my($fid, $loc, $aliases, $type, $b, $e, $func, $who) = @$feature;
26 :    
27 :     $func = encode_utf8($func);
28 :     $func =~ s/&/&amp;/g;
29 :     $func =~ s/</&lt;/g;
30 :     $func =~ s/>/&gt;/g;
31 :     $aliases =~ s/&/&amp;/g;
32 :     $aliases =~ s/</&lt;/g;
33 :     $aliases =~ s/>/&gt;/g;
34 :     $genome =~ s/&/&amp;/g;
35 :     $genome =~ s/</&lt;/g;
36 :     $genome =~ s/>/&gt;/g;
37 :     $aliases =~ s/,/ /g;
38 :     if ($fid =~ /^fig\|(\d+)\.(\d+)\.([^.]+)\.(\d+)$/)
39 :     {
40 :     my ($g, $ext, $type, $num) = ($1, $2, $3, $4);
41 :     my $tnum = $tmap{$type};
42 :     my $enc = $g << 26 | $ext << 18 | $tnum << 16 | $num;
43 :     print <<END;
44 :     <sphinx:document id="$enc">
45 :     <fid>$fid</fid>
46 :     <annotation>$func</annotation>
47 :     <content>$genome $gs
48 :     $aliases</content>
49 :     </sphinx:document>
50 :     END
51 :     }
52 :     }
53 :     }
54 :     print "</sphinx:docset>\n";

MCS Webmaster
ViewVC Help
Powered by ViewVC 1.0.3