コード例 #1
0
        public List <IIdentifiedSpectrumBase> ReadFromFile(string filename)
        {
            if (!File.Exists(filename))
            {
                throw new FileNotFoundException("File not exist : " + filename);
            }

            var result = new List <IIdentifiedSpectrumBase>();

            long fileSize = new FileInfo(filename).Length;

            Progress.SetRange(0, fileSize);

            char[] cs = new char[] { '\t' };
            using (var br = new StreamReader(filename))
            {
                String line = br.ReadLine();

                List <string> headers = line.Split(cs).ToList();

                int seqIndex = headers.IndexOf("Sequence");
                int refIndex = headers.IndexOf("Reference");

                var seqConverter = new IdentifiedSpectrumSequenceConverter <IIdentifiedSpectrumBase>();
                var refConverter = new IdentifiedSpectrumSequenceConverter <IIdentifiedSpectrumBase>();

                while ((line = br.ReadLine()) != null)
                {
                    if (0 == line.Trim().Length)
                    {
                        break;
                    }

                    string[] parts = line.Split(cs);
                    var      item  = new IdentifiedSpectrumBase();
                    seqConverter.SetProperty(item, parts[seqIndex]);
                    refConverter.SetProperty(item, parts[refIndex]);
                    item.SummaryLine = line;

                    result.Add(item);
                }
            }

            return(result);
        }
コード例 #2
0
    public void Test()
    {
      IPropertyConverter<IdentifiedSpectrum> io = new IdentifiedSpectrumSequenceConverter<IdentifiedSpectrum>();
      var mph = new IdentifiedSpectrum();

      var mp1 = new IdentifiedPeptide(mph);
      mp1.Sequence = "AAAAA";

      var mp2 = new IdentifiedPeptide(mph);
      mp2.Sequence = "BBBBB";

      Assert.AreEqual("Sequence", io.Name);
      Assert.AreEqual("AAAAA ! BBBBB", io.GetProperty(mph));

      io.SetProperty(mph, "CCCCC ! DDDDD ! EEEEE");
      Assert.AreEqual(3, mph.Peptides.Count);
      Assert.AreEqual("CCCCC", mph.Peptides[0].Sequence);
      Assert.AreEqual("DDDDD", mph.Peptides[1].Sequence);
      Assert.AreEqual("EEEEE", mph.Peptides[2].Sequence);
    }