Operon prediction based on an iterative self-learning algorithm