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 02dfab98ff778b56f5259ab886318f342dac91ab..e30f31ebf3ea41ebec1a99eb3788978e7ac49eaf 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 @@ -14,6 +14,9 @@ public enum BioEntityFeature { SYNONYM("Synonym", null, new Class<?>[] { Element.class }, "minerva_synonym_"), + FULL_NAME("Full name", null, new Class<?>[] { Element.class }, + "minerva_full_name_"), + SYMBOL("Symbol", null, new Class<?>[] { Element.class }, "minerva_symbol_"); 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 9356fb591ebec2dcb62948248ad5a573dcc7f48d..316c0b0b7e5771c3d319bcf78fa3ce30460f8029 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 @@ -100,6 +100,7 @@ public class SbmlSpeciesExporter extends SbmlElementExporter<Species, org.sbml.j assignElementModificationResiduesToMulti(element, multiExtension, speciesType); assignListOfSynonymsToMulti(element, multiExtension, speciesType); assignSymbolToMulti(element, multiExtension, speciesType); + assignFullNameToMulti(element, multiExtension, speciesType); } private void assignElementModificationResiduesToMulti(Species element, MultiSpeciesPlugin multiExtension, @@ -275,6 +276,11 @@ public class SbmlSpeciesExporter extends SbmlElementExporter<Species, org.sbml.j assignValueToFeature(element, multiExtension, speciesType, element.getSymbol(), BioEntityFeature.SYMBOL); } + private void assignFullNameToMulti(Species element, MultiSpeciesPlugin multiExtension, + MultiSpeciesType speciesType) { + assignValueToFeature(element, multiExtension, speciesType, element.getFullName(), BioEntityFeature.FULL_NAME); + } + private void assignValueToFeature(Species element, MultiSpeciesPlugin multiExtension, MultiSpeciesType speciesType, String value, BioEntityFeature feature) { SpeciesFeatureType structuralStateFeature = getFeature(element.getClass(), speciesType, feature); 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 e34dac031283d7eec5f73e64c7768407afe83a08..90754235bff6b81e2aa3eb178797e5d110cd8a4c 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 @@ -151,6 +151,12 @@ public class SbmlSpeciesParser extends SbmlElementParser<org.sbml.jsbml.Species> } else { minervaElement.setSymbol(featureValues.get(0)); } + } else if (MultiPackageNamingUtils.isFeatureId(featureTypeString, BioEntityFeature.FULL_NAME)) { + if (featureValues.size() != 1) { + logger.warn(warnPrefix + "Full name must have exactly one value"); + } else { + minervaElement.setFullName(featureValues.get(0)); + } } else if (MultiPackageNamingUtils.isModificationFeatureId(featureTypeString)) { createModificationResidues(minervaElement, speciesType, feature); } else {