3 ms·
> There is no other way. BPipe is based on the idea of a DAG. You just don't see it. So if you think Bpipe uses a DAG, then I wonder how you would think it dea
by zmmmmm 14y ago
> There is no other way. BPipe is based on the idea of a DAG. You just don't see it.
So if you think Bpipe uses a DAG, then I wonder how you would think it deals with:
run { fix_names + fix_names + fix_names }
In terms of the pipeline stages that run this is cyclic, so it cannot be a DAG. On the other hand the files created do usually form a DAG dependency relationship, but even there, in the most general case, it's not at all impossible in an imperative pipeline to read a file in and write the same file out again in modified form (or more likely, to modify it in place), so the file depends on itself - another non-DAG relationship. I'm sure you'll object to this in a purist sense, and tell me it is a horribly broken idea, but as a practising bioinformatician, when I have a 10TB file and modifying it in place will save me hours and huge amounts of space, I'm much more interested in getting my job done than being pure about things.
I think you're right that we're at diminishing returns here, and I'm sorry I've frustrated you. We're trying to bite off more than we can chew in a forum like this.
I wish you all the best with Drake and I'll definitely check it out down the track (when it supports parallelism, since that's too important to me right now). For now, though, I don't intend to read / respond to any more replies in this thread.
- aboytsov 14y agoThis is not a cyclic dependency graph!!! This is a syntax for copying vertices, nothing else. It creates a DAG of three vertices and two edges, but uses only one step definition to do so. It automatically replicates the step definition as needed. It could be extremely easy to reproduce in Drake: fix_names() ... _ <- $[in] [method:fix_names] _ <- _ [method:fix_names] $[out] <- _ [method:fix_names] Is there any difference between Bpipe's version and Drake's version that I am failing to see? > I'm much more interested in getting my job done than being pure about things. It's funny coming from someone who I have been BEGGING for examples but getting abstract philosophical reasoning in return. I repeat. Give me an example. So far you haven't given me one example of what Bpipe can do that Drake couldn't do in the same way or better, and yet you continue claiming philosophical differences. If we concentrate on examples and discuss how they would work, whether there are differences, and what these differences are, I guarantee you, we'll make progress. But then again, I'm repeating myself. Artem.