diff --git a/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/extension/multi/BioEntityFeature.java b/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/extension/multi/BioEntityFeature.java index a1b95b4d590f5383aa932011f5bc029aa5f83b11..42425defdf7854a1bccfa4bc11cac49919081ca5 100644 --- a/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/extension/multi/BioEntityFeature.java +++ b/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/extension/multi/BioEntityFeature.java @@ -26,6 +26,9 @@ public enum BioEntityFeature { HYPOTHETICAL("Hypothetical", null, new Class<?>[] { Element.class }, "minerva_hypothetical_"), + ACTIVITY("Activity", null, new Class<?>[] { Element.class }, + "minerva_activity_"), + DIMER("Dimer", null, new Class<?>[] { Element.class }, "minerva_dimer_"), diff --git a/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/species/SbmlSpeciesExporter.java b/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/species/SbmlSpeciesExporter.java index cb70338973c87e8f70af120bdddb1e66047d6247..6215374c9d25eda9f77427651d89d826e9254b74 100644 --- a/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/species/SbmlSpeciesExporter.java +++ b/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/species/SbmlSpeciesExporter.java @@ -109,6 +109,7 @@ public class SbmlSpeciesExporter extends SbmlElementExporter<Species, org.sbml.j assignHypotheticalToMulti(element, multiExtension, speciesType); assignAbbreviationToMulti(element, multiExtension, speciesType); assignChargeToMulti(element, multiExtension, speciesType); + assignActivityToMulti(element, multiExtension, speciesType); } private void assignElementModificationResiduesToMulti(Species element, MultiSpeciesPlugin multiExtension, @@ -323,6 +324,14 @@ public class SbmlSpeciesExporter extends SbmlElementExporter<Species, org.sbml.j } } + private void assignActivityToMulti(Species element, MultiSpeciesPlugin multiExtension, + MultiSpeciesType speciesType) { + if (element.getActivity() != null) { + assignValueToFeature(element, multiExtension, speciesType, element.getActivity().toString(), + BioEntityFeature.ACTIVITY); + } + } + private void assignAbbreviationToMulti(Species element, MultiSpeciesPlugin multiExtension, MultiSpeciesType speciesType) { assignValueToFeature(element, multiExtension, speciesType, element.getAbbreviation(), diff --git a/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/species/SbmlSpeciesParser.java b/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/species/SbmlSpeciesParser.java index 468348e3449f59a2abadc727a2f51b1a3c9125e1..d458857d6ded909aad2a5f33ef5bba640c715337 100644 --- a/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/species/SbmlSpeciesParser.java +++ b/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/species/SbmlSpeciesParser.java @@ -209,6 +209,20 @@ public class SbmlSpeciesParser extends SbmlElementParser<org.sbml.jsbml.Species> } minervaElement.setHypothetical(value); } + } else if (MultiPackageNamingUtils.isFeatureId(featureTypeString, BioEntityFeature.ACTIVITY)) { + if (featureValues.size() != 1) { + logger.warn(warnPrefix + "Activity must have exactly one value"); + } else { + Boolean value = null; + if (featureValues.get(0).equalsIgnoreCase("true")) { + value = true; + } else if (featureValues.get(0).equalsIgnoreCase("false")) { + value = false; + } else { + logger.warn(warnPrefix + "Activity must be true/false value. Found: " + featureValues.get(0)); + } + minervaElement.setActivity(value); + } } else if (MultiPackageNamingUtils.isModificationFeatureId(featureTypeString)) { createModificationResidues(minervaElement, speciesType, feature); } else { diff --git a/converter-sbml/src/test/java/lcsb/mapviewer/converter/model/sbml/ElementPropertiesExportToMultiTest.java b/converter-sbml/src/test/java/lcsb/mapviewer/converter/model/sbml/ElementPropertiesExportToMultiTest.java index ea0af3d65868a97db0efed823455993d2aab034b..d9bdefc23859caf5831f4395d488406d30efb9d2 100644 --- a/converter-sbml/src/test/java/lcsb/mapviewer/converter/model/sbml/ElementPropertiesExportToMultiTest.java +++ b/converter-sbml/src/test/java/lcsb/mapviewer/converter/model/sbml/ElementPropertiesExportToMultiTest.java @@ -68,6 +68,10 @@ public class ElementPropertiesExportToMultiTest { element.setHypothetical(true); data.add(createTestEntry("Hypothetical", element)); + element = createElement(); + element.setActivity(true); + data.add(createTestEntry("Activity", element)); + element = createElement(); element.setSymbol("H2O"); data.add(createTestEntry("Symbol", element));