Home  · Classes  · Annotated Classes  · Modules  · Members  · Namespaces  · Related Pages
Classes | Public Types | Public Member Functions | Private Member Functions | Private Attributes | List of all members
PrecursorIonSelection Class Reference

This class implements different precursor ion selection strategies. More...

#include <OpenMS/ANALYSIS/TARGETED/PrecursorIonSelection.h>

Inheritance diagram for PrecursorIonSelection:
DefaultParamHandler

Classes

struct  SeqTotalScoreMore
 Compare by score. More...
 
struct  TotalScoreMore
 Compare by score. More...
 

Public Types

enum  Type {
  IPS, ILP_IPS, SPS, UPSHIFT,
  DOWNSHIFT, DEX
}
 Precursor ion selection type (iterative, static, upshift, downshift, dynamic exclusion). More...
 

Public Member Functions

 PrecursorIonSelection ()
 
 PrecursorIonSelection (const PrecursorIonSelection &source)
 
 ~PrecursorIonSelection ()
 
const DoubleRealgetMaxScore () const
 
void setMaxScore (const DoubleReal &max_score)
 
void sortByTotalScore (FeatureMap<> &features)
 Sort features by total score. More...
 
void getNextPrecursors (FeatureMap<> &features, FeatureMap<> &next_features, UInt number)
 Returns features with highest score for MS/MS. More...
 
void getNextPrecursorsSeq (FeatureMap<> &features, FeatureMap<> &next_features, UInt number, DoubleReal &rt)
 
void getNextPrecursors (std::vector< Int > &solution_indices, std::vector< PSLPFormulation::IndexTriple > &variable_indices, std::set< Int > &measured_variables, FeatureMap<> &features, FeatureMap<> &new_features, UInt step_size, PSLPFormulation &ilp)
 
void rescore (FeatureMap<> &features, std::vector< PeptideIdentification > &new_pep_ids, std::vector< ProteinIdentification > &prot_ids, PrecursorIonSelectionPreprocessing &preprocessed_db, bool check_meta_values=true)
 Change scoring of features using peptide identifications only from spectra of the last iteration. More...
 
void simulateRun (FeatureMap<> &features, std::vector< PeptideIdentification > &pep_ids, std::vector< ProteinIdentification > &prot_ids, PrecursorIonSelectionPreprocessing &preprocessed_db, String path, MSExperiment<> &experiment, String precursor_path="")
 Simulate the iterative precursor ion selection. More...
 
void setLPSolver (LPWrapper::SOLVER solver)
 
LPWrapper::SOLVER getLPSolver ()
 
void reset ()
 
const std::map< String,
std::set< String > > & 
getPeptideProteinCounter ()
 
- Public Member Functions inherited from DefaultParamHandler
 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 DefaultParamHandleroperator= (const DefaultParamHandler &rhs)
 Assignment operator. More...
 
virtual bool operator== (const DefaultParamHandler &rhs) const
 Equality operator. More...
 
void setParameters (const Param &param)
 Sets the parameters. More...
 
const ParamgetParameters () const
 Non-mutable access to the parameters. More...
 
const ParamgetDefaults () const
 Non-mutable access to the default parameters. More...
 
const StringgetName () 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...
 

Private Member Functions

void simulateILPBasedIPSRun_ (FeatureMap<> &features, MSExperiment<> &experiment, std::vector< PeptideIdentification > &pep_ids, std::vector< ProteinIdentification > &prot_ids, PrecursorIonSelectionPreprocessing &preprocessed_db, String output_path, String precursor_path="")
 
void simulateRun_ (FeatureMap<> &features, std::vector< PeptideIdentification > &pep_ids, std::vector< ProteinIdentification > &prot_ids, PrecursorIonSelectionPreprocessing &preprocessed_db, String path, String precursor_path="")
 
void shiftDown_ (FeatureMap<> &features, PrecursorIonSelectionPreprocessing &preprocessed_db, String protein_acc)
 
void shiftUp_ (FeatureMap<> &features, PrecursorIonSelectionPreprocessing &preprocessed_db, String protein_acc)
 
