  With the recent explosion of publicly available biological data, the analysis
of networks has gained significant interest. In particular, recent promising
results in Neuroscience show that the way neurons and areas of the brain are
connected to each other plays a fundamental role in cognitive functions and
behaviour. Revealing pattern and structures within such an intricate volume of
connections is a hard problem that has its roots in Graph and Network Theory.
Since many real world situations can be modelled through networks, structures
detection algorithms find application in almost every field of Science. These
are NP-complete problems; therefore the generally used approach is through
heuristic algorithms. Here, we formulate the problem of finding structures in
networks of neurons in terms of a community detection problem. We introduce a
definition of community and we construct a statistics-based heuristic algorithm
for directed and weighted networks aiming at identifying overlapping
bidirectional communities in large networks. We carry out a systematic analysis
of the algorithm's performance, showing excellent results over a wide range of
parameters (successful detection percentages almost $100\%$ all the time).
Also, we show results on the computational time needed and we suggest future
directions on how to improve computational performance.
