* Enhancements * Added ``store_layout_in_pos`` argument in ``get_graph`` method of ``CX2NetworkXFactory`` that saves layout coordinates in G.pos (x and y) and G.zpos (z). * Added ``get_layout_from_pos`` argument in ``get_cx2network`` method of ``NetworkXToCX2NetworkFactory`` that determines the source of the layout coordinates. If True, the layout is derived from G.pos (x and y) and G.zpos. If False, the layout uses the (x, y, z) values specified as the node attributes. * Added ``interaction_col`` argument in ``get_cx2network`` of ``PandasDataFrameToCX2NetworkFactory`` that allows to specify the name of the column with edge interactions
* Bug fixes * Fix for string IDs in NetworkX networks - cast to integer if possible or add as name attribute. * Fix for DataFrames without column names
3.9.0
-------------------
* Enhancements * Added ``set_name()``, ``remove_node_attribute()``, ``remove_edge_attribute``, ``get_opaque_aspect()``, and ``set_opaque_aspect()`` to ``CX2Network`` class.
* Bug fixes * Fixed bug in type conversion. Datatypes in shorter form such as 'str', 'int' etc. are accepted.
3.8.0
-------------------
* Enhancements * Added ``add_network_attribute()``, ``add_node_attribute()``, ``add_edge_attribute()``, ``lookup_node_id_by_name()`` to ``CX2Network`` class. * Added new parameters to ``get_cx2network`` in ``PandasDataFrameToCX2NetworkFactory`` to make it easier to convert Pandas Dataframe. * Added ``get_nodelist_table()`` to ``CX2NetworkPandasDataFrameFactory`` class.
3.7.0
-------------------
* Enhancements * Added ``CX2NetworkXFactory`` under ``cx2.py`` module to convert ``CX2Network`` object to `NetworkX Graph <https://networkx.org>`__ * Added ``NetworkXToCX2NetworkFactory`` under ``cx2.py`` module to convert `NetworkX Graph <https://networkx.org>`__ to ``CX2Network`` object * Added ``PandasDataFrameToCX2NetworkFactory`` under ``cx2.py`` module to convert `Pandas DataFrame <https://pandas.org>`__ to ``CX2Network`` object * Added ``CX2NetworkPandasDataFrameFactory`` under ``cx2.py`` module to convert ``CX2Network`` object to `Pandas DataFrame <https://pandas.org>`__
3.6.0
-------------------
* Enhancements * Added ``CX2Network`` class under ``cx2.py`` module to represent networks `CX2 format <https://cytoscape.org/cx/cx2/specification/cytoscape-exchange-format-specification-(version-2)/>`__ * Added ``RawCX2NetworkFactory`` class under ``cx2.py`` to create ``CX2Network`` objects * Added ``NoStyleCXToCX2NetworkFactory`` class under ``cx2.py`` to convert ``NiceCXNetwork`` to ``CX2Network``
* Bug fixes * Fixed bug where ``ndex2.create_nice_cx_from_networkx()`` fails with numpy version 1.24 `Issue 96 <https://github.com/ndexbio/ndex2-client/issues/96>`__ * Updated post and put calls in ``client.py`` to only pass credentials if they are set. This change is to accommodate changes in upcoming version 3 of requests library