Search in sources :

Example 6 with GroupObject

use of org.vcell.pathway.GroupObject in project vcell by virtualcell.

the class BioModelEditorPathwayDiagramPanel method ungroupBioPaxObjects.

private void ungroupBioPaxObjects() {
    HashSet<BioPaxObject> selected = new HashSet<BioPaxObject>();
    selected.addAll(getSelectedBioPaxObjects());
    if (selected.size() == 0)
        return;
    if (bioModel == null || bioModel.getPathwayModel() == null)
        return;
    for (BioPaxObject bpObject : selected) {
        if (bpObject instanceof GroupObject) {
            // remove the GroupObject from pathway model
            GroupObject group = (GroupObject) bpObject;
            ArrayList<BioPaxObject> groupElements = new ArrayList<BioPaxObject>();
            for (BioPaxObject bpo : group.getGroupedObjects()) {
                groupElements.add(bpo);
            }
            bioModel.getPathwayModel().remove(bpObject);
            // set the group elements to be selected
            graphCartoonTool.getGraphModel().setSelectedObjects(groupElements.toArray());
        }
    }
    pathwayGraphModel.refreshAll();
}
Also used : BioPaxObject(org.vcell.pathway.BioPaxObject) ArrayList(java.util.ArrayList) GroupObject(org.vcell.pathway.GroupObject) HashSet(java.util.HashSet)

Example 7 with GroupObject

use of org.vcell.pathway.GroupObject in project vcell by virtualcell.

the class BioModelEditorPathwayDiagramPanel method refreshButtons.

