An adaptive multi-seeds based heuristic clustering method that avoids the large memory need for storing seeds and/or distance matrix. MSClust uses a greedy heuristic strategy to build one cluster at a time. Each cluster is expanded from a limited initial set with multi-seeds, where the initial multi-seeds are generated based on an adaptive strategy. Unassigned sequences are then compared to the seeds sequentially. A new sequence is added to the current cluster and removed from the input if the average distance between the sequence and seeds is smaller than the user-defined threshold; otherwise, the sequence is marked as unassigned.