Search in sources :

Example 61 with CyEventHelper

use of org.cytoscape.event.CyEventHelper in project cytoscape-impl by cytoscape.

the class NodeChangeListener method updateGroupLocation.

private void updateGroupLocation(CyNetworkView networkView, View<CyNode> nodeView) {
    double groupX = nodeView.getVisualProperty(BasicVisualLexicon.NODE_X_LOCATION);
    double groupY = nodeView.getVisualProperty(BasicVisualLexicon.NODE_Y_LOCATION);
    CyGroup group = cyGroupManager.getGroup(nodeView.getModel(), networkView.getModel());
    if (group == null)
        return;
    // System.out.println("Updating group "+group+" location");
    Dimension lastPosition = ViewUtils.getLocation(networkView.getModel(), group);
    double xOffset = lastPosition.getWidth() - groupX;
    double yOffset = lastPosition.getHeight() - groupY;
    // System.out.println("Group node offset = "+xOffset+","+yOffset);
    List<View<CyNode>> groupNodeList = new ArrayList<>();
    boolean lastIgnoreChanges = ignoreChanges;
    ignoreChanges = true;
    // OK, move all of our nodes
    for (CyNode node : group.getNodeList()) {
        View<CyNode> nv = networkView.getNodeView(node);
        if (nv == null)
            continue;
        double x = nv.getVisualProperty(BasicVisualLexicon.NODE_X_LOCATION);
        double y = nv.getVisualProperty(BasicVisualLexicon.NODE_Y_LOCATION);
        // System.out.println("Node location = "+x+","+y);
        Dimension d = new Dimension();
        // System.out.println("Moving node to "+(x-xOffset)+","+(y-yOffset));
        d.setSize(x - xOffset, y - yOffset);
        ViewUtils.moveNode(networkView, node, d);
        if (cyGroupManager.isGroup(node, networkView.getModel()))
            groupNodeList.add(nv);
    }
    final CyEventHelper cyEventHelper = cyGroupManager.getService(CyEventHelper.class);
    cyEventHelper.flushPayloadEvents();
    ViewUtils.updateGroupLocation(networkView.getModel(), group, groupX, groupY);
    if (groupNodeList.size() > 0) {
        for (View<CyNode> nv : groupNodeList) {
            updateGroupLocation(networkView, nv);
        }
    }
    ignoreChanges = lastIgnoreChanges;
    cyEventHelper.flushPayloadEvents();
}
Also used : CyGroup(org.cytoscape.group.CyGroup) CyEventHelper(org.cytoscape.event.CyEventHelper) ArrayList(java.util.ArrayList) CyNode(org.cytoscape.model.CyNode) Dimension(java.awt.Dimension) View(org.cytoscape.view.model.View) CyNetworkView(org.cytoscape.view.model.CyNetworkView)

Example 62 with CyEventHelper

use of org.cytoscape.event.CyEventHelper in project cytoscape-impl by cytoscape.

the class CyActivator method start.

