/// <summary> /// Create a modification with the specified values /// </summary> /// <param name="unimodCv">CV term for the modification, if available; otherwise, use CVID.MS_unknown_modification</param> /// <param name="modificationName"> /// Name of the modification, if a CV term for the modification is not available or unknown. /// If this matches an Unimod modification name, the Unimod CV term will be used. /// </param> /// <param name="location"> /// location of the modification, using '0' for N-term and length+1 for C-term, and otherwise /// 1-based indexing /// </param> /// <param name="monoMassDelta">monoisotopic mass delta</param> /// <returns></returns> public ModificationObj(CV.CV.CVID unimodCv, string modificationName = "", int location = int.MinValue, double monoMassDelta = double.NaN) : this() { if (!monoMassDelta.Equals(double.NaN)) { MonoisotopicMassDelta = monoMassDelta; } if (location != int.MinValue) { Location = location; } if ((unimodCv != CV.CV.CVID.CVID_Unknown) && (unimodCv != CV.CV.CVID.MS_unknown_modification)) { CVParams.Add(new CVParamObj(unimodCv)); } else if (!string.IsNullOrWhiteSpace(modificationName)) { var result = SearchForUnimodMod(modificationName); if (result != CV.CV.CVID.MS_unknown_modification) { CVParams.Add(new CVParamObj(result)); } else { CVParams.Add(new CVParamObj(CV.CV.CVID.MS_unknown_modification, modificationName)); } } }
/// <summary> /// Creates a DB sequence object with the specified values /// </summary> /// <param name="searchDb">Valid <see cref="SearchDatabaseInfo" /> object, not null</param> /// <param name="length">length of the protein</param> /// <param name="accession">protein identifier</param> /// <param name="description">description of the protein</param> public DbSequenceObj(SearchDatabaseInfo searchDb, int length, string accession, string description = "") : this() { Length = length; SearchDatabase = searchDb; Accession = accession; if (!string.IsNullOrWhiteSpace(description)) { CVParams.Add(new CVParamObj(CV.CV.CVID.MS_protein_description, description)); } }