| OpenMS 2.5.0

Public Types | Public Member Functions | Private Member Functions | List of all members
BasicProteinInferenceAlgorithm Class Reference

Algorithm class that implements simple protein inference by aggregation of peptide scores. It has multiple parameter options like the aggregation method, when to distinguish peptidoforms, and if you want to use shared peptides ("use_shared_peptides"). First, the best PSM per spectrum is used, then only the best PSM per peptidoform is aggregated. Peptidoforms can optionally be distinguished via the treat_X_separate parameters: More...

`#include <OpenMS/ANALYSIS/ID/BasicProteinInferenceAlgorithm.h>`

Inheritance diagram for BasicProteinInferenceAlgorithm:

## Public Types

enum | AggregationMethod { PROD, SUM, MAXIMUM }
| The aggregation method. More...
Public Types inherited from ProgressLogger
enum | LogType { CMD, GUI, NONE }
| Possible log types. More...

## Public Member Functions

| BasicProteinInferenceAlgorithm ()
| Default constructor. More...
void | run (std::vector< PeptideIdentification > &pep_ids, std::vector< ProteinIdentification > &prot_ids) const
void | run (std::vector< PeptideIdentification > &pep_ids, ProteinIdentification &prot_id) const
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 DefaultParamHandler & | operator= (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 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...
Public Member Functions inherited from ProgressLogger
| ProgressLogger ()
| Constructor. More...
| ~ProgressLogger ()
| Destructor. More...
| ProgressLogger (const ProgressLogger &other)
| Copy constructor. More...
ProgressLogger & | operator= (const ProgressLogger &other)
| Assignment Operator. More...
void | setLogType (LogType type) const
| Sets the progress log that should be used. The default type is NONE! More...
LogType | getLogType () const
| Returns the type of progress log being used. More...
void | startProgress (SignedSize begin, SignedSize end, const String &label) const
| Initializes the progress display. More...
void | setProgress (SignedSize value) const
| Sets the current progress. More...
void | endProgress () const
| Ends the progress display. More...
void | nextProgress () const
| increment progress by 1 (according to range begin-end) More...

## Private Member Functions

void | processRun_ (std::unordered_map< std::string, std::pair< ProteinHit *, Size >> &acc_to_protein_hitP_and_count, std::unordered_map< std::string, std::map< Int, PeptideHit *>> &best_pep, ProteinIdentification &prot_run, std::vector< PeptideIdentification > &pep_ids, Size min_peptides_per_protein) const
| Performs simple inference on one protein run. More...

## Additional Inherited Members

Protected Member Functions inherited from DefaultParamHandler
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...
Static Protected Member Functions inherited from ProgressLogger
static String | logTypeToFactoryName_ (LogType type)
| Return the name of the factory product used for this log type. 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< 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...
Protected Attributes inherited from ProgressLogger
LogType | type_
time_t | last_invoke_
ProgressLoggerImpl * | current_logger_
Static Protected Attributes inherited from ProgressLogger
static int | recursion_depth_

## Detailed Description

Algorithm class that implements simple protein inference by aggregation of peptide scores. It has multiple parameter options like the aggregation method, when to distinguish peptidoforms, and if you want to use shared peptides ("use_shared_peptides"). First, the best PSM per spectrum is used, then only the best PSM per peptidoform is aggregated. Peptidoforms can optionally be distinguished via the treat_X_separate parameters:

- Modifications (modified sequence string)
- Charge states The algorithm assumes posteriors or posterior error probabilities and converts to posteriors initially. Possible aggregation methods that can be set via the parameter "aggregation_method" are:
- "maximum" (default)
- "sum"
- "product" (ignoring zeroes) Annotation of the number of peptides used for aggregation can be disabled (see parameters). Supports multiple runs but goes through them one by one iterating over the full PeptideIdentification vector.

## Member Enumeration Documentation

## ◆ AggregationMethod

enum AggregationMethod

strong

The aggregation method.

Enumerator
PROD | aggregate by product (ignore zeroes)
SUM | aggregate by summing
MAXIMUM | aggregate by maximum

## Constructor & Destructor Documentation

## ◆ BasicProteinInferenceAlgorithm()

BasicProteinInferenceAlgorithm | ( |  | ) |

Default constructor.

## Member Function Documentation

## ◆ processRun_()

void processRun_ | ( | std::unordered_map< std::string, std::pair< ProteinHit *, Size >> & | acc_to_protein_hitP_and_count,
|  | std::unordered_map< std::string, std::map< Int, PeptideHit *>> & | best_pep,
|  | ProteinIdentification & | prot_run,
|  | std::vector< PeptideIdentification > & | pep_ids,
|  | Size | min_peptides_per_protein
| ) |  | const

private

Performs simple inference on one protein run.

Parameters

  acc_to_protein_hitP_and_count | Maps Accessions to a pair of ProteinHit pointers and number of peptidoforms encountered could use member as hash to save strings
  best_pep | Maps (un)modified peptide sequence to a map from charge (0 when unconsidered) to the best PeptideHit pointer
  prot_run | The current run to process
  pep_ids | Peptides for the current run to process

## ◆ run() [1/2]

void run | ( | std::vector< PeptideIdentification > & | pep_ids,
|  | std::vector< ProteinIdentification > & | prot_ids
| ) |  | const

main method of BasicProteinInferenceAlgorithm inputs are not const, since it will get annotated with results annotation of protein groups is currently only possible for a single protein ID run

Referenced by UTILProteomicsLFQ::main_().

## ◆ run() [2/2]

void run | ( | std::vector< PeptideIdentification > & | pep_ids,
|  | ProteinIdentification & | prot_id
| ) |  | const