From 310d7d76f0a7abda16cc941e5180864d288ef156 Mon Sep 17 00:00:00 2001 From: Piotr Gawron <piotr.gawron@uni.lu> Date: Tue, 19 Dec 2017 12:26:53 +0100 Subject: [PATCH] reversible reactions have arrows in two directions --- .../lcsb/mapviewer/converter/model/sbml/SbmlParser.java | 6 ++++++ .../mapviewer/converter/model/sbml/SbmlReactionParser.java | 3 +++ 2 files changed, 9 insertions(+) diff --git a/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/SbmlParser.java b/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/SbmlParser.java index 145584ec07..c139cb3546 100644 --- a/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/SbmlParser.java +++ b/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/SbmlParser.java @@ -191,6 +191,9 @@ public class SbmlParser implements IConverter { line.addPoint(reactantStartPoint); line.addPoint(center); line.addPoint(center); + if (reaction.isReversible()) { + line.getBeginAtd().setArrowType(ArrowType.FULL); + } reaction.getReactants().get(0).setLine(line); } else { for (Reactant reactant : reaction.getReactants()) { @@ -198,6 +201,9 @@ public class SbmlParser implements IConverter { line.addPoint(reactantMergePoint); line.addPoint(reactantMergePoint); line.addPoint(reactant.getElement().getCenter()); + if (reaction.isReversible()) { + line.getBeginAtd().setArrowType(ArrowType.FULL); + } reactant.setLine(line); } NodeOperator operator = new AndOperator(); diff --git a/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/SbmlReactionParser.java b/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/SbmlReactionParser.java index 82937f209d..f96d4e2f7b 100644 --- a/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/SbmlReactionParser.java +++ b/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/SbmlReactionParser.java @@ -159,6 +159,9 @@ public class SbmlReactionParser { if (minervaNode instanceof Reactant) { line = line.reverse(); line.addPoint(line.getEndPoint()); + if (reactionWithLayout.isReversible()) { + line.getBeginAtd().setArrowType(ArrowType.FULL); + } } if (minervaNode instanceof Product) { line.addPoint(0, line.getBeginPoint()); -- GitLab