Skip to content

Commit 394cced

Browse files
committed
create 2 edges for unspecified edge orientation
1 parent f0cb6fa commit 394cced

File tree

2 files changed

+15
-2
lines changed

2 files changed

+15
-2
lines changed

src/main/java/knox/spring/data/neo4j/domain/Edge.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -573,7 +573,7 @@ public void reverseOrientation(){
573573
setOrientation(Orientation.REVERSE_COMPLEMENT);
574574
}
575575

576-
if(isReverseComplement()){
576+
else if(isReverseComplement()){
577577
setOrientation(Orientation.INLINE);
578578
}
579579
}

src/main/java/knox/spring/data/neo4j/sbol/SBOLConversion.java

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -197,7 +197,20 @@ private NodeSpace createNodeSpaceFromVariableComponent(VariableComponent variabl
197197

198198
//create space
199199
List<NodeSpace> inputSpace = new LinkedList<>();
200-
NodeSpace newSpace = new NodeSpace(atomIDs, atomRoles, orientation);
200+
NodeSpace newSpace;
201+
202+
// if unspecified, create both INLINE and REVERSE
203+
if(orientation == Edge.Orientation.UNDECLARED){
204+
newSpace = new NodeSpace(atomIDs, atomRoles, Edge.Orientation.INLINE);
205+
for(Edge edge : newSpace.getStartNode().getEdges()){
206+
Edge duplicateEdge = edge.copy(edge.getTail(), edge.getHead());
207+
duplicateEdge.reverseOrientation();
208+
newSpace.getStartNode().addEdge(duplicateEdge);
209+
}
210+
} else {
211+
newSpace = new NodeSpace(atomIDs, atomRoles, orientation);
212+
}
213+
201214
inputSpace.add(newSpace);
202215

203216
//check operator

0 commit comments

Comments
 (0)