A novel functional module detection algorithm for protein-protein interaction networks