Search in sources :

Example 1 with ChartOptions

use of org.baderlab.csplugins.enrichmentmap.style.ChartOptions in project EnrichmentMapApp by BaderLab.

the class ControlPanelMediator method createStyleOptions.

private EMStyleOptions createStyleOptions(EnrichmentMap map, EMViewControlPanel viewPanel) {
    if (map == null || viewPanel == null)
        return null;
    Set<AbstractDataSet> dataSets = viewPanel.getDataSetSelector().getCheckedItems();
    boolean publicationReady = viewPanel.getPublicationReadyCheck().isSelected();
    boolean postAnalysis = map.hasSignatureDataSets();
    ChartData data = (ChartData) viewPanel.getChartDataCombo().getSelectedItem();
    ChartType type = getChartType(viewPanel);
    ColorScheme colorScheme = (ColorScheme) viewPanel.getChartColorsCombo().getSelectedItem();
    boolean showLabels = viewPanel.getShowChartLabelsCheck().isSelected();
    ChartOptions chartOptions = new ChartOptions(data, type, colorScheme, showLabels);
    return new EMStyleOptions(viewPanel.getNetworkView(), map, dataSets::contains, chartOptions, postAnalysis, publicationReady);
}
Also used : EMStyleOptions(org.baderlab.csplugins.enrichmentmap.style.EMStyleOptions) ChartData(org.baderlab.csplugins.enrichmentmap.style.ChartData) AbstractDataSet(org.baderlab.csplugins.enrichmentmap.model.AbstractDataSet) ColorScheme(org.baderlab.csplugins.enrichmentmap.style.ColorScheme) ChartType(org.baderlab.csplugins.enrichmentmap.style.ChartType) ChartOptions(org.baderlab.csplugins.enrichmentmap.style.ChartOptions)

Example 2 with ChartOptions

use of org.baderlab.csplugins.enrichmentmap.style.ChartOptions in project EnrichmentMapApp by BaderLab.

the class ControlPanelMediator method createChart.

