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);
190 const std::vector<String>& fragment_types,
191 const std::vector<size_t>& fragment_charges,
192 bool enable_specific_losses,
193 bool enable_unspecific_losses,
194 bool enable_ms2_precursors,
196 const std::vector<std::pair<double, double> >& swathes,
197 int round_decPow = -4,
198 size_t max_num_alternative_localizations = 20,
199 int shuffle_seed = -1,
200 bool disable_decoy_transitions =
false);
213 std::vector<std::string> getMatchingPeptidoforms_(
const double fragment_ion,
215 const double mz_threshold);
225 int getSwath_(
const std::vector<std::pair<double, double> >& swathes,
const double precursor_mz);
236 bool isInSwath_(
const std::vector<std::pair<double, double> >& swathes,
const double precursor_mz,
const double product_mz);
246 std::string getRandomSequence_(
size_t sequence_size, boost::variate_generator<boost::mt19937&, boost::uniform_int<> > pseudoRNG);
256 std::vector<std::vector<size_t> > nchoosekcombinations_(
const std::vector<size_t>& n,
size_t k);
267 std::vector<OpenMS::AASequence> addModificationsSequences_(
const std::vector<OpenMS::AASequence>& sequences,
268 const std::vector<std::vector<size_t> >& mods_combs,
282 std::vector<OpenMS::AASequence> generateTheoreticalPeptidoforms_(
const OpenMS::AASequence& sequence);
317 const std::vector<String>& fragment_types,
318 const std::vector<size_t>& fragment_charges,
319 bool enable_specific_losses,
320 bool enable_unspecific_losses,
321 bool enable_ms2_precursors,
322 const std::vector<std::pair<double, double> >& swathes,
324 size_t max_num_alternative_localizations,
338 void generateDecoySequences_(
const SequenceMapT& TargetSequenceMap,
339 boost::unordered_map<String, String>& DecoySequenceMap,
354 const std::vector<String>& fragment_types,
355 const std::vector<size_t>& fragment_charges,
356 bool enable_specific_losses,
357 bool enable_unspecific_losses,
358 bool enable_ms2_precursors,
359 const std::vector<std::pair<double, double> >& swathes,
363 boost::unordered_map<String, String>& DecoySequenceMap,
388 const std::vector<std::pair<double, double> >& swathes,
402 const std::vector<std::pair<double, double> >& swathes,