@Override
public void start(BundleContext bc) {
    CyServiceRegistrar serviceRegistrar = getService(bc, CyServiceRegistrar.class);
    CyApplicationConfiguration cyApplicationConfigurationRef = getService(bc, CyApplicationConfiguration.class);
    CyApplicationManager cyApplicationManagerRef = getService(bc, CyApplicationManager.class);
    CyEventHelper cyEventHelperRef = getService(bc, CyEventHelper.class);
    CyGroupAggregationManager cyGroupAggregationManagerRef = getService(bc, CyGroupAggregationManager.class);
    CyGroupFactory cyGroupFactoryRef = getService(bc, CyGroupFactory.class);
    CyGroupManager cyGroupManagerRef = getService(bc, CyGroupManager.class);
    CyLayoutAlgorithmManager cyLayoutAlgorithmManagerRef = getService(bc, CyLayoutAlgorithmManager.class);
    CyNetworkFactory cyNetworkFactoryRef = getService(bc, CyNetworkFactory.class);
    CyNetworkManager cyNetworkManagerRef = getService(bc, CyNetworkManager.class);
    CyNetworkViewFactory cyNetworkViewFactoryRef = getService(bc, CyNetworkViewFactory.class);
    CyNetworkViewManager cyNetworkViewManagerRef = getService(bc, CyNetworkViewManager.class);
    CyNetworkReaderManager cyNetworkViewReaderManagerRef = getService(bc, CyNetworkReaderManager.class);
    CyNetworkViewWriterManager cyNetworkViewWriterManagerRef = getService(bc, CyNetworkViewWriterManager.class);
    CyProperty<Properties> cyPropertyRef = getService(bc, CyProperty.class, "(cyPropertyName=cytoscape3.props)");
    CyPropertyReaderManager cyPropertyReaderManagerRef = getService(bc, CyPropertyReaderManager.class);
    CyPropertyWriterManager cyPropertyWriterManagerRef = getService(bc, CyPropertyWriterManager.class);
    CyRootNetworkManager cyRootNetworkFactoryRef = getService(bc, CyRootNetworkManager.class);
    CySessionManager cySessionManagerRef = getService(bc, CySessionManager.class);
    CySessionReaderManager cySessionReaderManagerRef = getService(bc, CySessionReaderManager.class);
    CySessionWriterManager cySessionWriterManagerRef = getService(bc, CySessionWriterManager.class);
    CySwingApplication cySwingApplicationRef = getService(bc, CySwingApplication.class);
    CyTableFactory cyTableFactoryRef = getService(bc, CyTableFactory.class);
    CyTableManager cyTableManagerRef = getService(bc, CyTableManager.class);
    CyTableReaderManager cyTableReaderManagerRef = getService(bc, CyTableReaderManager.class);
    CyTableWriterManager cyTableWriterManagerRef = getService(bc, CyTableWriterManager.class);
    PanelTaskManager panelTaskManagerRef = getService(bc, PanelTaskManager.class);
    DialogTaskManager dialogTaskManagerRef = getService(bc, DialogTaskManager.class);
    PresentationWriterManager presentationWriterManagerRef = getService(bc, PresentationWriterManager.class);
    RenderingEngineManager renderingEngineManagerRef = getService(bc, RenderingEngineManager.class);
    TaskManager taskManagerRef = getService(bc, TaskManager.class);
    UndoSupport undoSupportRef = getService(bc, UndoSupport.class);
    TunablePropertySerializerFactory tunablePropertySerializerFactoryRef = getService(bc, TunablePropertySerializerFactory.class);
    VisualMappingManager visualMappingManagerRef = getService(bc, VisualMappingManager.class);
    VisualStyleFactory visualStyleFactoryRef = getService(bc, VisualStyleFactory.class);
    CyVersion cytoscapeVersionService = getService(bc, CyVersion.class);
    CyApplicationConfiguration cyApplicationConfigurationServiceRef = getService(bc, CyApplicationConfiguration.class);
    VisualMappingFunctionFactory vmfFactoryC = getService(bc, VisualMappingFunctionFactory.class, "(mapping.type=continuous)");
    VisualMappingFunctionFactory vmfFactoryD = getService(bc, VisualMappingFunctionFactory.class, "(mapping.type=discrete)");
    VisualMappingFunctionFactory vmfFactoryP = getService(bc, VisualMappingFunctionFactory.class, "(mapping.type=passthrough)");
    DataSourceManager dataSourceManager = getService(bc, DataSourceManager.class);
    // Start of core-task services
    LoadVizmapFileTaskFactory loadVizmapFileTaskFactory = getService(bc, LoadVizmapFileTaskFactory.class);
    LoadNetworkFileTaskFactory loadNetworkFileTaskFactory = getService(bc, LoadNetworkFileTaskFactory.class);
    LoadNetworkURLTaskFactory loadNetworkURLTaskFactory = getService(bc, LoadNetworkURLTaskFactory.class);
    DeleteSelectedNodesAndEdgesTaskFactory deleteSelectedNodesAndEdgesTaskFactory = getService(bc, DeleteSelectedNodesAndEdgesTaskFactory.class);
    SelectAllTaskFactory selectAllTaskFactory = getService(bc, SelectAllTaskFactory.class);
    SelectAllEdgesTaskFactory selectAllEdgesTaskFactory = getService(bc, SelectAllEdgesTaskFactory.class);
    SelectAllNodesTaskFactory selectAllNodesTaskFactory = getService(bc, SelectAllNodesTaskFactory.class);
    SelectAdjacentEdgesTaskFactory selectAdjacentEdgesTaskFactory = getService(bc, SelectAdjacentEdgesTaskFactory.class);
    SelectConnectedNodesTaskFactory selectConnectedNodesTaskFactory = getService(bc, SelectConnectedNodesTaskFactory.class);
    SelectFirstNeighborsTaskFactory selectFirstNeighborsTaskFactory = getService(bc, SelectFirstNeighborsTaskFactory.class, "(title=Undirected)");
    SelectFirstNeighborsTaskFactory selectFirstNeighborsTaskFactoryInEdge = getService(bc, SelectFirstNeighborsTaskFactory.class, "(title=Directed: Incoming)");
    SelectFirstNeighborsTaskFactory selectFirstNeighborsTaskFactoryOutEdge = getService(bc, SelectFirstNeighborsTaskFactory.class, "(title=Directed: Outgoing)");
    DeselectAllTaskFactory deselectAllTaskFactory = getService(bc, DeselectAllTaskFactory.class);
    DeselectAllEdgesTaskFactory deselectAllEdgesTaskFactory = getService(bc, DeselectAllEdgesTaskFactory.class);
    DeselectAllNodesTaskFactory deselectAllNodesTaskFactory = getService(bc, DeselectAllNodesTaskFactory.class);
    InvertSelectedEdgesTaskFactory invertSelectedEdgesTaskFactory = getService(bc, InvertSelectedEdgesTaskFactory.class);
    InvertSelectedNodesTaskFactory invertSelectedNodesTaskFactory = getService(bc, InvertSelectedNodesTaskFactory.class);
    SelectFromFileListTaskFactory selectFromFileListTaskFactory = getService(bc, SelectFromFileListTaskFactory.class);
    SelectFirstNeighborsNodeViewTaskFactory selectFirstNeighborsNodeViewTaskFactory = getService(bc, SelectFirstNeighborsNodeViewTaskFactory.class);
    HideSelectedTaskFactory hideSelectedTaskFactory = getService(bc, HideSelectedTaskFactory.class);
    HideSelectedNodesTaskFactory hideSelectedNodesTaskFactory = getService(bc, HideSelectedNodesTaskFactory.class);
    HideSelectedEdgesTaskFactory hideSelectedEdgesTaskFactory = getService(bc, HideSelectedEdgesTaskFactory.class);
    UnHideAllTaskFactory unHideAllTaskFactory = getService(bc, UnHideAllTaskFactory.class);
    UnHideAllNodesTaskFactory unHideAllNodesTaskFactory = getService(bc, UnHideAllNodesTaskFactory.class);
    UnHideAllEdgesTaskFactory unHideAllEdgesTaskFactory = getService(bc, UnHideAllEdgesTaskFactory.class);
    NewEmptyNetworkViewFactory newEmptyNetworkTaskFactory = getService(bc, NewEmptyNetworkViewFactory.class);
    CloneNetworkTaskFactory cloneNetworkTaskFactory = getService(bc, CloneNetworkTaskFactory.class);
    NewNetworkSelectedNodesAndEdgesTaskFactory newNetworkSelectedNodesEdgesTaskFactory = getService(bc, NewNetworkSelectedNodesAndEdgesTaskFactory.class);
    NewNetworkSelectedNodesOnlyTaskFactory newNetworkSelectedNodesOnlyTaskFactory = getService(bc, NewNetworkSelectedNodesOnlyTaskFactory.class);
    DestroyNetworkTaskFactory destroyNetworkTaskFactory = getService(bc, DestroyNetworkTaskFactory.class);
    DestroyNetworkViewTaskFactory destroyNetworkViewTaskFactory = getService(bc, DestroyNetworkViewTaskFactory.class);
    NewSessionTaskFactory newSessionTaskFactory = getService(bc, NewSessionTaskFactory.class);
    OpenSessionTaskFactory openSessionTaskFactory = getService(bc, OpenSessionTaskFactory.class);
    SaveSessionAsTaskFactory saveSessionAsTaskFactory = getService(bc, SaveSessionAsTaskFactory.class);
    EditNetworkTitleTaskFactory editNetworkTitleTaskFactory = getService(bc, EditNetworkTitleTaskFactory.class);
    CreateNetworkViewTaskFactory createNetworkViewTaskFactory = getService(bc, CreateNetworkViewTaskFactory.class);
    ExportNetworkImageTaskFactory exportNetworkImageTaskFactory = getService(bc, ExportNetworkImageTaskFactory.class);
    ExportNetworkViewTaskFactory exportNetworkViewTaskFactory = getService(bc, ExportNetworkViewTaskFactory.class);
    ExportSelectedTableTaskFactory exportSelectedTableTaskFactory = getService(bc, ExportSelectedTableTaskFactory.class);
    ExportTableTaskFactory exportTableTaskFactory = getService(bc, ExportTableTaskFactory.class);
    ApplyPreferredLayoutTaskFactory applyPreferredLayoutTaskFactory = getService(bc, ApplyPreferredLayoutTaskFactory.class);
    DeleteColumnTaskFactory deleteColumnTaskFactory = getService(bc, DeleteColumnTaskFactory.class);
    RenameColumnTaskFactory renameColumnTaskFactory = getService(bc, RenameColumnTaskFactory.class);
    DeleteTableTaskFactory deleteTableTaskFactory = getService(bc, DeleteTableTaskFactory.class);
    ExportVizmapTaskFactory exportVizmapTaskFactory = getService(bc, ExportVizmapTaskFactory.class);
    ConnectSelectedNodesTaskFactory connectSelectedNodesTaskFactory = getService(bc, ConnectSelectedNodesTaskFactory.class);
    MapGlobalToLocalTableTaskFactory mapGlobal = getService(bc, MapGlobalToLocalTableTaskFactory.class);
    ApplyVisualStyleTaskFactory applyVisualStyleTaskFactory = getService(bc, ApplyVisualStyleTaskFactory.class);
    MapTableToNetworkTablesTaskFactory mapNetworkAttrTaskFactory = getService(bc, MapTableToNetworkTablesTaskFactory.class);
    GroupNodesTaskFactory groupNodesTaskFactory = getService(bc, GroupNodesTaskFactory.class);
    UnGroupTaskFactory unGroupTaskFactory = getService(bc, UnGroupTaskFactory.class);
    CollapseGroupTaskFactory collapseGroupTaskFactory = getService(bc, CollapseGroupTaskFactory.class);
    ExpandGroupTaskFactory expandGroupTaskFactory = getService(bc, ExpandGroupTaskFactory.class);
    UnGroupNodesTaskFactory unGroupNodesTaskFactory = getService(bc, UnGroupNodesTaskFactory.class);
    // End of core-task services
    // Command execution services
    CommandExecutorTaskFactory cyCommandExecutorTaskFactory = getService(bc, CommandExecutorTaskFactory.class);
    AvailableCommands availableCommands = getService(bc, AvailableCommands.class);
    StreamUtil streamUtilServiceRef = getService(bc, StreamUtil.class);
    FileUtil fileUtilServiceRef = getService(bc, FileUtil.class);
    CySwingAppAdapter cyAppAdapter = new CyAppAdapterImpl(cyApplicationConfigurationRef, cyApplicationManagerRef, cyEventHelperRef, cyGroupAggregationManagerRef, cyGroupFactoryRef, cyGroupManagerRef, cyLayoutAlgorithmManagerRef, cyNetworkFactoryRef, cyNetworkManagerRef, cyNetworkViewFactoryRef, cyNetworkViewManagerRef, cyNetworkViewReaderManagerRef, cyNetworkViewWriterManagerRef, cyPropertyRef, cyPropertyReaderManagerRef, cyPropertyWriterManagerRef, cyRootNetworkFactoryRef, serviceRegistrar, cySessionManagerRef, cySessionReaderManagerRef, cySessionWriterManagerRef, cySwingApplicationRef, cyTableFactoryRef, cyTableManagerRef, cyTableReaderManagerRef, cyTableWriterManagerRef, cytoscapeVersionService, dialogTaskManagerRef, panelTaskManagerRef, presentationWriterManagerRef, renderingEngineManagerRef, taskManagerRef, undoSupportRef, tunablePropertySerializerFactoryRef, vmfFactoryC, vmfFactoryD, vmfFactoryP, visualMappingManagerRef, visualStyleFactoryRef, dataSourceManager, // from core-task-api
    loadVizmapFileTaskFactory, loadNetworkFileTaskFactory, loadNetworkURLTaskFactory, deleteSelectedNodesAndEdgesTaskFactory, selectAllTaskFactory, selectAllEdgesTaskFactory, selectAllNodesTaskFactory, selectAdjacentEdgesTaskFactory, selectConnectedNodesTaskFactory, selectFirstNeighborsTaskFactory, selectFirstNeighborsTaskFactoryInEdge, selectFirstNeighborsTaskFactoryOutEdge, deselectAllTaskFactory, deselectAllEdgesTaskFactory, deselectAllNodesTaskFactory, invertSelectedEdgesTaskFactory, invertSelectedNodesTaskFactory, selectFromFileListTaskFactory, selectFirstNeighborsNodeViewTaskFactory, hideSelectedTaskFactory, hideSelectedNodesTaskFactory, hideSelectedEdgesTaskFactory, unHideAllTaskFactory, unHideAllNodesTaskFactory, unHideAllEdgesTaskFactory, newEmptyNetworkTaskFactory, cloneNetworkTaskFactory, newNetworkSelectedNodesEdgesTaskFactory, newNetworkSelectedNodesOnlyTaskFactory, destroyNetworkTaskFactory, destroyNetworkViewTaskFactory, newSessionTaskFactory, openSessionTaskFactory, saveSessionAsTaskFactory, editNetworkTitleTaskFactory, createNetworkViewTaskFactory, exportNetworkImageTaskFactory, exportNetworkViewTaskFactory, exportSelectedTableTaskFactory, exportTableTaskFactory, applyPreferredLayoutTaskFactory, deleteColumnTaskFactory, renameColumnTaskFactory, deleteTableTaskFactory, exportVizmapTaskFactory, connectSelectedNodesTaskFactory, mapGlobal, applyVisualStyleTaskFactory, mapNetworkAttrTaskFactory, groupNodesTaskFactory, unGroupTaskFactory, collapseGroupTaskFactory, expandGroupTaskFactory, unGroupNodesTaskFactory, cyCommandExecutorTaskFactory, availableCommands);
    registerService(bc, cyAppAdapter, CyAppAdapter.class);
    registerService(bc, cyAppAdapter, CySwingAppAdapter.class);
    WebQuerier webQuerier = new WebQuerier(streamUtilServiceRef, cytoscapeVersionService);
    registerService(bc, webQuerier, WebQuerier.class);
    StartLevel startLevel = getService(bc, StartLevel.class);
    // Instantiate new manager
    final AppManager appManager = new AppManager(cyAppAdapter, cyApplicationConfigurationServiceRef, cytoscapeVersionService, cyEventHelperRef, webQuerier, startLevel, bc);
    registerService(bc, appManager, AppManager.class);
    bc.addFrameworkListener(appManager);
    final DownloadSitesManager downloadSitesManager = new DownloadSitesManager(cyPropertyRef);
    final UpdateManager updateManager = new UpdateManager(appManager, downloadSitesManager);
    registerService(bc, updateManager, AppsFinishedStartingListener.class);
    final AppConflictHandlerFactory appConflictHandlerFactory = new AppConflictHandlerFactory();
    registerService(bc, appConflictHandlerFactory, GUITunableHandlerFactory.class);
    // AbstractCyAction implementation for updated app manager
    AppManagerAction appManagerAction = new AppManagerAction(appManager, downloadSitesManager, updateManager, cySwingApplicationRef, fileUtilServiceRef, dialogTaskManagerRef, serviceRegistrar);
    registerService(bc, appManagerAction, CyAction.class);
    // Show citations dialog
    final CitationsAction citationsAction = new CitationsAction(webQuerier, appManager, serviceRegistrar);
    registerService(bc, citationsAction, CyAction.class);
    // Start local server that reports app installation status to the app store when requested,
    // also able to install an app when told by the app store
    final AppGetResponder appGetResponder = new AppGetResponder(appManager, cytoscapeVersionService);
    final CyHttpd httpd = (new CyHttpdFactoryImpl()).createHttpd(new LocalhostServerSocketFactory(2607));
    httpd.addBeforeResponse(new ScreenOriginsBeforeResponse(WebQuerier.DEFAULT_APP_STORE_URL));
    httpd.addBeforeResponse(new OriginOptionsBeforeResponse("x-csrftoken"));
    httpd.addAfterResponse(new AddAllowOriginHeader());
    httpd.addResponder(appGetResponder.new StatusResponder());
    httpd.addResponder(appGetResponder.new InstallResponder());
    httpd.start();
    // Special case: handle yFiles app options
    final OpenBrowser openBrowser = getService(bc, OpenBrowser.class);
    YFilesChecker checker = new YFilesChecker(appManager, serviceRegistrar, openBrowser);
    bc.addBundleListener(checker);
    registerAllServices(bc, checker, new Properties());
    {
        AppStoreTaskFactory factory = new AppStoreTaskFactory(appManager, serviceRegistrar);
        Properties props = new Properties();
        props.setProperty(COMMAND_NAMESPACE, "apps");
        props.setProperty(COMMAND, "open appstore");
        props.setProperty(COMMAND_DESCRIPTION, "Open the app store page for an app");
        props.setProperty(COMMAND_LONG_DESCRIPTION, "Open the app store page for an app.");
        props.setProperty(COMMAND_SUPPORTS_JSON, "true");
        props.setProperty(COMMAND_EXAMPLE_JSON, "{}");
        registerService(bc, factory, TaskFactory.class, props);
    }
    {
        DisableTaskFactory factory = new DisableTaskFactory(appManager);
        Properties props = new Properties();
        props.setProperty(COMMAND_NAMESPACE, "apps");
        props.setProperty(COMMAND, "disable");
        props.setProperty(COMMAND_DESCRIPTION, "Disable an app");
        props.setProperty(COMMAND_LONG_DESCRIPTION, "Disable a currently installed app.");
        props.setProperty(COMMAND_SUPPORTS_JSON, "true");
        props.setProperty(COMMAND_EXAMPLE_JSON, "{\"appName\": \"appname\"}");
        registerService(bc, factory, TaskFactory.class, props);
    }
    {
        EnableTaskFactory factory = new EnableTaskFactory(appManager);
        Properties props = new Properties();
        props.setProperty(COMMAND_NAMESPACE, "apps");
        props.setProperty(COMMAND, "enable");
        props.setProperty(COMMAND_DESCRIPTION, "Enable a disabled app");
        props.setProperty(COMMAND_LONG_DESCRIPTION, "Enable a currently disabled app.");
        props.setProperty(COMMAND_SUPPORTS_JSON, "true");
        props.setProperty(COMMAND_EXAMPLE_JSON, "{\"appName\": \"appname\"}");
        registerService(bc, factory, TaskFactory.class, props);
    }
    {
        InformationTaskFactory factory = new InformationTaskFactory(appManager);
        Properties props = new Properties();
        props.setProperty(COMMAND_NAMESPACE, "apps");
        props.setProperty(COMMAND, "information");
        props.setProperty(COMMAND_DESCRIPTION, "Get app information");
        props.setProperty(COMMAND_LONG_DESCRIPTION, "Get information about an app.");
        props.setProperty(COMMAND_SUPPORTS_JSON, "true");
        props.setProperty(COMMAND_EXAMPLE_JSON, "{\"appName\": \"appname\"" + ", \"description\": \"App description\"" + ", \"version\": \"1.2.2\"}");
        registerService(bc, factory, TaskFactory.class, props);
    }
    {
        InstallTaskFactory factory = new InstallTaskFactory(appManager);
        Properties props = new Properties();
        props.setProperty(COMMAND_NAMESPACE, "apps");
        props.setProperty(COMMAND, "install");
        props.setProperty(COMMAND_DESCRIPTION, "Install an app");
        props.setProperty(COMMAND_LONG_DESCRIPTION, "Install an app given an app name or file.");
        props.setProperty(COMMAND_SUPPORTS_JSON, "true");
        props.setProperty(COMMAND_EXAMPLE_JSON, "{}");
        registerService(bc, factory, TaskFactory.class, props);
    }
    {
        ListAvailableTaskFactory factory = new ListAvailableTaskFactory(appManager);
        Properties props = new Properties();
        props.setProperty(COMMAND_NAMESPACE, "apps");
        props.setProperty(COMMAND, "list available");
        props.setProperty(COMMAND_DESCRIPTION, "List the available apps");
        props.setProperty(COMMAND_LONG_DESCRIPTION, "Return a list of the available apps in the app store");
        props.setProperty(COMMAND_SUPPORTS_JSON, "true");
        props.setProperty(COMMAND_EXAMPLE_JSON, "[{\"appName\":\"name\", " + "\"description\":\"descriptions\", " + "\"details\":\"app details\"}]");
        registerService(bc, factory, TaskFactory.class, props);
    }
    {
        ListAppsTaskFactory factory = new ListAppsTaskFactory(appManager, AppStatus.DISABLED);
        Properties props = new Properties();
        props.setProperty(COMMAND_NAMESPACE, "apps");
        props.setProperty(COMMAND, "list disabled");
        props.setProperty(COMMAND_DESCRIPTION, "List the disabled apps");
        props.setProperty(COMMAND_LONG_DESCRIPTION, "Return a list of the disabled apps in the current installation.");
        props.setProperty(COMMAND_SUPPORTS_JSON, "true");
        props.setProperty(COMMAND_EXAMPLE_JSON, "[{ \"appName\": \"appname\"," + "\"version\": \"1.1.0\"," + "\"description\": \"descriptions\"," + "\"status\": \"Disabled\"}]");
        registerService(bc, factory, TaskFactory.class, props);
    }
    {
        ListAppsTaskFactory factory = new ListAppsTaskFactory(appManager, AppStatus.INSTALLED);
        Properties props = new Properties();
        props.setProperty(COMMAND_NAMESPACE, "apps");
        props.setProperty(COMMAND, "list installed");
        props.setProperty(COMMAND_DESCRIPTION, "List the installed apps");
        props.setProperty(COMMAND_LONG_DESCRIPTION, "Return a list of the installed apps in the current installation.");
        props.setProperty(COMMAND_SUPPORTS_JSON, "true");
        props.setProperty(COMMAND_EXAMPLE_JSON, "[{\"appName\": \"appname\"," + "\"version\": \"1.1.0\"," + "\"description\": \"descriptions\"," + "\"status\": \"Installed\"}]");
        registerService(bc, factory, TaskFactory.class, props);
    }
    {
        ListAppsTaskFactory factory = new ListAppsTaskFactory(appManager, AppStatus.UNINSTALLED);
        Properties props = new Properties();
        props.setProperty(COMMAND_NAMESPACE, "apps");
        props.setProperty(COMMAND, "list uninstalled");
        props.setProperty(COMMAND_DESCRIPTION, "List the uninstalled apps");
        props.setProperty(COMMAND_LONG_DESCRIPTION, "Return a list of the uninstalled apps in the current installation.");
        props.setProperty(COMMAND_SUPPORTS_JSON, "true");
        props.setProperty(COMMAND_EXAMPLE_JSON, "[{ \"appName\": \"appname\"," + "\"version\": \"1.1.0\"," + "\"description\": \"descriptions\"," + "\"status\": \"Uninstalled\"}]");
        registerService(bc, factory, TaskFactory.class, props);
    }
    {
        ListUpdatesTaskFactory factory = new ListUpdatesTaskFactory(appManager);
        Properties props = new Properties();
        props.setProperty(COMMAND_NAMESPACE, "apps");
        props.setProperty(COMMAND, "list updates");
        props.setProperty(COMMAND_DESCRIPTION, "List the apps available for updates");
        props.setProperty(COMMAND_LONG_DESCRIPTION, "Return a list of the apps that have updates in the app store.");
        props.setProperty(COMMAND_SUPPORTS_JSON, "true");
        props.setProperty(COMMAND_EXAMPLE_JSON, "[{ \"appName\": \"appname\"," + "\"version\": \"1.1.10\"," + "\"information\": \"app information\"}]");
        registerService(bc, factory, TaskFactory.class, props);
    }
    {
        StatusTaskFactory factory = new StatusTaskFactory(appManager);
        Properties props = new Properties();
        props.setProperty(COMMAND_NAMESPACE, "apps");
        props.setProperty(COMMAND, "status");
        props.setProperty(COMMAND_DESCRIPTION, "Get the status of an app");
        props.setProperty(COMMAND_LONG_DESCRIPTION, "Get the status of an app.");
        props.setProperty(COMMAND_SUPPORTS_JSON, "true");
        props.setProperty(COMMAND_EXAMPLE_JSON, "{\"appName\": \"appname\", \"status\": \"Installed\"}");
        registerService(bc, factory, TaskFactory.class, props);
    }
    {
        UninstallTaskFactory factory = new UninstallTaskFactory(appManager);
        Properties props = new Properties();
        props.setProperty(COMMAND_NAMESPACE, "apps");
        props.setProperty(COMMAND, "uninstall");
        props.setProperty(COMMAND_DESCRIPTION, "Uninstall an app");
        props.setProperty(COMMAND_LONG_DESCRIPTION, "Uninstall a currently installed app.");
        props.setProperty(COMMAND_SUPPORTS_JSON, "true");
        props.setProperty(COMMAND_EXAMPLE_JSON, "{\"appName\": \"appname\"}");
        registerService(bc, factory, TaskFactory.class, props);
    }
    {
        UpdateTaskFactory factory = new UpdateTaskFactory(appManager, updateManager);
        Properties props = new Properties();
        props.setProperty(COMMAND_NAMESPACE, "apps");
        props.setProperty(COMMAND, "update");
        props.setProperty(COMMAND_DESCRIPTION, "Update an app or all apps");
        props.setProperty(COMMAND_LONG_DESCRIPTION, "Update an app or all apps.");
        props.setProperty(COMMAND_SUPPORTS_JSON, "true");
        props.setProperty(COMMAND_EXAMPLE_JSON, "{}");
        registerService(bc, factory, TaskFactory.class, props);
    }
}
Also used : CyEventHelper(org.cytoscape.event.CyEventHelper) ExportVizmapTaskFactory(org.cytoscape.task.write.ExportVizmapTaskFactory) StatusTaskFactory(org.cytoscape.app.internal.task.StatusTaskFactory) EditNetworkTitleTaskFactory(org.cytoscape.task.edit.EditNetworkTitleTaskFactory) VisualStyleFactory(org.cytoscape.view.vizmap.VisualStyleFactory) ConnectSelectedNodesTaskFactory(org.cytoscape.task.edit.ConnectSelectedNodesTaskFactory) CyHttpd(org.cytoscape.app.internal.net.server.CyHttpd) NewEmptyNetworkViewFactory(org.cytoscape.task.create.NewEmptyNetworkViewFactory) ExportNetworkViewTaskFactory(org.cytoscape.task.write.ExportNetworkViewTaskFactory) LocalhostServerSocketFactory(org.cytoscape.app.internal.net.server.LocalhostServerSocketFactory) CyPropertyWriterManager(org.cytoscape.io.write.CyPropertyWriterManager) SelectAllEdgesTaskFactory(org.cytoscape.task.select.SelectAllEdgesTaskFactory) CyRootNetworkManager(org.cytoscape.model.subnetwork.CyRootNetworkManager) ExportNetworkImageTaskFactory(org.cytoscape.task.write.ExportNetworkImageTaskFactory) SelectAllNodesTaskFactory(org.cytoscape.task.select.SelectAllNodesTaskFactory) RenderingEngineManager(org.cytoscape.view.presentation.RenderingEngineManager) ExportSelectedTableTaskFactory(org.cytoscape.task.write.ExportSelectedTableTaskFactory) LoadNetworkURLTaskFactory(org.cytoscape.task.read.LoadNetworkURLTaskFactory) DeselectAllTaskFactory(org.cytoscape.task.select.DeselectAllTaskFactory) InformationTaskFactory(org.cytoscape.app.internal.task.InformationTaskFactory) CyNetworkViewFactory(org.cytoscape.view.model.CyNetworkViewFactory) DeselectAllNodesTaskFactory(org.cytoscape.task.select.DeselectAllNodesTaskFactory) CyPropertyReaderManager(org.cytoscape.io.read.CyPropertyReaderManager) CyNetworkViewWriterManager(org.cytoscape.io.write.CyNetworkViewWriterManager) UnGroupNodesTaskFactory(org.cytoscape.task.edit.UnGroupNodesTaskFactory) GroupNodesTaskFactory(org.cytoscape.task.edit.GroupNodesTaskFactory) CommandExecutorTaskFactory(org.cytoscape.command.CommandExecutorTaskFactory) UnHideAllTaskFactory(org.cytoscape.task.hide.UnHideAllTaskFactory) DialogTaskManager(org.cytoscape.work.swing.DialogTaskManager) CyApplicationConfiguration(org.cytoscape.application.CyApplicationConfiguration) ExpandGroupTaskFactory(org.cytoscape.task.edit.ExpandGroupTaskFactory) UpdateTaskFactory(org.cytoscape.app.internal.task.UpdateTaskFactory) SelectFirstNeighborsTaskFactory(org.cytoscape.task.select.SelectFirstNeighborsTaskFactory) MapTableToNetworkTablesTaskFactory(org.cytoscape.task.edit.MapTableToNetworkTablesTaskFactory) StreamUtil(org.cytoscape.io.util.StreamUtil) MapGlobalToLocalTableTaskFactory(org.cytoscape.task.edit.MapGlobalToLocalTableTaskFactory) LoadNetworkFileTaskFactory(org.cytoscape.task.read.LoadNetworkFileTaskFactory) UnHideAllNodesTaskFactory(org.cytoscape.task.hide.UnHideAllNodesTaskFactory) CyGroupManager(org.cytoscape.group.CyGroupManager) CreateNetworkViewTaskFactory(org.cytoscape.task.create.CreateNetworkViewTaskFactory) DestroyNetworkTaskFactory(org.cytoscape.task.destroy.DestroyNetworkTaskFactory) SelectFromFileListTaskFactory(org.cytoscape.task.select.SelectFromFileListTaskFactory) UnGroupNodesTaskFactory(org.cytoscape.task.edit.UnGroupNodesTaskFactory) OriginOptionsBeforeResponse(org.cytoscape.app.internal.net.server.OriginOptionsBeforeResponse) CySessionWriterManager(org.cytoscape.io.write.CySessionWriterManager) CySwingAppAdapter(org.cytoscape.app.swing.CySwingAppAdapter) UninstallTaskFactory(org.cytoscape.app.internal.task.UninstallTaskFactory) CyTableManager(org.cytoscape.model.CyTableManager) ApplyVisualStyleTaskFactory(org.cytoscape.task.visualize.ApplyVisualStyleTaskFactory) ScreenOriginsBeforeResponse(org.cytoscape.app.internal.net.server.ScreenOriginsBeforeResponse) ExportTableTaskFactory(org.cytoscape.task.write.ExportTableTaskFactory) ApplyPreferredLayoutTaskFactory(org.cytoscape.task.visualize.ApplyPreferredLayoutTaskFactory) AppManager(org.cytoscape.app.internal.manager.AppManager) InformationTaskFactory(org.cytoscape.app.internal.task.InformationTaskFactory) UnHideAllEdgesTaskFactory(org.cytoscape.task.hide.UnHideAllEdgesTaskFactory) ListUpdatesTaskFactory(org.cytoscape.app.internal.task.ListUpdatesTaskFactory) ListAvailableTaskFactory(org.cytoscape.app.internal.task.ListAvailableTaskFactory) ConnectSelectedNodesTaskFactory(org.cytoscape.task.edit.ConnectSelectedNodesTaskFactory) RenameColumnTaskFactory(org.cytoscape.task.edit.RenameColumnTaskFactory) AppStoreTaskFactory(org.cytoscape.app.internal.task.AppStoreTaskFactory) NewNetworkSelectedNodesAndEdgesTaskFactory(org.cytoscape.task.create.NewNetworkSelectedNodesAndEdgesTaskFactory) InvertSelectedNodesTaskFactory(org.cytoscape.task.select.InvertSelectedNodesTaskFactory) HideSelectedNodesTaskFactory(org.cytoscape.task.hide.HideSelectedNodesTaskFactory) DeselectAllTaskFactory(org.cytoscape.task.select.DeselectAllTaskFactory) UpdateTaskFactory(org.cytoscape.app.internal.task.UpdateTaskFactory) UnHideAllNodesTaskFactory(org.cytoscape.task.hide.UnHideAllNodesTaskFactory) ListAppsTaskFactory(org.cytoscape.app.internal.task.ListAppsTaskFactory) ExpandGroupTaskFactory(org.cytoscape.task.edit.ExpandGroupTaskFactory) SelectAllTaskFactory(org.cytoscape.task.select.SelectAllTaskFactory) ExportSelectedTableTaskFactory(org.cytoscape.task.write.ExportSelectedTableTaskFactory) SelectAdjacentEdgesTaskFactory(org.cytoscape.task.select.SelectAdjacentEdgesTaskFactory) CreateNetworkViewTaskFactory(org.cytoscape.task.create.CreateNetworkViewTaskFactory) SelectAllNodesTaskFactory(org.cytoscape.task.select.SelectAllNodesTaskFactory) ExportNetworkViewTaskFactory(org.cytoscape.task.write.ExportNetworkViewTaskFactory) LoadVizmapFileTaskFactory(org.cytoscape.task.read.LoadVizmapFileTaskFactory) SaveSessionAsTaskFactory(org.cytoscape.task.write.SaveSessionAsTaskFactory) SelectFromFileListTaskFactory(org.cytoscape.task.select.SelectFromFileListTaskFactory) ExportTableTaskFactory(org.cytoscape.task.write.ExportTableTaskFactory) InstallTaskFactory(org.cytoscape.app.internal.task.InstallTaskFactory) InvertSelectedEdgesTaskFactory(org.cytoscape.task.select.InvertSelectedEdgesTaskFactory) ApplyPreferredLayoutTaskFactory(org.cytoscape.task.visualize.ApplyPreferredLayoutTaskFactory) ApplyVisualStyleTaskFactory(org.cytoscape.task.visualize.ApplyVisualStyleTaskFactory) EditNetworkTitleTaskFactory(org.cytoscape.task.edit.EditNetworkTitleTaskFactory) DeleteSelectedNodesAndEdgesTaskFactory(org.cytoscape.task.destroy.DeleteSelectedNodesAndEdgesTaskFactory) NewNetworkSelectedNodesOnlyTaskFactory(org.cytoscape.task.create.NewNetworkSelectedNodesOnlyTaskFactory) UninstallTaskFactory(org.cytoscape.app.internal.task.UninstallTaskFactory) UnHideAllTaskFactory(org.cytoscape.task.hide.UnHideAllTaskFactory) LoadNetworkURLTaskFactory(org.cytoscape.task.read.LoadNetworkURLTaskFactory) UnGroupNodesTaskFactory(org.cytoscape.task.edit.UnGroupNodesTaskFactory) DestroyNetworkTaskFactory(org.cytoscape.task.destroy.DestroyNetworkTaskFactory) DeselectAllEdgesTaskFactory(org.cytoscape.task.select.DeselectAllEdgesTaskFactory) SelectAllEdgesTaskFactory(org.cytoscape.task.select.SelectAllEdgesTaskFactory) SelectFirstNeighborsTaskFactory(org.cytoscape.task.select.SelectFirstNeighborsTaskFactory) SelectConnectedNodesTaskFactory(org.cytoscape.task.select.SelectConnectedNodesTaskFactory) MapGlobalToLocalTableTaskFactory(org.cytoscape.task.edit.MapGlobalToLocalTableTaskFactory) GroupNodesTaskFactory(org.cytoscape.task.edit.GroupNodesTaskFactory) CloneNetworkTaskFactory(org.cytoscape.task.create.CloneNetworkTaskFactory) MapTableToNetworkTablesTaskFactory(org.cytoscape.task.edit.MapTableToNetworkTablesTaskFactory) DeleteTableTaskFactory(org.cytoscape.task.destroy.DeleteTableTaskFactory) DeselectAllNodesTaskFactory(org.cytoscape.task.select.DeselectAllNodesTaskFactory) DisableTaskFactory(org.cytoscape.app.internal.task.DisableTaskFactory) EnableTaskFactory(org.cytoscape.app.internal.task.EnableTaskFactory) HideSelectedEdgesTaskFactory(org.cytoscape.task.hide.HideSelectedEdgesTaskFactory) SelectFirstNeighborsNodeViewTaskFactory(org.cytoscape.task.select.SelectFirstNeighborsNodeViewTaskFactory) StatusTaskFactory(org.cytoscape.app.internal.task.StatusTaskFactory) TaskFactory(org.cytoscape.work.TaskFactory) CollapseGroupTaskFactory(org.cytoscape.task.edit.CollapseGroupTaskFactory) DestroyNetworkViewTaskFactory(org.cytoscape.task.destroy.DestroyNetworkViewTaskFactory) ExportNetworkImageTaskFactory(org.cytoscape.task.write.ExportNetworkImageTaskFactory) DeleteColumnTaskFactory(org.cytoscape.task.destroy.DeleteColumnTaskFactory) NewSessionTaskFactory(org.cytoscape.task.create.NewSessionTaskFactory) CommandExecutorTaskFactory(org.cytoscape.command.CommandExecutorTaskFactory) UnGroupTaskFactory(org.cytoscape.task.edit.UnGroupTaskFactory) LoadNetworkFileTaskFactory(org.cytoscape.task.read.LoadNetworkFileTaskFactory) HideSelectedTaskFactory(org.cytoscape.task.hide.HideSelectedTaskFactory) ExportVizmapTaskFactory(org.cytoscape.task.write.ExportVizmapTaskFactory) OpenSessionTaskFactory(org.cytoscape.task.read.OpenSessionTaskFactory) CloneNetworkTaskFactory(org.cytoscape.task.create.CloneNetworkTaskFactory) SaveSessionAsTaskFactory(org.cytoscape.task.write.SaveSessionAsTaskFactory) PanelTaskManager(org.cytoscape.work.swing.PanelTaskManager) VisualMappingFunctionFactory(org.cytoscape.view.vizmap.VisualMappingFunctionFactory) UnHideAllEdgesTaskFactory(org.cytoscape.task.hide.UnHideAllEdgesTaskFactory) InvertSelectedNodesTaskFactory(org.cytoscape.task.select.InvertSelectedNodesTaskFactory) ListAvailableTaskFactory(org.cytoscape.app.internal.task.ListAvailableTaskFactory) HideSelectedNodesTaskFactory(org.cytoscape.task.hide.HideSelectedNodesTaskFactory) DataSourceManager(org.cytoscape.io.datasource.DataSourceManager) CyServiceRegistrar(org.cytoscape.service.util.CyServiceRegistrar) SelectConnectedNodesTaskFactory(org.cytoscape.task.select.SelectConnectedNodesTaskFactory) SelectFirstNeighborsNodeViewTaskFactory(org.cytoscape.task.select.SelectFirstNeighborsNodeViewTaskFactory) AppGetResponder(org.cytoscape.app.internal.net.server.AppGetResponder) StartLevel(org.osgi.service.startlevel.StartLevel) AppManagerAction(org.cytoscape.app.internal.action.AppManagerAction) EnableTaskFactory(org.cytoscape.app.internal.task.EnableTaskFactory) DeleteTableTaskFactory(org.cytoscape.task.destroy.DeleteTableTaskFactory) CyGroupFactory(org.cytoscape.group.CyGroupFactory) AddAllowOriginHeader(org.cytoscape.app.internal.net.server.AddAllowOriginHeader) CollapseGroupTaskFactory(org.cytoscape.task.edit.CollapseGroupTaskFactory) CyHttpdFactoryImpl(org.cytoscape.app.internal.net.server.CyHttpdFactoryImpl) TunablePropertySerializerFactory(org.cytoscape.work.properties.TunablePropertySerializerFactory) CyNetworkViewManager(org.cytoscape.view.model.CyNetworkViewManager) CySwingApplication(org.cytoscape.application.swing.CySwingApplication) UnGroupTaskFactory(org.cytoscape.task.edit.UnGroupTaskFactory) PresentationWriterManager(org.cytoscape.io.write.PresentationWriterManager) CyNetworkReaderManager(org.cytoscape.io.read.CyNetworkReaderManager) DeleteSelectedNodesAndEdgesTaskFactory(org.cytoscape.task.destroy.DeleteSelectedNodesAndEdgesTaskFactory) DownloadSitesManager(org.cytoscape.app.internal.ui.downloadsites.DownloadSitesManager) UndoSupport(org.cytoscape.work.undo.UndoSupport) CyApplicationManager(org.cytoscape.application.CyApplicationManager) CyNetworkManager(org.cytoscape.model.CyNetworkManager) AppConflictHandlerFactory(org.cytoscape.app.internal.tunable.AppConflictHandlerFactory) CyLayoutAlgorithmManager(org.cytoscape.view.layout.CyLayoutAlgorithmManager) DeleteColumnTaskFactory(org.cytoscape.task.destroy.DeleteColumnTaskFactory) NewNetworkSelectedNodesAndEdgesTaskFactory(org.cytoscape.task.create.NewNetworkSelectedNodesAndEdgesTaskFactory) UpdateManager(org.cytoscape.app.internal.net.UpdateManager) CyNetworkFactory(org.cytoscape.model.CyNetworkFactory) RenameColumnTaskFactory(org.cytoscape.task.edit.RenameColumnTaskFactory) FileUtil(org.cytoscape.util.swing.FileUtil) CyTableReaderManager(org.cytoscape.io.read.CyTableReaderManager) CyTableWriterManager(org.cytoscape.io.write.CyTableWriterManager) DestroyNetworkViewTaskFactory(org.cytoscape.task.destroy.DestroyNetworkViewTaskFactory) Properties(java.util.Properties) LoadVizmapFileTaskFactory(org.cytoscape.task.read.LoadVizmapFileTaskFactory) AppStoreTaskFactory(org.cytoscape.app.internal.task.AppStoreTaskFactory) AvailableCommands(org.cytoscape.command.AvailableCommands) CyGroupAggregationManager(org.cytoscape.group.data.CyGroupAggregationManager) InvertSelectedEdgesTaskFactory(org.cytoscape.task.select.InvertSelectedEdgesTaskFactory) NewNetworkSelectedNodesOnlyTaskFactory(org.cytoscape.task.create.NewNetworkSelectedNodesOnlyTaskFactory) ListAppsTaskFactory(org.cytoscape.app.internal.task.ListAppsTaskFactory) SelectAllTaskFactory(org.cytoscape.task.select.SelectAllTaskFactory) HideSelectedTaskFactory(org.cytoscape.task.hide.HideSelectedTaskFactory) CitationsAction(org.cytoscape.app.internal.action.CitationsAction) InstallTaskFactory(org.cytoscape.app.internal.task.InstallTaskFactory) SelectAdjacentEdgesTaskFactory(org.cytoscape.task.select.SelectAdjacentEdgesTaskFactory) NewSessionTaskFactory(org.cytoscape.task.create.NewSessionTaskFactory) DisableTaskFactory(org.cytoscape.app.internal.task.DisableTaskFactory) CyVersion(org.cytoscape.application.CyVersion) HideSelectedEdgesTaskFactory(org.cytoscape.task.hide.HideSelectedEdgesTaskFactory) DeselectAllEdgesTaskFactory(org.cytoscape.task.select.DeselectAllEdgesTaskFactory) ListUpdatesTaskFactory(org.cytoscape.app.internal.task.ListUpdatesTaskFactory) CySessionReaderManager(org.cytoscape.io.read.CySessionReaderManager) CyTableFactory(org.cytoscape.model.CyTableFactory) TaskManager(org.cytoscape.work.TaskManager) PanelTaskManager(org.cytoscape.work.swing.PanelTaskManager) DialogTaskManager(org.cytoscape.work.swing.DialogTaskManager) OpenBrowser(org.cytoscape.util.swing.OpenBrowser) CySessionManager(org.cytoscape.session.CySessionManager) VisualMappingManager(org.cytoscape.view.vizmap.VisualMappingManager) OpenSessionTaskFactory(org.cytoscape.task.read.OpenSessionTaskFactory) WebQuerier(org.cytoscape.app.internal.net.WebQuerier)

