42 #include <boost/random/mersenne_twister.hpp>
43 #include <boost/random/uniform_int.hpp>
44 #include <boost/random/variate_generator.hpp>
45 #include <boost/unordered_map.hpp>
88 typedef boost::unordered_map<size_t, ModifiedSequenceMap>
SequenceMapT;
91 typedef boost::unordered_map<size_t, boost::unordered_map<String, FragmentSeqMap > >
IonMapT;
93 typedef std::vector<std::pair<std::string, double> >
IonSeries;
96 typedef boost::unordered_map<String, TargetedExperiment::Peptide>
TargetDecoyMapT;
112 double precursor_mz_threshold,
113 double product_mz_threshold,
114 const std::vector<String>& fragment_types,
115 const std::vector<size_t>& fragment_charges,
116 bool enable_specific_losses,
117 bool enable_unspecific_losses,
118 int round_decPow = -4);
131 double lower_mz_limit,
double upper_mz_limit,
132 const std::vector<std::pair<double, double> >& swathes);
178 const std::vector<String>& fragment_types,
179 const std::vector<size_t>& fragment_charges,
180 bool enable_specific_losses,
181 bool enable_unspecific_losses,
182 bool enable_ms2_precursors,
184 const std::vector<std::pair<double, double> >& swathes,
185 int round_decPow = -4,
186 size_t max_num_alternative_localizations = 20,
187 int shuffle_seed = -1,
188 bool disable_decoy_transitions =
false);
226 std::vector<std::string> getMatchingPeptidoforms_(
const double fragment_ion,
228 const double mz_threshold);
238 int getSwath_(
const std::vector<std::pair<double, double> >& swathes,
const double precursor_mz);
249 bool isInSwath_(
const std::vector<std::pair<double, double> >& swathes,
const double precursor_mz,
const double product_mz);
259 std::string getRandomSequence_(
size_t sequence_size, boost::variate_generator<boost::mt19937&, boost::uniform_int<> > pseudoRNG);
269 std::vector<std::vector<size_t> > nchoosekcombinations_(
const std::vector<size_t>& n,
size_t k);
280 std::vector<OpenMS::AASequence> addModificationsSequences_(
const std::vector<OpenMS::AASequence>& sequences,
281 const std::vector<std::vector<size_t> >& mods_combs,
295 std::vector<OpenMS::AASequence> generateTheoreticalPeptidoforms_(
const OpenMS::AASequence& sequence);
330 const std::vector<String>& fragment_types,
331 const std::vector<size_t>& fragment_charges,
332 bool enable_specific_losses,
333 bool enable_unspecific_losses,
334 bool enable_ms2_precursors,
335 const std::vector<std::pair<double, double> >& swathes,
337 size_t max_num_alternative_localizations,
351 void generateDecoySequences_(
const SequenceMapT& TargetSequenceMap,
352 boost::unordered_map<String, String>& DecoySequenceMap,
367 const std::vector<String>& fragment_types,
368 const std::vector<size_t>& fragment_charges,
369 bool enable_specific_losses,
370 bool enable_unspecific_losses,
371 bool enable_ms2_precursors,
372 const std::vector<std::pair<double, double> >& swathes,
376 boost::unordered_map<String, String>& DecoySequenceMap,
401 const std::vector<std::pair<double, double> >& swathes,
415 const std::vector<std::pair<double, double> >& swathes,