OpenMS  2.7.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:
[legend]
Collaboration diagram for BasicProteinInferenceAlgorithm:
[legend]

Public Types

enum class  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 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...
 
- Public Member Functions inherited from ProgressLogger
 ProgressLogger ()
 Constructor. More...
 
virtual ~ProgressLogger ()
 Destructor. More...
 
 ProgressLogger (const ProgressLogger &other)
 Copy constructor. More...
 
ProgressLoggeroperator= (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

- Static Public Member Functions inherited from DefaultParamHandler
static void writeParametersToMetaValues (const Param &write_this, MetaInfoInterface &write_here, const String &prefix="")
 Writes all parameters to meta values. More...
 
- 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< 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...
 
- Protected Attributes inherited from ProgressLogger
LogType type_
 
time_t last_invoke_
 
ProgressLoggerImplcurrent_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:

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()

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_countMaps Accessions to a pair of ProteinHit pointers and number of peptidoforms encountered @Todo could use member as hash to save strings
best_pepMaps (un)modified peptide sequence to a map from charge (0 when unconsidered) to the best PeptideHit pointer
prot_runThe current run to process
pep_idsPeptides for the current run to process

◆ run() [1/2]

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

◆ run() [2/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