Skip to content

Latest commit

 

History

History
9 lines (4 loc) · 1.83 KB

README.md

File metadata and controls

9 lines (4 loc) · 1.83 KB

Identification and Classification of Network Fibers

Based on the work done by @makselab, the codes here are intended to be used for the identification of the minimal fibration building blocks of genetic regulatory networks (it can be generalized for other cases with little effort). Also, we classify the fibers blocks in a given network according to the fiber numbers < n,l| presented at the paper of Morone et. al. (2019), to be published. The codes are all written in C concerning the main algorithm and the necessary data structures to efficiently implement the refinement network partitioning. To provide a broader implementation framework I also wrote the whole algorithm in python, which gives a better usage for general network data. Besides that, the codes used for prepare the data, properly relating the edgelist data with the correct gene(node) names, are written in python and are placed in Code/ folder.

A more general, and probably more consistent, implementation of the algorithm is presented at the @makselab profile page, while here I aim to show the application of the algorithm on the Escherichia Coli transcription regulatory network data in order to reproduce the results obtained by the Professor Makse's Lab. However, in my code I apply a different algorithm approach based on the Paige & Tarjan (1987) refinement partitioning algorithm. This approach maintains the runtime complexity of the solution, but it has a simpler implementation and smaller time prefactor than the algorithm presented by Cardon and Crushemore (1982)in which the Makse's lab code is based. The pure C implementation is, of course, faster than the python implementation, which can imply in a significant runtime difference if the codes are applied for very large networks.

Running (soon)