  Many empirical networks have community structure, in which nodes are densely
interconnected within each community (i.e., a group of nodes) and sparsely
across different communities. Like other local and meso-scale structure of
networks, communities are generally heterogeneous in various aspects such as
the size, density of edges, connectivity to other communities and significance.
In the present study, we propose a method to statistically test the
significance of individual communities in a given network. Compared to the
previous methods, the present algorithm is unique in that it accepts different
community-detection algorithms and the corresponding quality function for
single communities. The present method requires that a quality of each
community can be quantified and that community detection is performed as
optimisation of such a quality function summed over the communities. Various
community detection algorithms including modularity maximisation and graph
partitioning meet this criterion. Our method estimates a distribution of the
quality function for randomised networks to calculate a likelihood of each
community in the given network. We illustrate our algorithm by synthetic and
empirical networks.
