[EMBOSS] Seqret stdin issues
    simon andrews (BI) 
    simon.andrews at bbsrc.ac.uk
       
    Fri Sep 16 07:28:03 UTC 2005
    
    
  
On 15 Sep 2005, at 23:45, Ronnie O wrote:
> Hello everyone,
> I am trying to pipe sequence data into seqret via a pipe with the 
> following
> command:
>  ./seqret raw::stdin raw::stdout
>  and i am getting the following data piped back to my app via the error
> pipe:
>  Unable to read sequence 'raw::stdin raw::stdout'
A simple pipe of the type you describe works fine for me:
echo "GATAGCTAG" | seqret raw::stdin fasta::stdout
Reads and writes (returns) sequences
 >EMBOSS_001
GATAGCTAG
However it sounds like you're trying to do this via a Perl script.  Are 
you using the IPC::Open2 / Open3 modules to do this?  I tried it and it 
seemed to work OK:
#!/usr/bin/perl
use warnings;
use strict;
use IPC::Open2;
my $seq = "GATAGATATGCTAGA";
my $pid = open2(\*OUT,\*IN,"seqret","raw::stdin","raw::stdout");
print IN $seq;
close IN or die "Can't close IN: $!";
while (<OUT>) {
   print;
}
close OUT or die "Can't close OUT: $!";
waitpid($pid,0);
##################
Incidentally, it you're just using seqret as a filter then there is a 
-filter flag which has a slightly cleaner syntax for what you're trying 
to do:
echo "GATAGCTAG" | seqret -filter -osf fasta
If you're still having problems then can you post the piece of code 
which isn't working so we can have a look.
Cheers
Simon.
-- 
Simon Andrews PhD
Bioinformatics Dept.
The Babraham Institute
simon.andrews at bbsrc.ac.uk
+44 (0) 1223 496463
    
    
More information about the EMBOSS
mailing list