Example 63 with CyEventHelper

use of org.cytoscape.event.CyEventHelper in project PhenomeScape by soulj.

the class PhenomeExpress method run.

@Override
public void run(TaskMonitor taskMonitor) throws Exception {
    taskMonitor.setTitle("Running PhenomeExpress");
    taskMonitor.setStatusMessage("Preparing Networks");
    long time = System.currentTimeMillis();
    inputCheck();
    setUpNetworks();
    double[] relativeWeighting = { 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8 };
    double[] alphas = { 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8 };
    double[] piValues = proteinNetwork.getPivalues();
    Map<String, Integer> phenotypeMap = phenomeNetwork.getName2IndexMap();
    double[] phenoArray = new double[phenomeNetwork.getName2IndexMap().size()];
    selectedPhenotypes = new ArrayList<Phenotype>();
    boolean first = true;
    for (Phenotype phenotype : phenotypes) {
        if (phenotype.getSelected()) {
            if (first) {
                phenotypeSelected = phenotype.getID();
                phenotypeNamesSelected = phenotype.getName();
                selectedPhenotypes.add(phenotype);
                phenoArray[phenotypeMap.get(phenotype.getID())] = 1.0;
                first = false;
            } else {
                phenotypeSelected = phenotypeSelected + " ," + phenotype.getID();
                phenotypeNamesSelected = phenotypeNamesSelected + " ," + phenotype.getName();
                phenoArray[phenotypeMap.get(phenotype.getID())] = 1.0;
                selectedPhenotypes.add(phenotype);
            }
        }
    }
    Map<CyNode, Integer> map = proteinNetwork.getNode2IndexMap();
    int size = proteinNetwork.getNetwork().getNodeCount();
    int[] occuranceArray = new int[size];
    HashMap<CyNode, Protein> node2Protein = new HashMap<CyNode, Protein>();
    if (cancelled) {
        return;
    }
    taskMonitor.setStatusMessage("Calculating Activity Scores");
    taskMonitor.setProgress(0.0);
    double progress = 0.0;
    SparseRowMatrix adjMatrix = SparseRowMatrix.create(size, size);
    double[] transitionProbs = { 0.5, 0.6, 0.7, 0.8 };
    for (double transitionProb : transitionProbs) {
        TransitionMatrix transitionMatrix = new TransitionMatrix(phenomeNetwork.normalise(transitionProb, phenoGeneNetwork), proteinNetwork.normalise(transitionProb, phenoGeneNetwork), phenoGeneNetwork.normaliseT(transitionProb), phenoGeneNetwork.normalise(transitionProb));
        for (double weighting : relativeWeighting) {
            if (cancelled) {
                return;
            }
            transitionMatrix.prepareVector(piValues, phenoArray, weighting);
            for (double alpha : alphas) {
                progress += 0.0051;
                taskMonitor.setProgress(progress);
                double[] pageRankResults = transitionMatrix.pageRank(alpha);
                HashMap<Integer, Protein> index2ProteinMap = proteinNetwork.getIndex2ProteinMap();
                for (int i = 0; i < index2ProteinMap.size(); i++) {
                    Protein protein = index2ProteinMap.get(i);
                    protein.setValue(pageRankResults[i]);
                }
                List<Protein> proteinList = new ArrayList<Protein>(index2ProteinMap.values());
                Collections.sort(proteinList, new DescendingScoreComparator());
                int rank = 0;
                for (Protein protein : proteinList) {
                    rank++;
                    protein.setRank(rank);
                    node2Protein.put(protein.getNode(), protein);
                }
                Collections.sort(proteinList, new DescendingScoreComparator());
                GIGA giga = new GIGA(proteinList, node2Protein, proteinNetwork, maxNetworkSize);
                giga.compute();
                for (GIGACluster cluster : giga.getClusters()) {
                    for (CyNode node : cluster.getCluster()) {
                        Integer index = map.get(node);
                        AVector row = adjMatrix.getRow(index);
                        if (!row.isMutable()) {
                            row = row.mutable();
                        }
                        for (CyNode node2 : cluster.getCluster()) {
                            Integer index2 = map.get(node2);
                            row.set(index2, row.get(index2) + 1.0);
                            occuranceArray[index2]++;
                        }
                        adjMatrix.replaceRow(index, row);
                    }
                }
            }
        }
    }
    if (cancelled) {
        return;
    }
    taskMonitor.setProgress(1.0);
    taskMonitor.setStatusMessage("Creating Consensus Subnetworks");
    AMatrix cooccuranceMat = adjMatrix.transposeInnerProduct(adjMatrix);
    for (int i = 0; i < size; i++) {
        AVector row = cooccuranceMat.getRow(i);
        if (row.elementSum() > 0) {
            row.divide(occuranceArray[i]);
            Index nonSparse = row.nonSparseIndex();
            for (int j = 0; j < nonSparse.length(); j++) {
                if (row.get(nonSparse.get(j)) < 1.0) {
                    row.set(nonSparse.get(j), 0.0);
                }
            }
            cooccuranceMat.replaceRow(i, row.sparse());
        }
    }
    ConnectedComponentAnalyser CCA = new ConnectedComponentAnalyser(node2Protein);
    ArrayList<PhenomeExpressSubnetwork> subnetworks = CCA.ccFromAdjMatrix(adjMatrix, proteinNetwork);
    Iterator<PhenomeExpressSubnetwork> it = subnetworks.iterator();
    while (it.hasNext()) {
        PhenomeExpressSubnetwork subnetwork = it.next();
        if (subnetwork.getNodeList().size() < this.minNetSize) {
            it.remove();
        }
    }
    if (cancelled) {
        return;
    }
    taskMonitor.setStatusMessage("Calculating Subnetwork Significance");
    subnetworksSignificance(subnetworks);
    taskMonitor.setStatusMessage("Visualising Subnetworks");
    List<Double> foldChangeValues = proteinNetwork.getNodeTable().getColumn(foldChange).getValues(Double.class);
    double fcMax = Collections.max(foldChangeValues);
    double fcMin = Collections.min(foldChangeValues);
    // Apply the visual style to a NetworkView
    VizStyle vizStyle = new VizStyle();
    VisualStyle vs = vizStyle.createVizStyle(cyServiceRegistrar, geneName, foldChange, fcMax, fcMin);
    this.property = getNodeLabelPositionProperty();
    vs.setDefaultValue(property, property.parseSerializableString("N,S,c,0.0,0.0"));
    VisualMappingManager visualMappingManager = cyServiceRegistrar.getService(VisualMappingManager.class);
    visualMappingManager.setCurrentVisualStyle(vs);
    ArrayList<CyNetworkView> networkViewList = new ArrayList<CyNetworkView>();
    Iterator<PhenomeExpressSubnetwork> it2 = subnetworks.iterator();
    CyNetworkManager networkManager = cyServiceRegistrar.getService(CyNetworkManager.class);
    CyNetworkViewFactory networkViewFactory = cyServiceRegistrar.getService(CyNetworkViewFactory.class);
    CyLayoutAlgorithmManager layoutManager = cyServiceRegistrar.getService(CyLayoutAlgorithmManager.class);
    CyApplicationManager cyApplicationManager = cyServiceRegistrar.getService(CyApplicationManager.class);
    CyLayoutAlgorithm layout = layoutManager.getLayout("force-directed");
    Map<String, Object> settings = new HashMap<String, Object>();
    settings.put("defaultSpringLength", 5.0);
    settings.put("defaultSpringNodeMass", 2.0);
    TunableSetter setter = cyServiceRegistrar.getService(TunableSetter.class);
    Object context = layout.createLayoutContext();
    setter.applyTunables(context, settings);
    GOTermAnalyser2 goTermAnalyser = new GOTermAnalyser2(proteinNetwork, species);
    while (it2.hasNext()) {
        PhenomeExpressSubnetwork subnet = it2.next();
        if (subnet.getPvalue() > this.threshold) {
            it2.remove();
        } else {
            goTermAnalyser.calculateGOTermPValues(subnet, proteinNetwork);
            String subnetworkName = NetworkUtils.getUniqueNetworkName(cyServiceRegistrar, networkName + "_" + subnet.getBestGOTerm());
            subnet.setName(subnetworkName);
            CySubNetwork subnetwork = NetworkUtils.createSubNetwork(((CySubNetwork) proteinNetwork.getNetwork()).getRootNetwork(), subnet.getNodeList());
            subnetwork.getRow(subnetwork).set(CyNetwork.NAME, subnetworkName);
            addSeedPhenotypes(subnetwork);
            networkManager.addNetwork(subnetwork);
            CyNetworkViewManager viewManager = cyServiceRegistrar.getService(CyNetworkViewManager.class);
            CyNetworkView nv = networkViewFactory.createNetworkView(subnetwork);
            viewManager.addNetworkView(nv);
            cyApplicationManager.setCurrentNetworkView(nv);
            for (CyNode phenoNode : phenotypesAdded) {
                View<CyNode> nodeView = nv.getNodeView(phenoNode);
                nodeView.setLockedValue(BasicVisualLexicon.NODE_SHAPE, NodeShapeVisualProperty.RECTANGLE);
                nodeView.setLockedValue(BasicVisualLexicon.NODE_FILL_COLOR, Color.BLUE);
            }
            for (CyEdge phenoEdge : phenoEdges) {
                View<CyEdge> edgeView = nv.getEdgeView(phenoEdge);
                edgeView.setLockedValue(BasicVisualLexicon.EDGE_LINE_TYPE, LineTypeVisualProperty.DOT);
                edgeView.setLockedValue(BasicVisualLexicon.EDGE_PAINT, Color.BLUE);
            }
            networkViewList.add(nv);
            Set<View<CyNode>> nodeSet = Collections.emptySet();
            cyServiceRegistrar.getService(TaskManager.class).execute(layout.createTaskIterator(nv, context, nodeSet, null));
        }
    }
    CyEventHelper cyEventHelper = cyServiceRegistrar.getService(CyEventHelper.class);
    for (CyNetworkView nv : networkViewList) {
        visualMappingManager.setVisualStyle(vs, nv);
        vs.apply(nv);
        cyEventHelper.flushPayloadEvents();
        cyApplicationManager.setCurrentNetworkView(nv);
        nv.updateView();
    }
    phenomeNetwork = null;
    proteinNetwork = null;
    ResultsPanel resultsPanel = (ResultsPanel) CytoPanelUtils.getCytoPanel(cyServiceRegistrar, ResultsPanel.class, CytoPanelName.EAST);
    resultsPanel.newTableData(getResultsSummary(subnetworks), getParameterList());
    CytoPanelUtils.showCytoPanel(cyServiceRegistrar, CytoPanelName.EAST);
}
Also used : CyEventHelper(org.cytoscape.event.CyEventHelper) HashMap(java.util.HashMap) AMatrix(mikera.matrixx.AMatrix) ArrayList(java.util.ArrayList) Index(mikera.indexz.Index) TunableSetter(org.cytoscape.work.TunableSetter) AVector(mikera.vectorz.AVector) CyNode(org.cytoscape.model.CyNode) GOTermAnalyser2(org.cytoscape.phenomescape.internal.util.GOTermAnalyser2) CyNetworkViewManager(org.cytoscape.view.model.CyNetworkViewManager) CyApplicationManager(org.cytoscape.application.CyApplicationManager) Phenotype(org.cytoscape.phenomescape.internal.util.Phenotype) CyNetworkManager(org.cytoscape.model.CyNetworkManager) CyNetworkViewFactory(org.cytoscape.view.model.CyNetworkViewFactory) CyLayoutAlgorithmManager(org.cytoscape.view.layout.CyLayoutAlgorithmManager) ConnectedComponentAnalyser(org.cytoscape.phenomescape.internal.util.ConnectedComponentAnalyser) DescendingScoreComparator(org.cytoscape.phenomescape.internal.Protein.DescendingScoreComparator) CyLayoutAlgorithm(org.cytoscape.view.layout.CyLayoutAlgorithm) VisualStyle(org.cytoscape.view.vizmap.VisualStyle) VizStyle(org.cytoscape.phenomescape.internal.util.VizStyle) CyEdge(org.cytoscape.model.CyEdge) View(org.cytoscape.view.model.View) CyNetworkView(org.cytoscape.view.model.CyNetworkView) SparseRowMatrix(mikera.matrixx.impl.SparseRowMatrix) TaskManager(org.cytoscape.work.TaskManager) VisualMappingManager(org.cytoscape.view.vizmap.VisualMappingManager) CyNetworkView(org.cytoscape.view.model.CyNetworkView) CySubNetwork(org.cytoscape.model.subnetwork.CySubNetwork)