private void refreshButtons() {
    deleteButton.setEnabled(false);
    physiologyLinkButton.setEnabled(false);
    groupButton.setEnabled(false);
    if (showPhysiologyLinksMenuItem != null) {
        showPhysiologyLinksMenuItem.setEnabled(false);
    }
    if (editPhysiologyLinksMenuItem != null) {
        editPhysiologyLinksMenuItem.setEnabled(false);
    }
    if (importIntoModelMenuItem != null) {
        importIntoModelMenuItem.setEnabled(false);
    }
    if (groupMenuItem != null) {
        groupMenuItem.setEnabled(false);
    }
    if (ungroupMenuItem != null) {
        ungroupMenuItem.setEnabled(false);
    }
    if (expandMenuItem != null) {
        expandMenuItem.setEnabled(false);
    }
    if (collapseMenuItem != null) {
        collapseMenuItem.setEnabled(false);
    }
    if (showPhysiologyLinksMenuItem1 != null) {
        showPhysiologyLinksMenuItem1.setEnabled(false);
    }
    if (editPhysiologyLinksMenuItem1 != null) {
        editPhysiologyLinksMenuItem1.setEnabled(false);
    }
    if (importIntoModelMenuItem1 != null) {
        importIntoModelMenuItem1.setEnabled(false);
    }
    if (groupMenuItem1 != null) {
        groupMenuItem1.setEnabled(false);
    }
    if (ungroupMenuItem1 != null) {
        ungroupMenuItem1.setEnabled(false);
    }
    if (expandMenuItem1 != null) {
        expandMenuItem1.setEnabled(false);
    }
    if (collapseMenuItem1 != null) {
        collapseMenuItem1.setEnabled(false);
    }
    if (deleteMenuItem != null) {
        deleteMenuItem.setEnabled(false);
    }
    if (selectAllMenuItem != null) {
        selectAllMenuItem.setEnabled(false);
    }
    if (selectionManager != null && tabbedPane.getSelectedComponent() != sourceTabPanel) {
        ArrayList<Object> selectedObjects = selectionManager.getSelectedObjects(BioPaxObject.class);
        if (bioModel.getPathwayModel().getBiopaxObjects().size() > 0 && selectAllMenuItem != null) {
            selectAllMenuItem.setEnabled(true);
        }
        if (selectedObjects.size() > 0) {
            deleteButton.setEnabled(true);
            if (deleteMenuItem != null) {
                deleteMenuItem.setEnabled(true);
            }
            physiologyLinkButton.setEnabled(true);
            if (importIntoModelMenuItem != null) {
                importIntoModelMenuItem.setEnabled(true);
            }
            if (importIntoModelMenuItem1 != null) {
                importIntoModelMenuItem1.setEnabled(true);
            }
            if (selectedObjects.size() == 1) {
                if (bioModel.getRelationshipModel().getRelationshipObjects((BioPaxObject) selectedObjects.get(0)).size() > 0) {
                    if (showPhysiologyLinksMenuItem != null) {
                        showPhysiologyLinksMenuItem.setEnabled(true);
                    }
                    if (showPhysiologyLinksMenuItem1 != null) {
                        showPhysiologyLinksMenuItem1.setEnabled(true);
                    }
                }
                if (editPhysiologyLinksMenuItem != null) {
                    editPhysiologyLinksMenuItem.setEnabled(true);
                }
                if (editPhysiologyLinksMenuItem1 != null) {
                    editPhysiologyLinksMenuItem1.setEnabled(true);
                }
                if ((selectedObjects.get(0) instanceof GroupObject)) {
                    GroupObject selectedGroup = (GroupObject) selectedObjects.get(0);
                    if (// (selectedGroup.getType().equals(GroupObject.Type.GROUPEDCOMPLEX)) || // expand function for complex
                    (selectedGroup.getType().equals(GroupObject.Type.GROUPEDINTERACTION))) {
                        groupButton.setEnabled(true);
                        if (expandMenuItem != null) {
                            // expand function only available when one grouped complex or interaction is selected
                            expandMenuItem.setEnabled(true);
                        }
                        if (expandMenuItem1 != null) {
                            // expand function only available when one grouped complex or interaction is selected
                            expandMenuItem1.setEnabled(true);
                        }
                    }
                }
                if (// (selectedObjects.get(0) instanceof Protein) ||  // collapse function for Protein
                (selectedObjects.get(0) instanceof Interaction)) {
                    groupButton.setEnabled(true);
                    if (collapseMenuItem != null) {
                        collapseMenuItem.setEnabled(true);
                    }
                    if (collapseMenuItem1 != null) {
                        collapseMenuItem1.setEnabled(true);
                    }
                }
            }
            if (selectedObjects.size() > 1) {
                // only provide the "group" function when users select more than one object
                groupButton.setEnabled(true);
                if (groupMenuItem != null) {
                    groupMenuItem.setEnabled(true);
                }
                if (groupMenuItem1 != null) {
                    groupMenuItem1.setEnabled(true);
                }
            }
            boolean includingGroup = false;
            for (Object object : selectedObjects) {
                if (object instanceof GroupObject) {
                    includingGroup = true;
                    break;
                }
            }
            if (includingGroup) {
                // only provide the "ungroup" function when selected objects contain at least one GroupObject
                groupButton.setEnabled(true);
                if (ungroupMenuItem != null) {
                    ungroupMenuItem.setEnabled(true);
                }
                if (ungroupMenuItem1 != null) {
                    ungroupMenuItem1.setEnabled(true);
                }
            }
        }
    }
}
Also used : Interaction(org.vcell.pathway.Interaction) GroupObject(org.vcell.pathway.GroupObject) GroupObject(org.vcell.pathway.GroupObject) RelationshipObject(org.vcell.relationship.RelationshipObject) BioModelEntityObject(cbit.vcell.model.BioModelEntityObject) BioPaxObject(org.vcell.pathway.BioPaxObject)

Example 8 with GroupObject

use of org.vcell.pathway.GroupObject in project vcell by virtualcell.

the class BioPaxObjectPropertiesPanel method refreshInterface.

