in reply to monitor process, sig handlers(?)
sub blast { my $data = shift; my $temp = "$ENV{HOME}/temp/seq.tmp"; my $fifo = "ssh myhost /path/to/blast"; my @args = ('-p blastn', '-d nt', '-e 0.0000001', '-m 7'); ### load input file with fasta-formatted queryid/sequence ### open SEQ, ">$temp" or die "Could not open for write:$!"; print SEQ ">",$data->[0],"\n",$data->[1]; close SEQ; ### open a handle to BLAST output, retry if unsuccessfull ### { if (!open BLAST, "$fifo @args <$temp|") { # print LOG "BLAST connection refused, retrying...\n"; # sleep(300); redo; } } ### process the report ### parse(*BLAST); }
|
|---|