public void setPeptideId(final String pPeptideId) { if (m_Peptide != null || m_PeptideId != null) throw new IllegalStateException("Cannot reset peptide"); // ToDo change m_PeptideId = pPeptideId; IMainData main = getMainData(); if (main != null) { // RawPeptideScan rawScan = main.getRawScan(getId()); // pMeasured = rawScan; ITaxonomy taxonomy = main.getTaxonomy(); if (taxonomy != null) { String peptideId = getPeptideId(); m_Peptide = taxonomy.getPeptideById(peptideId); if (m_Peptide == null) m_Peptide = Polypeptide.fromString(peptideId); // key may be all we need } } else { m_Peptide = Polypeptide.fromString(getPeptideId()); } if (m_Peptide != null) { IPeptideDigester digester = PeptideBondDigester.getDefaultDigester(); int missedCleavages = digester.probableNumberMissedCleavages(m_Peptide); ((Polypeptide) m_Peptide).setMissedCleavages(missedCleavages); } }
/** finish handling and set up the enclosed object Usually called when the end tag is seen */ @Override public void finishProcessing() { IMeasuredSpectrum pMeasured = null; final double pScore = getScore(); final double pHyperScore = getHyperScore(); final double rawScore = getRawScore(); IonTypeScorer scorer = getIonScore(); IProteinPosition[] containedInProteins = m_Positions.toArray(IProteinPosition.EMPTY_ARRAY); ((Polypeptide) m_Peptide).setContainedInProteins(containedInProteins); SpectralMatch scan = new SpectralMatch(m_Peptide, pMeasured, pScore, pHyperScore, rawScore, scorer, null); if (m_Usage != null) scan.getUsage().addTo(m_Usage); setElementObject(scan); }