anonymoushydrogen has asked for the wisdom of the Perl Monks concerning the following question:

DEAR monks

i have tried hard to what is the real problem in code given below but unable to make it out

when i run the program over linux

plz help me out.

THE CODE

use BSD::Resource; print "the pid is:$$\n"; $lowerprio = getpriority(PRIO_PROCESS, 0); print"$lowerprio\n"; $gothigher = setpriority(PRIO_PROCESS, 0, -5); print"$gothigher\n"; print "pi of the program is:$$"; print "pi of the program is:$$"; $i=1; while($i==1){ print "entre the organism name\n"; chomp($org=<>); print "chrmosome no\n"; chomp($chr=<>); print "entre the element name\n"; chomp($ele=<>); print "entre genome file\n"; chomp($chrfile=<>); print "entre element file\n"; chomp($element=<>); body(); } sub body{ print "blast is running\n"; system("/blast/bin/./formatdb -i /anonymous/$chrfile -p F -o T " ); system("/blast/bin/./blastall -p blastn -d /anonymous/$chrfile -i /ano +nymous/$element -o /anonymous/blast-$org$chr-$ele.txt -e 1e-8 -F F"); + #### problem line print "blast is completed please chech the output file blast-$org$chr- +$ele.txt \n"; } }

the problem

the problem is now that in program takes blast-$org$chr-$ele.txt it takes "-" as a parameter.

Replies are listed 'Best First'.
Re: Blast problem
by psini (Deacon) on May 25, 2008 at 11:04 UTC

    Try this:

    system(qq{/blast/bin/./blastall -p blastn -d /anonymous/$chrfile -i "/anonymous/$element -o /anonymous/blast-$org$chr-$ele.txt" -e 1e-8 -F F});

    Rule One: Do not act incautiously when confronting a little bald wrinkly smiling man.

Re: Blast problem
by moritz (Cardinal) on May 25, 2008 at 11:16 UTC
    Perhaps the result of blast-$org$chr-$ele.txt isn't what you think - for example $org or $chr could contain whitespaces.

    BTW many programs accept -- to terminate the option list, and to start the arguments. Suppose you have file named -rf, and you write rm * rm will actually accept -rf as an option, and do quite some damage. So instead one writes this: rm -- *

    Everything after the -- is treated as arguments, not options. Perhaps the program you start has the same option handling.

    BTW please do us all a favor and read Writeup formatting tips, and heed the advice there.