35 #ifndef OPENMS_ANALYSIS_TARGETED_PSLPFORMULATION_H 36 #define OPENMS_ANALYSIS_TARGETED_PSLPFORMULATION_H 48 class PrecursorIonSelectionPreprocessing;
49 class PSProteinInference;
93 void createAndSolveILPForKnownLCMSMapFeatureBased(
const FeatureMap& features,
95 std::vector<IndexTriple>& variable_indices,
96 std::vector<std::vector<std::pair<Size, Size> > >& mass_ranges,
97 std::set<Int>& charges_set,
UInt ms2_spectra_per_rt_bin,
98 std::vector<int>& solution_indices);
105 UInt ms2_spectra_per_rt_bin,
UInt max_list_size,
107 bool solve_ILP =
true);
109 void createAndSolveCombinedLPForKnownLCMSMapFeatureBased(
const FeatureMap& features,
111 std::vector<IndexTriple>& variable_indices,
112 std::vector<int>& solution_indices,
113 std::vector<std::vector<std::pair<Size, Size> > >& mass_ranges,
114 std::set<Int>& charges_set,
UInt ms2_spectra_per_rt_bin,
115 Size step_size = 0,
bool sequential_order =
false);
117 void updateStepSizeConstraint(
Size iteration,
UInt step_size);
118 void updateFeatureILPVariables(
FeatureMap& new_features, std::vector<IndexTriple>& variable_indices, std::map<
Size, std::vector<String> >& feature_constraints_map);
119 void updateRTConstraintsForSequentialILP(
Size& rt_index,
UInt ms2_spectra_per_rt_bin,
Size max_rt_index);
121 std::vector<String>& new_protein_accs, std::vector<String>& protein_accs,
PSProteinInference& prot_inference,
Size& variable_counter,
122 std::map<
String, std::vector<Size> >& protein_feature_map,
Feature& new_feature, std::map<String, Size>& protein_variable_index_map,
123 std::map<
String, std::set<String> >& prot_id_counter);
129 void solveILP(std::vector<int>& solution_indices);
142 std::binary_function<IndexTriple, IndexTriple, bool>
154 std::binary_function<IndexTriple, IndexTriple, bool>
165 std::binary_function<IndexTriple, IndexTriple, bool>
177 void getXIC_(
const std::vector<std::pair<Size, Size> >& end_points,
178 std::vector<double>& weights,
185 void calculateXICs_(std::vector<std::vector<double> >& xics,
188 const std::vector<std::vector<std::pair<Size, Size> > >& mass_ranges,
189 const bool normalize);
194 void createAndSolveILP_(
const FeatureMap& features, std::vector<std::vector<double> >& intensity_weights,
195 std::set<Int>& charges_set, std::vector<std::vector<std::pair<Size, Size> > >& mass_ranges,
196 std::vector<IndexTriple>& variable_indices, std::vector<int>& solution_indices,
197 UInt ms2_spectra_per_rt_bin,
Size number_of_scans);
199 void createAndSolveCombinedLPFeatureBased_(
const FeatureMap& features, std::vector<std::vector<double> >& intensity_weights,
200 std::set<Int>& charges_set, std::vector<std::vector<std::pair<Size, Size> > >& mass_ranges,
201 std::vector<IndexTriple>& variable_indices, std::vector<Int>& solution_indices,
202 UInt ms2_spectra_per_rt_bin,
Size number_of_scans,
Size step_size = 0,
bool sequential_order =
false);
205 std::map<
String, std::vector<double> >::const_iterator map_iter,
206 Size& counter,
Size& pep_counter,
Size& feature_counter,
207 std::vector<IndexTriple>& variable_indices,
208 std::map<String, Size>& protein_penalty_index_map,
FeatureMap& precursors);
210 void addPrecursorAcquisitionNumberConstraint_(std::vector<IndexTriple>& variable_indices,
Size number_of_features,
UInt number_of_msms_per_precursor);
212 void addMaxInclusionListSizeConstraints_(std::vector<IndexTriple>& variable_indices,
UInt max_list_size);
214 void addRTBinCapacityConstraint_(std::vector<IndexTriple>& variable_indices,
215 Size max_rt_index,
UInt ms2_spectra_per_rt_bin,
bool sequential_order =
false);
217 void addProteinCoverageConstraint_(std::vector<IndexTriple>& variable_indices,
219 std::map<String, Size> protein_variable_index_map);
221 void addStepSizeConstraint_(std::vector<IndexTriple>& variable_indices,
UInt step_size);
229 Int getNumberOfPrecsInSpectrum_(
Int constr_idx);
237 os <<
"feature: " << triple.
feature <<
" scan: " << triple.
scan <<
" variable: " << triple.
variable <<
" prot_acc: " << triple.
prot_acc;
243 #endif // OPENMS_ANALYSIS_ID_PSLPFORMULATION_H
A more convenient string class.
Definition: String.h:57
SOLVER
Definition: LPWrapper.h:129
A container for features.
Definition: FeatureMap.h:94
unsigned int UInt
Unsigned integer type.
Definition: Types.h:95
Main OpenMS namespace.
Definition: FeatureDeconvolution.h:47
Definition: LPWrapper.h:66
OPENSWATHALGO_DLLAPI void normalize(const std::vector< double > &intensities, double normalization_factor, std::vector< double > &normalized_intensities)
Normalize intensities in vector by normalization_factor.
This class implements the database preprocessing needing for precursor ion selection.
Definition: PrecursorIonSelectionPreprocessing.h:56
std::ostream & operator<<(std::ostream &os, const AccurateMassSearchResult &amsr)
An LC-MS feature.
Definition: Feature.h:70
This class implements protein inference for the precursor ion selection strategies.
Definition: PSProteinInference.h:53
In-Memory representation of a mass spectrometry experiment.
Definition: MSExperiment.h:82
size_t Size
Size type e.g. used as variable which can hold result of size()
Definition: Types.h:128
A base class for all classes handling default parameters.
Definition: DefaultParamHandler.h:92
int Int
Signed integer type.
Definition: Types.h:103