void updateMembers_ ()
 update members method from DefaultParamHandler to update the members More...
 
void rescore_ (FeatureMap<> &features, std::vector< PeptideIdentification > &new_pep_ids, PrecursorIonSelectionPreprocessing &preprocessed_db, PSProteinInference &protein_inference)
 
void checkForRequiredUserParams_ (FeatureMap<> &features)
 Adds user params, required for the use of IPS, to a feature map using default values. More...
 
UInt filterProtIds_ (std::vector< ProteinIdentification > &prot_ids)
 Groups protein identifications that cannot be distinguished by their peptide identifications. More...
 
std::vector
< PeptideIdentification
filterPeptideIds_ (std::vector< PeptideIdentification > &pep_ids)
 
void convertPeptideIdScores_ (std::vector< PeptideIdentification > &pep_ids)
 

Private Attributes

UInt min_pep_ids_
 minimal number of peptides identified for a protein to be declared identified More...
 
DoubleReal max_score_
 maximal score in the FeatureMap More...
 
Type type_
 precursor ion selection strategy More...
 
std::map< String, std::set
< String > > 
prot_id_counter_
 stores the peptide sequences for all protein identifications More...
 
std::vector< Sizefraction_counter_
 stores the number of selected precursors per fraction More...
 
DoubleReal mz_tolerance_
 precursor ion error tolerance More...
 
String mz_tolerance_unit_
 precursor ion error tolerance unit (ppm or Da) More...
 
UInt max_iteration_
 maximal number of iterations More...
 
Size x_variable_number_
 
LPWrapper::SOLVER solver_
 

Additional Inherited Members

- Protected Member Functions inherited from DefaultParamHandler
void defaultsToParam_ ()
 Updates the parameters after the defaults have been set in the constructor. More...
 
- Protected Attributes inherited from DefaultParamHandler
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< Stringsubsections_
 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...
 

Detailed Description

This class implements different precursor ion selection strategies.

Parameters of this class are:

NameTypeDefaultRestrictionsDescription
type stringIPS ILP_IPS, IPS, SPS, Upshift, Downshift, DEXStrategy for precursor ion selection.
max_iteration int100 min: 1Maximal number of iterations.
rt_bin_capacity int10 min: 1Maximal number of precursors per rt bin.
step_size int1 min: 1Maximal number of precursors per iteration.
peptide_min_prob float0.2  Minimal peptide probability.
sequential_spectrum_order stringfalse true, falseIf true, precursors are selected sequentially with respect to their RT.
MIPFormulation:thresholds:min_protein_probability float0.2 min: 0 max: 1Minimal protein probability for a protein to be considered in the ILP
MIPFormulation:thresholds:min_protein_id_probability float0.95 min: 0 max: 1Minimal protein probability for a protein to be considered identified.
MIPFormulation:thresholds:min_pt_weight float0.5 min: 0 max: 1Minimal pt weight of a precursor
MIPFormulation:thresholds:min_mz float500 min: 0Minimal mz to be considered in protein based LP formulation.
MIPFormulation:thresholds:max_mz float5000 min: 0Minimal mz to be considered in protein based LP formulation.
MIPFormulation:thresholds:min_pred_pep_prob float0.5 min: 0 max: 1Minimal predicted peptide probability of a precursor
MIPFormulation:thresholds:min_rt_weight float0.5 min: 0 max: 1Minimal rt weight of a precursor
MIPFormulation:thresholds:use_peptide_rule stringfalse true, falseUse peptide rule instead of minimal protein id probability
MIPFormulation:thresholds:min_peptide_ids int2 min: 1If use_peptide_rule is true, this parameter sets the minimal number of peptide ids for a protein id
MIPFormulation:thresholds:min_peptide_probability float0.95 min: 0 max: 1If use_peptide_rule is true, this parameter sets the minimal probability for a peptide to be safely identified
MIPFormulation:combined_ilp:k1 float0.2 min: 0combined ilp: weight for z_i
MIPFormulation:combined_ilp:k2 float0.2 min: 0combined ilp: weight for x_j,s*int_j,s
MIPFormulation:combined_ilp:k3 float0.4 min: 0combined ilp: weight for -x_j,s*w_j,s
MIPFormulation:combined_ilp:scale_matching_probs stringtrue true, falseflag if detectability * rt_weight shall be scaled to cover all [0,1]
Preprocessing:precursor_mass_tolerance float10 min: 0Precursor mass tolerance which is used to query the peptide database for peptides
Preprocessing:precursor_mass_tolerance_unit stringppm ppm, DaPrecursor mass tolerance unit.
Preprocessing:preprocessed_db_path string  Path where the preprocessed database should be stored
Preprocessing:preprocessed_db_pred_rt_path string  Path where the predicted rts of the preprocessed database should be stored
Preprocessing:preprocessed_db_pred_dt_path string  Path where the predicted rts of the preprocessed database should be stored
Preprocessing:max_peptides_per_run int100000 min: 1Number of peptides for that the pt and rt are parallely predicted.
Preprocessing:missed_cleavages int1 min: 0Number of allowed missed cleavages.
Preprocessing:taxonomy string  Taxonomy
Preprocessing:tmp_dir string  Absolute path to tmp data directory used to store files needed for rt and dt prediction.
Preprocessing:store_peptide_sequences stringfalse  Flag if peptide sequences should be stored.
Preprocessing:rt_settings:min_rt float960 min: 1Minimal RT in the experiment (in seconds)
Preprocessing:rt_settings:max_rt float3840  Maximal RT in the experiment (in seconds)
Preprocessing:rt_settings:rt_step_size float30  Time between two consecutive spectra (in seconds)
Preprocessing:rt_settings:gauss_mean float-1  mean of the gauss curve
Preprocessing:rt_settings:gauss_sigma float3  std of the gauss curve

