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

View of /FigKernelScripts/blastp_pseq.pl

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.5 - (download) (as text) (annotate)
Fri Apr 3 20:02:44 2009 UTC (11 years, 2 months ago) by redwards
Branch: MAIN
CVS Tags: rast_rel_2009_05_18, rast_rel_2009_07_09
Changes since 1.4: +3 -1 lines
providing a default database

# -*- perl -*-
#
# 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 Carp;
use Data::Dumper;
use FIG_Config;

# -*- perl -*-

# usage: blastp_pseq MinGood [Db] < pseq > table_of_hits

(($cutoff = shift @ARGV) && ($db     = shift @ARGV || "$FIG_Config::global/nr-std"))
    || die "usage: blastp_pseq MinGood [Db] < pseq > table_of_hits";

$tmp = "$FIG_Config::temp/tmp$$";
open(TMP,">$tmp") || die "could not open $tmp";
while (defined($_ = <STDIN>))
{
    print TMP $_;
}
close(TMP);

print STDERR "Blasting against $db\n";

$ENV{"BLASTMAT"} = $FIG_Config::blastmat;
if (! -s "$db.psq")
{
    (system("$FIG_Config::ext_bin/formatdb -i $db -pT") == 0)
	|| die "could not run $FIG_Config::ext_bin/formatdb -i $db";
}

$done = 0;
while (! $done)
{
    if (system("$FIG_Config::ext_bin/blastall -FF -d $db -i $tmp -p blastp > $tmp.out") == 0)
    {
	@tmp = `tail -15 $tmp.out`;
	if ((($tmp[$#tmp] =~ /bits\)\n/s) || (grep(/No hits found/,@tmp) > 0)) && 
	    (system("$FIG_Config::fig/bin/condense_blast $cutoff < $tmp.out > $tmp.out2") == 0) &&
	    open(JOB,"<$tmp.out2"))
	{
	    while (defined($_ = <JOB>))
	    {
		print "blastp,$_";
	    }
	    close(JOB);
	    print "done\n";
	    $done = 1;
	}
    }
}
unlink("$tmp");
unlink("$tmp.out");
unlink("$tmp.out2");

MCS Webmaster
ViewVC Help
Powered by ViewVC 1.0.3