py3plex.core package

Submodules

py3plex.core.converters module

py3plex.core.converters.prepare_for_parsing(multinet)

Compute layout for a hairball visualization

Parameters

param1 (obj) – multilayer object

Returns

(names, prepared network)

Return type

tuple

py3plex.core.converters.prepare_for_visualization(multinet, compute_layouts='force', layout_parameters=None, verbose=True, multiplex=False)

This functions takes a multilayer object and returns individual layers, their names, as well as multilayer edges spanning over multiple layers.

Parameters
  • param1 (obj) – multilayer object

  • param2 (str) – Layout algorithm

  • param3 (dict) – Optional layout parameters

Returns

(names,networks,multiedges)

Return type

tuple

py3plex.core.converters.prepare_for_visualization_hairball(multinet, compute_layouts=False)

Compute layout for a hairball visualization

Parameters

param1 (obj) – multilayer object

Returns

(names, prepared network)

Return type

tuple

py3plex.core.multinet module

class py3plex.core.multinet.multi_layer_network(verbose=True, network_type='multilayer', directed=True, dummy_layer='null', label_delimiter='---', coupling_weight=1)

Bases: object

add_dummy_layers()

Internal function, for conversion between objects

add_edges(edge_dict_list, input_type='dict')

A method for adding edges.. Types are: dict,list or px_edge. See examples for further use.

dict = {“source”: n1,”target”:n2,”type”:sth}

list = [[n1,t1,n2,t2] …]

px_edge = ((n1,t1)(n2,t2))

add_nodes(node_dict_list, input_type='dict')

A method for adding nodes..

aggregate_edges(metric='count', normalize_by='degree')
basic_stats(target_network=None)

A method for obtaining a network’s statistics

edges_from_temporal_table(edge_df)
fill_tmp_with_edges(edge_df)
get_decomposition(heuristic='all', cycle=None, parallel=False, alpha=1, beta=1)

Core method for obtaining a network’s decomposition in terms of relations

get_decomposition_cycles(cycle=None)

A supporting method for obtaining decomposition triplets

get_degrees()

A simple wrapper which computes node degrees.

get_edges(data=False, multiplex_edges=False)

A method for obtaining a network’s edges

get_label_matrix()

Return network labels

get_layers(style='diagonal', compute_layouts='force', layout_parameters=None, verbose=True)

A method for obtaining layerwise distributions

get_neighbors(node_id, layer_id=None)
get_nodes(data=False)

A method for obtaining a network’s nodes

get_nx_object()

Return only core network with proper annotations

get_supra_adjacency_matrix(mtype='sparse')

Get sparse representation of the supra matrix.

get_tensor(sparsity_type='bsr')

TODO

get_unique_entity_counts()
Input

self object

invert(override_core=False)

invert the nodes to edges. Get the “edge graph”. Each node is here an edge.

load_embedding(embedding_file)

Embedding loading method

load_layer_name_mapping(mapping_name, header=False)

Layer-node mapping loader method

Parameters

param1 – The name of the mapping file.

Returns

self.layer_name_map is filled, returns nothing.

load_network(input_file=None, directed=False, input_type='gml', label_delimiter='---')

Main network loader

This method loads and prepares a given network.

Parameters
  • param1 – network name

  • param2 – direction

  • param3 – input_type

Returns

self.core_network along with self.labels(optional), self.activity etc.

load_network_activity(activity_file)

Network activity loader

Args:

param1: The name of the generic activity file -> 65432 61888 1377688175 RE

, n1 n2 timestamp and layer name. Note that layer node mappings MUST be loaded in order to map nodes to activity properly.

Returns:

self.activity is filled.

load_temporal_edge_information(input_file=None, input_type='edge_activity', directxed=False, layer_mapping=None)

A method for loading temporal edge information

merge_with(target_px_object)

Merge two px objects.

monitor(message)

A simple monithor method

monoplex_nx_wrapper(method, kwargs=None)

a generic networkx function wrapper

read_ground_truth_communities(cfile)

Parse ground truth community file and make mappings to the original nodes. This works based on node ID mappings, exact node,layer tuplets are to be added. :param param1: ground truth communities.

Returns

self.ground_truth_communities

remove_edges(edge_dict_list, input_type='list')

A method for removing edges..