Note:

Member Enumeration Documentation

enum Type

Precursor ion selection type (iterative, static, upshift, downshift, dynamic exclusion).

The iterative strategy changes the ranking of possible precursors based on identification results from previous iterations.

The upshift strategy assigns a higher priority to precursors whose masses are matching peptide masses of potential protein identifications to enable a safe identification in the next iterations.

The downshift strategy assigns a lower priority to precursors whose masses are matching peptide masses of safe protein identifications.

The dynamic exclusion exludes precursors whose masses are matching peptide masses of safe protein identifications.

The static selection uses precomputed scores to rank the precursor, the order of precursors isn't changed throughout the run.

Enumerator
IPS 
ILP_IPS 
SPS 
UPSHIFT 
DOWNSHIFT 
DEX 

Constructor & Destructor Documentation

Member Function Documentation

void checkForRequiredUserParams_ ( FeatureMap<> &  features)
private

Adds user params, required for the use of IPS, to a feature map using default values.

Parameters
featuresFeatureMap with all possible precursors
void convertPeptideIdScores_ ( std::vector< PeptideIdentification > &  pep_ids)
private
std::vector<PeptideIdentification> filterPeptideIds_ ( std::vector< PeptideIdentification > &  pep_ids)
private
UInt filterProtIds_ ( std::vector< ProteinIdentification > &  prot_ids)
private

Groups protein identifications that cannot be distinguished by their peptide identifications.

Parameters
prot_idsAll protein identifications.
LPWrapper::SOLVER getLPSolver ( )
inline
const DoubleReal& getMaxScore ( ) const
void getNextPrecursors ( FeatureMap<> &  features,
FeatureMap<> &  next_features,
UInt  number 
)

Returns features with highest score for MS/MS.

