CSMSL.IO.PepXML.PepXmlWriter.WritePSM C# (CSharp) Метод

WritePSM() публичный Метод

public WritePSM ( PeptideSpectralMatch psm, int hitRank = 1 ) : void
psm PeptideSpectralMatch
hitRank int
Результат void
        public void WritePSM(PeptideSpectralMatch psm, int hitRank = 1)
        {
            _writer.WriteStartElement("search_hit");
            _writer.WriteAttributeString("hit_rank", hitRank.ToString());
            _writer.WriteAttributeString("peptide", psm.Peptide.Sequence);
            _writer.WriteAttributeString("peptide_prev_aa", (psm.Peptide.PreviousAminoAcid != null) ? psm.Peptide.PreviousAminoAcid.Letter.ToString() : "-");
            _writer.WriteAttributeString("peptide_next_aa", (psm.Peptide.NextAminoAcid != null) ? psm.Peptide.NextAminoAcid.Letter.ToString() : "-");

            double pepMonoMass = psm.Peptide.MonoisotopicMass;
            double massDifference = spectrumNeutralMass - pepMonoMass;
            _writer.WriteAttributeString("calc_neutral_pep_mass", pepMonoMass.ToString());
            _writer.WriteAttributeString("massdiff", massDifference.ToString());

            Protein protein = psm.Peptide.Parent as Protein;

            if (protein != null)
            {
                _writer.WriteAttributeString("protein", protein.Description);
                _writer.WriteAttributeString("protein_descr", protein.Description);
            }

            _writer.WriteAttributeString("num_tot_proteins", "1");
            _writer.WriteAttributeString("is_rejected", "0");

            _writer.WriteStartElement("search_score");
            _writer.WriteAttributeString("name", Enum.GetName(typeof (PeptideSpectralMatchScoreType), psm.ScoreType));
            _writer.WriteAttributeString("value", psm.Score.ToString());
            _writer.WriteEndElement(); // search_score

            _writer.WriteEndElement(); // search_hit
        }

Usage Example

Пример #1
0
        public static void WritePepXml()
        {
            string filePath = Path.Combine(Examples.BASE_DIRECTORY, "example.pepXML");

            Console.WriteLine("Writting to " + filePath);
            using (PepXmlWriter writer = new PepXmlWriter(filePath))
            {
                writer.WriteSampleProtease(Protease.Trypsin);

                writer.StartSearchSummary("OMSSA", true, true);

                writer.WriteProteinDatabase("Resources/yeast_uniprot_120226.fasta");

                writer.WriteSearchProtease(Protease.Trypsin, 3);

                writer.WriteModification(ModificationDictionary.GetModification("Acetyl"), ModificationSites.K | ModificationSites.NPep);
                writer.WriteModification(ModificationDictionary.GetModification("CAM"), ModificationSites.C);

                writer.WriteModification(ModificationDictionary.GetModification("Phospho"), ModificationSites.S | ModificationSites.T | ModificationSites.Y, false);

                writer.SetCurrentStage(PepXmlWriter.Stage.Spectra, true);

                writer.StartSpectrum(15, 1.234, 523.4324, 3);

                PeptideSpectralMatch psm = new PeptideSpectralMatch(PeptideSpectralMatchScoreType.OmssaEvalue);
                psm.Score = 1.5e-5;
                Protein protein = new Protein("", "Test Protein");
                psm.Peptide = new Peptide("DEREK",protein);
                psm.Charge = 3;
                writer.WritePSM(psm);

                writer.EndSpectrum();
            }
        }
All Usage Examples Of CSMSL.IO.PepXML.PepXmlWriter::WritePSM