47 class PrecursorIonSelectionPreprocessing;
48 class PSProteinInference;
92 void createAndSolveILPForKnownLCMSMapFeatureBased(
const FeatureMap& features,
94 std::vector<IndexTriple>& variable_indices,
95 std::vector<std::vector<std::pair<Size, Size> > >& mass_ranges,
96 std::set<Int>& charges_set,
UInt ms2_spectra_per_rt_bin,
97 std::vector<int>& solution_indices);
104 UInt ms2_spectra_per_rt_bin,
UInt max_list_size,
106 bool solve_ILP =
true);
108 void createAndSolveCombinedLPForKnownLCMSMapFeatureBased(
const FeatureMap& features,
110 std::vector<IndexTriple>& variable_indices,
111 std::vector<int>& solution_indices,
112 std::vector<std::vector<std::pair<Size, Size> > >& mass_ranges,
113 std::set<Int>& charges_set,
UInt ms2_spectra_per_rt_bin,
114 Size step_size = 0,
bool sequential_order =
false);
116 void updateStepSizeConstraint(
Size iteration,
UInt step_size);
117 void updateFeatureILPVariables(
FeatureMap& new_features, std::vector<IndexTriple>& variable_indices, std::map<
Size, std::vector<String> >& feature_constraints_map);
118 void updateRTConstraintsForSequentialILP(
Size& rt_index,
UInt ms2_spectra_per_rt_bin,
Size max_rt_index);
120 std::vector<String>& new_protein_accs, std::vector<String>& protein_accs,
PSProteinInference& prot_inference,
Size& variable_counter,
121 std::map<
String, std::vector<Size> >& protein_feature_map,
Feature& new_feature, std::map<String, Size>& protein_variable_index_map,
122 std::map<
String, std::set<String> >& prot_id_counter);
128 void solveILP(std::vector<int>& solution_indices);
141 std::binary_function<IndexTriple, IndexTriple, bool>
153 std::binary_function<IndexTriple, IndexTriple, bool>
164 std::binary_function<IndexTriple, IndexTriple, bool>
176 void getXIC_(
const std::vector<std::pair<Size, Size> >& end_points,
177 std::vector<double>& weights,
184 void calculateXICs_(std::vector<std::vector<double> >& xics,
187 const std::vector<std::vector<std::pair<Size, Size> > >& mass_ranges,
193 void createAndSolveILP_(
const FeatureMap& features, std::vector<std::vector<double> >& intensity_weights,
194 std::set<Int>& charges_set, std::vector<std::vector<std::pair<Size, Size> > >& mass_ranges,
195 std::vector<IndexTriple>& variable_indices, std::vector<int>& solution_indices,
196 UInt ms2_spectra_per_rt_bin,
Size number_of_scans);
198 void createAndSolveCombinedLPFeatureBased_(
const FeatureMap& features, std::vector<std::vector<double> >& intensity_weights,
199 std::set<Int>& charges_set, std::vector<std::vector<std::pair<Size, Size> > >& mass_ranges,
200 std::vector<IndexTriple>& variable_indices, std::vector<Int>& solution_indices,
201 UInt ms2_spectra_per_rt_bin,
Size number_of_scans,
Size step_size = 0,
bool sequential_order =
false);
204 std::map<
String, std::vector<double> >::const_iterator map_iter,
205 Size& counter,
Size& pep_counter,
Size& feature_counter,
206 std::vector<IndexTriple>& variable_indices,
207 std::map<String, Size>& protein_penalty_index_map,
FeatureMap& precursors);
209 void addPrecursorAcquisitionNumberConstraint_(std::vector<IndexTriple>& variable_indices,
Size number_of_features,
UInt number_of_msms_per_precursor);
211 void addMaxInclusionListSizeConstraints_(std::vector<IndexTriple>& variable_indices,
UInt max_list_size);
213 void addRTBinCapacityConstraint_(std::vector<IndexTriple>& variable_indices,
214 Size max_rt_index,
UInt ms2_spectra_per_rt_bin,
bool sequential_order =
false);
216 void addProteinCoverageConstraint_(std::vector<IndexTriple>& variable_indices,
218 std::map<String, Size> protein_variable_index_map);
220 void addStepSizeConstraint_(std::vector<IndexTriple>& variable_indices,
UInt step_size);
228 Int getNumberOfPrecsInSpectrum_(
Int constr_idx);
236 os <<
"feature: " << triple.
feature <<
" scan: " << triple.
scan <<
" variable: " << triple.
variable <<
" prot_acc: " << triple.
prot_acc;