Search in sources :

Example 6 with CyEdge

use of org.cytoscape.model.CyEdge in project EnrichmentMapApp by BaderLab.

the class PostAnalysisCutoffTest method test_2_FilterType_Percent.

@Test
public void test_2_FilterType_Percent(@Continuous VisualMappingFunctionFactory cmFactory) throws Exception {
    mockContinuousMappingFactory(cmFactory);
    PostAnalysisParameters.Builder builder = getBuilder();
    PostAnalysisFilterParameters rankTest = new PostAnalysisFilterParameters(PostAnalysisFilterType.PERCENT, 7);
    builder.setRankTestParameters(rankTest);
    runPostAnalysis(emNetwork, builder, LegacySupport.DATASET1);
    assertEquals(12, emNetwork.getEdgeCount());
    Map<String, CyEdge> edges = TestUtils.getSignatureEdges(emNetwork, "EM1_", "PA_top8_middle8_bottom8(1)");
    assertEquals(3, edges.size());
    CyEdge edge = edges.get("PA_TOP8_MIDDLE8_BOTTOM8 (sig_Dataset 1) MIDDLE8_PLUS100");
    assertNotNull(edge);
    assertEquals(8, emNetwork.getRow(edge).get("EM1_k_intersection", Integer.class).intValue());
    assertEquals(PostAnalysisFilterType.PERCENT.toString(), emNetwork.getRow(edge).get("EM1_Overlap_cutoff", String.class));
    edge = edges.get("PA_TOP8_MIDDLE8_BOTTOM8 (sig_Dataset 1) BOTTOM8_PLUS100");
    assertNotNull(edge);
    assertEquals(8, emNetwork.getRow(edge).get("EM1_k_intersection", Integer.class).intValue());
    assertEquals(PostAnalysisFilterType.PERCENT.toString(), emNetwork.getRow(edge).get("EM1_Overlap_cutoff", String.class));
    edge = edges.get("PA_TOP8_MIDDLE8_BOTTOM8 (sig_Dataset 1) TOP8_PLUS100");
    assertNotNull(edge);
    assertEquals(8, emNetwork.getRow(edge).get("EM1_k_intersection", Integer.class).intValue());
    assertEquals(PostAnalysisFilterType.PERCENT.toString(), emNetwork.getRow(edge).get("EM1_Overlap_cutoff", String.class));
    edge = edges.get("PA_TOP8_MIDDLE8_BOTTOM8 (sig_Dataset 1) TOP1_PLUS100");
    assertNull(edge);
}
Also used : PostAnalysisParameters(org.baderlab.csplugins.enrichmentmap.model.PostAnalysisParameters) PostAnalysisFilterParameters(org.baderlab.csplugins.enrichmentmap.model.PostAnalysisFilterParameters) CyEdge(org.cytoscape.model.CyEdge) Test(org.junit.Test)

Example 7 with CyEdge

use of org.cytoscape.model.CyEdge in project EnrichmentMapApp by BaderLab.

the class HeatMapMediator method getDataSetRankOptions.

private List<RankingOption> getDataSetRankOptions(EnrichmentMap map, CyNetwork network, List<CyNode> nodes, List<CyEdge> edges) {
    List<RankingOption> options = new ArrayList<>();
    for (EMDataSet dataset : map.getDataSetList()) {
        if (nodes.size() == 1 && edges.isEmpty() && dataset.getMethod() == Method.GSEA && contains(dataset, network, nodes.get(0))) {
            String geneSetName = network.getRow(nodes.get(0)).get(CyNetwork.NAME, String.class);
            Map<String, Ranking> ranks = dataset.getExpressionSets().getRanks();
            ranks.forEach((name, ranking) -> {
                options.add(new GSEALeadingEdgeRankingOption(dataset, geneSetName, name));
            });
        } else if (contains(network, dataset, nodes, edges)) {
            Map<String, Ranking> ranks = dataset.getExpressionSets().getRanks();
            ranks.forEach((name, ranking) -> {
                options.add(new BasicRankingOption(ranking, dataset, name));
            });
        }
    }
    return options;
}
Also used : CyNode(org.cytoscape.model.CyNode) Inject(com.google.inject.Inject) EnrichmentMap(org.baderlab.csplugins.enrichmentmap.model.EnrichmentMap) Operator(org.baderlab.csplugins.enrichmentmap.view.heatmap.HeatMapParams.Operator) Ranking(org.baderlab.csplugins.enrichmentmap.model.Ranking) ArrayList(java.util.ArrayList) HashSet(java.util.HashSet) CyRow(org.cytoscape.model.CyRow) CyNetwork(org.cytoscape.model.CyNetwork) Map(java.util.Map) SetCurrentNetworkViewEvent(org.cytoscape.application.events.SetCurrentNetworkViewEvent) CyServiceRegistrar(org.cytoscape.service.util.CyServiceRegistrar) CyTableUtil(org.cytoscape.model.CyTableUtil) Method(org.baderlab.csplugins.enrichmentmap.model.EMDataSet.Method) EMStyleBuilder(org.baderlab.csplugins.enrichmentmap.style.EMStyleBuilder) Properties(java.util.Properties) Transform(org.baderlab.csplugins.enrichmentmap.view.heatmap.HeatMapParams.Transform) Collection(java.util.Collection) SetCurrentNetworkViewListener(org.cytoscape.application.events.SetCurrentNetworkViewListener) Set(java.util.Set) CyNetworkManager(org.cytoscape.model.CyNetworkManager) EnrichmentMapManager(org.baderlab.csplugins.enrichmentmap.model.EnrichmentMapManager) CytoPanel(org.cytoscape.application.swing.CytoPanel) RowsSetEvent(org.cytoscape.model.events.RowsSetEvent) RowsSetListener(org.cytoscape.model.events.RowsSetListener) List(java.util.List) CytoPanelComponent(org.cytoscape.application.swing.CytoPanelComponent) EMDataSet(org.baderlab.csplugins.enrichmentmap.model.EMDataSet) CyApplicationManager(org.cytoscape.application.CyApplicationManager) CySwingApplication(org.cytoscape.application.swing.CySwingApplication) CyNetworkView(org.cytoscape.view.model.CyNetworkView) CyEdge(org.cytoscape.model.CyEdge) Collections(java.util.Collections) Singleton(com.google.inject.Singleton) Ranking(org.baderlab.csplugins.enrichmentmap.model.Ranking) ArrayList(java.util.ArrayList) EMDataSet(org.baderlab.csplugins.enrichmentmap.model.EMDataSet) EnrichmentMap(org.baderlab.csplugins.enrichmentmap.model.EnrichmentMap) Map(java.util.Map)

