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

Annotation of /FigKernelScripts/reindex_sim_btrees.pl

Parent Directory Parent Directory | Revision Log Revision Log


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

1 : olson 1.1
2 :     #
3 :     # Index the sims and expanded sims files in SEED genome dir.
4 :     #
5 :     # Usage: reindex_sim_btrees dirname [dirname ...]
6 :     #
7 :     #
8 :    
9 :     use strict;
10 :     use FIG;
11 :     use DB_File;
12 :    
13 :     @ARGV >= 1 or die "Usage: reindex_sim_btrees dirname [dirname ...]\n";
14 :    
15 :    
16 :     for my $dir (@ARGV)
17 :     {
18 :     for my $file (qw(similarities similarities.flips expanded_similarities expanded_similarities.flips))
19 :     {
20 :     my $path = "$dir/$file";
21 :    
22 :     if (! -f $path)
23 :     {
24 :     warn "$path does not exist\n";
25 :     next;
26 :     }
27 :    
28 :     my $index_file = "$path.index";
29 :    
30 :     index_sims($path, $index_file);
31 :     }
32 :     }
33 :    
34 :     exit(0);
35 :    
36 :    
37 :     #
38 :     # Use the C index_sims_file app to create a berkeley db index
39 :     # of the sims file.
40 :     #
41 :    
42 :     sub index_sims
43 :     {
44 :     my($sims, $index_file) = @_;
45 :    
46 :     my $path = &FIG::find_fig_executable("index_sims_file");
47 :    
48 :     open(IDX, "$path 0 < $sims |") or die "Cannot open index_sims_file pipe: $!\n";
49 :    
50 :     my %index;
51 :     my $tied = tie %index, 'DB_File', $index_file, O_RDWR | O_CREAT, 0666, $DB_BTREE;
52 :    
53 :     $tied or &fatal("Creation of hash $index_file failed: $!\n");
54 :    
55 :     while (<IDX>)
56 :     {
57 :     chomp;
58 :     my($peg, undef, $seek, $len) = split(/\t/);
59 :    
60 :     $index{$peg} = "$seek,$len";
61 :     }
62 :     close(IDX);
63 :    
64 :     $tied->sync();
65 :     untie %index;
66 :     }

MCS Webmaster
ViewVC Help
Powered by ViewVC 1.0.3