![]() |
OpenMS
2.5.0
|
Implements ILP formulation of precursor selection problems. More...
#include <OpenMS/ANALYSIS/TARGETED/PSLPFormulation.h>
Classes | |
struct | IndexLess |
struct | IndexTriple |
Struct that holds the indices of the precursors in the feature map and the ilp formulation. More... | |
struct | ScanLess |
struct | VariableIndexLess |
Public Member Functions | |
PSLPFormulation () | |
~PSLPFormulation () override | |
void | createAndSolveILPForKnownLCMSMapFeatureBased (const FeatureMap &features, const PeakMap &experiment, std::vector< IndexTriple > &variable_indices, std::vector< std::vector< std::pair< Size, Size > > > &mass_ranges, std::set< Int > &charges_set, UInt ms2_spectra_per_rt_bin, std::vector< int > &solution_indices) |
Encode ILP formulation for a given LC-MS map, but unknown protein sample. More... | |
void | createAndSolveILPForInclusionListCreation (PrecursorIonSelectionPreprocessing &preprocessing, UInt ms2_spectra_per_rt_bin, UInt max_list_size, FeatureMap &precursors, bool solve_ILP=true) |
Find a set of precursors, so that the protein coverage is maximal and that the number of precursors per bin is not exceeded. More... | |
void | createAndSolveCombinedLPForKnownLCMSMapFeatureBased (const FeatureMap &features, const PeakMap &experiment, std::vector< IndexTriple > &variable_indices, std::vector< int > &solution_indices, std::vector< std::vector< std::pair< Size, Size > > > &mass_ranges, std::set< Int > &charges_set, UInt ms2_spectra_per_rt_bin, Size step_size=0, bool sequential_order=false) |
void | updateStepSizeConstraint (Size iteration, UInt step_size) |
void | updateFeatureILPVariables (FeatureMap &new_features, std::vector< IndexTriple > &variable_indices, std::map< Size, std::vector< String > > &feature_constraints_map) |
void | updateRTConstraintsForSequentialILP (Size &rt_index, UInt ms2_spectra_per_rt_bin, Size max_rt_index) |
void | updateCombinedILP (FeatureMap &features, PrecursorIonSelectionPreprocessing &preprocessed_db, std::vector< IndexTriple > &variable_indices, std::vector< String > &new_protein_accs, std::vector< String > &protein_accs, PSProteinInference &prot_inference, Size &variable_counter, std::map< String, std::vector< Size > > &protein_feature_map, Feature &new_feature, std::map< String, Size > &protein_variable_index_map, std::map< String, std::set< String > > &prot_id_counter) |
void | solveILP (std::vector< int > &solution_indices) |
Solve the ILP. More... | |
void | setLPSolver (LPWrapper::SOLVER solver) |
LPWrapper::SOLVER | getLPSolver () |
![]() | |
DefaultParamHandler (const String &name) | |
Constructor with name that is displayed in error messages. More... | |
DefaultParamHandler (const DefaultParamHandler &rhs) | |
Copy constructor. More... | |
virtual | ~DefaultParamHandler () |
Destructor. More... | |
virtual DefaultParamHandler & | operator= (const DefaultParamHandler &rhs) |
Assignment operator. More... | |
virtual bool | operator== (const DefaultParamHandler &rhs) const |
Equality operator. More... | |
void | setParameters (const Param ¶m) |
Sets the parameters. More... | |
const Param & | getParameters () const |
Non-mutable access to the parameters. More... | |
const Param & | getDefaults () const |
Non-mutable access to the default parameters. More... | |
const String & | getName () const |
Non-mutable access to the name. More... | |
void | setName (const String &name) |
Mutable access to the name. More... | |
const std::vector< String > & | getSubsections () const |
Non-mutable access to the registered subsections. More... | |
Protected Member Functions | |
void | getXIC_ (const std::vector< std::pair< Size, Size > > &end_points, std::vector< double > &weights, const PeakMap &experiment, const bool normalize) |
void | calculateXICs_ (std::vector< std::vector< double > > &xics, const FeatureMap &features, const PeakMap &experiment, const std::vector< std::vector< std::pair< Size, Size > > > &mass_ranges, const bool normalize) |
Calculates the XICs for all features. More... | |
void | createAndSolveILP_ (const FeatureMap &features, std::vector< std::vector< double > > &intensity_weights, std::set< Int > &charges_set, std::vector< std::vector< std::pair< Size, Size > > > &mass_ranges, std::vector< IndexTriple > &variable_indices, std::vector< int > &solution_indices, UInt ms2_spectra_per_rt_bin, Size number_of_scans) |
Creates and solves the ILP. More... | |
void | createAndSolveCombinedLPFeatureBased_ (const FeatureMap &features, std::vector< std::vector< double > > &intensity_weights, std::set< Int > &charges_set, std::vector< std::vector< std::pair< Size, Size > > > &mass_ranges, std::vector< IndexTriple > &variable_indices, std::vector< Int > &solution_indices, UInt ms2_spectra_per_rt_bin, Size number_of_scans, Size step_size=0, bool sequential_order=false) |
void | addProteinToILP_ (PrecursorIonSelectionPreprocessing &preprocessing, std::map< String, std::vector< double > >::const_iterator map_iter, Size &counter, Size &pep_counter, Size &feature_counter, std::vector< IndexTriple > &variable_indices, std::map< String, Size > &protein_penalty_index_map, FeatureMap &precursors) |
void | addPrecursorAcquisitionNumberConstraint_ (std::vector< IndexTriple > &variable_indices, Size number_of_features, UInt number_of_msms_per_precursor) |
void | addMaxInclusionListSizeConstraints_ (std::vector< IndexTriple > &variable_indices, UInt max_list_size) |
void | addRTBinCapacityConstraint_ (std::vector< IndexTriple > &variable_indices, Size max_rt_index, UInt ms2_spectra_per_rt_bin, bool sequential_order=false) |
void | addProteinCoverageConstraint_ (std::vector< IndexTriple > &variable_indices, PrecursorIonSelectionPreprocessing &preprocessing, std::map< String, Size > protein_variable_index_map) |
void | addStepSizeConstraint_ (std::vector< IndexTriple > &variable_indices, UInt step_size) |
void | assembleInclusionListForProteinBasedLP_ (std::vector< IndexTriple > &variable_indices, FeatureMap &precursors, std::vector< int > &solution_indices, PrecursorIonSelectionPreprocessing &preprocessing) |
void | updateObjFunction_ (String acc, FeatureMap &features, PrecursorIonSelectionPreprocessing &preprocessed_db, std::vector< IndexTriple > &variable_indices) |
Int | getNumberOfPrecsInSpectrum_ (Int constr_idx) |
![]() | |
virtual void | updateMembers_ () |
This method is used to update extra member variables at the end of the setParameters() method. More... | |
void | defaultsToParam_ () |
Updates the parameters after the defaults have been set in the constructor. More... | |
Protected Attributes | |
LPWrapper * | model_ |
LPWrapper::SOLVER | solver_ |
![]() | |
Param | param_ |
Container for current parameters. More... | |
Param | defaults_ |
Container for default parameters. This member should be filled in the constructor of derived classes! More... | |
std::vector< String > | subsections_ |
Container for registered subsections. This member should be filled in the constructor of derived classes! More... | |
String | error_name_ |
Name that is displayed in error messages during the parameter checking. More... | |
bool | check_defaults_ |
If this member is set to false no checking if parameters in done;. More... | |
bool | warn_empty_defaults_ |
If this member is set to false no warning is emitted when defaults are empty;. More... | |
Implements ILP formulation of precursor selection problems.
struct OpenMS::PSLPFormulation::IndexTriple |
PSLPFormulation | ( | ) |
|
override |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
Calculates the XICs for all features.
|
protected |
void createAndSolveCombinedLPForKnownLCMSMapFeatureBased | ( | const FeatureMap & | features, |
const PeakMap & | experiment, | ||
std::vector< IndexTriple > & | variable_indices, | ||
std::vector< int > & | solution_indices, | ||
std::vector< std::vector< std::pair< Size, Size > > > & | mass_ranges, | ||
std::set< Int > & | charges_set, | ||
UInt | ms2_spectra_per_rt_bin, | ||
Size | step_size = 0 , |
||
bool | sequential_order = false |
||
) |
|
protected |
Creates and solves the ILP.
void createAndSolveILPForInclusionListCreation | ( | PrecursorIonSelectionPreprocessing & | preprocessing, |
UInt | ms2_spectra_per_rt_bin, | ||
UInt | max_list_size, | ||
FeatureMap & | precursors, | ||
bool | solve_ILP = true |
||
) |
Find a set of precursors, so that the protein coverage is maximal and that the number of precursors per bin is not exceeded.
void createAndSolveILPForKnownLCMSMapFeatureBased | ( | const FeatureMap & | features, |
const PeakMap & | experiment, | ||
std::vector< IndexTriple > & | variable_indices, | ||
std::vector< std::vector< std::pair< Size, Size > > > & | mass_ranges, | ||
std::set< Int > & | charges_set, | ||
UInt | ms2_spectra_per_rt_bin, | ||
std::vector< int > & | solution_indices | ||
) |
Encode ILP formulation for a given LC-MS map, but unknown protein sample.
features | FeatureMap with all possible precursors |
experiment | Input raw data |
variable_indices | Assignment of feature indices and ILP variables |
mass_ranges | Feature borders as indices in the raw data |
charges_set | Allowed charge states |
ms2_spectra_per_rt_bin | Allowed number of precursors per rt bin |
solution_indices | Indices of ILP variables that are in the optimal solution |
|
inline |
|
protected |
|
inline |
void solveILP | ( | std::vector< int > & | solution_indices | ) |
Solve the ILP.
void updateCombinedILP | ( | FeatureMap & | features, |
PrecursorIonSelectionPreprocessing & | preprocessed_db, | ||
std::vector< IndexTriple > & | variable_indices, | ||
std::vector< String > & | new_protein_accs, | ||
std::vector< String > & | protein_accs, | ||
PSProteinInference & | prot_inference, | ||
Size & | variable_counter, | ||
std::map< String, std::vector< Size > > & | protein_feature_map, | ||
Feature & | new_feature, | ||
std::map< String, Size > & | protein_variable_index_map, | ||
std::map< String, std::set< String > > & | prot_id_counter | ||
) |
void updateFeatureILPVariables | ( | FeatureMap & | new_features, |
std::vector< IndexTriple > & | variable_indices, | ||
std::map< Size, std::vector< String > > & | feature_constraints_map | ||
) |
|
protected |
void updateRTConstraintsForSequentialILP | ( | Size & | rt_index, |
UInt | ms2_spectra_per_rt_bin, | ||
Size | max_rt_index | ||
) |
|
protected |
|
protected |