From 7aea8b7b28265f4bd167bf10ec3deb3e68850a70 Mon Sep 17 00:00:00 2001 From: Piotr Gawron <piotr.gawron@uni.lu> Date: Fri, 16 Nov 2018 12:29:39 +0100 Subject: [PATCH] gpml parser doesn't put compartment into element inside complexes --- .../wikipathway/XML/ModelContructor.java | 26 ++++++++++--------- 1 file changed, 14 insertions(+), 12 deletions(-) diff --git a/pathvisio/src/main/java/lcsb/mapviewer/wikipathway/XML/ModelContructor.java b/pathvisio/src/main/java/lcsb/mapviewer/wikipathway/XML/ModelContructor.java index a051eda38e..f340ba5f5b 100644 --- a/pathvisio/src/main/java/lcsb/mapviewer/wikipathway/XML/ModelContructor.java +++ b/pathvisio/src/main/java/lcsb/mapviewer/wikipathway/XML/ModelContructor.java @@ -983,15 +983,17 @@ public class ModelContructor { * {@link Compartment} into a proper compartment. * * @param model - * model where aliases will be modifed + * model where aliases will be modified */ private void putAliasesIntoCompartments(Model model) { - for (Element alias : model.getElements()) { - if (alias.getCompartment() == null) { - if (alias instanceof Species) { + for (Element element : model.getElements()) { + if (element instanceof Species) { + if (((Species) element).getComplex() != null) { + element.setCompartment(null); + } else if (element.getCompartment() == null) { Compartment selectedAlias = null; for (Compartment cAlias : model.getCompartments()) { - if (cAlias.cross(alias)) { + if (cAlias.cross(element)) { if (selectedAlias == null) { selectedAlias = cAlias; } else if (selectedAlias.getSize() > cAlias.getSize()) { @@ -1000,7 +1002,7 @@ public class ModelContructor { } } if (selectedAlias != null) { - selectedAlias.addElement(alias); + selectedAlias.addElement(element); } } } @@ -1128,16 +1130,16 @@ public class ModelContructor { compartmentAlias.getElements().clear(); } - for (Element alias : model.getElements()) { + for (Element element : model.getElements()) { // elements inside complexes shouldn't be considered - if (alias instanceof Species) { - if (((Species) alias).getComplex() != null) { + if (element instanceof Species) { + if (((Species) element).getComplex() != null) { continue; } } Compartment parentAlias = null; for (Compartment compartmentAlias : aliases) { - if (compartmentAlias.contains(alias)) { + if (compartmentAlias.contains(element)) { if (parentAlias == null) { parentAlias = compartmentAlias; } else if (parentAlias.getSize() > compartmentAlias.getSize()) { @@ -1146,8 +1148,8 @@ public class ModelContructor { } } if (parentAlias != null) { - parentAlias.addElement(alias); - alias.setCompartment(parentAlias); + parentAlias.addElement(element); + element.setCompartment(parentAlias); } } } -- GitLab