private String GetBaseId( ProteinDetectionHypothesisType pdh ) { int i = pdh.id.IndexOf('@'); return i < 0 ? pdh.id : pdh.id.Substring(0,i); }
private void UpdatePdhCvs( ProteinDetectionHypothesisType pdh, Protein.EvidenceType evidence ) { List<AbstractParamType> list = new List<AbstractParamType>(); foreach( AbstractParamType item in pdh.Items ) if( !item.name.Contains("PAnalyzer") && !item.name.Contains("leading") ) list.Add( item ); CVParamType ev = new CVParamType(), ld = new CVParamType(); ev.cvRef = "PSI-MS"; ld.cvRef = "PSI-MS"; switch( evidence ) { case Protein.EvidenceType.Conclusive: ev.accession = "MS:1002213"; ev.name = "PAnalyzer:conclusive protein"; ld.accession = "MS:1002401"; ld.name = "leading protein"; break; case Protein.EvidenceType.Indistinguishable: ev.accession = "MS:1002214"; ev.name = "PAnalyzer:indistinguishable protein"; ld.accession = "MS:1002401"; ld.name = "leading protein"; break; case Protein.EvidenceType.Group: ev.accession = "MS:1002216"; ev.name = "PAnalyzer:ambiguous group member"; ld.accession = "MS:1002401"; ld.name = "leading protein"; break; case Protein.EvidenceType.NonConclusive: ev.accession = "MS:1002215"; ev.name = "PAnalyzer:non-conclusive protein"; ld.accession = "MS:1002402"; ld.name = "non-leading protein"; break; default: // filtered return; } list.Add(ld); list.Add(ev); pdh.Items = list.ToArray(); }
private ProteinDetectionHypothesisType ClonePDH( ProteinDetectionHypothesisType pdh ) { ProteinDetectionHypothesisType clon = new ProteinDetectionHypothesisType(); clon.id = pdh.id; clon.name = pdh.name; clon.dBSequence_ref = pdh.dBSequence_ref; clon.passThreshold = pdh.passThreshold; clon.PeptideHypothesis = pdh.PeptideHypothesis; clon.Items = pdh.Items; return clon; }