在服务器上使用 cytoscape

using cytoscape on server

我正在尝试在我的实验室中实施 cytoscape 并将其安装在我们通过 ssh 从自己的终端(使用 x11 转发)访问的中央服务器上。

我确实找到了 Scooter Morris to the question by RNA123 here, 的答案 目前我在 /opt/ 中的 cytoscape 3.8.2 安装(以 root 身份)通过以非 root 用户身份执行来工作。但是,如果第二个用户在实例已经 运行 时启动它,它会抛出错误:

karaf: There is a Root instance already running with name Cytoscape 3.8.2 and pid 121496. If you know what you are doing and want to force the run anyway, export CHECK_ROOT_INSTANCE_RUNNING=false and re run the command.

有没有办法集中安装 cytoscape 并让多个用户从他们自己的终端访问它?还是这样做安全:

CHECK_ROOT_INSTANCE_RUNNING=false

这是我在 BioStars 上发布的答案:

Yes, it should be safe, although there are some caveats. Once you get past the "CHECK_ROOT_INSTANCE_RUNNING" you'll get an error about "port already open". This is because Cytoscape attempts to open a port for it's REST interface. You can easily wrap the Cytoscape launch in a python or shell script that randomizes the port to avoid that problem, but if you have users using RCy3 or py4cytoscape, they would have to know the port to connect to. The best solution, especially in an hpc environment, is to run Cytoscape in a docker or singularity container and map the REST port "1234" to something user-specific.

我将在这里再添加一条评论。关于映射 REST 端口的最后一部分非常重要。如果没有人映射 REST 端口并且第二个用户启动 Cytoscape 然后使用 CyREST,他们将“控制”第一个用户的 Cytoscape。绝对不是你想要的。

-- 滑板车