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 dda0a2c6a90479dab0c7664f872f69c1ebacebe4..5b4f53699662bf7c8f36b6d10a94cd3a2bbca287 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 0b8b1e4c240dee5491774dc958c47bfbce2d9d24..bbfbd3b22d800d252d76ca50bfbc853e05d9145e 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 252a952df8b61983864086fc8a7a801d2ba59a48..28a13cca230c59b106f514a10134270b29095c92 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 d5fa8d1a50cd258ac62794dc08729d23dc75fe89..f93e8502a993bb5597e29508643d55d51c7c32b2 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 5eb71a10f1851abd348a2d09d94f5765c7607cc4..a7ee536523dbf4998c754959648c4d273503759d 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 3cc706b09487b6e6330678fc1579a1d8d2bbe0a1..b909f91c2a7216c30bebd4b408bebd9141c73b79 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 ca7fcb28cc682927b1191745d05e20133944c17e..40114e8b15a710cebf3433bbc14083f0b7aa8d47 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 642f15c1b4a29147e522a052d0a23d60fc6d7285..99baa3f051259bb52019dadfd9b0861e4ecdc735 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 eba97a06f2ef24581b19bf801880e23dacfec3b9..6fd309245365e3b0fd6eb5efb4453b6fabec25dc 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 938249078a5ba282fab2df674488dcd659e0c8d3..05c76708f7b050c11e6acdb5edbcdc330ae65b7b 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 d97dba488770c32704211df65ed5b473a4e791be..39d96b497b58a86769f0a8fe27099c1bbecfd32f 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);