Officer shoots Granite City man after alleged stabbing