protected void refreshInterface() {
    if (bioPaxObject == null) {
        // sanity check
        return;
    }
    ArrayList<BioPaxObjectProperty> propertyList = new ArrayList<BioPaxObjectProperty>();
    if (!(bioPaxObject instanceof SBEntity)) {
        tableModel.setData(propertyList);
        return;
    }
    SBEntity sbEntity = (SBEntity) bioPaxObject;
    if (!(sbEntity instanceof Entity)) {
        tableModel.setData(propertyList);
        return;
    }
    Entity entity = (Entity) sbEntity;
    // entity::type
    propertyList.add(new BioPaxObjectProperty("Type", bioPaxObject.getTypeLabel()));
    if (lookupContains(entity)) {
        propertyList.add(new BioPaxObjectProperty("Name", entity.getName().get(0) + " (looking...)"));
    } else if (entity.getFormalNames() != null && entity.getFormalNames().size() != 0) {
        propertyList.add(new BioPaxObjectProperty("Name", entity.getName().get(0) + " (" + entity.getFormalNames().get(0) + ")"));
    } else if (entity.getName() != null && entity.getName().size() > 0) {
        String displayName = entity.getName().get(0);
        if (entity.getxRef() != null && entity.getxRef().size() > 0) {
            displayName = displayName + " (double-click lookup)";
        }
        // entity::name
        propertyList.add(new BioPaxObjectProperty("Name", displayName));
    }
    // entity::Link
    for (RelationshipObject rObject : bioModel.getRelationshipModel().getRelationshipObjects(bioPaxObject)) {
        BioModelEntityObject beObject = rObject.getBioModelEntityObject();
        propertyList.add(new BioPaxObjectProperty("Linked physiology object", beObject.getName(), beObject));
    }
    if (entity instanceof PhysicalEntity) {
        // ------------------------ PHYSICAL ENTITY -----------------------
        PhysicalEntity physicalEntity = (PhysicalEntity) entity;
        // physicalEntity::feature (***ignored***)
        // physicalEntity::memberPhysicalEntity (***ignored***)
        // physicalEntity::notFeature (***ignored***)
        // TODO:  extract the kinetic law, then the SBEntities, then the measurables, units, aso
        boolean isReactionParticipant = BioPAXUtil.isReactionParticipant(physicalEntity, bioModel.getPathwayModel());
        String role = "";
        if (BioPAXUtil.isController(physicalEntity, bioModel.getPathwayModel())) {
            role += "Controller";
            if (isReactionParticipant) {
                role += ", Participant";
            }
        } else if (isReactionParticipant) {
            role += "Participant";
        }
        if (!role.isEmpty()) {
            propertyList.add(new BioPaxObjectProperty("Role(s)", role));
        }
        if (!(physicalEntity instanceof SmallMolecule)) {
            // physicalEntity::cellular location
            CellularLocationVocabulary cellularLocation = physicalEntity.getCellularLocation();
            if (cellularLocation != null && cellularLocation.getTerm() != null && cellularLocation.getTerm().size() > 0) {
                propertyList.add(new BioPaxObjectProperty("Cellular Location", cellularLocation.getTerm().get(0), cellularLocation));
            } else if (entity.getName() != null && entity.getName().size() > 1) {
                String location = entity.getName().get(1);
                if (location.contains("[") && location.contains("]")) {
                    location = location.substring(location.indexOf("[") + 1, location.indexOf("]"));
                    propertyList.add(new BioPaxObjectProperty("Cellular Location", location));
                }
            }
        }
        if (physicalEntity instanceof Complex) {
            Complex complex = (Complex) physicalEntity;
            // complex::components
            for (PhysicalEntity pe : complex.getComponents()) {
                propertyList.add(new BioPaxObjectProperty("Component", getEntityName(pe), pe));
            }
        } else if (physicalEntity instanceof Protein) {
        // Protein protein = (Protein)entity;
        // protein::entity reference (***ignored***)
        } else if (physicalEntity instanceof SmallMolecule) {
            SmallMolecule sm = (SmallMolecule) physicalEntity;
            EntityReference er = sm.getEntityReference();
            if (er != null && !er.getName().isEmpty() && er.getName().get(0) != null && !er.getName().get(0).isEmpty()) {
                propertyList.add(new BioPaxObjectProperty("Entity Reference", er.getName().get(0)));
                ArrayList<Xref> xrefList = er.getxRef();
                for (Xref xref : xrefList) {
                    propertyList.add(new BioPaxObjectProperty("   Xref", xref.getDb() + ":" + xref.getId(), xref));
                }
            }
        } else if (physicalEntity instanceof Dna) {
        // dna::entityReference (***ignored***)
        } else if (physicalEntity instanceof DnaRegion) {
        // dnaRegion::entityReference (***ignored***)
        } else if (physicalEntity instanceof Rna) {
        // rna::entityReference (***ignored***)
        } else if (physicalEntity instanceof RnaRegion) {
        // rnaRegion::entityReference (***ignored***)
        }
    } else if (entity instanceof Interaction) {
        // --------------------------- INTERACTION -------------------
        Interaction interaction = (Interaction) entity;
        // interaction::interactionType
        for (InteractionVocabulary interactionVocabulary : interaction.getInteractionTypes()) {
            if (interactionVocabulary.getTerm().size() > 0) {
                propertyList.add(new BioPaxObjectProperty("Interaction Type", interactionVocabulary.getTerm().get(0), interactionVocabulary));
            }
        }
        // interaction::participants
        for (InteractionParticipant interactionParticipant : interaction.getParticipants()) {
            PhysicalEntity physicalEntity = interactionParticipant.getPhysicalEntity();
            String physicalEntityName = physicalEntity.getName().size() > 0 ? physicalEntity.getName().get(0) : physicalEntity.getIDShort();
            String cellularLocation = "";
            if (physicalEntity.getCellularLocation() != null) {
                cellularLocation = physicalEntity.getCellularLocation().getTerm().size() > 0 ? " [" + physicalEntity.getCellularLocation().getTerm().get(0) + "]" : "";
            }
            propertyList.add(new BioPaxObjectProperty(interactionParticipant.getLevel3PropertyName(), physicalEntityName + cellularLocation, physicalEntity));
        }
        // get the controllers for interactions
        // we always need this because there's no guarantee we'll have kinetic laws
        // for instance pathway commons doesn't have quantitative information
        Set<String> controllersNames = getControllersNames(interaction);
        if (controllersNames.size() > 0) {
            for (String str : controllersNames) {
                // String tooltip = "<html>how many of these 12 M <br>average size  1.12345*E12 nm <br>temperature 37 degrees Celsius</html>";
                String tooltip = "";
                propertyList.add(new BioPaxObjectProperty("Controlled by", str, interaction, tooltip));
            }
        }
        // get the kinetic laws (if any)
        Set<Control> controls = BioPAXUtil.getControlsOfInteraction(interaction, bioModel.getPathwayModel());
        for (Control control : controls) {
            ArrayList<SBEntity> sbEntities = control.getSBSubEntity();
            for (SBEntity sbE : sbEntities) {
                // the only SBSubEntities allowed in a control are kinetic laws
                if (sbE.getID().contains("kineticLaw")) {
                    String str = new String();
                    if (control.getPhysicalControllers() != null) {
                        str += " for Controller(s): ";
                        for (PhysicalEntity ep : control.getPhysicalControllers()) {
                            if (ep.getName().size() > 0) {
                                str += ep.getName().get(0);
                            } else {
                                str += ep.getIDShort();
                            }
                            str += " ";
                        }
                    }
                    String sDetails = "";
                    ArrayList<SBVocabulary> sbTerms = sbE.getSBTerm();
                    for (SBVocabulary sbv : sbTerms) {
                        // type of kinetic law
                        String str1 = sbv.getID();
                        str1 = str1.substring(str1.lastIndexOf('#') + 1);
                        System.out.println(str1);
                        SBOTerm sboT = SBOListEx.sboMap.get(str1);
                        sDetails += "<font color=\"#660000\"><b>" + sboT.getName() + "</b></font>" + "  " + "<font color=\"#006600\">" + sboT.getDescription() + "</font>";
                        sDetails += "<br>";
                    }
                    ArrayList<SBEntity> klProperties = sbE.getSBSubEntity();
                    for (SBEntity klProperty : klProperties) {
                        if (klProperty instanceof SBMeasurable) {
                            SBMeasurable m = (SBMeasurable) klProperty;
                            String str1 = "";
                            String str2 = "";
                            String str3 = "";
                            if (m.hasTerm()) {
                                str1 += m.extractSBOTermAsString();
                            }
                            if (m.hasNumber()) {
                                str2 += m.getNumber().get(0);
                            }
                            if (m.hasUnit()) {
                                str3 += m.extractSBOUnitAsString();
                            }
                            // str1 is an SBO id, for example "SBO:0000064"
                            SBOTerm sboT = SBOListEx.sboMap.get(str1);
                            sDetails += sboT.getSymbol() + "   (" + sboT.getName() + ")" + "<font color=\"#660000\"><b>" + str2 + str3 + "</b></font>" + "  " + "<font color=\"#006600\">" + sboT.getDescription() + "</font>";
                        } else {
                            sDetails = klProperty.getIDShort() + "  " + klProperty.getTypeLabel();
                        }
                        sDetails += "<br>";
                    }
                    // String tooltip = "<html>how many of these 12 M <br>average size  1.12345*E12 nm <br>temperature 37 degrees Celsius</html>";
                    String tooltip = "";
                    BioPaxObjectProperty bpop = new BioPaxObjectProperty("Kinetic Law" + str, sbE.getID(), sbE, tooltip);
                    bpop.setDetails(sDetails);
                    propertyList.add(bpop);
                }
            }
        }
        if (interaction instanceof Control) {
            // TODO: is this ever being called?
            Control c = (Control) interaction;
            // catalysis::controlled
            Interaction controlledInteraction = c.getControlledInteraction();
            if (controlledInteraction != null) {
                String controlledName = controlledInteraction.getIDShort();
                if (controlledInteraction.getName().size() > 0) {
                    controlledName = controlledInteraction.getName().get(0);
                }
                propertyList.add(new BioPaxObjectProperty("Controlled Interaction", controlledName, controlledInteraction));
            }
        }
    } else if (entity instanceof GroupObject) {
        // ---------------------- GROUP OBJECT ------------------
        GroupObject groupObject = (GroupObject) entity;
        for (BioPaxObject bpo : groupObject.getGroupedObjects()) {
            propertyList.add(new BioPaxObjectProperty("Element::" + bpo.getTypeLabel(), getEntityName((Entity) bpo), bpo));
        }
    }
    // entity::comments
    for (String comment : entity.getComments()) {
        propertyList.add(new BioPaxObjectProperty("Comment", comment));
    }
    // entity::xRef
    ArrayList<Xref> xrefList = ((Entity) bioPaxObject).getxRef();
    for (Xref xref : xrefList) {
        if (xref instanceof UnificationXref) {
            propertyList.add(new BioPaxObjectProperty("Xref", xref.getDb() + ":" + xref.getId(), xref));
        }
    }
    for (Xref xref : xrefList) {
        if (xref instanceof RelationshipXref) {
            propertyList.add(new BioPaxObjectProperty("Xref (related)", xref.getDb() + ":" + xref.getId(), xref));
        }
    }
    for (Xref xref : xrefList) {
        if (xref instanceof PublicationXref) {
            propertyList.add(new BioPaxObjectProperty("Publication", xref.getDb() + ":" + xref.getId(), xref));
        }
    }
    // for(SBVocabulary sbVocab : sbEntity.getSBTerm()) {
    // propertyList.add(new BioPaxObjectProperty("SBO Term", SBPAXLabelUtil.makeLabel(sbVocab)));
    // }
    // if(sbEntity instanceof Interaction) {
    // // TODO: this goes away
    // Interaction interaction = (Interaction) sbEntity;
    // Set<SBEntity> subEntities = new HashSet<SBEntity>();
    // subEntities.add(interaction);
    // Set<Control> controls = BioPAXUtil.findAllControls(interaction, bioModel.getPathwayModel());
    // subEntities.addAll(controls);
    // subEntities = SBPAX3Util.extractAllEntities(subEntities);
    // for(SBEntity subEntity : subEntities) {
    // if(subEntity instanceof SBMeasurable) {
    // propertyList.add(new BioPaxObjectProperty("Measured quantity", SBPAXLabelUtil.makeLabel(subEntity)));
    // }
    // }
    // }
    tableModel.setData(propertyList);
}
Also used : SBVocabulary(org.vcell.pathway.sbpax.SBVocabulary) SBEntity(org.vcell.pathway.sbpax.SBEntity) PhysicalEntity(org.vcell.pathway.PhysicalEntity) Entity(org.vcell.pathway.Entity) Set(java.util.Set) TreeSet(java.util.TreeSet) HashSet(java.util.HashSet) Rna(org.vcell.pathway.Rna) PublicationXref(org.vcell.pathway.PublicationXref) InteractionVocabulary(org.vcell.pathway.InteractionVocabulary) BioPaxObject(org.vcell.pathway.BioPaxObject) ArrayList(java.util.ArrayList) CellularLocationVocabulary(org.vcell.pathway.CellularLocationVocabulary) SBEntity(org.vcell.pathway.sbpax.SBEntity) RelationshipObject(org.vcell.relationship.RelationshipObject) Complex(org.vcell.pathway.Complex) RnaRegion(org.vcell.pathway.RnaRegion) SBMeasurable(org.vcell.pathway.sbpax.SBMeasurable) Xref(org.vcell.pathway.Xref) UnificationXref(org.vcell.pathway.UnificationXref) RelationshipXref(org.vcell.pathway.RelationshipXref) PublicationXref(org.vcell.pathway.PublicationXref) Control(org.vcell.pathway.Control) DnaRegion(org.vcell.pathway.DnaRegion) EntityReference(org.vcell.pathway.EntityReference) Interaction(org.vcell.pathway.Interaction) UnificationXref(org.vcell.pathway.UnificationXref) GroupObject(org.vcell.pathway.GroupObject) SBOTerm(org.vcell.pathway.sbo.SBOTerm) BioModelEntityObject(cbit.vcell.model.BioModelEntityObject) Protein(org.vcell.pathway.Protein) RelationshipXref(org.vcell.pathway.RelationshipXref) PhysicalEntity(org.vcell.pathway.PhysicalEntity) SmallMolecule(org.vcell.pathway.SmallMolecule) Dna(org.vcell.pathway.Dna) InteractionParticipant(org.vcell.pathway.InteractionParticipant)

