The error message "FASEQ can not open" doesn't look like something
which could be output by the code you've provided.
*Either* you should get the "can not read open $!" message (where the
$! will be interpolated to the reason it failed), or the message is
coming from whatever the "usearch" tool you're executing is.
Have your script print out the ./usearch invocation instead of running
it, then try running it yourself - if you get the same error then you
at least know that it's not coming from your script.
My guess - did you mean "-ublast FASEQ" to be replaced by the name of
the file you're reading - e.g. "-ublast $files" ?
Likewise, the "-userout OUTFILE" part of the usearch invocation looks
like you may have intended that to be the output filename, e.g.
"-userout $filename.txt" or similar?
(Incidentally, the var name $files when it holds the singular filename
for each iteration irks me - that'd read much better as e.g.:
for my $filename (glob("$dir/*.fa")) {
...
}
On Thu, 10 Oct 2019 10:21:45 +0800 (CST) 刘东 <[email protected]>
wrote:
> hellow:
> I have written a script, but it does not work, can you tell me what
> wrong with me?
>
>
> #! /usr/bin/perl
>
> use strict;
> use warnings;
> use Getopt::Long;
>
> my ($dir, $files, $file_name, $file_format, $file_dir, $file_main);
>
> GetOptions ('dr=s' =>\$dir);
>
> open INF,"<",'sine.fa' or die "can't read open sine";
>
> foreach $files (glob("$dir/*.fa")) {
> open FASEQ, "<", $files or die "can not read open $!";
> ($file_dir, $file_main) = split (/\/\//,$files);
> ($file_name,$file_format) =split(/\./,$file_main);
> open OUTFILE, '>', $file_name.".txt";
> `./usearch -ublast FASEQ -db INF -evalue 1e-5 -userout OUTFILE
> -strand both -userfields
> query+qlo+qhi+ql+qs+qstrand+target+tlo+thi+tl`; }
>
> close FASEQ;
> close OUTFILE;
> close INF;
>
>
>
> when I run the script, and the results is "FASEQ can not open".
> additional, the results from glob as follows:
> ./fadata//carp-carp01_TKD181002053-1_1.fa
> ./fadata//carp-carp01_TKD181002053-1_2.fa
> ......
>
>
>
>
>
>
>
> --
>
> 湖南师范大学生命科学院:刘 东
>
> 格言:积土而为山,积水而为海;
> 知识在于积累,成功在于勤奋。
--
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]
http://learn.perl.org/