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

View of /FigKernelScripts/make_attribute_index.pl

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.6 - (download) (as text) (annotate)
Mon Dec 5 18:56:37 2005 UTC (13 years, 11 months 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, myrast_rel40, 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, caBIG-05Apr06-00, 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, caBIG-13Feb06-00, rast_rel_2009_03_26, mgrast_dev_10262011, rast_rel_2008_11_24, rast_rel_2008_08_07, HEAD
Changes since 1.5: +17 -0 lines
Add license words.

#
# Copyright (c) 2003-2006 University of Chicago and Fellowship
# for Interpretations of Genomes. All Rights Reserved.
#
# This file is part of the SEED Toolkit.
# 
# The SEED Toolkit is free software. You can redistribute
# it and/or modify it under the terms of the SEED Toolkit
# Public License. 
#
# You should have received a copy of the SEED Toolkit Public License
# along with this program; if not write to the University of Chicago
# at info@ci.uchicago.edu or the Fellowship for Interpretation of
# Genomes at veronika@thefig.info or download a copy from
# http://www.theseed.org/LICENSE.TXT.
#

use FIG;
my $fig = new FIG;

# usage: make_indexes

$ENV{"PATH"} = "$FIG_Config::bin:" . $ENV{"PATH"};

open(ATTRIBUTE,">$FIG_Config::data/Indexes/attribute.index");
#open(ATTRIBUTE,">test_attribute.txt");


#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
#... Load Attributes ...
#-----------------------------------------------------------------------

#my @genomes = ('158879.1');

#foreach $org (@genomes)
    
foreach $org (sort {$a <=> $b} $fig->genomes)
{
    print STDERR "Loading Features/peg/Attributes/* for $org\n" if $ENV{FIG_VERBOSE};
    #print "$org\n";   
    undef %by_peg;
    &load_att("$FIG_Config::organisms/$org/Features/peg/Attributes");
    $full = $fig->genus_species($org);
    #print "$full\n";
   
    my $tax = $org;
    $tax =~ s/\.\d+$//;
    foreach $peg (sort { &FIG::by_fig_id($a,$b) } keys(%by_peg))
    {
	$x = $by_peg{$peg};
        if ($peg =~ /(fig\|\d+.\d+.peg.\d+)_.*/){ $peg = $1}
        print ATTRIBUTE "$peg\t$full $tax\t",join("\t",@$x[0]),"\n";
       # print "$peg\t$full $tax\t",join("\t",@$x[0]),"\n";
    }
    undef %by_peg;
}
close(ATTRIBUTE);
print STDERR "\n" if $ENV{FIG_VERBOSE};

#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
#...Run GLIMPSE indexing utility...
#-----------------------------------------------------------------------
print STDERR "Running GLIMPSE indexing utility --- this may take some time...\n" if $ENV{FIG_VERBOSE};

open(EXCLUDE,">$FIG_Config::data/Indexes/.glimpse_exclude")
	|| die "could not open $FIG_Config::data/Indexes/.glimpse_exclude";
print EXCLUDE "$FIG_Config::data/Indexes/.glimpse*\n";
close(EXCLUDE);

&FIG::run("glimpseindex -o -n 100 -E -H $FIG_Config::data/Indexes -M 40 $FIG_Config::data/Indexes");
&FIG::run("chmod -R 777 $FIG_Config::data/Indexes");

print STDERR "GLIMPSE index completed\n" if $ENV{FIG_VERBOSE};

print STDERR "\n$0 exiting\n\n" if $ENV{FIG_VERBOSE};
exit(0);

sub load_att { 
    my($dir) = @_;
    $counter = 0;
    if (opendir(DIR,$dir))
    {
        my @files = grep {$_ !~ /^\./} readdir(DIR);
	foreach my $file (@files)
	{
	    #print "$file\n";
	  if( $file ne "transaction_log")
          {
	    if (open(TMP,"<$FIG_Config::organisms/$org/Features/peg/Attributes/$file"))
	    {
		
		my($id,$type,$description,$link,$attribute);
		while (defined($_ = <TMP>))
		{
		    chop;
		    ($id, $type, $description, $link) = split(/\t/,$_); 
		    $description =~ s/\\//g ;
                    $description =~ s/\(//g ;
                    $description =~ s/\)//g ;
		    $counter = $counter + 1 ;
                    $id = $id."_".$counter;  	
		    $attribute = "<a href='" . $link . "'>" . $type.", ".$description . "</a>";
            	    push(@{$by_peg{$id}},$attribute);

		}
		close(TMP);
	    }
	  }
        }
        closedir(DIR);
    }
}

MCS Webmaster
ViewVC Help
Powered by ViewVC 1.0.3