diff --git a/CHANGELOG b/CHANGELOG index 987325ebd9551cf3e48918e885a10a027902f73b..8fddbae2aa28cd9acd012c9e659cb67dbebf66a7 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -12,6 +12,8 @@ minerva (18.1.0) stable; urgency=medium separated using compartment (#2169) * Bug fix: exporting model should provide deterministic output for species and compartments (#2187) + * Bug fix: exporting degraded to SBGN-ML should not produce a label for it + (#2194) -- Piotr Gawron <piotr.gawron@uni.lu> Thu, 19 Dec 2024 13:00:00 +0200 diff --git a/converter-SBGNML/src/main/java/lcsb/mapviewer/converter/model/sbgnml/SbgnmlXmlExporter.java b/converter-SBGNML/src/main/java/lcsb/mapviewer/converter/model/sbgnml/SbgnmlXmlExporter.java index 151f2ced9724130804a01b5767ca3e8d29f3075f..cc94a4a40b40b103077dbb88e81537b87987dedd 100644 --- a/converter-SBGNML/src/main/java/lcsb/mapviewer/converter/model/sbgnml/SbgnmlXmlExporter.java +++ b/converter-SBGNML/src/main/java/lcsb/mapviewer/converter/model/sbgnml/SbgnmlXmlExporter.java @@ -615,6 +615,9 @@ public class SbgnmlXmlExporter { * @return label for a glyph */ private Label getGlyphLabelFromAlias(final Element element) { + if (element instanceof Degraded) { + return null; + } final Label label = new Label(); label.setText(element.getName()); final Bbox box = new Bbox(); diff --git a/converter-SBGNML/src/test/java/lcsb/mapviewer/converter/model/sbgnml/SbgnmlTestFunctions.java b/converter-SBGNML/src/test/java/lcsb/mapviewer/converter/model/sbgnml/SbgnmlTestFunctions.java index 5f38baf0e8e31e2be6d4a8d59ecc2b81d39651fe..4f90c7ec36fa85c0a802e3dfd803d7f6b74e114a 100644 --- a/converter-SBGNML/src/test/java/lcsb/mapviewer/converter/model/sbgnml/SbgnmlTestFunctions.java +++ b/converter-SBGNML/src/test/java/lcsb/mapviewer/converter/model/sbgnml/SbgnmlTestFunctions.java @@ -17,6 +17,7 @@ import lcsb.mapviewer.model.map.compartment.Compartment; import lcsb.mapviewer.model.map.compartment.SquareCompartment; import lcsb.mapviewer.model.map.model.Model; import lcsb.mapviewer.model.map.species.Complex; +import lcsb.mapviewer.model.map.species.Degraded; import lcsb.mapviewer.model.map.species.Drug; import lcsb.mapviewer.model.map.species.Element; import lcsb.mapviewer.model.map.species.GenericProtein; @@ -74,6 +75,14 @@ public class SbgnmlTestFunctions extends TestUtils { return protein; } + protected Degraded createDegraded() { + Degraded degraded = new Degraded("id" + (counter++)); + assignLayout(degraded); + degraded.setWidth(degraded.getHeight()); + degraded.setNameWidth(degraded.getHeight()); + return degraded; + } + protected Compartment createCompartment() { SquareCompartment compartment = new SquareCompartment("id" + (counter++)); assignLayout(compartment); diff --git a/converter-SBGNML/src/test/java/lcsb/mapviewer/converter/model/sbgnml/SbgnmlXmlExporterTest.java b/converter-SBGNML/src/test/java/lcsb/mapviewer/converter/model/sbgnml/SbgnmlXmlExporterTest.java index bcd816d33ff55997e44fdca3975f1632689ffb36..2f1143c6a905602ad53f1d11d94b48339b0fab1b 100644 --- a/converter-SBGNML/src/test/java/lcsb/mapviewer/converter/model/sbgnml/SbgnmlXmlExporterTest.java +++ b/converter-SBGNML/src/test/java/lcsb/mapviewer/converter/model/sbgnml/SbgnmlXmlExporterTest.java @@ -12,6 +12,7 @@ import lcsb.mapviewer.model.map.reaction.Reactant; import lcsb.mapviewer.model.map.reaction.Reaction; import lcsb.mapviewer.model.map.reaction.type.ModifierReactionNotation; import lcsb.mapviewer.model.map.reaction.type.ReducedNotation; +import lcsb.mapviewer.model.map.species.Degraded; import lcsb.mapviewer.model.map.species.Drug; import lcsb.mapviewer.model.map.species.GenericProtein; import lcsb.mapviewer.model.map.species.Ion; @@ -191,4 +192,16 @@ public class SbgnmlXmlExporterTest extends SbgnmlTestFunctions { assertEquals(0, new ModelComparator().compare(model, model2)); } + @Test + public void importExportDegraded() throws Exception { + Degraded degraded = createDegraded(); + + Model model = new ModelFullIndexed(null); + model.setWidth(2000); + model.setHeight(2000); + model.addElement(degraded); + + serializeAndCleanOverSbgn(model); + } + }