Example 8 with CyEdge

use of org.cytoscape.model.CyEdge in project EnrichmentMapApp by BaderLab.

the class HeatMapMediator method updateHeatMap.

private void updateHeatMap(CyNetworkView networkView) {
    if (heatMapPanel == null)
        return;
    CyNetwork network = networkView.getModel();
    EnrichmentMap map = emManager.getEnrichmentMap(network.getSUID());
    if (map == null)
        return;
    List<CyNode> selectedNodes = CyTableUtil.getNodesInState(network, CyNetwork.SELECTED, true);
    List<CyEdge> selectedEdges = CyTableUtil.getEdgesInState(network, CyNetwork.SELECTED, true);
    String prefix = map.getParams().getAttributePrefix();
    this.onlyEdges = selectedNodes.isEmpty() && !selectedEdges.isEmpty();
    Set<String> union = unionGenesets(network, selectedNodes, selectedEdges, prefix);
    Set<String> inter = intersectionGenesets(network, selectedNodes, selectedEdges, prefix);
    List<RankingOption> rankOptions = getDataSetRankOptions(map, network, selectedNodes, selectedEdges);
    HeatMapParams params = getHeatMapParams(map, network.getSUID(), onlyEdges);
    heatMapPanel.selectGenes(map, params, rankOptions, union, inter);
}
Also used : CyNetwork(org.cytoscape.model.CyNetwork) CyNode(org.cytoscape.model.CyNode) EnrichmentMap(org.baderlab.csplugins.enrichmentmap.model.EnrichmentMap) CyEdge(org.cytoscape.model.CyEdge)

Example 9 with CyEdge

use of org.cytoscape.model.CyEdge in project EnrichmentMapApp by BaderLab.

the class HeatMapMediator method getDataSetRankOptions.

public List<RankingOption> getDataSetRankOptions(EnrichmentMap map) {
    CyNetwork network = networkManager.getNetwork(map.getNetworkID());
    List<CyNode> selectedNodes = CyTableUtil.getNodesInState(network, CyNetwork.SELECTED, true);
    List<CyEdge> selectedEdges = CyTableUtil.getEdgesInState(network, CyNetwork.SELECTED, true);
    return getDataSetRankOptions(map, network, selectedNodes, selectedEdges);
}
Also used : CyNetwork(org.cytoscape.model.CyNetwork) CyNode(org.cytoscape.model.CyNode) CyEdge(org.cytoscape.model.CyEdge)

Example 10 with CyEdge

use of org.cytoscape.model.CyEdge in project EnrichmentMapApp by BaderLab.

the class HeatMapMediator method intersectionGenesets.

private static Set<String> intersectionGenesets(CyNetwork network, List<CyNode> nodes, List<CyEdge> edges, String prefix) {
    Set<String> inter = null;
    for (CyNode node : nodes) {
        Collection<String> genes = getGenes(network, node, prefix);
        if (inter == null)
            inter = new HashSet<>(genes);
        else
            inter.retainAll(genes);
    }
    for (CyEdge edge : edges) {
        Collection<String> genes = getGenes(network, edge.getSource(), prefix);
        if (inter == null)
            inter = new HashSet<>(genes);
        else
            inter.retainAll(genes);
        inter.retainAll(getGenes(network, edge.getTarget(), prefix));
    }
    return inter == null ? Collections.emptySet() : inter;
}
Also used : CyNode(org.cytoscape.model.CyNode) CyEdge(org.cytoscape.model.CyEdge) HashSet(java.util.HashSet)

Aggregations

CyEdge (org.cytoscape.model.CyEdge)302 CyNode (org.cytoscape.model.CyNode)231 CyNetwork (org.cytoscape.model.CyNetwork)103 ArrayList (java.util.ArrayList)77 Test (org.junit.Test)71 CyNetworkView (org.cytoscape.view.model.CyNetworkView)55 HashSet (java.util.HashSet)42 CyRow (org.cytoscape.model.CyRow)41 CyIdentifiable (org.cytoscape.model.CyIdentifiable)29 HashMap (java.util.HashMap)26 CySubNetwork (org.cytoscape.model.subnetwork.CySubNetwork)25 CyTable (org.cytoscape.model.CyTable)21 DummyCyEdge (org.cytoscape.model.DummyCyEdge)21 VisualStyle (org.cytoscape.view.vizmap.VisualStyle)18 DummyCyNode (org.cytoscape.model.DummyCyNode)17 View (org.cytoscape.view.model.View)16 List (java.util.List)13 CyEventHelper (org.cytoscape.event.CyEventHelper)12 CyGroup (org.cytoscape.group.CyGroup)12 VisualMappingManager (org.cytoscape.view.vizmap.VisualMappingManager)12