Search in sources :

Example 11 with BioPaxObject

use of org.vcell.pathway.BioPaxObject 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 12 with BioPaxObject

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

the class BioModelEditorPathwayPanel method importPathway.

public void importPathway(boolean addComplexes, boolean addComponents, boolean addInteractions) {
    ArrayList<BioPaxObject> selectedBioPaxObjects = new ArrayList<BioPaxObject>();
    int[] rows = table.getSelectedRows();
    if (rows == null || rows.length == 0) {
        return;
    }
    for (int row : rows) {
        BioPaxObject bioPaxObject = tableModel.getValueAt(row);
        selectedBioPaxObjects.add(bioPaxObject);
    }
    PathwaySelectionExpander selectionExpander = new PathwaySelectionExpander();
    PathwayModel rawPathwayModel = pathwayData.getPathwayModel();
    if (addComplexes) {
        selectionExpander.forPhysicalEntitiesAddComplexes(rawPathwayModel, selectedBioPaxObjects);
    }
    if (addComponents) {
        selectionExpander.forComplexesAddComponents(rawPathwayModel, selectedBioPaxObjects);
    }
    if (addInteractions) {
        selectionExpander.forPhysicalEntitiesAddInteractions(rawPathwayModel, selectedBioPaxObjects);
    }
    selectionExpander.forInteractionsAddControls(rawPathwayModel, selectedBioPaxObjects);
    selectionExpander.forInteractionsAddParticipants(rawPathwayModel, selectedBioPaxObjects);
    PathwayModel selectedPathwayModel = new PathwayModel();
    HashSet<BioPaxObject> objectsToDelete = new HashSet<BioPaxObject>();
    for (BioPaxObject candidateObject : selectedBioPaxObjects) {
        // is the object in the current pathwayModel already?
        BioPaxObject keeperObject = bioModel.getPathwayModel().find(candidateObject);
        if (keeperObject == null) {
            // not found in the current pathwayModel, add it
            selectedPathwayModel.add(candidateObject);
        } else {
            // make a list with the objects we don't bring in because of duplication
            objectsToDelete.add(candidateObject);
        }
    }
    // we replace references to those objects within selectedPathwayModel with the real thing
    for (BioPaxObject bpObject : selectedPathwayModel.getBiopaxObjects()) {
        if (bpObject == null) {
            System.out.println("PathwayModel: null BioPaxObject.");
            continue;
        }
        for (BioPaxObject objectToDelete : objectsToDelete) {
            BioPaxObject keeperObject = bioModel.getPathwayModel().find(objectToDelete);
            // for now we only implemented this for InteractionParticipant entities of Conversions
            bpObject.replace(keeperObject);
        }
    }
    // we bring proteins, small molecules, etc that are components of a Complex
    ArrayList<PhysicalEntity> addList = new ArrayList<>();
    for (BioPaxObject bpo : selectedPathwayModel.getBiopaxObjects()) {
        if (bpo instanceof Complex) {
            Complex complex = (Complex) bpo;
            addComplexComponents(complex, addList, 0);
        }
    }
    for (PhysicalEntity pe : addList) {
        if (selectedPathwayModel.find(pe) == null) {
            selectedPathwayModel.add(pe);
        }
    }
    bioModel.getPathwayModel().merge(selectedPathwayModel);
    // jump the view to pathway diagram panel
    if (selectionManager != null) {
        selectionManager.followHyperlink(new ActiveView(null, DocumentEditorTreeFolderClass.PATHWAY_DIAGRAM_NODE, ActiveViewID.pathway_diagram), selectedPathwayModel.getBiopaxObjects().toArray());
    }
}
Also used : BioPaxObject(org.vcell.pathway.BioPaxObject) ArrayList(java.util.ArrayList) PathwayModel(org.vcell.pathway.PathwayModel) ActiveView(cbit.vcell.client.desktop.biomodel.SelectionManager.ActiveView) Complex(org.vcell.pathway.Complex) PhysicalEntity(org.vcell.pathway.PhysicalEntity) PathwaySelectionExpander(org.vcell.pathway.PathwaySelectionExpander) HashSet(java.util.HashSet)

Example 13 with BioPaxObject

use of org.vcell.pathway.BioPaxObject 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 14 with BioPaxObject

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

the class PathwayModelTableModel method refreshData.

private void refreshData() {
    ArrayList<BioPaxObject> bioPaxObjectList = null;
    if (bioModel != null) {
        bioPaxObjectList = new ArrayList<BioPaxObject>();
        if (searchText == null || searchText.length() == 0) {
            for (BioPaxObject bpObject : bioModel.getPathwayModel().getBiopaxObjects()) {
                if ((bpObject instanceof Control)) {
                    continue;
                }
                bioPaxObjectList.add(bpObject);
            }
        // bioPaxObjectList.addAll(bioModel.getPathwayModel().getBiopaxObjects());
        } else {
            String lowerCaseSearchText = searchText.toLowerCase();
            for (BioPaxObject bpObject : bioModel.getPathwayModel().getBiopaxObjects()) {
                if ((bpObject instanceof Control)) {
                    continue;
                }
                if ((getLabel(bpObject).toLowerCase().contains(lowerCaseSearchText) || getType(bpObject).toLowerCase().contains(lowerCaseSearchText) || getLinkedModelObjectsDisplayText(bpObject).toLowerCase().contains(lowerCaseSearchText))) {
                    bioPaxObjectList.add(bpObject);
                }
            }
        }
    }
    setData(bioPaxObjectList);
}
Also used : Control(org.vcell.pathway.Control) BioPaxObject(org.vcell.pathway.BioPaxObject)

Example 15 with BioPaxObject

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

the class PathwayTableModel method refreshBioPaxImportedMap.

private void refreshBioPaxImportedMap() {
    bioPaxObjectImportedMap.clear();
    for (int i = 0; i < getRowCount(); i++) {
        BioPaxObject bpObject = getValueAt(i);
        bioPaxObjectImportedMap.put(bpObject, bioModel != null && bioModel.getPathwayModel().find(bpObject) != null);
    }
    fireTableRowsUpdated(0, getRowCount());
}
Also used : BioPaxObject(org.vcell.pathway.BioPaxObject)

Aggregations

BioPaxObject (org.vcell.pathway.BioPaxObject)53 GroupObject (org.vcell.pathway.GroupObject)21 ArrayList (java.util.ArrayList)15 HashSet (java.util.HashSet)14 PhysicalEntity (org.vcell.pathway.PhysicalEntity)14 RelationshipObject (org.vcell.relationship.RelationshipObject)14 ActiveView (cbit.vcell.client.desktop.biomodel.SelectionManager.ActiveView)9 Conversion (org.vcell.pathway.Conversion)9 BioModelEntityObject (cbit.vcell.model.BioModelEntityObject)8 SpeciesContext (cbit.vcell.model.SpeciesContext)7 Entity (org.vcell.pathway.Entity)7 Complex (org.vcell.pathway.Complex)6 Control (org.vcell.pathway.Control)6 InteractionParticipant (org.vcell.pathway.InteractionParticipant)6 Dimension (java.awt.Dimension)5 MouseAdapter (java.awt.event.MouseAdapter)5 MouseEvent (java.awt.event.MouseEvent)5 JLabel (javax.swing.JLabel)5 JPanel (javax.swing.JPanel)5 MolecularType (org.vcell.model.rbm.MolecularType)5