http://qs321.pair.com?node_id=1039514


in reply to how do i obtain blast result from the given file

Your homepage says you're new to programming, so I thought I'd add some missing bits of code (in bold) in case you were not aware that they should be there.
NB I have not changed/fixed the logic of your code.
---------------------------------------------------------------------
#!usr/bin/perl -w
use strict;
use warnings;

open(IN,"/home/maize/sequence-ID.txt") || die $!;
open(OUT,">abc.txt") || die $!;
open(OUT1,">blastresults.txt") || die $!;

while(my $id=<IN>)
{
    $id=~s/\n|\r//g;
    open(BLAST,"output/$id") || die $!;
        
    while(my $file=<BLAST>)
    {
        if ($file=~ m/No hits found/)
        {
            print OUT "$id \n";
        }
    }
    close(BLAST) || die $!;
}
close(IN) || die $!;
close(OUT) || die $!;
close(OUT1) || die $!; 
---------------------------------------------------------------------
If you prefer you can use normal Perl variables instead of file handles
eg
---------------------------------------------------------------------

    open(my $blast,"output/$id") || die $!;
        
    while(my $file=<$blast>)
    {
        if ($file=~ m/No hits found/)
        {
            print OUT "$id \n";
        }
    }
    close($blast) || die $!;

---------------------------------------------------------------------


If you're looking for some good books, I can highly recommend these 3 books which form a 3 part series:
Learning Perl: Making Easy Things Easy and Hard Things Possible
Intermediate Perl: Beyond The Basics of Learning Perl
Mastering Perl: Creating Professional Programs with Perl

I just happened to notice this. I have no idea what it it like, but it might be just what you want:
Mastering Perl for Bioinformatics
  • Comment on Re: how do i obtain blast result from the given file

Replies are listed 'Best First'.
Re^2: how do i obtain blast result from the given file
by bingalee (Acolyte) on Jun 18, 2013 at 19:56 UTC

    Hey, thanks a lot for the books. I have the book by Tisdall, its ok. But right now I'm reading beginning perl by Simon Cozens.