Predict protein functions from multiple sources of data with Conditional Random Fields