43 #include <boost/bind.hpp>
44 #include <boost/lexical_cast.hpp>
45 #include <boost/random/mersenne_twister.hpp>
46 #include <boost/random/uniform_int.hpp>
47 #include <boost/random/variate_generator.hpp>
90 typedef boost::unordered_map<size_t, ModifiedSequenceMap>
SequenceMapT;
93 typedef boost::unordered_map<size_t, boost::unordered_map<String, FragmentSeqMap > >
IonMapT;
95 typedef std::vector<std::pair<std::string, double> >
IonSeries;
98 typedef boost::unordered_map<String, TargetedExperiment::Peptide>
TargetDecoyMapT;
114 double precursor_mz_threshold,
115 double product_mz_threshold,
116 const std::vector<String>& fragment_types,
117 const std::vector<size_t>& fragment_charges,
118 bool enable_specific_losses,
119 bool enable_unspecific_losses,
120 int round_decPow = -4);
133 double lower_mz_limit,
double upper_mz_limit,
134 const std::vector<std::pair<double, double> >& swathes);
180 const std::vector<String>& fragment_types,
181 const std::vector<size_t>& fragment_charges,
182 bool enable_specific_losses,
183 bool enable_unspecific_losses,
184 bool enable_ms2_precursors,
186 const std::vector<std::pair<double, double> >& swathes,
187 int round_decPow = -4,
188 size_t max_num_alternative_localizations = 20,
189 int shuffle_seed = -1,
190 bool disable_decoy_transitions =
false);
221 std::vector<std::string> getMatchingPeptidoforms_(
const double fragment_ion,
223 const double mz_threshold);
233 int getSwath_(
const std::vector<std::pair<double, double> >& swathes,
const double precursor_mz);
244 bool isInSwath_(
const std::vector<std::pair<double, double> >& swathes,
const double precursor_mz,
const double product_mz);
254 std::string getRandomSequence_(
size_t sequence_size, boost::variate_generator<boost::mt19937&, boost::uniform_int<> > pseudoRNG);
264 std::vector<std::vector<size_t> > nchoosekcombinations_(
const std::vector<size_t>& n,
size_t k);
275 std::vector<OpenMS::AASequence> addModificationsSequences_(
const std::vector<OpenMS::AASequence>& sequences,
276 const std::vector<std::vector<size_t> >& mods_combs,
290 std::vector<OpenMS::AASequence> generateTheoreticalPeptidoforms_(
const OpenMS::AASequence& sequence);
325 const std::vector<String>& fragment_types,
326 const std::vector<size_t>& fragment_charges,
327 bool enable_specific_losses,
328 bool enable_unspecific_losses,
329 bool enable_ms2_precursors,
330 const std::vector<std::pair<double, double> >& swathes,
332 size_t max_num_alternative_localizations,
346 void generateDecoySequences_(
const SequenceMapT& TargetSequenceMap,
347 boost::unordered_map<String, String>& DecoySequenceMap,
362 const std::vector<String>& fragment_types,
363 const std::vector<size_t>& fragment_charges,
364 bool enable_specific_losses,
365 bool enable_unspecific_losses,
366 bool enable_ms2_precursors,
367 const std::vector<std::pair<double, double> >& swathes,
371 boost::unordered_map<String, String>& DecoySequenceMap,
396 const std::vector<std::pair<double, double> >& swathes,
410 const std::vector<std::pair<double, double> >& swathes,