Example 9 with GroupObject

use of org.vcell.pathway.GroupObject in project vcell by virtualcell.

the class PathwayGraphModel method refreshGroup.

private BioPaxGroupNeighborShape refreshGroup(PathwayContainerShape pathwayContainerShape, BioPaxObject ancObject, BioPaxShape bioPaxShape, InteractionParticipant participant) {
    if (ancObject == null)
        return null;
    if (ancObject instanceof GroupObject) {
        GroupObject groupObject = (GroupObject) ancObject;
        Shape shapeG = getShapeFromModelObject(groupObject);
        if (shapeG instanceof BioPaxGroupShape) {
            BioPaxGroupShape groupShape = (BioPaxGroupShape) shapeG;
            if (bioPaxShape instanceof BioPaxInteractionShape) {
                BioPaxInteractionShape interactionShape = (BioPaxInteractionShape) bioPaxShape;
                GroupNeighbor groupNeighbor = new GroupNeighbor(groupObject, interactionShape.getInteraction(), participant.getType());
                BioPaxGroupNeighborShape neighborShape = (BioPaxGroupNeighborShape) getShapeFromModelObject(groupNeighbor);
                if (neighborShape == null) {
                    neighborShape = new BioPaxGroupNeighborShape(groupNeighbor, interactionShape, groupShape, this);
                    pathwayContainerShape.addChildShape(neighborShape);
                    addShape(neighborShape);
                }
                return neighborShape;
            } else if (bioPaxShape instanceof BioPaxGroupShape) {
                BioPaxGroupShape groupConversionShape = (BioPaxGroupShape) bioPaxShape;
                GroupNeighbor groupNeighbor = new GroupNeighbor(groupConversionShape.getGroupObject(), groupObject, participant.getType());
                BioPaxGroupNeighborShape neighborShape = (BioPaxGroupNeighborShape) getShapeFromModelObject(groupNeighbor);
                if (neighborShape == null) {
                    neighborShape = new BioPaxGroupNeighborShape(groupNeighbor, groupConversionShape, groupShape, this);
                    pathwayContainerShape.addChildShape(neighborShape);
                    addShape(neighborShape);
                }
                return neighborShape;
            }
        }
    }
    return null;
}
Also used : EdgeShape(cbit.gui.graph.EdgeShape) Shape(cbit.gui.graph.Shape) GroupNeighbor(org.vcell.pathway.GroupNeighbor) GroupObject(org.vcell.pathway.GroupObject)

