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

export types contains structural state feature

parent 179d6fc5
No related branches found
No related tags found
2 merge requests!630WIP: Resolve "The privileges of a new user are not saved in some cases",!560Resolve "add support for modifications and states in sbml export/import"
......@@ -18,6 +18,8 @@ import org.sbml.jsbml.ext.layout.Layout;
import org.sbml.jsbml.ext.layout.LayoutModelPlugin;
import org.sbml.jsbml.ext.multi.MultiModelPlugin;
import org.sbml.jsbml.ext.multi.MultiSpeciesType;
import org.sbml.jsbml.ext.multi.PossibleSpeciesFeatureValue;
import org.sbml.jsbml.ext.multi.SpeciesFeatureType;
import org.sbml.jsbml.ext.render.GlobalRenderInformation;
import org.sbml.jsbml.ext.render.RenderLayoutPlugin;
......@@ -25,10 +27,13 @@ import lcsb.mapviewer.common.Configuration;
import lcsb.mapviewer.common.exception.InvalidStateException;
import lcsb.mapviewer.converter.model.sbml.compartment.SbmlCompartmentExporter;
import lcsb.mapviewer.converter.model.sbml.reaction.SbmlReactionExporter;
import lcsb.mapviewer.converter.model.sbml.species.SBOTermSpeciesType;
import lcsb.mapviewer.converter.model.sbml.species.SbmlSpeciesExporter;
import lcsb.mapviewer.converter.model.sbml.units.SbmlUnitExporter;
import lcsb.mapviewer.model.map.InconsistentModelException;
import lcsb.mapviewer.model.map.species.Complex;
import lcsb.mapviewer.model.map.species.Element;
import lcsb.mapviewer.model.map.species.Protein;
import lcsb.mapviewer.model.map.species.Species;
import lcsb.mapviewer.modelutils.map.ElementUtils;
......@@ -84,7 +89,7 @@ public class SbmlExporter {
}
if (usedExtensions.contains(SbmlExtension.MULTI)) {
createSbmlMultiPlugin(model, result);
createSbmlMultiPlugin(result);
}
SbmlCompartmentExporter compartmentExporter = new SbmlCompartmentExporter(layout, model, usedExtensions);
......@@ -140,7 +145,8 @@ public class SbmlExporter {
return layout;
}
public MultiModelPlugin createSbmlMultiPlugin(lcsb.mapviewer.model.map.model.Model model, Model result) {
@SuppressWarnings("unchecked")
protected MultiModelPlugin createSbmlMultiPlugin(Model result) {
MultiModelPlugin multiPlugin = new MultiModelPlugin(result);
result.addExtension("multi", multiPlugin);
for (Class<? extends Element> clazz : new ElementUtils().getAvailableElementSubclasses()) {
......@@ -148,7 +154,18 @@ public class SbmlExporter {
MultiSpeciesType speciesType = new MultiSpeciesType();
speciesType.setName(clazz.getSimpleName());
speciesType.setId("minerva_species_type_" + clazz.getSimpleName());
if (Protein.class.isAssignableFrom(clazz) || Complex.class.isAssignableFrom(clazz)) {
SpeciesFeatureType feature = new SpeciesFeatureType();
feature.setName("Structural state");
feature.setId("minerva_structural_state_" + clazz.getSimpleName());
PossibleSpeciesFeatureValue featureEmptyValue = new PossibleSpeciesFeatureValue();
featureEmptyValue.setId("minerva_structural_state_" + clazz.getSimpleName() + "_empty");
featureEmptyValue.setName("");
feature.getListOfPossibleSpeciesFeatureValues().add(featureEmptyValue);
speciesType.getListOfSpeciesFeatureTypes().add(feature);
}
multiPlugin.getListOfSpeciesTypes().add(speciesType);
speciesType.setSBOTerm(SBOTermSpeciesType.getTermByType((Class<? extends Species>) clazz));
}
}
return multiPlugin;
......
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