I want to create a new cytoscape app for analysing protein interaction but I don't know if I can use python or just java.
Asked
Active
Viewed 177 times
0
-
Questions like this one are off-topic for this site. Please read [ask] before asking. – Omri Luzon Jun 18 '17 at 18:30
-
Welcome to stackoverflow.com. Please take some time to read [the help pages](http://stackoverflow.com/help), especially the sections named "[What topics can I ask about here?](http://stackoverflow.com/help/on-topic)" and "[What types of questions should I avoid asking?](http://stackoverflow.com/help/dont-ask)". Also please [take the tour](http://stackoverflow.com/tour) and read about [how to ask good questions](http://stackoverflow.com/help/how-to-ask). Lastly please learn how to create a [Minimal, Complete, and Verifiable Example](http://stackoverflow.com/help/mcve). – ArturFH Jun 18 '17 at 18:59
1 Answers
0
Great question. This is within scope of this forum.
The answer is "it depends". Cytoscape apps themselves must be Java (or something that runs in JVM, though there's only documentation support for Java and the forums will give best advice for Java).
However, the Cytoscape Cyberinfrastructure (CI) allows Python-based services (e.g., the Diffusion service) called by Cytoscape apps (e.g., the Diffusion app). The service must be deployed somewhere on the web (e.g., in a Kubernetes cluster).
If you'd like help with that route, you'll find enthusiastic support ... please e-mail the cytoscape-app-dev at googlegroups.com forum directly.

Barry Demchak
- 101
- 4
-
-
Yes ... it's a two part proposition. First, create a minimal Java app according to the steps set out in the Cytoscape App Ladder (http://wiki.cytoscape.org/Cytoscape_3/AppDeveloper/Cytoscape_App_Ladder). Second, create a callable web service (using cxmate ... for Python-based services, use https://github.com/cxmate/cxmate-py). Have the Java app make a REST call to the service (https://stackoverflow.com/questions/3913502/restful-call-in-java). – Barry Demchak Aug 07 '17 at 15:37
-
thanks , I want to add different clustering algorithm to code source of a cytoscape app – layesim Aug 08 '17 at 16:24
-
Great question ... until now, the answer would be "no". There are two new approaches that have been enabled lately. Both involve the REST service described above. You can create a Java-based Cytoscape app to call the REST service (as the Diffusion app has done -- http://apps.cytoscape.org/apps/diffusion) or you can create a Javascript app and load it into CyBrowser (http://apps.cytoscape.org/apps/cybrowser) ... this is new. Diffusion is the better example, as it shows how to marshal a network to send to a service, and what to do with the result. – Barry Demchak Aug 08 '17 at 20:22