Skip to main content

BiCM package.

This is a Python package for the computation of the maximum entropy bipartite configuration model (BiCM) and the projection of bipartite networks on one layer. It was developed with Python 3.5.

You can install this package via pip:

pip install bicm

Documentation is available at https://bipartite-configuration-model.readthedocs.io/en/latest/.

For more solvers of maximum entropy configuration models visit https://meh.imtlucca.it/

Basic functionalities

To install:

pip install bicm

To import the module:

import bicm

To generate a Graph object and initialize it (with a biadjacency matrix, edgelist or degree sequences):

from bicm import BipartiteGraph
myGraph = BipartiteGraph()
myGraph.set_biadjacency_matrix(my_biadjacency_matrix)
myGraph.set_adjacency_list(my_adjacency_list)
myGraph.set_edgelist(my_edgelist)
myGraph.set_degree_sequences((first_degree_sequence, second_degree_sequence))

Or alternatively, with the respective data structure as input:

from bicm import BipartiteGraph
myGraph = BipartiteGraph(biadjacency=my_biadjacency_matrix, adjacency_list=my_adjacency_list, edgelist=my_edgelist, degree_sequences=((first_degree_sequence, second_degree_sequence)))

To compute the BiCM probability matrix of the graph or the relative fitnesses coefficients as dictionaries containing the nodes names as keys:

my_probability_matrix = myGraph.get_bicm_matrix()
my_x, my_y = myGraph.get_bicm_fitnesses()

This will solve the bicm using recommended settings for the solver. To customize the solver you can alternatively use (in advance) the following method:

myGraph.solve_bicm(light_mode=False, method='newton', initial_guess=None, tolerance=1e-8, max_steps=None, verbose=False, linsearch=True, regularise=False, print_error=True, exp=False)

To get the rows or columns projection of the graph:

myGraph.get_rows_projection()
myGraph.get_cols_projection()

Alternatively, to customize the projection:

myGraph.compute_projection(rows=True, alpha=0.05, method='poisson', threads_num=4, progress_bar=True)

See a more detailed walkthrough in tests/bicm_tests notebook or python script, or check out the API in the documentation.

How to cite

If you use the bicm module, please cite its location on Github https://github.com/mat701/BiCM and the original articles [Saracco2015] and [Saracco2017].

References

[Saracco2015] F. Saracco, R. Di Clemente, A. Gabrielli, T. Squartini, Randomizing bipartite networks: the case of the World Trade Web, Scientific Reports 5, 10595 (2015).

[Saracco2017] F. Saracco, M. J. Straka, R. Di Clemente, A. Gabrielli, G. Caldarelli, and T. Squartini, Inferring monopartite projections of bipartite networks: an entropy-based approach, New J. Phys. 19, 053022 (2017)

[Squartini2011] T. Squartini, D. Garlaschelli, Analytical maximum-likelihood method to detect patterns in real networks, New Journal of Physics 13, (2011)

Metadata

Release files for bicm 1.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for bicm 1.1
File Size Uploaded Provenance Actions
bicm-1.1.tar.gz 23.6 kB Without provenance Details for bicm-1.1.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for bicm 1.1
File Interpreter ABI Platform Actions
bicm-1.1-py3-none-any.whl Python 3 none any Details for bicm-1.1-py3-none-any.whl

Total release size: 51.0 kB

Release files / bicm-1.1.tar.gz

Download URL bicm-1.1.tar.gz
Size 23.6 kB
Tags Source
SHA-256 checksum
How to use checksums
13112027ae479f9e81a4bf0c8057e0b713736c060320880627172962c8a31e58
BLAKE2b-256 checksum
How to use checksums
44b3bd02c321b6804189b3b81e6f9ab31d376e0eed1327cfbaaa8c11e62f2cc6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.15.0 pkginfo/1.5.0.1 requests/2.23.0 setuptools/50.3.2 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.5.5

Release files / bicm-1.1-py3-none-any.whl

Download URL bicm-1.1-py3-none-any.whl
Size 27.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
862471742245c046b57ad25d31b5d71b632cc9a5332b4cafed5baa3ce0ec98a5
BLAKE2b-256 checksum
How to use checksums
8f9b0d1d3e12cb5637f84b7ea4e0ead568a4623542636c2f0abd3e7864c73f18
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.15.0 pkginfo/1.5.0.1 requests/2.23.0 setuptools/50.3.2 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.5.5

Security for bicm 1.1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page