remove_layer_edges()
remove_nodes(node_dict_list, input_type='dict')

Remove nodes from the network

save_network(output_file=None, output_type='edgelist')

A method for saving the network :param output_type – edgelist, multiedgelist or gpickle

serialize_to_edgelist(edgelist_file='./tmp/tmpedgelist.txt', tmp_folder='tmp', out_folder='out', multiplex=False)
sparse_to_px(directed=None)

convert to px format

split_to_layers(style='diagonal', compute_layouts='force', layout_parameters=None, verbose=True, multiplex=False, convert_to_simple=False)

A method for obtaining layerwise distributions

subnetwork(input_list=None, subset_by='node_layer_names')

Construct a subgraph based on a set of nodes.

summary()

Generate a short summary of the network in form of a dict.

test_scale_free()

Test the scale-free-nness of the network

to_json()

A method for exporting the graph to a json file

Args: self

to_sparse_matrix(replace_core=False, return_only=False)

Conver the matrix to scipy-sparse version. This is useful for classification.

visualize_matrix(kwargs={})

Plot the matrix – this plots the supra-adjacency matrix

visualize_network(style='diagonal', parameters_layers=None, parameters_multiedges=None, show=False, compute_layouts='force', layouts_parameters=None, verbose=True, orientation='upper', resolution=0.01, axis=None, fig=None, no_labels=False, linewidth=1.7, alphachannel=0.3, linepoints='-.', legend=False)

py3plex.core.parsers module

py3plex.core.parsers.load_edge_activity_file(fname, layer_mapping=None)
py3plex.core.parsers.load_edge_activity_raw(activity_file, layer_mappings)

Basic parser for loading generic activity files. Here, temporal edges are given as tuples -> this can be easily transformed for example into a pandas dataframe!

py3plex.core.parsers.load_temporal_edge_information(input_network, input_type, layer_mapping=None)
py3plex.core.parsers.parse_detangler_json(file_path)

Parser for generic Detangler files :input: Detangler JSON

py3plex.core.parsers.parse_edgelist_multi_types(input_name, directed)
py3plex.core.parsers.parse_embedding(input_name)

Loader for generic embedding as outputed by GenSim

py3plex.core.parsers.parse_gml(file_name, directed)

parse a gml network

Parameters
  • param1 (obj) – file name

  • param2 (obj) – directed?

Returns: (multigraph, possible labels)

py3plex.core.parsers.parse_gpickle(file_name, directed=False, layer_separator=None)

A parser for generic Gpickle as stored by Py3plex. :input: gpickle object

py3plex.core.parsers.parse_gpickle_biomine(file_name, directed)

Gpickle parser for biomine graphs :input: Gpickle containing BioMine data

py3plex.core.parsers.parse_matrix(file_name, directed)

Parser for matrices :input: a SciPy sparse matrix

py3plex.core.parsers.parse_multi_edgelist(input_name, directed)

A generic multiedgelist parser n l n l w :input: a text file containing multiedges

py3plex.core.parsers.parse_multiedge_tuple_list(network, directed)
py3plex.core.parsers.parse_multiplex_edges(input_name, directed)
py3plex.core.parsers.parse_multiplex_folder(input_folder, directed)
py3plex.core.parsers.parse_network(input_name, f_type='gml', directed=False, label_delimiter=None, network_type='multilayer')

A wrapper method for available parsers!

py3plex.core.parsers.parse_nx(nx_object, directed)

Core parser for networkx objects :input: a networkx graph

py3plex.core.parsers.parse_simple_edgelist(input_name, directed)

Simple edgelist n n w :input: a text file

py3plex.core.parsers.parse_spin_edgelist(input_name, directed)
py3plex.core.parsers.save_edgelist(input_network, output_file, attributes=False)
py3plex.core.parsers.save_gpickle(input_network, output_file)
py3plex.core.parsers.save_multiedgelist(input_network, output_file, attributes=False, encode_with_ints=False)

Save multiedgelist – as n1, l1, n2, l2, w

py3plex.core.supporting module

py3plex.core.supporting.add_mpx_edges(input_network)
py3plex.core.supporting.parse_gaf_to_uniprot_GO(gaf_mappings, filter_terms=None)
py3plex.core.supporting.split_to_layers(input_network)

Module contents