Analysis of temporal gene expression profiles: clustering by simulated annealing and determining the optimal number of clusters | Synapse