Catherine Letondal letondal at pasteur.fr
Wed Jan 10 15:28:34 UTC 2001

James Bonfield wrote:
> As I understand it there is a -filter option which reads from stdin and writes
> to stdout, although obviously it only works for programs that take exactly one
> sequence. Output could be tricky too. You'd also need a way to silence the
> rest of the output, or alternatively to output it to stderr instead.
> execl() inherits open file descriptors [1] (unless the close-on-exec flag is
> set) which means that a parent process could open file descriptor 3 and then
> call a command which writes to descriptor 3. So this way a master program
> could create a communication channel which the separate programs in the
> pipeline all communicate via. That's perhaps overkill though!
> We thought a bit about connecting multiple programs together to produce
> pipelines. However that's far off on our plan. You'd obviously need a way of
> linking arguments together so that the user cannot specify the output 
> of program 1 as "xyzzy" and the input for program 2 as "plugh".

In Pise, the interface developper (the one who writes an XML definition file) says:

	this output file of program p1 is of type A
	this input file of program p2 is of type A

And it's the interface generator's job to make the connection by linking input/output
files of the same type. The user (do you mean the so-called "end-user" ?) does not
specify anything? 

I don't think this has anything to do either with stdin/stdout, which is just
the Unix implementation of pipelines. Actually, Pise Web interfaces "pipelines" 
don't use Unix pipes :-)

Just think how convenient pipelines can be for database searches / multiple alignment
and phylogenetic analyses.

Catherine Letondal -- Pasteur Institute Computing Center

More information about the emboss-dev mailing list