Esempio n. 1
0
 private void AddPeptideGroup(ICollection<PeptideGroupDocNode> listGroups,
     PeptideGroupBuilder builder,
     List<MeasuredRetentionTime> irtPeptides,
     List<SpectrumMzInfo> librarySpectra,
     List<TransitionImportErrorInfo> errorList)
 {
     PeptideGroupDocNode nodeGroup = builder.ToDocNode();
     listGroups.Add(nodeGroup);
     irtPeptides.AddRange(builder.IrtPeptides);
     librarySpectra.AddRange(builder.LibrarySpectra);
     if (builder.PeptideGroupErrorInfo.Count > 0)
         errorList.AddRange(builder.PeptideGroupErrorInfo);
     _countPeptides += nodeGroup.MoleculeCount;
     _countIons += nodeGroup.TransitionCount;
 }
Esempio n. 2
0
        private void AddPeptideGroup(List<PeptideGroupDocNode> listGroups,
            ICollection<FastaSequence> set, PeptideGroupBuilder builder)
        {
            PeptideGroupDocNode nodeGroup = builder.ToDocNode();
            FastaSequence fastaSeq = nodeGroup.Id as FastaSequence;
            if (fastaSeq != null && set.Contains(fastaSeq))
                return;
            if (nodeGroup.MoleculeCount == 0)
            {
                EmptyPeptideGroupCount++;

                // If more than MaxEmptyPeptideGroupCount, then don't keep the empty peptide groups
                // This is not useful and is likely to cause memory and performance issues
                if (EmptyPeptideGroupCount > MaxEmptyPeptideGroupCount)
                {
                    if (EmptyPeptideGroupCount == MaxEmptyPeptideGroupCount + 1)
                    {
                        var nonEmptyGroups = listGroups.Where(g => g.MoleculeCount > 0).ToArray();
                        listGroups.Clear();
                        listGroups.AddRange(nonEmptyGroups);

                    }
                    return;
                }
            }
            listGroups.Add(nodeGroup);
            _countPeptides += nodeGroup.MoleculeCount;
            _countIons += nodeGroup.TransitionCount;
        }