private String pdhToString(ProteinDetectionHypothesis pdh) { String pdhString = "\"" + dbSequenceIdHashMap.get(pdh.getDBSequenceRef()).getAccession() + "\"" + sep + pdh.isPassThreshold() + sep; DBSequence dbSeq = dbSequenceIdHashMap.get(pdh.getDBSequenceRef()); String protDesc = ""; String protGroupMembership = ""; if (dbSeq != null) { for (CvParam cvParam : dbSeq.getCvParam()) { if (cvParam.getAccession().equals("MS:1001088")) { // Protein description String description = cvParam.getValue().replaceAll("\"", ""); // remove internal " protDesc = "\"" + description + "\""; } } } Map<String, String> mapNameToValue = new HashMap<>(); for (CvParam cvParam : pdh.getCvParam()) { if (cvParam.getAccession().equals("MS:1001591") || cvParam.getAccession().equals("MS:1001592") || cvParam.getAccession().equals("MS:1001593") || cvParam.getAccession().equals("MS:1001594") || cvParam.getAccession().equals("MS:1001595") || cvParam.getAccession().equals("MS:1001596") || cvParam.getAccession().equals("MS:1001597") || cvParam.getAccession().equals("MS:1001598") || cvParam.getAccession().equals("MS:1001599")) { // Protein description protGroupMembership = "\"" + cvParam.getName(); if (cvParam.getValue() != null) { protGroupMembership += ":" + cvParam.getValue(); } protGroupMembership += "\""; } else { mapNameToValue.put(cvParam.getName(), cvParam.getValue()); } } for (UserParam userParam : pdh.getUserParam()) { mapNameToValue.put(userParam.getName(), userParam.getValue()); } pdhString += protDesc + sep + protGroupMembership + sep; // Handle scores for (int i = 0; i < columnToProtScoreMap.size(); i++) { String score = columnToProtScoreMap.get(i); // System.out.println("test2" + score); if (mapNameToValue.containsKey(score)) { String scoreValue = mapNameToValue.get(score); // System.out.println("test3" + scoreValue); pdhString += scoreValue + sep; } else { pdhString += sep; } } return pdhString; }