public static void getSimpleMembers(PhysicalEntity root, Set<SimplePhysicalEntity> value) { if (root != null) { if (root instanceof Complex) { Complex complex = (Complex) root; for (PhysicalEntity component : complex.getComponent()) { getSimpleMembers(component, value); } } if (root.getMemberPhysicalEntity().isEmpty()) { if (root instanceof SimplePhysicalEntity) value.add((SimplePhysicalEntity) root); } else { for (PhysicalEntity generic : root.getMemberPhysicalEntity()) { getSimpleMembers(generic, value); } } } }
for (PhysicalEntity mem : parent.getMemberPhysicalEntity())
private void createMemberEdges(CyNetwork network) { // for each PE, for (PhysicalEntity par : model.getObjects(PhysicalEntity.class)) { Set<PhysicalEntity> members = par.getMemberPhysicalEntity(); if(members.isEmpty()) continue; CyNode cyParentNode = bpeToCyNodeMap.get(par); assert cyParentNode != null : "cyParentNode is NULL."; // for each its member PE, add the directed edge for (PhysicalEntity member : members) { CyNode cyMemberNode = bpeToCyNodeMap.get(member); CyEdge edge = network.addEdge(cyParentNode, cyMemberNode, true); AttributeUtil.set(network, edge, "interaction", "member", String.class); } } }
for (PhysicalEntity pe : physicalEntityBP.getMemberPhysicalEntity()) { physicalEntity.getMembers().add(pe.getRDFId().split("#")[1]);
private static SimplePhysicalEntity getAssociatedState(BioPAXElement element, PhysicalEntity pe, GroupMap map) { if (pe instanceof Complex) { for (PhysicalEntity component : ((Complex) pe).getComponent()) { SimplePhysicalEntity viaComplex = getAssociatedState(element, component, map); if (viaComplex != null) { return viaComplex; } } } else if (checkEntity(map, pe, element)) return (SimplePhysicalEntity) pe; for (PhysicalEntity member : pe.getMemberPhysicalEntity()) { SimplePhysicalEntity viaGeneric = getAssociatedState(element, member, map); if (viaGeneric != null) return viaGeneric; } return null; }
private void buildGeneric(PhysicalEntity generic, Glyph or, Glyph container) { assert "or".equalsIgnoreCase(or.getClazz()) : "must be 'or' glyph class"; for (PhysicalEntity m : generic.getMemberPhysicalEntity()) { Glyph g = createGlyphBasics(m,false); if(container!=null) container.getGlyph().add(g); String gid = g.getId() + "_" + ModelUtils.md5hex("memberof_" + or.getId()); g.setId(gid); glyphMap.put(gid, g); Set<String> uris = new HashSet<String>(); uris.add(m.getUri()); sbgn2BPMap.put(gid, uris); assignLocation(m, g); createArc(g, or, LOGIC_ARC.getClazz(), null); if(m instanceof Complex) createComplexContent((Complex) m, g); } }
boolean sameKindEntityExists(SimplePhysicalEntity spe, Set<PhysicalEntity> side) { assert !(spe instanceof SmallMolecule); boolean ret = false; for (PhysicalEntity value : side) { if (value instanceof SimplePhysicalEntity) { SimplePhysicalEntity that = (SimplePhysicalEntity) value; if( !(value instanceof SmallMolecule) && that.getEntityReference() != null && that.getEntityReference().isEquivalent(spe.getEntityReference())) return true; } else { // Complex if(sameKindEntityExists(spe, ((Complex)value).getComponent())) return true; } //still false - check member PEs as well ;) if(sameKindEntityExists(spe, value.getMemberPhysicalEntity())) return true; } return ret; }