diff --git a/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/MultiPackageNamingUtils.java b/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/MultiPackageNamingUtils.java index a4f69ebc8e2b35d142e2f37b3167ee16d0f0c6eb..3b691a55b7d4836a72a426b1168cd857cabc0c1f 100644 --- a/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/MultiPackageNamingUtils.java +++ b/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/MultiPackageNamingUtils.java @@ -5,8 +5,10 @@ import org.sbml.jsbml.ext.multi.MultiSpeciesType; import lcsb.mapviewer.model.map.species.Element; import lcsb.mapviewer.model.map.species.Species; +import lcsb.mapviewer.model.map.species.field.AbstractSiteModification; import lcsb.mapviewer.model.map.species.field.ModificationResidue; import lcsb.mapviewer.model.map.species.field.ModificationState; +import lcsb.mapviewer.model.map.species.field.TranscriptionSite; /** * Class responsible for providing identifiers of structures inside multi @@ -70,19 +72,20 @@ public final class MultiPackageNamingUtils { return featureTypeId.startsWith(MINERVA_POSITION_TO_COMPARTMENT_PREFIX); } - public static String getModificationFeatureId(Species species, Class<? extends ModificationResidue> class1) { - return MINERVA_MODIFICATION_TYPE_PREFIX + species.getClass().getSimpleName() + "_" + class1.getSimpleName(); - } - - public static String getModificationFeatureId(Species species, Class<? extends ModificationResidue> class1, - ModificationState state) { - String stateName = "null"; - if (state != null) { - stateName = state.name(); + public static String getModificationFeatureId(ModificationResidue mr) { + String stateSuffix = ""; + if (mr instanceof AbstractSiteModification) { + if (((AbstractSiteModification) mr).getState() != null) { + stateSuffix = "_" + ((AbstractSiteModification) mr).getState().name(); + } else { + stateSuffix = "_null"; + } + } else if (mr instanceof TranscriptionSite) { + stateSuffix = "_" + ((TranscriptionSite) mr).getActive() + "_" + ((TranscriptionSite) mr).getDirection(); } - - return MINERVA_MODIFICATION_TYPE_PREFIX + species.getClass().getSimpleName() + "_" + class1.getSimpleName() + "_" - + stateName; + + return MINERVA_MODIFICATION_TYPE_PREFIX + mr.getSpecies().getClass().getSimpleName() + "_" + + mr.getClass().getSimpleName() + stateSuffix; } public static boolean isModificationFeatureId(String featureTypeString) { @@ -103,4 +106,26 @@ public final class MultiPackageNamingUtils { return null; } + public static Boolean getTranscriptionFactorActiveStateFromFeatureTypeName(String featureTypeString) { + String tmp[] = featureTypeString.split("_"); + Boolean result = null; + if (tmp.length >= 2) { + if (tmp[tmp.length - 2].equalsIgnoreCase("TRUE")) { + result = true; + } else if (tmp[tmp.length - 2].equalsIgnoreCase("FALSE")) { + result = false; + } + } + return result; + } + + public static String getTranscriptionFactorDirectionStateFromFeatureTypeName(String featureTypeString) { + String tmp[] = featureTypeString.split("_"); + String result = null; + if (tmp.length >= 1) { + result = tmp[tmp.length - 1]; + } + return result; + } + } 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 670c655dbc548660877cc1b995a479600597597e..fe1c72781d56f3bd2e093bec5785abc2db4fd062 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 @@ -120,15 +120,15 @@ public class SbmlSpeciesExporter extends SbmlElementExporter<Species, org.sbml.j PossibleSpeciesFeatureValue value; if (mr instanceof BindingRegion) { - feature = getBindingRegionFeature(mr.getSpecies(), speciesType); + feature = getBindingRegionFeature((BindingRegion) mr, speciesType); } else if (mr instanceof CodingRegion) { - feature = getCodingRegionFeature(mr.getSpecies(), speciesType); + feature = getCodingRegionFeature((CodingRegion) mr, speciesType); } else if (mr instanceof ProteinBindingDomain) { - feature = getProteinBindingDomainFeature(mr.getSpecies(), speciesType); + feature = getProteinBindingDomainFeature((ProteinBindingDomain) mr, speciesType); } else if (mr instanceof RegulatoryRegion) { - feature = getRegulatoryRegionFeature(mr.getSpecies(), speciesType); + feature = getRegulatoryRegionFeature((RegulatoryRegion) mr, speciesType); } else if (mr instanceof TranscriptionSite) { - feature = getTranscriptionSiteFeature(mr.getSpecies(), speciesType); + feature = getTranscriptionSiteFeature((TranscriptionSite) mr, speciesType); } else if (mr instanceof ModificationSite) { feature = getModificationSiteFeature((ModificationSite) mr, speciesType); } else if (mr instanceof Residue) { @@ -142,40 +142,42 @@ public class SbmlSpeciesExporter extends SbmlElementExporter<Species, org.sbml.j } } - private SpeciesFeatureType getCodingRegionFeature(Species species, MultiSpeciesType speciesType) { - String featureId = MultiPackageNamingUtils.getModificationFeatureId(species, CodingRegion.class); + private SpeciesFeatureType getCodingRegionFeature(CodingRegion mr, MultiSpeciesType speciesType) { + String featureId = MultiPackageNamingUtils.getModificationFeatureId(mr); String featureName = "Coding region"; return getOrCreateFeatureById(featureId, featureName, speciesType); } - private SpeciesFeatureType getBindingRegionFeature(Species species, MultiSpeciesType speciesType) { - String featureId = MultiPackageNamingUtils.getModificationFeatureId(species, BindingRegion.class); + private SpeciesFeatureType getBindingRegionFeature(BindingRegion bindingRegion, MultiSpeciesType speciesType) { + String featureId = MultiPackageNamingUtils.getModificationFeatureId(bindingRegion); String featureName = "Binding region"; return getOrCreateFeatureById(featureId, featureName, speciesType); } - private SpeciesFeatureType getProteinBindingDomainFeature(Species species, MultiSpeciesType speciesType) { - String featureId = MultiPackageNamingUtils.getModificationFeatureId(species, ProteinBindingDomain.class); + private SpeciesFeatureType getProteinBindingDomainFeature(ProteinBindingDomain proteinBindingDomain, + MultiSpeciesType speciesType) { + String featureId = MultiPackageNamingUtils.getModificationFeatureId(proteinBindingDomain); String featureName = "Protein binding domain"; return getOrCreateFeatureById(featureId, featureName, speciesType); } - private SpeciesFeatureType getRegulatoryRegionFeature(Species species, MultiSpeciesType speciesType) { - String featureId = MultiPackageNamingUtils.getModificationFeatureId(species, RegulatoryRegion.class); + private SpeciesFeatureType getRegulatoryRegionFeature(RegulatoryRegion regulatoryRegion, + MultiSpeciesType speciesType) { + String featureId = MultiPackageNamingUtils.getModificationFeatureId(regulatoryRegion); String featureName = "Regulatory region"; return getOrCreateFeatureById(featureId, featureName, speciesType); } - private SpeciesFeatureType getTranscriptionSiteFeature(Species species, MultiSpeciesType speciesType) { - String featureId = MultiPackageNamingUtils.getModificationFeatureId(species, TranscriptionSite.class); + private SpeciesFeatureType getTranscriptionSiteFeature(TranscriptionSite transcriptionSite, + MultiSpeciesType speciesType) { + String featureId = MultiPackageNamingUtils.getModificationFeatureId(transcriptionSite); String featureName = "Transcription site"; return getOrCreateFeatureById(featureId, featureName, speciesType); } private SpeciesFeatureType getModificationSiteFeature(ModificationSite modificationSite, MultiSpeciesType speciesType) { - String featureId = MultiPackageNamingUtils.getModificationFeatureId(modificationSite.getSpecies(), - ModificationSite.class, modificationSite.getState()); + String featureId = MultiPackageNamingUtils.getModificationFeatureId(modificationSite); String featureName = ""; if (modificationSite.getState() != null) { featureName = modificationSite.getState().getFullName(); @@ -184,8 +186,7 @@ public class SbmlSpeciesExporter extends SbmlElementExporter<Species, org.sbml.j } private SpeciesFeatureType getResidueFeature(Residue residue, MultiSpeciesType speciesType) { - String featureId = MultiPackageNamingUtils.getModificationFeatureId(residue.getSpecies(), Residue.class, - residue.getState()); + String featureId = MultiPackageNamingUtils.getModificationFeatureId(residue); String featureName = ""; if (residue.getState() != null) { featureName = residue.getState().getFullName(); @@ -401,11 +402,7 @@ public class SbmlSpeciesExporter extends SbmlElementExporter<Species, org.sbml.j private void createModificationGlyph(ModificationResidue mr, org.sbml.jsbml.Species sbmlSpecies) { MultiSpeciesPlugin speciesExtension = (MultiSpeciesPlugin) sbmlSpecies.getExtension("multi"); SpeciesFeature feature = null; - String featureTypeId = MultiPackageNamingUtils.getModificationFeatureId(mr.getSpecies(), mr.getClass()); - if (mr instanceof AbstractSiteModification) { - featureTypeId = MultiPackageNamingUtils.getModificationFeatureId(mr.getSpecies(), mr.getClass(), - ((AbstractSiteModification) mr).getState()); - } + String featureTypeId = MultiPackageNamingUtils.getModificationFeatureId(mr); for (SpeciesFeature existingFeature : speciesExtension.getListOfSpeciesFeatures()) { if (existingFeature.getSpeciesFeatureType().equals(featureTypeId)) { feature = existingFeature; 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 4fb0cf872e70171ca46f853ac62ffd1f7d6175d3..1bdf6ff54812ec2cdedad74d3811bf493579f2c8 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 @@ -210,7 +210,10 @@ public class SbmlSpeciesParser extends SbmlElementParser<org.sbml.jsbml.Species> } else if (MultiPackageNamingUtils.isModificationFeatureId(featureTypeString, TranscriptionSite.class)) { mr = new TranscriptionSite(); if (minervaElement instanceof SpeciesWithTranscriptionSite) { - ((SpeciesWithTranscriptionSite) minervaElement).addTranscriptionSite((TranscriptionSite) mr); + TranscriptionSite transcriptionSite = (TranscriptionSite) mr; + transcriptionSite.setActive(MultiPackageNamingUtils.getTranscriptionFactorActiveStateFromFeatureTypeName(featureTypeString)); + transcriptionSite.setDirection(MultiPackageNamingUtils.getTranscriptionFactorDirectionStateFromFeatureTypeName(featureTypeString)); + ((SpeciesWithTranscriptionSite) minervaElement).addTranscriptionSite(transcriptionSite); } else { logger.warn(warnPrefix + "Object class doesn't support " + mr.getClass()); } diff --git a/converter-sbml/src/test/java/lcsb/mapviewer/converter/model/sbml/AllSbmlConverterTests.java b/converter-sbml/src/test/java/lcsb/mapviewer/converter/model/sbml/AllSbmlConverterTests.java index 70b980e09dfe35cbe3e06c5b02fced7278e40a74..1bc8fc0a77a511d0ec8615a3cfd6436665ff8bdf 100644 --- a/converter-sbml/src/test/java/lcsb/mapviewer/converter/model/sbml/AllSbmlConverterTests.java +++ b/converter-sbml/src/test/java/lcsb/mapviewer/converter/model/sbml/AllSbmlConverterTests.java @@ -12,7 +12,8 @@ import lcsb.mapviewer.converter.model.sbml.species.AllSbmlSpeciesTests; AllSbmlSpeciesTests.class, GenericSbmlParserTest.class, GenericSbmlToXmlParserTest.class, - MultiSbmlParserTest.class, + CellDesignerToMultiExportTest.class, + MultiParserTest.class, SbmlBioEntityExporterTest.class, SbmlExporterTest.class, SbmlExporterFromCellDesignerTest.class, diff --git a/converter-sbml/src/test/java/lcsb/mapviewer/converter/model/sbml/CellDesignerToMultiExportTest.java b/converter-sbml/src/test/java/lcsb/mapviewer/converter/model/sbml/CellDesignerToMultiExportTest.java index 7cb74fe6152ad221a9d21b13ab0ce1e1baa68e48..7c22d4b924e2583b143e6bf2c22f6553a4365fb1 100644 --- a/converter-sbml/src/test/java/lcsb/mapviewer/converter/model/sbml/CellDesignerToMultiExportTest.java +++ b/converter-sbml/src/test/java/lcsb/mapviewer/converter/model/sbml/CellDesignerToMultiExportTest.java @@ -4,7 +4,6 @@ import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotNull; import java.io.ByteArrayInputStream; -import java.io.File; import java.io.IOException; import java.io.InputStream; import java.nio.file.Files; @@ -13,7 +12,6 @@ import java.nio.file.Paths; import java.util.ArrayList; import java.util.Collection; -import org.apache.commons.io.FileUtils; import org.apache.log4j.Logger; import org.junit.Test; import org.junit.runner.RunWith; @@ -22,9 +20,6 @@ import org.junit.runners.Parameterized.Parameters; import lcsb.mapviewer.converter.ConverterParams; import lcsb.mapviewer.converter.IConverter; -import lcsb.mapviewer.converter.graphics.AbstractImageGenerator; -import lcsb.mapviewer.converter.graphics.NormalImageGenerator; -import lcsb.mapviewer.converter.graphics.PngImageGenerator; import lcsb.mapviewer.converter.model.celldesigner.CellDesignerXmlParser; import lcsb.mapviewer.model.map.model.Model; import lcsb.mapviewer.model.map.model.ModelComparator; @@ -43,7 +38,7 @@ public class CellDesignerToMultiExportTest { @Parameters(name = "{index} : {0}") public static Collection<Object[]> data() throws IOException { Collection<Object[]> data = new ArrayList<Object[]>(); - Files.walk(Paths.get("testFiles/multi")).forEach(fPath -> { + Files.walk(Paths.get("testFiles/cd_for_multi")).forEach(fPath -> { if (Files.isRegularFile(fPath) && fPath.toString().endsWith(".xml")) { data.add(new Object[] { fPath }); } @@ -54,40 +49,23 @@ public class CellDesignerToMultiExportTest { @Test public void createModelTest() throws Exception { try { - String dir = Files.createTempDirectory("sbml-temp-images-dir").toFile().getAbsolutePath(); - - IConverter converter = new SbmlParser(); + IConverter converter = new CellDesignerXmlParser(); Model model = converter.createModel(new ConverterParams().filename(filePath.toString())); model.setName(null); - // Create and display image of parsed map - AbstractImageGenerator.Params params = new AbstractImageGenerator.Params().height(model.getHeight()) - .width(model.getWidth()).nested(true).scale(1).level(20).x(0).y(0).model(model); - NormalImageGenerator nig = new PngImageGenerator(params); - String pathWithouExtension = dir + "/" - + filePath.getFileName().toString().substring(0, filePath.getFileName().toString().indexOf(".xml")); - String pngFilePath = pathWithouExtension.concat(".png"); - nig.saveToFile(pngFilePath); - // Desktop.getDesktop().open(new File(pngFilePath)); - - CellDesignerXmlParser cellDesignerXmlParser = new CellDesignerXmlParser(); - String xmlString = cellDesignerXmlParser.toXml(model); + SbmlExporter sbmlExporter = new SbmlExporter(); + SbmlParser sbmlParser = new SbmlParser(); + String xmlString = sbmlExporter.toXml(model); InputStream is = new ByteArrayInputStream(xmlString.getBytes("UTF-8")); - Model model2 = cellDesignerXmlParser.createModel(new ConverterParams().inputStream(is).sizeAutoAdjust(false)); - - AbstractImageGenerator.Params params2 = new AbstractImageGenerator.Params().height(model2.getHeight()) - .width(model2.getWidth()).nested(true).scale(1).level(20).x(0).y(0).model(model2); - NormalImageGenerator nig2 = new PngImageGenerator(params2); - String pngFilePath2 = pathWithouExtension.concat("_2.png"); - nig2.saveToFile(pngFilePath2); + Model model2 = sbmlParser.createModel(new ConverterParams().inputStream(is).sizeAutoAdjust(false)); + model2.setName(null); assertNotNull(model2); ModelComparator comparator = new ModelComparator(1.0); assertEquals(0, comparator.compare(model, model2)); - FileUtils.deleteDirectory(new File(dir)); } catch (Exception e) { // TODO Auto-generated catch block 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 f9e8649a5ae70a6e55361d44a92daf70db95c901..10843990e94ec0bbd610c4e67b643ff68eba32c0 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 @@ -22,7 +22,6 @@ import lcsb.mapviewer.converter.ConverterParams; import lcsb.mapviewer.converter.IConverter; import lcsb.mapviewer.model.map.model.Model; import lcsb.mapviewer.model.map.model.ModelComparator; -import lcsb.mapviewer.model.map.reaction.Reaction; @RunWith(Parameterized.class) public class GenericSbmlToXmlParserTest { @@ -66,7 +65,7 @@ public class GenericSbmlToXmlParserTest { + filePath.getFileName().toString().substring(0, filePath.getFileName().toString().indexOf(".xml")); String xmlFilePath = pathWithouExtension.concat(".xml"); converter.exportModelToFile(model, xmlFilePath); - + Model model2 = converter.createModel(new ConverterParams().filename(xmlFilePath).sizeAutoAdjust(false)); model2.setName(null); diff --git a/converter-sbml/src/test/java/lcsb/mapviewer/converter/model/sbml/MultiParserTest.java b/converter-sbml/src/test/java/lcsb/mapviewer/converter/model/sbml/MultiParserTest.java new file mode 100644 index 0000000000000000000000000000000000000000..9636bdb54b4c1a4e069e0502ef8cfa6086f2e8b7 --- /dev/null +++ b/converter-sbml/src/test/java/lcsb/mapviewer/converter/model/sbml/MultiParserTest.java @@ -0,0 +1,99 @@ +package lcsb.mapviewer.converter.model.sbml; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotNull; + +import java.io.ByteArrayInputStream; +import java.io.File; +import java.io.IOException; +import java.io.InputStream; +import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.Paths; +import java.util.ArrayList; +import java.util.Collection; + +import org.apache.commons.io.FileUtils; +import org.apache.log4j.Logger; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.junit.runners.Parameterized; +import org.junit.runners.Parameterized.Parameters; + +import lcsb.mapviewer.converter.ConverterParams; +import lcsb.mapviewer.converter.IConverter; +import lcsb.mapviewer.converter.graphics.AbstractImageGenerator; +import lcsb.mapviewer.converter.graphics.NormalImageGenerator; +import lcsb.mapviewer.converter.graphics.PngImageGenerator; +import lcsb.mapviewer.converter.model.celldesigner.CellDesignerXmlParser; +import lcsb.mapviewer.model.map.model.Model; +import lcsb.mapviewer.model.map.model.ModelComparator; + +@RunWith(Parameterized.class) +public class MultiParserTest { + + static Logger logger = Logger.getLogger(MultiParserTest.class.getName()); + + private Path filePath; + + public MultiParserTest(Path filePath) { + this.filePath = filePath; + } + + @Parameters(name = "{index} : {0}") + public static Collection<Object[]> data() throws IOException { + Collection<Object[]> data = new ArrayList<Object[]>(); + Files.walk(Paths.get("testFiles/multi")).forEach(fPath -> { + if (Files.isRegularFile(fPath) && fPath.toString().endsWith(".xml")) { + data.add(new Object[] { fPath }); + } + }); + return data; + } + + @Test + public void createModelTest() throws Exception { + try { + String dir = Files.createTempDirectory("sbml-temp-images-dir").toFile().getAbsolutePath(); + + IConverter converter = new SbmlParser(); + + Model model = converter.createModel(new ConverterParams().filename(filePath.toString())); + model.setName(null); + + // Create and display image of parsed map + AbstractImageGenerator.Params params = new AbstractImageGenerator.Params().height(model.getHeight()) + .width(model.getWidth()).nested(true).scale(1).level(20).x(0).y(0).model(model); + NormalImageGenerator nig = new PngImageGenerator(params); + String pathWithouExtension = dir + "/" + + filePath.getFileName().toString().substring(0, filePath.getFileName().toString().indexOf(".xml")); + String pngFilePath = pathWithouExtension.concat(".png"); + nig.saveToFile(pngFilePath); + // Desktop.getDesktop().open(new File(pngFilePath)); + + CellDesignerXmlParser cellDesignerXmlParser = new CellDesignerXmlParser(); + String xmlString = cellDesignerXmlParser.toXml(model); + + InputStream is = new ByteArrayInputStream(xmlString.getBytes("UTF-8")); + + Model model2 = cellDesignerXmlParser.createModel(new ConverterParams().inputStream(is).sizeAutoAdjust(false)); + + AbstractImageGenerator.Params params2 = new AbstractImageGenerator.Params().height(model2.getHeight()) + .width(model2.getWidth()).nested(true).scale(1).level(20).x(0).y(0).model(model2); + NormalImageGenerator nig2 = new PngImageGenerator(params2); + String pngFilePath2 = pathWithouExtension.concat("_2.png"); + nig2.saveToFile(pngFilePath2); + + assertNotNull(model2); + ModelComparator comparator = new ModelComparator(1.0); + assertEquals(0, comparator.compare(model, model2)); + FileUtils.deleteDirectory(new File(dir)); + + } catch (Exception e) { + // TODO Auto-generated catch block + e.printStackTrace(); + throw e; + } + } + +} diff --git a/converter-sbml/src/test/java/lcsb/mapviewer/converter/model/sbml/MultiSbmlParserTest.java b/converter-sbml/src/test/java/lcsb/mapviewer/converter/model/sbml/MultiSbmlParserTest.java deleted file mode 100644 index d5345cfce8997888dac9530b4f76f98dd6936a17..0000000000000000000000000000000000000000 --- a/converter-sbml/src/test/java/lcsb/mapviewer/converter/model/sbml/MultiSbmlParserTest.java +++ /dev/null @@ -1,77 +0,0 @@ -package lcsb.mapviewer.converter.model.sbml; - -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotNull; - -import java.io.ByteArrayInputStream; -import java.io.IOException; -import java.io.InputStream; -import java.nio.file.Files; -import java.nio.file.Path; -import java.nio.file.Paths; -import java.util.ArrayList; -import java.util.Collection; - -import org.apache.log4j.Logger; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.junit.runners.Parameterized; -import org.junit.runners.Parameterized.Parameters; - -import lcsb.mapviewer.converter.ConverterParams; -import lcsb.mapviewer.converter.IConverter; -import lcsb.mapviewer.converter.model.celldesigner.CellDesignerXmlParser; -import lcsb.mapviewer.model.map.model.Model; -import lcsb.mapviewer.model.map.model.ModelComparator; - -@RunWith(Parameterized.class) -public class MultiSbmlParserTest { - - static Logger logger = Logger.getLogger(MultiSbmlParserTest.class.getName()); - - private Path filePath; - - public MultiSbmlParserTest(Path filePath) { - this.filePath = filePath; - } - - @Parameters(name = "{index} : {0}") - public static Collection<Object[]> data() throws IOException { - Collection<Object[]> data = new ArrayList<Object[]>(); - Files.walk(Paths.get("testFiles/cd_for_multi")).forEach(fPath -> { - if (Files.isRegularFile(fPath) && fPath.toString().endsWith(".xml")) { - data.add(new Object[] { fPath }); - } - }); - return data; - } - - @Test - public void createModelTest() throws Exception { - try { - IConverter converter = new CellDesignerXmlParser(); - - Model model = converter.createModel(new ConverterParams().filename(filePath.toString())); - model.setName(null); - - SbmlExporter sbmlExporter = new SbmlExporter(); - SbmlParser sbmlParser = new SbmlParser(); - String xmlString = sbmlExporter.toXml(model); - - InputStream is = new ByteArrayInputStream(xmlString.getBytes("UTF-8")); - - Model model2 = sbmlParser.createModel(new ConverterParams().inputStream(is).sizeAutoAdjust(false)); - model2.setName(null); - - assertNotNull(model2); - ModelComparator comparator = new ModelComparator(1.0); - assertEquals(0, comparator.compare(model, model2)); - - } catch (Exception e) { - // TODO Auto-generated catch block - e.printStackTrace(); - throw e; - } - } - -} diff --git a/converter-sbml/src/test/java/lcsb/mapviewer/converter/model/sbml/SbmlExporterTest.java b/converter-sbml/src/test/java/lcsb/mapviewer/converter/model/sbml/SbmlExporterTest.java index 1a6733fff5661640f0fedf4dfee8a79ca2536727..92b27dcc63168fdc6cb9c1343ad978ef264bcfb0 100644 --- a/converter-sbml/src/test/java/lcsb/mapviewer/converter/model/sbml/SbmlExporterTest.java +++ b/converter-sbml/src/test/java/lcsb/mapviewer/converter/model/sbml/SbmlExporterTest.java @@ -534,7 +534,6 @@ public class SbmlExporterTest { @Test public void testMultiExtensionTypeDefinition() throws Exception { - String structuralState = "xxx"; Model model = createEmptyModel(); GenericProtein element = new GenericProtein("id"); element.setName("test name"); @@ -595,17 +594,17 @@ public class SbmlExporterTest { Residue mr = new Residue("x1"); mr.setName("217U"); mr.setState(ModificationState.PHOSPHORYLATED); - mr.setPosition(new Point2D.Double(10,11)); + mr.setPosition(new Point2D.Double(10, 11)); element.addResidue(mr); mr = new Residue("Y"); mr.setName("218"); mr.setState(ModificationState.PHOSPHORYLATED); - mr.setPosition(new Point2D.Double(10,12)); + mr.setPosition(new Point2D.Double(10, 12)); element.addResidue(mr); mr = new Residue("Z"); mr.setName("219"); mr.setState(ModificationState.UBIQUITINATED); - mr.setPosition(new Point2D.Double(10,13)); + mr.setPosition(new Point2D.Double(10, 13)); element.addResidue(mr); model.addElement(element); Model deserializedModel = getModelAfterSerializing(model); diff --git a/converter-sbml/testFiles/multi/bionetgen.xml b/converter-sbml/testFiles/multi/bionetgen.xml.jsbml-issue similarity index 100% rename from converter-sbml/testFiles/multi/bionetgen.xml rename to converter-sbml/testFiles/multi/bionetgen.xml.jsbml-issue