From b5e0e7f2125c713a6e623d9ec6e5176430d460a4 Mon Sep 17 00:00:00 2001 From: Piotr Gawron <piotr.gawron@uni.lu> Date: Mon, 18 Dec 2017 17:03:00 +0100 Subject: [PATCH] when no information about modifier is provided then Modulation is used as default --- .../celldesigner/types/ModifierTypeUtils.java | 3 +- .../converter/model/sbml/SbmlParser.java | 18 +++- .../model/sbml/GenericSbmlParserTest.java | 1 - .../model/map/modifier/Catalysis.java | 82 +++++++++---------- .../model/map/modifier/Inhibition.java | 5 +- .../model/map/modifier/Modulation.java | 5 +- .../map/modifier/PhysicalStimulation.java | 5 +- .../mapviewer/model/map/modifier/Trigger.java | 5 +- .../model/map/modifier/UnknownCatalysis.java | 5 +- .../model/map/modifier/UnknownInhibition.java | 5 +- .../model/map/reaction/Modifier.java | 5 +- 11 files changed, 81 insertions(+), 58 deletions(-) diff --git a/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/types/ModifierTypeUtils.java b/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/types/ModifierTypeUtils.java index dda0a2c6a9..5b4f536996 100644 --- a/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/types/ModifierTypeUtils.java +++ b/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/types/ModifierTypeUtils.java @@ -14,6 +14,7 @@ import lcsb.mapviewer.model.map.reaction.AbstractNode; import lcsb.mapviewer.model.map.reaction.Modifier; import lcsb.mapviewer.model.map.reaction.NodeOperator; import lcsb.mapviewer.model.map.reaction.Reaction; +import lcsb.mapviewer.model.map.species.Element; import lcsb.mapviewer.model.map.species.Species; /** @@ -79,7 +80,7 @@ public class ModifierTypeUtils { throw new InvalidArgumentException("Unknown modifier type: " + type); } try { - Modifier mod = modType.getClazz().getConstructor(Species.class).newInstance(alias); + Modifier mod = modType.getClazz().getConstructor(Element.class).newInstance(alias); return mod; } catch (Exception e) { throw new InvalidStateException("Problem with instantiation of Modifier class: " + type); 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 0b8b1e4c24..bbfbd3b22d 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 @@ -5,6 +5,7 @@ import java.awt.geom.Point2D; import java.io.File; import java.io.IOException; import java.io.InputStream; +import java.util.HashSet; import java.util.Set; import javax.xml.stream.XMLStreamException; @@ -30,6 +31,7 @@ import lcsb.mapviewer.model.map.InconsistentModelException; import lcsb.mapviewer.model.map.MiriamData; import lcsb.mapviewer.model.map.model.Model; import lcsb.mapviewer.model.map.model.ModelFullIndexed; +import lcsb.mapviewer.model.map.modifier.Modulation; import lcsb.mapviewer.model.map.reaction.AbstractNode; import lcsb.mapviewer.model.map.reaction.AndOperator; import lcsb.mapviewer.model.map.reaction.Modifier; @@ -220,12 +222,26 @@ public class SbmlParser implements IConverter { operator.setLine(line); reaction.addNode(operator); } + Set<Modifier> modifiersToBeRemoved = new HashSet<>(); + Set<Modifier> modifiersToBeAdded = new HashSet<>(); + for (Modifier modifier : reaction.getModifiers()) { + if (modifier.getClass() == Modifier.class) { + modifiersToBeRemoved.add(modifier); + modifiersToBeAdded.add(new Modulation(modifier.getElement())); + } + } + for (Modifier modifier : modifiersToBeRemoved) { + reaction.removeModifier(modifier); + } + for (Modifier modifier : modifiersToBeAdded) { + reaction.addModifier(modifier); + } for (Modifier modifier : reaction.getModifiers()) { PolylineData line = new PolylineData(); line.addPoint(modifier.getElement().getCenter()); line.addPoint(center); modifier.setLine(line); - if (modifier.getClass() == Modifier.class) { + if (modifier.getClass() == Modulation.class) { line.setEndAtd(ModifierType.MODULATION_STRING.getAtd()); } } diff --git a/converter-sbml/src/test/java/lcsb/mapviewer/converter/model/sbml/GenericSbmlParserTest.java b/converter-sbml/src/test/java/lcsb/mapviewer/converter/model/sbml/GenericSbmlParserTest.java index 252a952df8..28a13cca23 100644 --- a/converter-sbml/src/test/java/lcsb/mapviewer/converter/model/sbml/GenericSbmlParserTest.java +++ b/converter-sbml/src/test/java/lcsb/mapviewer/converter/model/sbml/GenericSbmlParserTest.java @@ -61,7 +61,6 @@ public class GenericSbmlParserTest { Model model = converter.createModel(new ConverterParams().filename(filePath.toString())); model.setName(null); - logger.debug(model.getElements().size()); // Create and display image of parsed map AbstractImageGenerator.Params params = new AbstractImageGenerator.Params().height(model.getHeight()) diff --git a/model/src/main/java/lcsb/mapviewer/model/map/modifier/Catalysis.java b/model/src/main/java/lcsb/mapviewer/model/map/modifier/Catalysis.java index d5fa8d1a50..f93e8502a9 100644 --- a/model/src/main/java/lcsb/mapviewer/model/map/modifier/Catalysis.java +++ b/model/src/main/java/lcsb/mapviewer/model/map/modifier/Catalysis.java @@ -5,7 +5,7 @@ import javax.persistence.Entity; import lcsb.mapviewer.common.exception.NotImplementedException; import lcsb.mapviewer.model.map.reaction.Modifier; -import lcsb.mapviewer.model.map.species.Species; +import lcsb.mapviewer.model.map.species.Element; /** * This class defines catalysis modifier in the reaction. @@ -17,45 +17,45 @@ import lcsb.mapviewer.model.map.species.Species; @DiscriminatorValue("CATALYSIS_MODIFIER") public class Catalysis extends Modifier { - /** - * - */ - private static final long serialVersionUID = 1L; - - /** - * Default constructor. - */ - public Catalysis() { - super(); - } - - /** - * Constructor that creates {@link Catalysis} modifier for given element. - * - * @param element - * element object to which this modifiar is assigned - */ - public Catalysis(Species element) { - super(element); - } - - /** - * Constructor that creates object with data taken from parameter catalysis. - * - * @param catalysis - * object from which data are initialized - */ - public Catalysis(Catalysis catalysis) { - super(catalysis); - } - - @Override - public Catalysis copy() { - if (this.getClass() == Catalysis.class) { - return new Catalysis(this); - } else { - throw new NotImplementedException("Method copy() should be overriden in class " + this.getClass()); - } - } + /** + * + */ + private static final long serialVersionUID = 1L; + + /** + * Default constructor. + */ + public Catalysis() { + super(); + } + + /** + * Constructor that creates {@link Catalysis} modifier for given element. + * + * @param element + * element object to which this modifier is assigned + */ + public Catalysis(Element element) { + super(element); + } + + /** + * Constructor that creates object with data taken from parameter catalysis. + * + * @param catalysis + * object from which data are initialized + */ + public Catalysis(Catalysis catalysis) { + super(catalysis); + } + + @Override + public Catalysis copy() { + if (this.getClass() == Catalysis.class) { + return new Catalysis(this); + } else { + throw new NotImplementedException("Method copy() should be overriden in class " + this.getClass()); + } + } } diff --git a/model/src/main/java/lcsb/mapviewer/model/map/modifier/Inhibition.java b/model/src/main/java/lcsb/mapviewer/model/map/modifier/Inhibition.java index 5eb71a10f1..a7ee536523 100644 --- a/model/src/main/java/lcsb/mapviewer/model/map/modifier/Inhibition.java +++ b/model/src/main/java/lcsb/mapviewer/model/map/modifier/Inhibition.java @@ -5,6 +5,7 @@ import javax.persistence.Entity; import lcsb.mapviewer.common.exception.NotImplementedException; import lcsb.mapviewer.model.map.reaction.Modifier; +import lcsb.mapviewer.model.map.species.Element; import lcsb.mapviewer.model.map.species.Species; /** @@ -33,9 +34,9 @@ public class Inhibition extends Modifier { * Constructor that creates inhibition modifier for given element. * * @param element - * element object to which this modifiar is assigned + * element object to which this modifier is assigned */ - public Inhibition(Species element) { + public Inhibition(Element element) { super(element); } diff --git a/model/src/main/java/lcsb/mapviewer/model/map/modifier/Modulation.java b/model/src/main/java/lcsb/mapviewer/model/map/modifier/Modulation.java index 3cc706b094..b909f91c2a 100644 --- a/model/src/main/java/lcsb/mapviewer/model/map/modifier/Modulation.java +++ b/model/src/main/java/lcsb/mapviewer/model/map/modifier/Modulation.java @@ -5,6 +5,7 @@ import javax.persistence.Entity; import lcsb.mapviewer.common.exception.NotImplementedException; import lcsb.mapviewer.model.map.reaction.Modifier; +import lcsb.mapviewer.model.map.species.Element; import lcsb.mapviewer.model.map.species.Species; /** @@ -33,9 +34,9 @@ public class Modulation extends Modifier { * Constructor that creates modulation modifier for given element. * * @param element - * element object to which this modifiar is assigned + * element object to which this modifier is assigned */ - public Modulation(Species element) { + public Modulation(Element element) { super(element); } diff --git a/model/src/main/java/lcsb/mapviewer/model/map/modifier/PhysicalStimulation.java b/model/src/main/java/lcsb/mapviewer/model/map/modifier/PhysicalStimulation.java index ca7fcb28cc..40114e8b15 100644 --- a/model/src/main/java/lcsb/mapviewer/model/map/modifier/PhysicalStimulation.java +++ b/model/src/main/java/lcsb/mapviewer/model/map/modifier/PhysicalStimulation.java @@ -5,6 +5,7 @@ import javax.persistence.Entity; import lcsb.mapviewer.common.exception.NotImplementedException; import lcsb.mapviewer.model.map.reaction.Modifier; +import lcsb.mapviewer.model.map.species.Element; import lcsb.mapviewer.model.map.species.Species; /** @@ -33,9 +34,9 @@ public class PhysicalStimulation extends Modifier { * Constructor that creates physical stimulation modifier for given element. * * @param element - * element object to which this modifiar is assigned + * element object to which this modifier is assigned */ - public PhysicalStimulation(Species element) { + public PhysicalStimulation(Element element) { super(element); } diff --git a/model/src/main/java/lcsb/mapviewer/model/map/modifier/Trigger.java b/model/src/main/java/lcsb/mapviewer/model/map/modifier/Trigger.java index 642f15c1b4..99baa3f051 100644 --- a/model/src/main/java/lcsb/mapviewer/model/map/modifier/Trigger.java +++ b/model/src/main/java/lcsb/mapviewer/model/map/modifier/Trigger.java @@ -5,6 +5,7 @@ import javax.persistence.Entity; import lcsb.mapviewer.common.exception.NotImplementedException; import lcsb.mapviewer.model.map.reaction.Modifier; +import lcsb.mapviewer.model.map.species.Element; import lcsb.mapviewer.model.map.species.Species; /** @@ -33,9 +34,9 @@ public class Trigger extends Modifier { * Constructor that creates trigger modifier for given element. * * @param element - * element object to which this modifiar is assigned + * element object to which this modifier is assigned */ - public Trigger(Species element) { + public Trigger(Element element) { super(element); } diff --git a/model/src/main/java/lcsb/mapviewer/model/map/modifier/UnknownCatalysis.java b/model/src/main/java/lcsb/mapviewer/model/map/modifier/UnknownCatalysis.java index eba97a06f2..6fd3092453 100644 --- a/model/src/main/java/lcsb/mapviewer/model/map/modifier/UnknownCatalysis.java +++ b/model/src/main/java/lcsb/mapviewer/model/map/modifier/UnknownCatalysis.java @@ -5,6 +5,7 @@ import javax.persistence.Entity; import lcsb.mapviewer.common.exception.NotImplementedException; import lcsb.mapviewer.model.map.reaction.Modifier; +import lcsb.mapviewer.model.map.species.Element; import lcsb.mapviewer.model.map.species.Species; /** @@ -33,9 +34,9 @@ public class UnknownCatalysis extends Modifier { * Constructor that creates unknown catalysis modifier for given element. * * @param element - * element object to which this modifiar is assigned + * element object to which this modifier is assigned */ - public UnknownCatalysis(Species element) { + public UnknownCatalysis(Element element) { super(element); } diff --git a/model/src/main/java/lcsb/mapviewer/model/map/modifier/UnknownInhibition.java b/model/src/main/java/lcsb/mapviewer/model/map/modifier/UnknownInhibition.java index 938249078a..05c76708f7 100644 --- a/model/src/main/java/lcsb/mapviewer/model/map/modifier/UnknownInhibition.java +++ b/model/src/main/java/lcsb/mapviewer/model/map/modifier/UnknownInhibition.java @@ -5,6 +5,7 @@ import javax.persistence.Entity; import lcsb.mapviewer.common.exception.NotImplementedException; import lcsb.mapviewer.model.map.reaction.Modifier; +import lcsb.mapviewer.model.map.species.Element; import lcsb.mapviewer.model.map.species.Species; /** @@ -34,9 +35,9 @@ public class UnknownInhibition extends Modifier { * element. * * @param element - * element object to which this modifiar is assigned + * element object to which this modifier is assigned */ - public UnknownInhibition(Species element) { + public UnknownInhibition(Element element) { super(element); } diff --git a/model/src/main/java/lcsb/mapviewer/model/map/reaction/Modifier.java b/model/src/main/java/lcsb/mapviewer/model/map/reaction/Modifier.java index d97dba4887..39d96b497b 100644 --- a/model/src/main/java/lcsb/mapviewer/model/map/reaction/Modifier.java +++ b/model/src/main/java/lcsb/mapviewer/model/map/reaction/Modifier.java @@ -4,6 +4,7 @@ import javax.persistence.DiscriminatorValue; import javax.persistence.Entity; import lcsb.mapviewer.common.exception.NotImplementedException; +import lcsb.mapviewer.model.map.species.Element; import lcsb.mapviewer.model.map.species.Species; /** @@ -38,7 +39,7 @@ public class Modifier extends ReactionNode { * @param element * element that represent this modifier */ - public Modifier(Species element) { + public Modifier(Element element) { super(element); } @@ -46,7 +47,7 @@ public class Modifier extends ReactionNode { * Constructor that initialize the modifier with data from parameter. * * @param original - * original modifier used for data initalization + * original modifier used for data initialization */ protected Modifier(Modifier original) { super(original); -- GitLab