better error handling
added spectrum.runid, protein.resultid fixed