Aggregations

CyEventHelper (org.cytoscape.event.CyEventHelper)63 CyNetworkView (org.cytoscape.view.model.CyNetworkView)19 VisualMappingManager (org.cytoscape.view.vizmap.VisualMappingManager)19 CyNode (org.cytoscape.model.CyNode)15 UndoSupport (org.cytoscape.work.undo.UndoSupport)14 CyServiceRegistrar (org.cytoscape.service.util.CyServiceRegistrar)13 ArrayList (java.util.ArrayList)11 CyApplicationManager (org.cytoscape.application.CyApplicationManager)11 CyNetwork (org.cytoscape.model.CyNetwork)10 VisualStyle (org.cytoscape.view.vizmap.VisualStyle)10 Test (org.junit.Test)10 Task (org.cytoscape.work.Task)9 CyTable (org.cytoscape.model.CyTable)8 CyNetworkViewManager (org.cytoscape.view.model.CyNetworkViewManager)8 TaskIterator (org.cytoscape.work.TaskIterator)8 CyEdge (org.cytoscape.model.CyEdge)7 CyRow (org.cytoscape.model.CyRow)7 CyNetworkViewFactory (org.cytoscape.view.model.CyNetworkViewFactory)6 CyNetworkManager (org.cytoscape.model.CyNetworkManager)5 CyNetworkNaming (org.cytoscape.session.CyNetworkNaming)5