Describir: Molecular function recognition by supervised projection pursuit machine learning