TOOL

RCX

RCX (R package for CX)

RCX is a free, open-source R package that implements the Cytoscape Exchange (CX) format, providing a bridge between the aspect-oriented JSON structure used by Cytoscape and the NDEx network commons and the table-oriented data paradigm native to R. It was written by Florian Auer, with Frank Kramer, at the Department of IT-Infrastructure for Translational Medical Research at the University of Augsburg, Germany, with funding from the German Federal Ministry of Education and Research (BMBF). RCX is distributed through Bioconductor from release 3.15 onward (also on GitHub) under an MIT license, requires R >= 4.2.0, and depends on jsonlite, plyr, igraph, and methods. A companion paper appeared in Bioinformatics Advances in 2022.

The core idea RCX inherits from CX is that a network is decomposed into independent modules called aspects, each with its own schema: a nodes aspect for entities, an edges aspect for interactions, a cartesianLayout aspect for spatial coordinates, plus aspects for node and edge attributes, visual styling, and network metadata. Rather than mapping the object-oriented JSON directly onto R objects, RCX unpacks each aspect into R data frames, so users can inspect and manipulate networks with familiar table operations without needing detailed knowledge of the underlying serialization. The design goal is lossless round-tripping: a network read from CX, edited in R, and written back should reproduce the same structure and visual representation seen in Cytoscape and on NDEx.

RCX provides functions to create, validate, visualize, and convert networks, and supports bidirectional conversion to and from R's two dominant graph libraries, igraph (see igraph) and the Bioconductor graph package (graphNEL). This positions it alongside format-conversion tooling in the broader graph ecosystem, though it is specialized for CX (Cytoscape CX and the newer Cytoscape CX2) rather than a general many-to-many converter. Extensibility is a stated strength: users can define custom aspects to carry domain-specific extensions beyond the standard CX schema.

In practice RCX is used to programmatically build and analyze biological networks and pathways in R, then push them to the NDEx platform via the dependent ndexr package (see NDEx) or open them in Cytoscape for interactive exploration. Its main limitations are scope and audience: it is tied to the CX format and the bioinformatics networks domain, assumes an R workflow, and is not intended as a bridge to unrelated graph formats such as GraphML or GEXF.

Graph Formats(Input & Output)

Frequently Asked Questions

What graph file formats does RCX support?

See the list on this page — it shows every format RCX can read, write and display.

How do I import a graph into RCX?

Convert your file to a format RCX can read, then open it in RCX. Use GraphInOut to get a RCX-compatible file in seconds.

How do I convert a file so RCX can open it?

Use the convert links above — upload or paste your graph, pick a format RCX accepts and download the result, right in your browser.