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

import of sbml kinetics

parent 6f235bae
No related branches found
No related tags found
1 merge request!186Resolve "upload of sbml"
<?xml version="1.0" encoding="UTF-8"?><project-modules id="moduleCoreId" project-version="1.5.0">
<wb-module deploy-name="converter-sbml">
<wb-resource deploy-path="/" source-path="/src/main/java"/>
<wb-resource deploy-path="/" source-path="/src/main/resources"/>
</wb-module>
</project-modules>
<?xml version="1.0" encoding="UTF-8"?>
<faceted-project>
<installed facet="java" version="1.8"/>
<installed facet="jst.utility" version="1.0"/>
</faceted-project>
......@@ -16,7 +16,7 @@ import lcsb.mapviewer.converter.InvalidInputDataExecption;
import lcsb.mapviewer.model.map.BioEntity;
import lcsb.mapviewer.model.map.MiriamData;
public class SbmlBioEntityParser extends XmlParser{
public class SbmlBioEntityParser extends XmlParser {
Logger logger = Logger.getLogger(SbmlBioEntityParser.class);
protected Layout layout;
......
......@@ -65,11 +65,15 @@ public class SbmlParser implements IConverter {
SbmlCompartmentParser compartmentParser = new SbmlCompartmentParser(layout, model);
SbmlSpeciesParser speciesParser = new SbmlSpeciesParser(layout, model);
SbmlReactionParser reactionParser = new SbmlReactionParser(layout, model, speciesParser);
SbmlUnitsParser unitParser = new SbmlUnitsParser(model);
Set<MiriamData> annotations = compartmentParser.parseAnnotation(sbmlModel.getAnnotation());
if (annotations.size() > 0) {
throw new NotImplementedException("Annotations not implemented for model");
}
model.addUnits(unitParser.parseList(sbmlModel));
model.addElements(compartmentParser.parseList(sbmlModel));
model.addElements(speciesParser.parseList(sbmlModel));
model.addReactions(reactionParser.parseList(sbmlModel));
......@@ -112,9 +116,6 @@ public class SbmlParser implements IConverter {
if (sbmlModel.getRuleCount() > 0) {
throw new NotImplementedException("Rule not implemented for model");
}
if (sbmlModel.getUnitDefinitionCount() > 0) {
logger.warn("Units are not supported");
}
createLayout(model, layout);
return model;
......
package lcsb.mapviewer.converter.model.sbml;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
import org.apache.log4j.Logger;
import org.sbml.jsbml.ListOf;
import org.sbml.jsbml.Model;
import lcsb.mapviewer.model.map.kinetics.SbmlUnit;
public class SbmlUnitsParser extends SbmlBioEntityParser {
Logger logger = Logger.getLogger(SbmlUnitsParser.class);
public SbmlUnitsParser(lcsb.mapviewer.model.map.model.Model minervaModel) {
this.minervaModel = minervaModel;
}
protected SbmlUnit parse(org.sbml.jsbml.UnitDefinition unitDefinition, Model sbmlModel) {
SbmlUnit result = new SbmlUnit(unitDefinition.getId());
result.setName(unitDefinition.getName());
return result;
}
protected ListOf<org.sbml.jsbml.UnitDefinition> getSbmlElementList(Model sbmlModel) {
return sbmlModel.getListOfUnitDefinitions();
}
public Collection<SbmlUnit> parseList(Model sbmlModel) {
List<SbmlUnit> result = new ArrayList<>();
for (org.sbml.jsbml.UnitDefinition unitDefinition : getSbmlElementList(sbmlModel)) {
result.add(parse(unitDefinition, sbmlModel));
}
return result;
}
}
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