/// <summary> /// Create an object using the contents of the corresponding MzIdentML object /// </summary> /// <param name="sil"></param> /// <param name="idata"></param> public SpectrumIdentificationListObj(SpectrumIdentificationListType sil, IdentDataObj idata) : base(sil, idata) { Id = sil.id; Name = sil.name; _numSequencesSearched = sil.numSequencesSearched; NumSequencesSearchedSpecified = sil.numSequencesSearchedSpecified; _fragmentationTables = null; _spectrumIdentificationResults = null; if ((sil.FragmentationTable != null) && (sil.FragmentationTable.Count > 0)) { FragmentationTables = new IdentDataList <MeasureObj>(); foreach (var f in sil.FragmentationTable) { FragmentationTables.Add(new MeasureObj(f, IdentData)); } } if ((sil.SpectrumIdentificationResult != null) && (sil.SpectrumIdentificationResult.Count > 0)) { SpectrumIdentificationResults = new IdentDataList <SpectrumIdentificationResultObj>(); foreach (var sir in sil.SpectrumIdentificationResult) { SpectrumIdentificationResults.Add(new SpectrumIdentificationResultObj(sir, IdentData)); } } }
/// <summary> /// Create an object using the contents of the corresponding MzIdentML object /// </summary> /// <param name="sd"></param> /// <param name="idata"></param> public SearchDatabaseInfo(SearchDatabaseType sd, IdentDataObj idata) : base(sd, idata) { Id = sd.id; Name = sd.name; Version = sd.version; _releaseDate = sd.releaseDate; ReleaseDateSpecified = sd.releaseDateSpecified; _numDatabaseSequences = sd.numDatabaseSequences; NumDatabaseSequencesSpecified = sd.numDatabaseSequencesSpecified; _numResidues = sd.numResidues; NumResiduesSpecified = sd.numResiduesSpecified; ExternalFormatDocumentation = sd.ExternalFormatDocumentation; Location = sd.location; _databaseName = null; _fileFormat = null; if (sd.DatabaseName != null) { _databaseName = new ParamObj(sd.DatabaseName, IdentData); } if (sd.FileFormat != null) { _fileFormat = new FileFormatInfo(sd.FileFormat, IdentData); } }
/// <summary> /// Create an object using the contents of the corresponding MzIdentML object /// </summary> /// <param name="si"></param> /// <param name="idata"></param> public SpectrumIdentificationObj(SpectrumIdentificationType si, IdentDataObj idata) : base(si, idata) { SpectrumIdentificationProtocolRef = si.spectrumIdentificationProtocol_ref; SpectrumIdentificationListRef = si.spectrumIdentificationList_ref; _inputSpectra = null; _searchDatabases = null; if ((si.InputSpectra != null) && (si.InputSpectra.Count > 0)) { InputSpectra = new IdentDataList <InputSpectraRefObj>(); foreach (var ispec in si.InputSpectra) { InputSpectra.Add(new InputSpectraRefObj(ispec, IdentData)); } } if ((si.SearchDatabaseRef != null) && (si.SearchDatabaseRef.Count > 0)) { SearchDatabases = new IdentDataList <SearchDatabaseRefObj>(); foreach (var sd in si.SearchDatabaseRef) { SearchDatabases.Add(new SearchDatabaseRefObj(sd, IdentData)); } } }
/// <summary> /// Create an object using the contents of the corresponding MzIdentML object /// </summary> /// <param name="sc"></param> /// <param name="idata"></param> public SequenceCollectionObj(SequenceCollectionType sc, IdentDataObj idata) : base(idata) { _dBSequences = null; _peptides = null; _peptideEvidences = null; idata.SequenceCollection = this; if ((sc.DBSequence != null) && (sc.DBSequence.Count > 0)) { DBSequences = new IdentDataList <DbSequenceObj>(); foreach (var dbs in sc.DBSequence) { DBSequences.Add(new DbSequenceObj(dbs, IdentData)); } } if ((sc.Peptide != null) && (sc.Peptide.Count > 0)) { Peptides = new IdentDataList <PeptideObj>(); foreach (var p in sc.Peptide) { Peptides.Add(new PeptideObj(p, IdentData)); } } if ((sc.PeptideEvidence != null) && (sc.PeptideEvidence.Count > 0)) { PeptideEvidences = new IdentDataList <PeptideEvidenceObj>(); foreach (var pe in sc.PeptideEvidence) { PeptideEvidences.Add(new PeptideEvidenceObj(pe, IdentData)); } } }
/// <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)); } }
/// <summary> /// Create an object using the contents of the corresponding MzIdentML object /// </summary> /// <param name="s"></param> /// <param name="idata"></param> public SampleObj(SampleType s, IdentDataObj idata) : base(s, idata) { Id = s.id; Name = s.name; _contactRoles = null; _subSamples = null; if ((s.ContactRole != null) && (s.ContactRole.Count > 0)) { ContactRoles = new IdentDataList <ContactRoleObj>(); foreach (var cr in s.ContactRole) { ContactRoles.Add(new ContactRoleObj(cr, IdentData)); } } if ((s.SubSample != null) && (s.SubSample.Count > 0)) { SubSamples = new IdentDataList <SubSampleObj>(); foreach (var ss in s.SubSample) { SubSamples.Add(new SubSampleObj(ss, IdentData)); } } }
/// <summary> /// Create an object using the contents of the corresponding MzIdentML object /// </summary> /// <param name="it"></param> /// <param name="idata"></param> public IonTypeObj(IonTypeType it, IdentDataObj idata) : base(idata) { Charge = it.charge; FragmentArrays = new IdentDataList <FragmentArrayObj>(1); CVParams = new IdentDataList <CVParamObj>(1); UserParams = new IdentDataList <UserParamObj>(1); Index = new List <string>(); if (it.FragmentArray?.Count > 0) { FragmentArrays.AddRange(it.FragmentArray, f => new FragmentArrayObj(f, IdentData)); } if (it.cvParam?.Count > 0) { CVParams.AddRange(it.cvParam.Select(cvp => new CVParamObj(cvp, idata))); } if (it.userParam?.Count > 0) { UserParams.AddRange(it.userParam.Select(up => new UserParamObj(up, idata))); } }
/// <summary> /// Create an object using the contents of the corresponding MzIdentML object /// </summary> /// <param name="i"></param> /// <param name="idata"></param> public InputsObj(InputsType i, IdentDataObj idata) : base(idata) { _sourceFiles = null; _searchDatabases = null; _spectraDataList = null; if ((i.SourceFile != null) && (i.SourceFile.Count > 0)) { SourceFiles = new IdentDataList <SourceFileInfo>(); foreach (var sf in i.SourceFile) { SourceFiles.Add(new SourceFileInfo(sf, IdentData)); } } if ((i.SearchDatabase != null) && (i.SearchDatabase.Count > 0)) { SearchDatabases = new IdentDataList <SearchDatabaseInfo>(); foreach (var sd in i.SearchDatabase) { SearchDatabases.Add(new SearchDatabaseInfo(sd, IdentData)); } } if ((i.SpectraData != null) && (i.SpectraData.Count > 0)) { SpectraDataList = new IdentDataList <SpectraDataObj>(); foreach (var sd in i.SpectraData) { SpectraDataList.Add(new SpectraDataObj(sd, IdentData)); } } }
/// <summary> /// Create an object using the contents of the corresponding MzIdentML object /// </summary> /// <param name="sc"></param> /// <param name="idata"></param> public SequenceCollectionObj(SequenceCollectionType sc, IdentDataObj idata) : base(idata) { DBSequences = new IdentDataList <DbSequenceObj>(1); Peptides = new IdentDataList <PeptideObj>(1); PeptideEvidences = new IdentDataList <PeptideEvidenceObj>(1); idata.SequenceCollection = this; if (sc.DBSequence?.Count > 0) { DBSequences.AddIdMap(); DBSequences.AddRange(sc.DBSequence, dbs => new DbSequenceObj(dbs, IdentData)); } if (sc.Peptide?.Count > 0) { Peptides.AddIdMap(); Peptides.AddRange(sc.Peptide, p => new PeptideObj(p, IdentData)); } if (sc.PeptideEvidence?.Count > 0) { PeptideEvidences.AddIdMap(); PeptideEvidences.AddRange(sc.PeptideEvidence, pe => new PeptideEvidenceObj(pe, IdentData)); } }
/// <summary> /// Create an object using the contents of the corresponding MzIdentML object /// </summary> /// <param name="mt"></param> /// <param name="idata"></param> public MassTableObj(MassTableType mt, IdentDataObj idata) : base(mt, idata) { Id = mt.id; Name = mt.name; _residues = null; _ambiguousResidues = null; MsLevels = null; if ((mt.Residue != null) && (mt.Residue.Count > 0)) { Residues = new IdentDataList <ResidueObj>(); foreach (var r in mt.Residue) { Residues.Add(new ResidueObj(r, IdentData)); } } if ((mt.AmbiguousResidue != null) && (mt.AmbiguousResidue.Count > 0)) { AmbiguousResidues = new IdentDataList <AmbiguousResidueObj>(); foreach (var ar in mt.AmbiguousResidue) { AmbiguousResidues.Add(new AmbiguousResidueObj(ar, IdentData)); } } if (mt.msLevel != null) { MsLevels = new List <string>(mt.msLevel); } }
/// <summary> /// Create an object using the contents of the corresponding MzIdentML object /// </summary> /// <param name="pa"></param> /// <param name="idata"></param> protected ProtocolApplicationObj(ProtocolApplicationType pa, IdentDataObj idata) : base(idata) { Id = pa.id; Name = pa.name; _activityDate = pa.activityDate; ActivityDateSpecified = pa.activityDateSpecified; }
/// <summary> /// Create an object using the contents of the corresponding MzIdentML object /// </summary> /// <param name="cv"></param> /// <param name="idata"></param> public CVInfo(cvType cv, IdentDataObj idata) : base(idata) { FullName = cv.fullName; Version = cv.version; URI = cv.uri; Id = cv.id; }
/// <summary> /// Create an object using the contents of the corresponding MzIdentML object /// </summary> /// <param name="cvpg"></param> /// <param name="idata"></param> public CVParamGroupObj(ICVParamGroup cvpg, IdentDataObj idata) : base(idata) { CVParams = new IdentDataList <CVParamObj>(1); if (cvpg.cvParam?.Count > 0) { CVParams.AddRange(cvpg.cvParam, cvp => new CVParamObj(cvp, IdentData)); } }
/// <summary> /// Create an object using the contents of the corresponding MzIdentML object /// </summary> /// <param name="p"></param> /// <param name="idata"></param> public PeptideObj(PeptideType p, IdentDataObj idata) : base(p, idata) { Id = p.id; Name = p.name; PeptideSequence = p.PeptideSequence; _modifications = null; _substitutionModifications = null; }
/// <summary> /// Create an object using the contents of the corresponding MzIdentML object /// </summary> /// <param name="pg"></param> /// <param name="idata"></param> public ParamGroupObj(IParamGroup pg, IdentDataObj idata) : base(pg, idata) { UserParams = new IdentDataList <UserParamObj>(1); if (pg.userParam?.Count > 0) { UserParams.AddRange(pg.userParam, up => new UserParamObj(up, IdentData)); } }
/// <summary> /// Create an object using the contents of the corresponding MzIdentML object /// </summary> /// <param name="sidf"></param> /// <param name="idata"></param> public SpectrumIDFormatObj(SpectrumIDFormatType sidf, IdentDataObj idata) : base(idata) { _cvParam = null; if (sidf.cvParam != null) { _cvParam = new CVParamObj(sidf.cvParam, IdentData); } }
/// <summary> /// Create an object using the contents of the corresponding MzIdentML object /// </summary> /// <param name="ff"></param> /// <param name="idata"></param> public FileFormatInfo(FileFormatType ff, IdentDataObj idata) : base(idata) { _cvParam = null; if (ff.cvParam != null) { _cvParam = new CVParamObj(ff.cvParam, IdentData); } }
/// <summary> /// Create an object using the contents of the corresponding MzIdentML object /// </summary> /// <param name="r"></param> /// <param name="idata"></param> public RoleObj(RoleType r, IdentDataObj idata) : base(idata) { _cvParam = null; if (r.cvParam != null) { _cvParam = new CVParamObj(r.cvParam, IdentData); } }
/// <summary> /// Create an object using the contents of the corresponding MzIdentML object /// </summary> /// <param name="o"></param> /// <param name="idata"></param> public OrganizationObj(OrganizationType o, IdentDataObj idata) : base(o, idata) { _parent = null; if (o.Parent != null) { _parent = new ParentOrganizationObj(o.Parent, IdentData); } }
/// <summary> /// Create an object using the contents of the corresponding MzIdentML object /// </summary> /// <param name="fa"></param> /// <param name="idata"></param> public FragmentArrayObj(FragmentArrayType fa, IdentDataObj idata) : base(idata) { MeasureRef = fa.measure_ref; Values = null; if (fa.values != null) { Values = new List <float>(fa.values); } }
/// <summary> /// Create an object using the contents of the corresponding MzIdentML object /// </summary> /// <param name="dbs"></param> /// <param name="idata"></param> public DbSequenceObj(DBSequenceType dbs, IdentDataObj idata) : base(dbs, idata) { Id = dbs.id; Name = dbs.name; Seq = dbs.Seq; _length = dbs.length; LengthSpecified = dbs.lengthSpecified; SearchDatabaseRef = dbs.searchDatabase_ref; Accession = dbs.accession; }
/*public ParamBase(AbstractParamType ap, IdentData idata) * : base(idata) * { * this._unitsSet = false; * this.UnitCvRef = ap.unitCvRef; * //this._unitAccession = ap.unitAccession; * this.UnitAccession = ap.unitAccession; * //this._unitName = ap.unitName; * * //this._unitCvid = CV.CV.CVID.CVID_Unknown; * }*/ /// <summary> /// Create an object using the contents of the corresponding MzIdentML object /// </summary> /// <param name="idata"></param> protected ParamBaseObj(IdentDataObj idata) : base(idata) { _unitsSet = false; //this.UnitCvRef = ap.unitCvRef; //this._unitAccession = ap.unitAccession; //this.UnitAccession = ap.unitAccession; //this._unitName = ap.unitName; //this._unitCvid = CV.CV.CVID.CVID_Unknown; }
/// <summary> /// Create an object using the contents of the corresponding MzIdentML object /// </summary> /// <param name="up"></param> /// <param name="idata"></param> public UserParamObj(UserParamType up, IdentDataObj idata) : base(idata) { _name = up.name; _value = up.value; Type = up.type; UnitCvRef = up.unitCvRef; //this._unitAccession = up.unitAccession; UnitAccession = up.unitAccession; //this._unitName = up.unitName; }
/// <summary> /// Create an object using the contents of the corresponding MzIdentML object /// </summary> /// <param name="sm"></param> /// <param name="idata"></param> public SubstitutionModificationObj(SubstitutionModificationType sm, IdentDataObj idata) : base(idata) { OriginalResidue = sm.originalResidue; ReplacementResidue = sm.replacementResidue; _location = sm.location; LocationSpecified = sm.locationSpecified; _avgMassDelta = sm.avgMassDelta; AvgMassDeltaSpecified = sm.avgMassDeltaSpecified; _monoisotopicMassDelta = sm.monoisotopicMassDelta; MonoisotopicMassDeltaSpecified = sm.monoisotopicMassDeltaSpecified; }
/// <summary> /// Create an object using the contents of the corresponding MzIdentML object /// </summary> /// <param name="cr"></param> /// <param name="idata"></param> public ContactRoleObj(ContactRoleType cr, IdentDataObj idata) : base(idata) { ContactRef = cr.contact_ref; _role = null; if (cr.Role != null) { _role = new RoleObj(cr.Role, IdentData); } }
public void MzIdentMLReadTest(string path, int expectedSpecLists, int expectedSpecResults, int expectedSpecItems, int expectedPeptides, int expectedSeqs) { var sourceFile = new FileInfo(Path.Combine(TestPath.ExtTestDataDirectory, path)); if (!sourceFile.Exists) { Console.WriteLine("File not found: " + sourceFile.FullName); return; } var identData = new IdentDataObj(MzIdentMlReaderWriter.Read(sourceFile.FullName)); var specResults = 0; var specItems = 0; foreach (var specList in identData.DataCollection.AnalysisData.SpectrumIdentificationList) { if (specList.SpectrumIdentificationResults == null) { continue; } specResults += specList.SpectrumIdentificationResults.Count; foreach (var specResult in specList.SpectrumIdentificationResults) { specItems += specResult.SpectrumIdentificationItems.Count; } } var observedPeptides = 0; if (identData.SequenceCollection.Peptides != null) { observedPeptides = identData.SequenceCollection.Peptides.Count; } var observeProteins = 0; if (identData.SequenceCollection.DBSequences != null) { observeProteins = identData.SequenceCollection.DBSequences.Count; } Console.WriteLine(); Console.WriteLine("Spectrum Identification Results: {0,6:N0}", specResults); Console.WriteLine("Native IDs: {0,6:N0}", specItems); Console.WriteLine("Unique Peptides: {0,6:N0}", observedPeptides); Console.WriteLine("Unique Protein Sequences: {0,6:N0}", observeProteins); Assert.AreEqual(expectedSpecResults, specResults, "Spectrum Identification Results"); Assert.AreEqual(expectedSpecItems, specItems, "Native IDs"); Assert.AreEqual(expectedPeptides, observedPeptides, "Unique Peptides"); Assert.AreEqual(expectedSeqs, observeProteins, "Unique Protein Sequences"); }
/// <summary> /// Create an object using the contents of the corresponding MzIdentML object /// </summary> /// <param name="ph"></param> /// <param name="idata"></param> public PeptideHypothesisObj(PeptideHypothesisType ph, IdentDataObj idata) : base(idata) { PeptideEvidenceRef = ph.peptideEvidence_ref; SpectrumIdentificationItems = new IdentDataList <SpectrumIdentificationItemRefObj>(1); if (ph.SpectrumIdentificationItemRef?.Count > 0) { SpectrumIdentificationItems.AddRange(ph.SpectrumIdentificationItemRef, spectrumIdItemRef => new SpectrumIdentificationItemRefObj(spectrumIdItemRef, IdentData)); } }
/// <summary> /// Create an object using the contents of the corresponding MzIdentML object /// </summary> /// <param name="pdl"></param> /// <param name="idata"></param> public ProteinDetectionListObj(ProteinDetectionListType pdl, IdentDataObj idata) : base(pdl, idata) { Id = pdl.id; Name = pdl.name; ProteinAmbiguityGroups = new IdentDataList <ProteinAmbiguityGroupObj>(1); if (pdl.ProteinAmbiguityGroup?.Count > 0) { ProteinAmbiguityGroups.AddRange(pdl.ProteinAmbiguityGroup, pag => new ProteinAmbiguityGroupObj(pag, IdentData)); } }
/// <summary> /// Create an object using the contents of the corresponding MzIdentML object /// </summary> /// <param name="pd"></param> /// <param name="idata"></param> public ProteinDetectionObj(ProteinDetectionType pd, IdentDataObj idata) : base(pd, idata) { ProteinDetectionListRef = pd.proteinDetectionList_ref; ProteinDetectionProtocolRef = pd.proteinDetectionProtocol_ref; InputSpectrumIdentifications = new IdentDataList <InputSpectrumIdentificationsObj>(1); if (pd.InputSpectrumIdentifications?.Count > 0) { InputSpectrumIdentifications.AddRange(pd.InputSpectrumIdentifications, isi => new InputSpectrumIdentificationsObj(isi, IdentData)); } }
/// <summary> /// Create an object using the contents of the corresponding MzIdentML object /// </summary> /// <param name="el"></param> /// <param name="idata"></param> public EnzymeListObj(EnzymesType el, IdentDataObj idata) : base(idata) { _independent = el.independent; IndependentSpecified = el.independentSpecified; Enzymes = new IdentDataList <EnzymeObj>(1); if (el.Enzyme?.Count > 0) { Enzymes.AddRange(el.Enzyme, e => new EnzymeObj(e, IdentData)); } }