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 a051eda38e15fbbb919689dce992d662a39aa720..f340ba5f5b221059b2bc5e756260f88d17fa5ff3 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); } } }