[Bio] / FortyEight / rp_index_attributes.pl Repository:
ViewVC logotype

View of /FortyEight/rp_index_attributes.pl

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.4 - (download) (as text) (annotate)
Mon Oct 22 18:08:24 2007 UTC (12 years, 1 month ago) by olson
Branch: MAIN
CVS Tags: mgrast_dev_08112011, rast_rel_2009_05_18, mgrast_dev_08022011, rast_rel_2014_0912, rast_rel_2008_06_18, rast_rel_2008_06_16, mgrast_dev_05262011, rast_rel_2008_12_18, mgrast_dev_04082011, rast_rel_2008_07_21, rast_rel_2010_0928, rast_2008_0924, mgrast_version_3_2, mgrast_dev_12152011, rast_rel_2008_04_23, mgrast_dev_06072011, rast_rel_2008_09_30, rast_rel_2009_0925, rast_rel_2010_0526, rast_rel_2014_0729, mgrast_dev_02212011, rast_rel_2010_1206, mgrast_release_3_0, mgrast_dev_03252011, rast_rel_2010_0118, mgrast_rel_2008_0924, mgrast_rel_2008_1110_v2, rast_rel_2009_02_05, rast_rel_2011_0119, mgrast_rel_2008_0625, mgrast_release_3_0_4, mgrast_release_3_0_2, mgrast_release_3_0_3, mgrast_release_3_0_1, mgrast_dev_03312011, mgrast_release_3_1_2, mgrast_release_3_1_1, mgrast_release_3_1_0, mgrast_dev_04132011, rast_rel_2008_10_09, mgrast_dev_04012011, rast_release_2008_09_29, mgrast_rel_2008_0806, mgrast_rel_2008_0923, mgrast_rel_2008_0919, rast_rel_2009_07_09, rast_rel_2010_0827, mgrast_rel_2008_1110, myrast_33, rast_rel_2011_0928, rast_rel_2008_09_29, mgrast_rel_2008_0917, rast_rel_2008_10_29, mgrast_dev_04052011, mgrast_dev_02222011, rast_rel_2009_03_26, mgrast_dev_10262011, rast_rel_2008_11_24, rast_rel_2008_08_07, HEAD
Changes since 1.3: +4 -1 lines
allow a second argument to be passed & ignored

#
# Index the attributes in a job's organism directory.
#

use Data::Dumper;
use DB_File;
use Carp;
use strict;
use FIG;
use FIG_Config;
use File::Basename;
use GenomeMeta;
use Sim;

#
# allow 2-arg form where we ignore the second, for use in teh attribute generation scripts.
#
@ARGV == 1 or @ARGV == 2 or die "Usage: $0 job-dir\n";

my $jobdir = shift;

-d $jobdir or die "$0: job dir $jobdir does not exist\n";

my $hostname = `hostname`;
chomp $hostname;

my $genome = &FIG::file_head("$jobdir/GENOME_ID");
chomp $genome;
$genome =~ /^\d+\.\d+/ or die "$0: Cannnot find genome ID for jobdir $jobdir\n";

my $genome_dir = "$jobdir/rp/$genome";

my $attr_key_file = "$genome_dir/attr_key.btree";
my $attr_id_file = "$genome_dir/attr_id.btree";

unlink($attr_key_file);
unlink($attr_id_file);

my(%key, %id);

$DB_BTREE->{flags} = R_DUP;

my $key_tie = tie %key, 'DB_File', $attr_key_file, O_RDWR | O_CREAT, 0666, $DB_BTREE;
$key_tie or die "cannot create $attr_key_file tie: $!";
my $id_tie = tie %id, 'DB_File', $attr_id_file, O_RDWR | O_CREAT, 0666, $DB_BTREE;
$id_tie or die "cannot create $attr_id_file tie: $!";

#
# Process attributes files.
#

#
# Evidence codes are a little special.
#

if (open(E, "<$genome_dir/evidence.codes"))
{
    while (<E>)
    {
	chomp;
	my($id, $ev) = split(/\t/);
	my $val = join($;, $id, 'evidence_code', $ev);
	$id{$id} = $val;
	$key{evidence_code} = $val;
    }
}

my @attr_files = <$genome_dir/attributes/*>;

for my $af (@attr_files)
{
    if (open(AF, "<$af"))
    {
	while (<AF>)
	{
	    chomp;
	    my($id, $attr, $val, $url) = split(/\t/);
	    my $str = join($;, $id, $attr, $val, $url);
	    $id{$id} = $str;
	    $key{$attr} = $str;
	}
	close(AF);
    }
}

untie($key_tie);
untie($id_tie);

exit(0);

MCS Webmaster
ViewVC Help
Powered by ViewVC 1.0.3