|Welcome to the Monastery|
Sorry for the delayed reply. Have been inundated with work these two weeks. I just got some breathing space.
To the question of terminating condition: The network is built from biodegradation reactions where, in A->B, B is the result of some reaction from A and the edge represents enzymes catalysing such a reaction. The source of the information is also such that most of the reaction paths have logical end points.
The terminating situation will be when the path ends and there is no possibility of futher elongation along the path of interest.
A->B->C->D->E or A->B->C->D->G->H->C->J->K, would be correctly admissible in the resulting path.
The edge between C and D should not be allowed again (as in that loop) seeing that in real life that enzyme would already be in the system and need not be captured again. However C as a node could be captured again (eg C->J). The important factor in the resulting pathways should be the edges. An earlier captured 'node-edge-node' should not be captured again, until the the path logically ends (without a possibility of further elongation).
I hope the information supplied is sufficiently clear and helpful.
Thank you so very much.