void SeedListGenerator::generateSeedList(vector<PeptideIdentification>&
                                          peptides, SeedList& seeds,
                                          bool use_peptide_mass)
 {
   seeds.clear();
   for (vector<PeptideIdentification>::iterator pep_it = peptides.begin();
        pep_it != peptides.end(); ++pep_it)
   {
     double mz;
     if (!pep_it->getHits().empty() && use_peptide_mass)
     {
       pep_it->sort();
       const PeptideHit& hit = pep_it->getHits().front();
       Int charge = hit.getCharge();
       mz = hit.getSequence().getMonoWeight(Residue::Full, charge) /
            double(charge);
     }
     else
     {
       mz = pep_it->getMZ();
     }
     DPosition<2> point(pep_it->getRT(), mz);
     seeds.push_back(point);
   }
 }
 void SeedListGenerator::convertSeedList(const FeatureMap& features,
                                         SeedList& seeds)
 {
   seeds.clear();
   for (FeatureMap::ConstIterator feat_it = features.begin();
        feat_it != features.end(); ++feat_it)
   {
     DPosition<2> point(feat_it->getRT(), feat_it->getMZ());
     seeds.push_back(point);
   }
 }
 void SeedListGenerator::generateSeedList(const MSExperiment<>& experiment,
                                          SeedList& seeds)
 {
   seeds.clear();
   for (MSExperiment<>::ConstIterator exp_it = experiment.begin();
        exp_it != experiment.end(); ++exp_it)
   {
     if (exp_it->getMSLevel() == 2) // MS2 spectrum -> look for precursor
     {
       MSExperiment<>::ConstIterator prec_it =
         experiment.getPrecursorSpectrum(exp_it);
       const vector<Precursor>& precursors = exp_it->getPrecursors();
       DPosition<2> point(prec_it->getRT(), precursors[0].getMZ());
       seeds.push_back(point);
     }
   }
 }