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);
}
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;
}
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);
}
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);
}
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;
}
Aggregations