bicm
Advanced tools
+21
| MIT License | ||
| Copyright (c) 2020 Matteo Bruno | ||
| Permission is hereby granted, free of charge, to any person obtaining a copy | ||
| of this software and associated documentation files (the "Software"), to deal | ||
| in the Software without restriction, including without limitation the rights | ||
| to use, copy, modify, merge, publish, distribute, sublicense, and/or sell | ||
| copies of the Software, and to permit persons to whom the Software is | ||
| furnished to do so, subject to the following conditions: | ||
| The above copyright notice and this permission notice shall be included in all | ||
| copies or substantial portions of the Software. | ||
| THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | ||
| IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | ||
| FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE | ||
| AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER | ||
| LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, | ||
| OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE | ||
| SOFTWARE. |
+94
-91
| Metadata-Version: 2.1 | ||
| Name: bicm | ||
| Version: 3.1 | ||
| Version: 3.1.1 | ||
| Summary: Package for bipartite configuration model | ||
@@ -8,92 +8,2 @@ Home-page: https://github.com/mat701/BiCM | ||
| Author-email: matteobruno180@gmail.com | ||
| License: UNKNOWN | ||
| Description: ## 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/ . | ||
| This package is also a module of NEMtropy that you can find at https://github.com/nicoloval/NEMtropy . | ||
| For more solvers of maximum entropy configuration models visit https://meh.imtlucca.it/ . | ||
| NOTE of the developer: there was an error in the projection threshold, validating less links than it should have. | ||
| Please re-run your analysis after updating to the last version (>=3.1) | ||
| ## 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_tool(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) | ||
| Now version 3 is online, and you can use the package with weighted networks as well using the BiWCM models! | ||
| See a more detailed walkthrough in **tests/bicm_test** or **tests/biwcm_test** notebooks, 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](https://github.com/mat701/BiCM) and the | ||
| original articles [Vallarano2021], [Saracco2015] and [Saracco2017]. | ||
| If you use the weighted models BiWCM_c or BiMCM you might consider citing also the paper introducing the solvers of this package [Bruno2023]. | ||
| ### References | ||
| [Vallarano2021] [N. Vallarano, M. Bruno, E. Marchese, G. Trapani, F. Saracco, T. Squartini, G. Cimini, M. Zanon, Fast and scalable likelihood maximization for Exponential Random Graph Models with local constraints, Nature Scientific Reports](https://doi.org/10.1038/s41598-021-93830-4) | ||
| [Bruno2023] [M. Bruno, D. Mazzilli, A. Patelli, T. Squartini, F. Saracco, Inferring comparative advantage via entropy maximization. Journal of Physics: Complexity, Volume 4, Number 4 (2023)](https://doi.org/10.1088/2632-072X/ad1411) | ||
| [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)](http://www.nature.com/articles/srep10595). | ||
| [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)](http://stacks.iop.org/1367-2630/19/i=5/a=053022) | ||
| _Author_: | ||
| [Matteo Bruno](https://csl.sony.it/member/matteo-bruno/) (BiCM) (a.k.a. [mat701](https://github.com/mat701)) | ||
| Platform: UNKNOWN | ||
| Classifier: Programming Language :: Python :: 3 | ||
@@ -108,1 +18,94 @@ Classifier: Programming Language :: Python :: 3.5 | ||
| Description-Content-Type: text/markdown | ||
| License-File: LICENSE.txt | ||
| Requires-Dist: numpy>=1.14 | ||
| Requires-Dist: scipy>=1.4 | ||
| Requires-Dist: tqdm>=4.52.0 | ||
| Requires-Dist: numba>=0.52.0 | ||
| ## 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/ . | ||
| This package is also a module of NEMtropy that you can find at https://github.com/nicoloval/NEMtropy . | ||
| For more solvers of maximum entropy configuration models visit https://meh.imtlucca.it/ . | ||
| NOTE of the developer: there was an error in the projection threshold, validating less links than it should have. | ||
| Please re-run your analysis after updating to the last version (>=3.1) | ||
| ## 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_tool(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) | ||
| Now version 3 is online, and you can use the package with weighted networks as well using the BiWCM models! | ||
| See a more detailed walkthrough in **tests/bicm_test** or **tests/biwcm_test** notebooks, 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](https://github.com/mat701/BiCM) and the | ||
| original articles [Vallarano2021], [Saracco2015] and [Saracco2017]. | ||
| If you use the weighted models BiWCM_c or BiMCM you might consider citing also the paper introducing the solvers of this package [Bruno2023]. | ||
| ### References | ||
| [Vallarano2021] [N. Vallarano, M. Bruno, E. Marchese, G. Trapani, F. Saracco, T. Squartini, G. Cimini, M. Zanon, Fast and scalable likelihood maximization for Exponential Random Graph Models with local constraints, Nature Scientific Reports](https://doi.org/10.1038/s41598-021-93830-4) | ||
| [Bruno2023] [M. Bruno, D. Mazzilli, A. Patelli, T. Squartini, F. Saracco, Inferring comparative advantage via entropy maximization. Journal of Physics: Complexity, Volume 4, Number 4 (2023)](https://doi.org/10.1088/2632-072X/ad1411) | ||
| [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)](http://www.nature.com/articles/srep10595). | ||
| [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)](http://stacks.iop.org/1367-2630/19/i=5/a=053022) | ||
| _Author_: | ||
| [Matteo Bruno](https://csl.sony.it/member/matteo-bruno/) (BiCM) (a.k.a. [mat701](https://github.com/mat701)) |
@@ -0,1 +1,2 @@ | ||
| LICENSE.txt | ||
| README.md | ||
@@ -2,0 +3,0 @@ setup.py |
+1
-1
@@ -19,3 +19,3 @@ """ | ||
| __version__ = "3.1" | ||
| __version__ = "3.1.1" | ||
| __author__ = """Matteo Bruno (matteobruno180@gmail.com)""" |
+94
-91
| Metadata-Version: 2.1 | ||
| Name: bicm | ||
| Version: 3.1 | ||
| Version: 3.1.1 | ||
| Summary: Package for bipartite configuration model | ||
@@ -8,92 +8,2 @@ Home-page: https://github.com/mat701/BiCM | ||
| Author-email: matteobruno180@gmail.com | ||
| License: UNKNOWN | ||
| Description: ## 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/ . | ||
| This package is also a module of NEMtropy that you can find at https://github.com/nicoloval/NEMtropy . | ||
| For more solvers of maximum entropy configuration models visit https://meh.imtlucca.it/ . | ||
| NOTE of the developer: there was an error in the projection threshold, validating less links than it should have. | ||
| Please re-run your analysis after updating to the last version (>=3.1) | ||
| ## 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_tool(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) | ||
| Now version 3 is online, and you can use the package with weighted networks as well using the BiWCM models! | ||
| See a more detailed walkthrough in **tests/bicm_test** or **tests/biwcm_test** notebooks, 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](https://github.com/mat701/BiCM) and the | ||
| original articles [Vallarano2021], [Saracco2015] and [Saracco2017]. | ||
| If you use the weighted models BiWCM_c or BiMCM you might consider citing also the paper introducing the solvers of this package [Bruno2023]. | ||
| ### References | ||
| [Vallarano2021] [N. Vallarano, M. Bruno, E. Marchese, G. Trapani, F. Saracco, T. Squartini, G. Cimini, M. Zanon, Fast and scalable likelihood maximization for Exponential Random Graph Models with local constraints, Nature Scientific Reports](https://doi.org/10.1038/s41598-021-93830-4) | ||
| [Bruno2023] [M. Bruno, D. Mazzilli, A. Patelli, T. Squartini, F. Saracco, Inferring comparative advantage via entropy maximization. Journal of Physics: Complexity, Volume 4, Number 4 (2023)](https://doi.org/10.1088/2632-072X/ad1411) | ||
| [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)](http://www.nature.com/articles/srep10595). | ||
| [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)](http://stacks.iop.org/1367-2630/19/i=5/a=053022) | ||
| _Author_: | ||
| [Matteo Bruno](https://csl.sony.it/member/matteo-bruno/) (BiCM) (a.k.a. [mat701](https://github.com/mat701)) | ||
| Platform: UNKNOWN | ||
| Classifier: Programming Language :: Python :: 3 | ||
@@ -108,1 +18,94 @@ Classifier: Programming Language :: Python :: 3.5 | ||
| Description-Content-Type: text/markdown | ||
| License-File: LICENSE.txt | ||
| Requires-Dist: numpy>=1.14 | ||
| Requires-Dist: scipy>=1.4 | ||
| Requires-Dist: tqdm>=4.52.0 | ||
| Requires-Dist: numba>=0.52.0 | ||
| ## 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/ . | ||
| This package is also a module of NEMtropy that you can find at https://github.com/nicoloval/NEMtropy . | ||
| For more solvers of maximum entropy configuration models visit https://meh.imtlucca.it/ . | ||
| NOTE of the developer: there was an error in the projection threshold, validating less links than it should have. | ||
| Please re-run your analysis after updating to the last version (>=3.1) | ||
| ## 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_tool(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) | ||
| Now version 3 is online, and you can use the package with weighted networks as well using the BiWCM models! | ||
| See a more detailed walkthrough in **tests/bicm_test** or **tests/biwcm_test** notebooks, 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](https://github.com/mat701/BiCM) and the | ||
| original articles [Vallarano2021], [Saracco2015] and [Saracco2017]. | ||
| If you use the weighted models BiWCM_c or BiMCM you might consider citing also the paper introducing the solvers of this package [Bruno2023]. | ||
| ### References | ||
| [Vallarano2021] [N. Vallarano, M. Bruno, E. Marchese, G. Trapani, F. Saracco, T. Squartini, G. Cimini, M. Zanon, Fast and scalable likelihood maximization for Exponential Random Graph Models with local constraints, Nature Scientific Reports](https://doi.org/10.1038/s41598-021-93830-4) | ||
| [Bruno2023] [M. Bruno, D. Mazzilli, A. Patelli, T. Squartini, F. Saracco, Inferring comparative advantage via entropy maximization. Journal of Physics: Complexity, Volume 4, Number 4 (2023)](https://doi.org/10.1088/2632-072X/ad1411) | ||
| [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)](http://www.nature.com/articles/srep10595). | ||
| [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)](http://stacks.iop.org/1367-2630/19/i=5/a=053022) | ||
| _Author_: | ||
| [Matteo Bruno](https://csl.sony.it/member/matteo-bruno/) (BiCM) (a.k.a. [mat701](https://github.com/mat701)) |
+1
-1
@@ -8,3 +8,3 @@ import setuptools | ||
| name="bicm", | ||
| version="3.1", | ||
| version="3.1.1", | ||
| author="Matteo Bruno", | ||
@@ -11,0 +11,0 @@ author_email="matteobruno180@gmail.com", |
Sorry, the diff of this file is too big to display
Alert delta unavailable
Currently unable to show alert delta for PyPI packages.
170733
0.25%18
5.88%3565
0.34%