Skip to content
Snippets Groups Projects
Commit 644750d2 authored by Piotr Gawron's avatar Piotr Gawron
Browse files

Merge branch '1088-allow-to-import-export-of-unit-of-information-to-sbml' into 'master'

Resolve "allow to import/export of unit of information to SBML"

Closes #1088

See merge request !1052
parents d72cc1b7 f8419540
No related branches found
No related tags found
1 merge request!1052Resolve "allow to import/export of unit of information to SBML"
Pipeline #20303 passed
minerva (15.0.0~beta.0) stable; urgency=medium
* Feature removal: some custom fields (like transparency zoom level) are not
exported to CellDesigner file (#1071)
* Small improvement: import/export to SBML of unit of information obtained
from SBGN source is supported (#1088)
* Bug fix: import from SBGN assigned invalid name to species that didn't have
label defined (#1093)
* Bug fix: drawing protein in SBGN-like style didn't handle properly
dimension of the species for multimers bigger than 2 (#1091)
* Bug fix: drawing of structural state in SBGN-like style uses
RoundedRectangle insetad of Ellipse which was not SBGN-compliant (#1095)
-- Piotr Gawron <piotr.gawron@uni.lu> Tue, 28 Jan 2020 13:00:00 +0200
......
......@@ -37,6 +37,12 @@ public enum BioEntityFeature {
ABBREVIATION("Abbreviation", null, new Class<?>[] { Element.class },
"minerva_abbreviation_"),
STATE_PREFIX("State profix", null, new Class<?>[] { Element.class },
"minerva_state_prefix_"),
STATE_SUFFIX("State suffix", null, new Class<?>[] { Element.class },
"minerva_state_suffix_"),
SYMBOL("Symbol", null, new Class<?>[] { Element.class },
"minerva_symbol_");
......
......@@ -54,6 +54,8 @@ public class SbmlSpeciesExporter extends SbmlElementExporter<Species, org.sbml.j
assignListOfSynonymsToMulti(element, multiExtension, speciesType);
assignListOfFormerSymbolsToMulti(element, multiExtension, speciesType);
assignSymbolToMulti(element, multiExtension, speciesType);
assignStatePrefixToMulti(element, multiExtension, speciesType);
assignStateSuffixToMulti(element, multiExtension, speciesType);
assignFullNameToMulti(element, multiExtension, speciesType);
assignFormulaToMulti(element, multiExtension, speciesType);
assignDimerToMulti(element, multiExtension, speciesType);
......@@ -248,6 +250,20 @@ public class SbmlSpeciesExporter extends SbmlElementExporter<Species, org.sbml.j
}
}
private void assignStatePrefixToMulti(Species element, MultiSpeciesPlugin multiExtension,
MultiSpeciesType speciesType) {
if (element.getStatePrefix() != null) {
assignValueToFeature(element, multiExtension, speciesType, element.getStatePrefix(), BioEntityFeature.STATE_PREFIX);
}
}
private void assignStateSuffixToMulti(Species element, MultiSpeciesPlugin multiExtension,
MultiSpeciesType speciesType) {
if (element.getStateLabel() != null) {
assignValueToFeature(element, multiExtension, speciesType, element.getStateLabel(), BioEntityFeature.STATE_SUFFIX);
}
}
private void assignFullNameToMulti(Species element, MultiSpeciesPlugin multiExtension,
MultiSpeciesType speciesType) {
if (element.getFullName() != null) {
......
......@@ -116,6 +116,18 @@ public class SbmlSpeciesParser extends SbmlElementParser<org.sbml.jsbml.Species>
} else {
minervaElement.setSymbol(featureValues.get(0));
}
} else if (MultiPackageNamingUtils.isFeatureId(featureTypeString, BioEntityFeature.STATE_PREFIX)) {
if (featureValues.size() != 1) {
logger.warn(warnPrefix + "State prefix must have exactly one value");
} else {
minervaElement.setStatePrefix(featureValues.get(0));
}
} else if (MultiPackageNamingUtils.isFeatureId(featureTypeString, BioEntityFeature.STATE_SUFFIX)) {
if (featureValues.size() != 1) {
logger.warn(warnPrefix + "State suffix must have exactly one value");
} else {
minervaElement.setStateLabel(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");
......
......@@ -49,7 +49,7 @@ public class ElementPropertiesExport extends SbmlTestFunctions {
element = createProtein();
element.setConstant(true);
data.add(createTestEntry("Constatnt", element));
data.add(createTestEntry("Constant", element));
return data;
}
......
......@@ -74,6 +74,15 @@ public class ElementPropertiesExportToMultiTest extends SbmlTestFunctions {
element.setSynonyms(Arrays.asList(new String[] { "syn 1", "s2" }));
data.add(createTestEntry("Synonyms", element));
element = createProtein();
element.setStatePrefix("prefix1");
data.add(createTestEntry("State prefix", element));
element = createProtein();
element.setStatePrefix("state_suffix");
data.add(createTestEntry("State suffix", element));
return data;
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment