stratified layout fails if the graph doesn't have any compartments, this can easily be fixed by checking if the graph is a compound graph or not
Algorithm Implementation
The stratified layout algorithm to determine where each compartment should go is not complete. i.e for each compartment label, there is no complete and total order that determines where every possible compartment label appears in the hierarchy.
(also a experimental heuristic task) On top of ordering compartments based on their label representing their physical closeness to one another, it would also be possible to explore nesting relationships (i.e compartment x contains compartment y biologically, so let compartment x be the parent of compartment y).
See:
play around with the positioning of process nodes and their neighbours. A common pattern in the graphs found in PathwayCommons is that a process node is commonly a connecting node representing a relation between it's neighbours. Therefore, this property might be able to be exploited to produce nicer looking stratified graphs
Previous Issue
https://github.com/PathwayCommons/cytoscape-sbgn-stylesheet/issues/58
To Do
Bugs
Algorithm Implementation
See:
Experimental Heuristics
@jvwong