use of org.cytoscape.model.CyNode 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.CyNode 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.CyNode 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.CyNode 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;
}
use of org.cytoscape.model.CyNode in project EnrichmentMapApp by BaderLab.
the class BaseNetworkTest method runPostAnalysis.
protected void runPostAnalysis(CyNetwork emNetwork, PostAnalysisParameters.Builder builder, String dataSetName) throws Exception {
// Set up mocks
when(applicationManager.getCurrentNetwork()).thenReturn(emNetwork);
CyNetworkView networkViewMock = mock(CyNetworkView.class);
when(applicationManager.getCurrentNetworkView()).thenReturn(networkViewMock);
when(networkViewManager.getNetworkViews(emNetwork)).thenReturn(Arrays.asList(networkViewMock));
@SuppressWarnings("unchecked") View<CyNode> nodeViewMock = Mockito.mock(View.class);
when(networkViewMock.getNodeView(Matchers.<CyNode>anyObject())).thenReturn(nodeViewMock);
when(nodeViewMock.getVisualProperty(BasicVisualLexicon.NODE_Y_LOCATION)).thenReturn(Double.valueOf(0.0));
EnrichmentMap map = emManager.getEnrichmentMap(emNetwork.getSUID());
assertNotNull(map);
// Load the gene-sets from the file
SerialTestTaskManager testTaskManager = new SerialTestTaskManager();
File file = new File(builder.getSignatureGMTFileName());
LoadSignatureSetsActionListener loader = loadSignatureSetsActionListenerFactory.create(file, new FilterMetric.None(), map);
loader.setTaskManager(testTaskManager);
loader.setGeneSetCallback(builder::setLoadedGMTGeneSets);
loader.setFilteredSignatureSetsCallback(builder::addSelectedGeneSetNames);
loader.actionPerformed(null);
PostAnalysisParameters paParams = builder.build();
// Run post-analysis
EMDataSet dataSet = map.getDataSet(dataSetName);
CreateDiseaseSignatureTaskParallel signatureTask = buildDiseaseSignatureTaskFactory.create(paParams, map, Arrays.asList(dataSet));
testTaskManager = new SerialTestTaskManager();
testTaskManager.execute(new TaskIterator(signatureTask));
}
Aggregations