Parameters
featuresFeatureMap with all possible precursors
next_featuresFeatureMap with next precursors
numberNumber of features to be reported
void getNextPrecursors ( std::vector< Int > &  solution_indices,
std::vector< PSLPFormulation::IndexTriple > &  variable_indices,
std::set< Int > &  measured_variables,
FeatureMap<> &  features,
FeatureMap<> &  new_features,
UInt  step_size,
PSLPFormulation ilp 
)
void getNextPrecursorsSeq ( FeatureMap<> &  features,
FeatureMap<> &  next_features,
UInt  number,
DoubleReal rt 
)
const std::map<String, std::set<String> >& getPeptideProteinCounter ( )
inline
void rescore ( FeatureMap<> &  features,
std::vector< PeptideIdentification > &  new_pep_ids,
std::vector< ProteinIdentification > &  prot_ids,
PrecursorIonSelectionPreprocessing preprocessed_db,
bool  check_meta_values = true 
)

Change scoring of features using peptide identifications only from spectra of the last iteration.

Parameters
featuresFeatureMap with all possible precursors
new_pep_idsPeptide identifications
preprocessed_dbInformation from preprocessed database Change scoring of features using peptide identifications from all spectra.
featuresFeatureMap with all possible precursors
new_pep_idsPeptide identifications
prot_idsProtein identifications
preprocessed_dbInformation from preprocessed database
check_meta_valuesTrue if the FeatureMap should be checked for the presence of required meta values
void rescore_ ( FeatureMap<> &  features,
std::vector< PeptideIdentification > &  new_pep_ids,
PrecursorIonSelectionPreprocessing preprocessed_db,
PSProteinInference protein_inference 
)
private
void reset ( )
void setLPSolver ( LPWrapper::SOLVER  solver)
inline
void setMaxScore ( const DoubleReal max_score)
void shiftDown_ ( FeatureMap<> &  features,
PrecursorIonSelectionPreprocessing preprocessed_db,
String  protein_acc 
)
private
void shiftUp_ ( FeatureMap<> &  features,
PrecursorIonSelectionPreprocessing preprocessed_db,
String  protein_acc 
)
private
void simulateILPBasedIPSRun_ ( FeatureMap<> &  features,
MSExperiment<> &  experiment,
std::vector< PeptideIdentification > &  pep_ids,
std::vector< ProteinIdentification > &  prot_ids,
PrecursorIonSelectionPreprocessing preprocessed_db,
String  output_path,
String  precursor_path = "" 
)
private
void simulateRun ( FeatureMap<> &  features,
std::vector< PeptideIdentification > &  pep_ids,
std::vector< ProteinIdentification > &  prot_ids,
PrecursorIonSelectionPreprocessing preprocessed_db,
String  path,
MSExperiment<> &  experiment,
String  precursor_path = "" 
)

Simulate the iterative precursor ion selection.

Parameters
featuresFeatureMap with all possible precursors
pep_idsPeptide identifications
prot_idsProtein identifications
preprocessed_dbInformation from preprocessed database
step_sizeNumber of MS/MS spectra considered per iteration
pathPath to output file
void simulateRun_ ( FeatureMap<> &  features,
std::vector< PeptideIdentification > &  pep_ids,
std::vector< ProteinIdentification > &  prot_ids,
PrecursorIonSelectionPreprocessing preprocessed_db,
String  path,
String  precursor_path = "" 
)
private
void sortByTotalScore ( FeatureMap<> &  features)
inline

Sort features by total score.

void updateMembers_ ( )
privatevirtual

update members method from DefaultParamHandler to update the members

Reimplemented from DefaultParamHandler.

Member Data Documentation

std::vector<Size> fraction_counter_
private

stores the number of selected precursors per fraction

UInt max_iteration_
private

maximal number of iterations

DoubleReal max_score_
private

maximal score in the FeatureMap

UInt min_pep_ids_
private

minimal number of peptides identified for a protein to be declared identified

DoubleReal mz_tolerance_
private

precursor ion error tolerance

String mz_tolerance_unit_
private

precursor ion error tolerance unit (ppm or Da)

std::map<String, std::set<String> > prot_id_counter_
private

stores the peptide sequences for all protein identifications

LPWrapper::SOLVER solver_
private
Type type_
private

precursor ion selection strategy

Size x_variable_number_
private

OpenMS / TOPP release 1.11.1 Documentation generated on Thu Nov 14 2013 11:19:27 using doxygen 1.8.5