cytoscape / py4cytoscape

Python library for calling Cytoscape Automation via CyREST
https://Py4Cytoscape.readthedocs.io
Other
72 stars 15 forks source link
cytoscape cytoscape-interfaces py2cytoscape python workflow workflow-automation

py4cytoscape

This project recreates the R-based RCy3 Cytoscape Automation library as a Python package. The idea is to allow a Cytoscape workflow to be written in one language (R or Python) and translated to another language (Python or R) without having to learn different Cytoscape interfaces. The previous Cytoscape Python interface (Py2Cytoscape) has different features than the Cytoscape R library, and is therefore deprecated.

Additionally, this project attempts to maintain the same function signatures, return values, function implementation and module structure as the RCy3, thereby enabling smooth maintenance and evolution of both RCy3 and py4cytoscape.

This project uses PyCharm because of its excellent code management and debugging features.

Over time, py4cytoscape functionality should match RCy3 functionality. Once that occurs, novel Py2Cytoscape functions will be added to both as appropriate. The official Automation API definition met by both RCy3 and py4cytoscape is here. The API is versioned, and you can see which API version RCy3 or py4cytoscape implements by executing the cytoscape_version_info() or cytoscapeVersionInfo() function.

An overall scorecard comparing Py2Cytoscape, RCy3 and py4cytoscape can be found here. Pay close attention to columns E and F, which show how much of RCy3 is reflected in py4cytoscape.

Documentation

To understand the API structure and see calling examples, see the py4cytoscape documentation.

Quick Start

The quickest way to see py4cytoscape in action is via the Overview of py4cytoscape Jupyter-based workflow.

You can avoid installing Python or py4cytoscape by clicking on the Open in Colab button, and running the Python workflow in the Google Cloud, though you will still have to install Cytoscape on your workstation.

You can follow the notes in the Jupyter Notebook as the workflow automates Cytoscape execution.

How to install and test

For an explanation of py4cytoscape installation and testing, see the INSTALL.rst file.

How to learn more about py4cytoscape

A broad set of Cytoscape Automation samples and tutorials is available on the Cytoscape Automation Wiki.

How to configure logging

py4cytoscape logging is based on the Python logging package, which is based on the Java logging framework.

For an explanation of log configuration and use, see the LOGGING.rst file.

How to build and release

py4cytoscape maintainers can build a new release using the process in BUILDING.rst.

How to test

py4cytoscape has extensive test suites. Maintainers can learn more about testing in the TESTING.rst file.

License

py4cytoscape is released under the MIT License (see LICENSE.rst file):

    Copyright (c) 2018-2022 The Cytoscape Consortium
    Barry Demchak <bdemchak@ucsd.edu>