Example 10 with GroupObject

use of org.vcell.pathway.GroupObject in project vcell by virtualcell.

the class PathwayGraphModel method refreshInteraction.

private void refreshInteraction(Interaction interaction) {
    BioPaxInteractionShape interactionShape = (BioPaxInteractionShape) getShapeFromModelObject(interaction);
    BioPaxObject ancestorObject = pathwayModel.findTopLevelGroupAncestor(interaction);
    if (ancestorObject == interaction) {
        // conversion was not grouped
        for (InteractionParticipant participant : interaction.getParticipants()) {
            refreshParticipant(interactionShape, participant);
        }
    } else {
        if (ancestorObject instanceof GroupObject) {
            // conversion has been grouped
            GroupObject groupObject = (GroupObject) ancestorObject;
            for (InteractionParticipant participant : interaction.getParticipants()) {
                refreshGroupInteraction(groupObject, participant);
            }
        }
    }
}
Also used : BioPaxObject(org.vcell.pathway.BioPaxObject) InteractionParticipant(org.vcell.pathway.InteractionParticipant) GroupObject(org.vcell.pathway.GroupObject)

Aggregations

GroupObject (org.vcell.pathway.GroupObject)20 BioPaxObject (org.vcell.pathway.BioPaxObject)19 HashSet (java.util.HashSet)12 ArrayList (java.util.ArrayList)6 Complex (org.vcell.pathway.Complex)5 Conversion (org.vcell.pathway.Conversion)5 InteractionParticipant (org.vcell.pathway.InteractionParticipant)5 PhysicalEntity (org.vcell.pathway.PhysicalEntity)5 Interaction (org.vcell.pathway.Interaction)4 Protein (org.vcell.pathway.Protein)4 SmallMolecule (org.vcell.pathway.SmallMolecule)4 Control (org.vcell.pathway.Control)3 MolecularInteraction (org.vcell.pathway.MolecularInteraction)3 PathwayGrouping (org.vcell.pathway.group.PathwayGrouping)3 RelationshipObject (org.vcell.relationship.RelationshipObject)3 EdgeShape (cbit.gui.graph.EdgeShape)2 Shape (cbit.gui.graph.Shape)2 BioModelEntityObject (cbit.vcell.model.BioModelEntityObject)2 Set (java.util.Set)2 Element (org.jdom.Element)2