Cytoscape Automation API
Project description
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.
How to install and test
For an explanation of py4cytoscape
installation and testing, see the INSTALL.rst file.
How to run a simple workflow
For a quick tutorial on how to build a workflow in Python and using py4cytoscape
, see
https://py4cytoscape.readthedocs.io/en/latest/tutorials/index.html.
You can try py4cytoscape
with a web browser only, without installing anything in your local environment.
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
- Create a new release file in doc/release to match the version number (e.g., release_0.0.1.rst)
- Update the theme list in doc/release_log.rst and reference the release file you just created
- Check all sources (including documents and tests) into Github, merge them into the Master branch, and make Master the current branch
- Update the version number in both py4cytoscape/_version.py and build.bat
- If any API changes were made, be sure to update the Automation API Definition and change the Automation API version in py4cytoscape/_version.py
- Successfully execute all tests by using the tests/runalltests.bat file
- Execute liveness test (e.g., Sanity Test) on Google Colab
- Execute build.bat to check into PyPI ... be sure you updated the version number in build.bat first
- Again, successfully execute all tests by using the tests/runalltests.bat file and the Sanity Test. (Change Sanity Test to fetch
py4cytoscape
from PyPI instead of Github.) - Create a new Github tag (in the Releases section on the far right of the Github GUI)
Note that the user manual is automatically updated when Master files changes. You can find the manual here.
License
py4cytoscape
is released under the MIT License (see LICENSE.rst file):
Copyright (c) 2018-2020 The Cytoscape Consortium
Barry Demchak <bdemchak@ucsd.edu>
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for py4cytoscape-0.0.7-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 157643fd5919255738e899645d445bfbdd44e542aed8f40a2bf53eaa65a3c6c4 |
|
MD5 | 172d11d7e3f285b321b16cf605375b8c |
|
BLAKE2b-256 | 44c136fd9548a438113105efa8f2d397c859d73d7236bfe6f98b50516f2fc202 |