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>
85 typedef boost::unordered_map<size_t, boost::unordered_map<String, std::set<std::string> > >
SequenceMapT;
86 typedef boost::unordered_map<size_t, boost::unordered_map<String, std::vector<std::pair<double, std::string> > > >
IonMapT;
87 typedef std::map<String, std::vector<std::pair<std::string, double> > >
PeptideMapT;
90 typedef boost::unordered_map<String, TargetedExperiment::Peptide>
TargetDecoyMapT;
106 double precursor_mz_threshold,
107 double product_mz_threshold,
108 const std::vector<String>& fragment_types,
109 const std::vector<size_t>& fragment_charges,
110 bool enable_specific_losses,
111 bool enable_unspecific_losses,
112 int round_decPow = -4);
125 double lower_mz_limit,
double upper_mz_limit,
126 const std::vector<std::pair<double, double> >& swathes);
155 const std::vector<String>& fragment_types,
156 const std::vector<size_t>& fragment_charges,
157 bool enable_specific_losses,
158 bool enable_unspecific_losses,
159 bool enable_ms2_precursors,
161 const std::vector<std::pair<double, double> >& swathes,
162 int round_decPow = -4,
163 size_t max_num_alternative_localizations = 20,
164 int shuffle_seed = -1,
165 bool disable_decoy_transitions =
false);
178 std::vector<std::string> getMatchingPeptidoforms_(
const double fragment_ion,
179 const std::vector<std::pair<double, std::string> >& ions,
180 const double mz_threshold);
190 int getSwath_(
const std::vector<std::pair<double, double> >& swathes,
const double precursor_mz);
201 bool isInSwath_(
const std::vector<std::pair<double, double> >& swathes,
const double precursor_mz,
const double product_mz);
211 std::string getRandomSequence_(
size_t sequence_size, boost::variate_generator<boost::mt19937&, boost::uniform_int<> > pseudoRNG);
221 std::vector<std::vector<size_t> > nchoosekcombinations_(
const std::vector<size_t>& n,
size_t k);
234 std::vector<OpenMS::AASequence> addModificationsSequences_(
const std::vector<OpenMS::AASequence>& sequences,
235 const std::vector<std::vector<size_t> >& mods_combs,
249 std::vector<OpenMS::AASequence> combineModifications_(
const OpenMS::AASequence& sequence);
277 const std::vector<String>& fragment_types,
278 const std::vector<size_t>& fragment_charges,
279 bool enable_specific_losses,
280 bool enable_unspecific_losses,
281 bool enable_ms2_precursors,
282 const std::vector<std::pair<double, double> >& swathes,
284 size_t max_num_alternative_localizations,
295 void generateDecoySequences_(
const SequenceMapT& TargetSequenceMap,
296 boost::unordered_map<String, String>& DecoySequenceMap,
306 const std::vector<String>& fragment_types,
307 const std::vector<size_t>& fragment_charges,
308 bool enable_specific_losses,
309 bool enable_unspecific_losses,
310 bool enable_ms2_precursors,
311 const std::vector<std::pair<double, double> >& swathes,
315 boost::unordered_map<String, String>& DecoySequenceMap,
328 const std::vector<std::pair<double, double> >& swathes,
342 const std::vector<std::pair<double, double> >& swathes,