Example #1
0
  private String siiToString(SpectrumIdentificationItem sii) {
    String siiString = "";

    siiString =
        "\""
            + sii.getId()
            + "\""
            + sep
            + sii.getRank()
            + sep
            + sii.isPassThreshold()
            + sep
            + sii.getCalculatedMassToCharge()
            + sep
            + sii.getExperimentalMassToCharge()
            + sep
            + sii.getChargeState();
    Peptide pep =
        peptideIdHashMap.get(sii.getPeptideRef()); // get Peptide via the hash for this object
    siiString += sep + "\"" + pep.getPeptideSequence() + "\"";

    // Handle Mods
    siiString += sep;

    String modString = "";

    if (pep.getModification() != null) {
      int i = 0;
      for (Modification mod : pep.getModification()) {
        if (i > 0) {
          modString += ";"; // Add an extra separator between mods
        }
        modString += modToString(mod);
        i++;
      }
    }

    if (pep.getSubstitutionModification() != null) {
      int i = 0;
      for (SubstitutionModification subMod : pep.getSubstitutionModification()) {
        if (i > 0 || !modString.equals("")) {
          modString += ";"; // Add an extra separator between mods
        }
        modString += subModToString(subMod);
        i++;
      }
    }

    siiString += modString;

    Map<String, String> mapNameToValue = new HashMap<>();
    for (AbstractParam param : sii.getParamGroup()) {
      mapNameToValue.put(param.getName(), param.getValue());
      // System.out.println("test1" + param.getName() + "-> " + param.getValue());
    }

    // Handle scores
    for (int i = 0; i < columnToScoreMap.size(); i++) {
      String score = columnToScoreMap.get(i);
      // System.out.println("test2" + score);
      if (mapNameToValue.containsKey(score)) {
        String scoreValue = mapNameToValue.get(score);
        // System.out.println("test3" + scoreValue);
        siiString += sep + scoreValue;
      } else {
        siiString += sep;
      }
    }

    // Handle all protein maps
    siiString += sep + "\"";
    List<PeptideEvidenceRef> peptideEvidenceRefList = sii.getPeptideEvidenceRef();
    Boolean isDecoy = false;
    for (int i = 0; i < peptideEvidenceRefList.size(); i++) {
      PeptideEvidenceRef peptideEvidenceRef = peptideEvidenceRefList.get(i);
      PeptideEvidence peptideEvidence =
          peptideEvidenceIdHashMap.get(peptideEvidenceRef.getPeptideEvidenceRef());

      DBSequence dbSeq = dbSequenceIdHashMap.get(peptideEvidence.getDBSequenceRef());
      if (i > 0) {
        siiString += ";"; // Add an extra separator between mods
      }
      siiString +=
          dbSeq.getAccession()
              + "_"
              + peptideEvidence.getStart()
              + "_"
              + peptideEvidence.getEnd()
              + "_"
              + peptideEvidence.getPre()
              + "_"
              + peptideEvidence.getPost();
      if (peptideEvidence.isIsDecoy()) {
        isDecoy = true;
      }
    }
    siiString += "\"";

    siiString += sep + isDecoy;

    return siiString;
  }