A factor analysis model for functional genomics