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

Annotation of /FigKernelScripts/index_figv_annos.pl

Parent Directory Parent Directory | Revision Log Revision Log


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

1 : olson 1.1 #
2 :     #
3 :     # Create btree index of assigned_functions and annotations for use with FIGV.
4 :     #
5 :     # This does not currently use the multiple assigned_function files as RAST generates;
6 :     # it is currently intended for large metagenome directories.
7 :     #
8 :    
9 :     use FIG;
10 :     use FIG_Config;
11 :     use strict;
12 :     use DB_File;
13 :     use Data::Dumper;
14 :    
15 :     @ARGV == 1 or die "Usage: $0 orgdir\n";
16 :    
17 :     my $dir = shift;
18 :    
19 :     -d $dir or die "Given directory $dir is not a directory\n";
20 :    
21 :     my $assigns = "$dir/assigned_functions";
22 :     my $annos = "$dir/annotations";
23 :    
24 :     open(ASSIGN, "<", $assigns) or die "Cannot open $assigns: $!";
25 :     open(ANNO, "<", $annos) or die "Cannot open $annos: $!";
26 :    
27 :     my $assign_btree = "$assigns.btree";
28 :     my $anno_btree = "$annos.btree";
29 :    
30 :     my(%anno, %assign, $anno_tie, $assign_tie);
31 :    
32 :     if (-f $anno_btree)
33 :     {
34 :     unlink($anno_btree);
35 :     }
36 :    
37 :     if (-f $assign_btree)
38 :     {
39 :     unlink($assign_btree);
40 :     }
41 :    
42 :     my $anno_tie = tie %anno, 'DB_File', $anno_btree, O_RDWR | O_CREAT, 0666, $DB_BTREE;
43 :     $anno_tie or die "Cannot tie $anno_btree: $!";
44 :    
45 :     my $assign_tie = tie %assign, 'DB_File', $assign_btree, O_RDWR | O_CREAT, 0666, $DB_BTREE;
46 :     $assign_tie or die "Cannot tie $assign_btree: $!";
47 :    
48 :     while (<ASSIGN>)
49 :     {
50 :     chomp;
51 :     my($fid, $assign) = split(/\t/);
52 :     $assign{$fid} = $assign;
53 :     }
54 :     close(ASSIGN);
55 :    
56 :     $/ = "//\n";
57 :    
58 :     while (<ANNO>)
59 :     {
60 :     chomp;
61 :     if (/^(fig\S+)/)
62 :     {
63 :     $anno{$1} = $_;
64 :     }
65 :     }
66 :    
67 :     untie $anno_tie;
68 :     untie $assign_tie;

MCS Webmaster
ViewVC Help
Powered by ViewVC 1.0.3