Exemple #1
0
	private void GetPsmScore(
		SpectrumIdentificationItemType item,
		out double score, out string type, out Peptide.ConfidenceType confidence ) {
		score = -1.0;
		type = "N/A";
		confidence = item.passThreshold ? Peptide.ConfidenceType.PassThreshold : Peptide.ConfidenceType.NoThreshold;
		if( item.Items == null )
			return;
		foreach( AbstractParamType param in item.Items ) {
			if( !(param is CVParamType) )
				continue;
			CVParamType cv = param as CVParamType;
			if( cv.accession == "MS:1001155" ) {				
				score = double.Parse(cv.value, m_Format);
				type = "ProteomeDiscoverer/SEQUEST Confidence XCorr";
				if( score >= m_GreenTh[item.chargeState-1] )
					confidence = Peptide.ConfidenceType.Green;
				else if( score >= m_YellowTh[item.chargeState-1] )
					confidence = Peptide.ConfidenceType.Yellow;
				else
					confidence = Peptide.ConfidenceType.Red;
				break;
			} else if( cv.accession == "MS:1001172" ) {
				score = double.Parse(cv.value, m_Format);
				type = "Mascot expectation value";
				break;
			} else if( cv.accession == "MS:1001330" ) {
				score = double.Parse( cv.value, m_Format );
				type = "X!Tandem expect";
				break;
			}
		}
	}
        /// <summary>
        /// Create an object using the contents of the corresponding MzIdentML object
        /// </summary>
        /// <param name="sii"></param>
        /// <param name="idata"></param>
        public SpectrumIdentificationItemObj(SpectrumIdentificationItemType sii, IdentDataObj idata)
            : base(sii, idata)
        {
            Id          = sii.id;
            Name        = sii.name;
            ChargeState = sii.chargeState;
            ExperimentalMassToCharge        = sii.experimentalMassToCharge;
            _calculatedMassToCharge         = sii.calculatedMassToCharge;
            CalculatedMassToChargeSpecified = sii.calculatedMassToChargeSpecified;
            _calculatedPI         = sii.calculatedPI;
            CalculatedPISpecified = sii.calculatedPISpecified;
            PeptideRef            = sii.peptide_ref;
            Rank          = sii.rank;
            PassThreshold = sii.passThreshold;
            MassTableRef  = sii.massTable_ref;
            SampleRef     = sii.sample_ref;

            PeptideEvidences = new IdentDataList <PeptideEvidenceRefObj>(1);
            Fragmentations   = new IdentDataList <IonTypeObj>(1);

            if (sii.PeptideEvidenceRef?.Count > 0)
            {
                PeptideEvidences.AddRange(sii.PeptideEvidenceRef, pe => new PeptideEvidenceRefObj(pe, IdentData));
            }
            if (sii.Fragmentation?.Count > 0)
            {
                Fragmentations.AddRange(sii.Fragmentation, f => new IonTypeObj(f, IdentData));
            }
        }
Exemple #3
0
        /// <summary>
        ///     Create an object using the contents of the corresponding MzIdentML object
        /// </summary>
        /// <param name="sii"></param>
        /// <param name="idata"></param>
        public SpectrumIdentificationItemObj(SpectrumIdentificationItemType sii, IdentDataObj idata)
            : base(sii, idata)
        {
            Id          = sii.id;
            Name        = sii.name;
            ChargeState = sii.chargeState;
            ExperimentalMassToCharge        = sii.experimentalMassToCharge;
            _calculatedMassToCharge         = sii.calculatedMassToCharge;
            CalculatedMassToChargeSpecified = sii.calculatedMassToChargeSpecified;
            _calculatedPI         = sii.calculatedPI;
            CalculatedPISpecified = sii.calculatedPISpecified;
            PeptideRef            = sii.peptide_ref;
            Rank          = sii.rank;
            PassThreshold = sii.passThreshold;
            MassTableRef  = sii.massTable_ref;
            SampleRef     = sii.sample_ref;

            _peptideEvidences = null;
            _fragmentations   = null;

            if ((sii.PeptideEvidenceRef != null) && (sii.PeptideEvidenceRef.Count > 0))
            {
                PeptideEvidences = new IdentDataList <PeptideEvidenceRefObj>();
                foreach (var pe in sii.PeptideEvidenceRef)
                {
                    PeptideEvidences.Add(new PeptideEvidenceRefObj(pe, IdentData));
                }
            }
            if ((sii.Fragmentation != null) && (sii.Fragmentation.Count > 0))
            {
                Fragmentations = new IdentDataList <IonTypeObj>();
                foreach (var f in sii.Fragmentation)
                {
                    Fragmentations.Add(new IonTypeObj(f, IdentData));
                }
            }
        }