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 32df3fa6080d63bdefacf6769a6915d1ae5ba01e..b1f340397721a09845e7da559b512998b6c83931 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 @@ -7,25 +7,28 @@ import lcsb.mapviewer.model.map.species.Protein; public enum BioEntityFeature { STRUCTURAL_STATE("Structural state", "", new Class<?>[] { Protein.class, Complex.class }, "minerva_structural_state_"), - + POSITION_TO_COMPARTMENT("Position to compartment", "undefined", new Class<?>[] { Element.class }, - "minerva_position_to_compartment_"), - + "minerva_position_to_compartment_"), + SYNONYM("Synonym", null, new Class<?>[] { Element.class }, - "minerva_synonym_"), - + "minerva_synonym_"), + + FORMER_SYMBOL("Former symbol", null, new Class<?>[] { Element.class }, + "minerva_former_symbol_"), + FULL_NAME("Full name", null, new Class<?>[] { Element.class }, - "minerva_full_name_"), - + "minerva_full_name_"), + FORMULA("Formula", null, new Class<?>[] { Element.class }, - "minerva_formula_"), - + "minerva_formula_"), + ABBREVIATION("Abbreviation", null, new Class<?>[] { Element.class }, - "minerva_abbreviation_"), - + "minerva_abbreviation_"), + SYMBOL("Symbol", null, new Class<?>[] { Element.class }, - "minerva_symbol_"); - + "minerva_symbol_"); + private String featureName; private String defaultValue; private Class<?>[] properClasses; 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 b9bacc64e8aa45176d6e6818342c4e6deddaacf8..a0ea4fa4730d5c8aedb35dd73bdd39ce180146de 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 @@ -99,6 +99,7 @@ public class SbmlSpeciesExporter extends SbmlElementExporter<Species, org.sbml.j assignPostionToCompartmentToMulti(element, multiExtension, speciesType); assignElementModificationResiduesToMulti(element, multiExtension, speciesType); assignListOfSynonymsToMulti(element, multiExtension, speciesType); + assignListOfFormerSymbolsToMulti(element, multiExtension, speciesType); assignSymbolToMulti(element, multiExtension, speciesType); assignFullNameToMulti(element, multiExtension, speciesType); assignFormulaToMulti(element, multiExtension, speciesType); @@ -273,6 +274,13 @@ public class SbmlSpeciesExporter extends SbmlElementExporter<Species, org.sbml.j } } + private void assignListOfFormerSymbolsToMulti(Species element, MultiSpeciesPlugin multiExtension, + MultiSpeciesType speciesType) { + for (String formerSymbol : element.getFormerSymbols()) { + assignValueToFeature(element, multiExtension, speciesType, formerSymbol, BioEntityFeature.FORMER_SYMBOL); + } + } + private void assignSymbolToMulti(Species element, MultiSpeciesPlugin multiExtension, MultiSpeciesType speciesType) { assignValueToFeature(element, multiExtension, speciesType, element.getSymbol(), BioEntityFeature.SYMBOL); 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 7b19918850c5745db7d6af185221e6874a695c89..1de4988a3f35644697274c14db508d3eb7ab9de9 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 @@ -145,6 +145,8 @@ public class SbmlSpeciesParser extends SbmlElementParser<org.sbml.jsbml.Species> } } else if (MultiPackageNamingUtils.isFeatureId(featureTypeString, BioEntityFeature.SYNONYM)) { minervaElement.setSynonyms(featureValues); + } else if (MultiPackageNamingUtils.isFeatureId(featureTypeString, BioEntityFeature.FORMER_SYMBOL)) { + minervaElement.setFormerSymbols(featureValues); } else if (MultiPackageNamingUtils.isFeatureId(featureTypeString, BioEntityFeature.SYMBOL)) { if (featureValues.size() != 1) { logger.warn(warnPrefix + "Symbol must have exactly one value");