public CyCustomGraphics2<?> createChart(EMStyleOptions options) {
    CyCustomGraphics2<?> chart = null;
    ChartOptions chartOptions = options.getChartOptions();
    ChartData data = chartOptions != null ? chartOptions.getData() : null;
    if (data != null && data != ChartData.NONE) {
        // Ignore Signature Data Sets in charts
        Set<EMDataSet> dataSets = filterDataSets(options.getDataSets());
        if (dataSets.size() > 1) {
            ColumnDescriptor<Double> columnDescriptor = data.getColumnDescriptor();
            List<CyColumnIdentifier> columns = ChartUtil.getSortedColumnIdentifiers(options.getAttributePrefix(), dataSets, columnDescriptor, columnIdFactory);
            ChartType type = chartOptions.getType();
            Map<String, Object> props = new HashMap<>(type.getProperties());
            props.put("cy_dataColumns", columns);
            List<Double> range = ChartUtil.calculateGlobalRange(options.getNetworkView().getModel(), columns);
            props.put("cy_range", range);
            props.put("cy_autoRange", false);
            props.put("cy_globalRange", true);
            props.put("cy_showItemLabels", chartOptions.isShowLabels());
            props.put("cy_colors", chartOptions.getColorScheme().getColors());
            try {
                CyCustomGraphics2Factory<?> factory = chartFactoryManager.getChartFactory(type.getId());
                if (factory != null)
                    chart = factory.getInstance(props);
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    }
    return chart;
}
Also used : ChartData(org.baderlab.csplugins.enrichmentmap.style.ChartData) HashMap(java.util.HashMap) ChartType(org.baderlab.csplugins.enrichmentmap.style.ChartType) CyColumnIdentifier(org.cytoscape.view.presentation.property.values.CyColumnIdentifier) EMDataSet(org.baderlab.csplugins.enrichmentmap.model.EMDataSet) ChartOptions(org.baderlab.csplugins.enrichmentmap.style.ChartOptions)

Example 3 with ChartOptions

use of org.baderlab.csplugins.enrichmentmap.style.ChartOptions in project EnrichmentMapApp by BaderLab.

the class ControlPanelMediator method reset.

public void reset(ViewParams params) {
    long netViewID = params.getNetworkViewID();
    invokeOnEDT(() -> {
        EMViewControlPanel viewPanel = getControlPanel().getViewControlPanel(netViewID);
        if (viewPanel == null)
            return;
        EnrichmentMap map = emManager.getEnrichmentMap(viewPanel.getNetworkView().getModel().getSUID());
        if (map == null)
            return;
        try {
            // Update Filters
            if (params.getPValue() != null && viewPanel.getPValueSliderPanel() != null)
                viewPanel.getPValueSliderPanel().setValue(params.getPValue());
            if (params.getQValue() != null && viewPanel.getQValueSliderPanel() != null)
                viewPanel.getQValueSliderPanel().setValue(params.getQValue());
            if (params.getSimilarityCoefficient() != null && viewPanel.getSimilaritySliderPanel() != null)
                viewPanel.getSimilaritySliderPanel().setValue(params.getSimilarityCoefficient());
            if (params.getNodeCutoffParam() == CutoffParam.P_VALUE)
                viewPanel.getPValueRadio().doClick();
            else if (params.getNodeCutoffParam() == CutoffParam.Q_VALUE)
                viewPanel.getQValueRadio().doClick();
            Set<String> filteredOutDataSetNames = params.getFilteredOutDataSets();
            if (filteredOutDataSetNames != null && !filteredOutDataSetNames.isEmpty()) {
                Set<AbstractDataSet> allDataSets = viewPanel.getAllDataSets();
                Set<AbstractDataSet> filteredDataSets = allDataSets.stream().filter(ds -> !filteredOutDataSetNames.contains(ds.getName())).collect(Collectors.toSet());
                viewPanel.getDataSetSelector().setCheckedItems(filteredDataSets);
            }
            // Update Style options
            ChartOptions chartOptions = params.getChartOptions();
            viewPanel.getChartDataCombo().setSelectedItem(chartOptions != null ? chartOptions.getData() : null);
            viewPanel.getChartTypeCombo().setSelectedItem(chartOptions != null ? chartOptions.getType() : null);
            viewPanel.getChartColorsCombo().setSelectedItem(chartOptions != null ? chartOptions.getColorScheme() : null);
            viewPanel.getShowChartLabelsCheck().setSelected(chartOptions != null && chartOptions.isShowLabels());
            viewPanel.getPublicationReadyCheck().setSelected(params.isPublicationReady());
            viewPanel.updateChartDataCombo();
            updateVisualStyle(map, viewPanel);
            filterNodesAndEdges(viewPanel, map);
        } finally {
            updating = false;
        }
    });
}
Also used : EMViewControlPanel(org.baderlab.csplugins.enrichmentmap.view.control.ControlPanel.EMViewControlPanel) ViewParams(org.baderlab.csplugins.enrichmentmap.view.control.io.ViewParams) ChartType(org.baderlab.csplugins.enrichmentmap.style.ChartType) EMViewControlPanel(org.baderlab.csplugins.enrichmentmap.view.control.ControlPanel.EMViewControlPanel) Inject(com.google.inject.Inject) AfterInjection(org.baderlab.csplugins.enrichmentmap.AfterInjection) SliderBarPanel(org.baderlab.csplugins.enrichmentmap.view.util.SliderBarPanel) CyCustomGraphics2(org.cytoscape.view.presentation.customgraphics.CyCustomGraphics2) JCheckBoxMenuItem(javax.swing.JCheckBoxMenuItem) CyNetwork(org.cytoscape.model.CyNetwork) Map(java.util.Map) SetCurrentNetworkViewEvent(org.cytoscape.application.events.SetCurrentNetworkViewEvent) LegendPanelMediator(org.baderlab.csplugins.enrichmentmap.view.legend.LegendPanelMediator) FinishStatus(org.cytoscape.work.FinishStatus) JComboBox(javax.swing.JComboBox) CyServiceRegistrar(org.cytoscape.service.util.CyServiceRegistrar) EDGE_DATASET_VALUE_COMPOUND(org.baderlab.csplugins.enrichmentmap.style.EMStyleBuilder.Columns.EDGE_DATASET_VALUE_COMPOUND) Timer(javax.swing.Timer) EMCreationParameters(org.baderlab.csplugins.enrichmentmap.model.EMCreationParameters) ChartData(org.baderlab.csplugins.enrichmentmap.style.ChartData) Columns(org.baderlab.csplugins.enrichmentmap.style.EMStyleBuilder.Columns) ItemEvent(java.awt.event.ItemEvent) EMStyleOptions(org.baderlab.csplugins.enrichmentmap.style.EMStyleOptions) NetworkViewAboutToBeDestroyedListener(org.cytoscape.view.model.events.NetworkViewAboutToBeDestroyedListener) Collection(java.util.Collection) SetCurrentNetworkViewListener(org.cytoscape.application.events.SetCurrentNetworkViewListener) Set(java.util.Set) CyNetworkManager(org.cytoscape.model.CyNetworkManager) FilterMode(org.baderlab.csplugins.enrichmentmap.task.FilterNodesEdgesTask.FilterMode) Collectors(java.util.stream.Collectors) NODE_GS_TYPE(org.baderlab.csplugins.enrichmentmap.style.EMStyleBuilder.Columns.NODE_GS_TYPE) ColorScheme(org.baderlab.csplugins.enrichmentmap.style.ColorScheme) AbstractDataSet(org.baderlab.csplugins.enrichmentmap.model.AbstractDataSet) ColumnDescriptor(org.baderlab.csplugins.enrichmentmap.style.ColumnDescriptor) List(java.util.List) EMDataSet(org.baderlab.csplugins.enrichmentmap.model.EMDataSet) CyApplicationManager(org.cytoscape.application.CyApplicationManager) CySwingApplication(org.cytoscape.application.swing.CySwingApplication) RemoveSignatureDataSetsTask(org.baderlab.csplugins.enrichmentmap.task.postanalysis.RemoveSignatureDataSetsTask) TaskObserver(org.cytoscape.work.TaskObserver) CyNetworkViewManager(org.cytoscape.view.model.CyNetworkViewManager) ApplyEMStyleTask(org.baderlab.csplugins.enrichmentmap.task.ApplyEMStyleTask) ObservableTask(org.cytoscape.work.ObservableTask) Singleton(com.google.inject.Singleton) ActionListener(java.awt.event.ActionListener) VisualStyle(org.cytoscape.view.vizmap.VisualStyle) EDGE_INTERACTION_VALUE_SIG(org.baderlab.csplugins.enrichmentmap.style.EMStyleBuilder.Columns.EDGE_INTERACTION_VALUE_SIG) CyNode(org.cytoscape.model.CyNode) EnrichmentMap(org.baderlab.csplugins.enrichmentmap.model.EnrichmentMap) NetworkViewAboutToBeDestroyedEvent(org.cytoscape.view.model.events.NetworkViewAboutToBeDestroyedEvent) HashMap(java.util.HashMap) Action(javax.swing.Action) TaskIterator(org.cytoscape.work.TaskIterator) HashSet(java.util.HashSet) FilterNodesEdgesTask(org.baderlab.csplugins.enrichmentmap.task.FilterNodesEdgesTask) CyRow(org.cytoscape.model.CyRow) JMenuItem(javax.swing.JMenuItem) PostAnalysisPanelMediator(org.baderlab.csplugins.enrichmentmap.view.postanalysis.PostAnalysisPanelMediator) ShowEnrichmentMapDialogAction(org.baderlab.csplugins.enrichmentmap.actions.ShowEnrichmentMapDialogAction) ChartOptions(org.baderlab.csplugins.enrichmentmap.style.ChartOptions) NetworkViewAddedListener(org.cytoscape.view.model.events.NetworkViewAddedListener) CyTable(org.cytoscape.model.CyTable) NetworkViewAddedEvent(org.cytoscape.view.model.events.NetworkViewAddedEvent) Properties(java.util.Properties) CyCustomGraphics2Factory(org.cytoscape.view.presentation.customgraphics.CyCustomGraphics2Factory) JPopupMenu(javax.swing.JPopupMenu) CyColumnIdentifier(org.cytoscape.view.presentation.property.values.CyColumnIdentifier) EnrichmentMapManager(org.baderlab.csplugins.enrichmentmap.model.EnrichmentMapManager) JOptionPane(javax.swing.JOptionPane) CutoffParam(org.baderlab.csplugins.enrichmentmap.view.control.io.ViewParams.CutoffParam) ActionEvent(java.awt.event.ActionEvent) CytoPanel(org.cytoscape.application.swing.CytoPanel) VisualMappingManager(org.cytoscape.view.vizmap.VisualMappingManager) DialogTaskManager(org.cytoscape.work.swing.DialogTaskManager) CytoPanelComponent(org.cytoscape.application.swing.CytoPanelComponent) Provider(com.google.inject.Provider) EdgeWidthDialog(org.baderlab.csplugins.enrichmentmap.view.postanalysis.EdgeWidthDialog) NODE_GS_TYPE_ENRICHMENT(org.baderlab.csplugins.enrichmentmap.style.EMStyleBuilder.Columns.NODE_GS_TYPE_ENRICHMENT) ForkJoinPool(java.util.concurrent.ForkJoinPool) ChartUtil(org.baderlab.csplugins.enrichmentmap.view.util.ChartUtil) ChartFactoryManager(org.baderlab.csplugins.enrichmentmap.style.ChartFactoryManager) CyNetworkView(org.cytoscape.view.model.CyNetworkView) CyColumnIdentifierFactory(org.cytoscape.view.presentation.property.values.CyColumnIdentifierFactory) EMSignatureDataSet(org.baderlab.csplugins.enrichmentmap.model.EMSignatureDataSet) CyEdge(org.cytoscape.model.CyEdge) WidthFunction(org.baderlab.csplugins.enrichmentmap.style.WidthFunction) Collections(java.util.Collections) SwingUtil.invokeOnEDT(org.baderlab.csplugins.enrichmentmap.view.util.SwingUtil.invokeOnEDT) AbstractDataSet(org.baderlab.csplugins.enrichmentmap.model.AbstractDataSet) EnrichmentMap(org.baderlab.csplugins.enrichmentmap.model.EnrichmentMap) ChartOptions(org.baderlab.csplugins.enrichmentmap.style.ChartOptions)

Aggregations

ChartData (org.baderlab.csplugins.enrichmentmap.style.ChartData)3 ChartOptions (org.baderlab.csplugins.enrichmentmap.style.ChartOptions)3 ChartType (org.baderlab.csplugins.enrichmentmap.style.ChartType)3 HashMap (java.util.HashMap)2 AbstractDataSet (org.baderlab.csplugins.enrichmentmap.model.AbstractDataSet)2 EMDataSet (org.baderlab.csplugins.enrichmentmap.model.EMDataSet)2 ColorScheme (org.baderlab.csplugins.enrichmentmap.style.ColorScheme)2 CyColumnIdentifier (org.cytoscape.view.presentation.property.values.CyColumnIdentifier)2 Inject (com.google.inject.Inject)1 Provider (com.google.inject.Provider)1 Singleton (com.google.inject.Singleton)1 ActionEvent (java.awt.event.ActionEvent)1 ActionListener (java.awt.event.ActionListener)1 ItemEvent (java.awt.event.ItemEvent)1 Collection (java.util.Collection)1 Collections (java.util.Collections)1 HashSet (java.util.HashSet)1 List (java.util.List)1 Map (java.util.Map)1 Properties (java.util.Properties)1