Abstract
Complex networks have been useful to link experimental data with mechanistic models, becoming widely used in modern science. More recently, the increasing amount and complexity of data, in particular in biology, prompted the development of multidimensional networks, where dimensions reflect the multiple qualitative properties of nodes, links, or both, classifying them into types. As a consequence, traditional quantities computed in single dimensional networks should be adapted to incorporate this new information. A particularly important problem is the detection of communities, namely sets of nodes sharing certain properties, which reduced the complexity of the networks, hence facilitating its interpretation. The two traditional approximations to this problem come either through the identification of modules (communities more densely connected within their members than with nodes belonging to other communities) or of structurally equivalent communities (sets of nodes connected with the same neighbours, even if they are not connected themselves), that we call guilds. The relevance of this distinction is notable in biology, where we aim to differentiate between trophic levels, guilds, or concepts such as functional groups or ecotypes. In this work, we argue that structural equivalence represents an appropriate definition of the function of a node in the network, and we exploit this fact to show that it is possible to detect modules and guilds that, in this way, can be understood as different kinds of functional groups. We call our method functionInk (functional linkage), a method capable of objectively finding simultaneously both modules and guilds, and to determine which is the most relevant kind of functional group for a given network. Notably, it is computationally efficient handling large multidimensional networks, since it does not require an optimization procedure nor tests for robustness. The method is freely available at: HTTPS://GITHUB.COM/APASCUALGARCIA/FUNCTIONlNK.