From e4ad45eb344a1aa71c9f687ec66e9fe793afd344 Mon Sep 17 00:00:00 2001 From: Piotr Gawron <piotr.gawron@uni.lu> Date: Wed, 7 Feb 2018 17:39:38 +0100 Subject: [PATCH] export of reaction type added --- .../sbml/reaction/SBOTermReactionType.java | 24 ++++++++++++++++--- .../sbml/reaction/SbmlReactionExporter.java | 1 + .../sbml/GenericSbmlToXmlParserTest.java | 10 -------- 3 files changed, 22 insertions(+), 13 deletions(-) diff --git a/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/reaction/SBOTermReactionType.java b/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/reaction/SBOTermReactionType.java index 73422774e9..5424c1e616 100644 --- a/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/reaction/SBOTermReactionType.java +++ b/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/reaction/SBOTermReactionType.java @@ -1,7 +1,7 @@ package lcsb.mapviewer.converter.model.sbml.reaction; -import java.util.HashSet; -import java.util.Set; +import java.util.ArrayList; +import java.util.List; import org.apache.log4j.Logger; @@ -37,7 +37,7 @@ public enum SBOTermReactionType { ; private static Logger logger = Logger.getLogger(SBOTermReactionType.class); - private Set<String> sboTerms = new HashSet<>(); + private List<String> sboTerms = new ArrayList<>(); Class<? extends Reaction> clazz; private SBOTermReactionType(Class<? extends Reaction> clazz, String[] inputSboTerms) { @@ -65,4 +65,22 @@ public enum SBOTermReactionType { } return result; } + + public static String getTermByType(Class<? extends Reaction> clazz) { + for (SBOTermReactionType term : values()) { + if (clazz.equals(term.clazz)) { + return term.getSBO(); + } + } + logger.warn("Cannot find SBO term for class: " + clazz); + return null; + } + + private String getSBO() { + if (sboTerms.size() != 0) { + return sboTerms.get(0); + } + logger.warn("Cannot find SBO term for class: " + clazz); + return null; + } } diff --git a/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/reaction/SbmlReactionExporter.java b/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/reaction/SbmlReactionExporter.java index 293a21c487..67e1391847 100644 --- a/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/reaction/SbmlReactionExporter.java +++ b/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/reaction/SbmlReactionExporter.java @@ -63,6 +63,7 @@ public class SbmlReactionExporter extends SbmlBioEntityExporter<Reaction, org.sb } result = getSbmlModel().createReaction(reactionId); result.setReversible(reaction.isReversible()); + result.setSBOTerm(SBOTermReactionType.getTermByType(reaction.getClass())); for (Product product : reaction.getProducts()) { Species sbmlSymbol = speciesExporter.getSbmlElementByElementId(product.getElement().getElementId()); SpeciesReference speciesReference = result.createProduct(sbmlSymbol); diff --git a/converter-sbml/src/test/java/lcsb/mapviewer/converter/model/sbml/GenericSbmlToXmlParserTest.java b/converter-sbml/src/test/java/lcsb/mapviewer/converter/model/sbml/GenericSbmlToXmlParserTest.java index fc25729abe..4b17dfa771 100644 --- a/converter-sbml/src/test/java/lcsb/mapviewer/converter/model/sbml/GenericSbmlToXmlParserTest.java +++ b/converter-sbml/src/test/java/lcsb/mapviewer/converter/model/sbml/GenericSbmlToXmlParserTest.java @@ -47,16 +47,6 @@ public class GenericSbmlToXmlParserTest { data.add(new Object[] { fPath }); } }); - Files.walk(Paths.get("testFiles/small/reaction")).forEach(fPath -> { - if (Files.isRegularFile(fPath) && fPath.toString().endsWith(".xml")) { - data.add(new Object[] { fPath }); - } - }); - Files.walk(Paths.get("testFiles/small/modifier")).forEach(fPath -> { - if (Files.isRegularFile(fPath) && fPath.toString().endsWith(".xml")) { - data.add(new Object[] { fPath }); - } - }); return data; } -- GitLab