| OpenMS 2.5.0

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

Search for cross-linked peptide pairs in tandem MS spectra. More...

`#include <OpenMS/ANALYSIS/XLMS/OpenPepXLLFAlgorithm.h>`

Inheritance diagram for OpenPepXLLFAlgorithm:

## Public Types

enum | ExitCodes { EXECUTION_OK, ILLEGAL_PARAMETERS, UNEXPECTED_RESULT, INCOMPATIBLE_INPUT_DATA }
| Exit codes. More...
Public Types inherited from ProgressLogger
enum | LogType { CMD, GUI, NONE }
| Possible log types. More...

## Public Member Functions

| OpenPepXLLFAlgorithm ()
| Default constructor. More...
| ~OpenPepXLLFAlgorithm () override
| Default destructor. More...
ExitCodes | run (PeakMap &unprocessed_spectra, std::vector< FASTAFile::FASTAEntry > &fasta_db, std::vector< ProteinIdentification > &protein_ids, std::vector< PeptideIdentification > &peptide_ids, std::vector< std::vector< OPXLDataStructs::CrossLinkSpectrumMatch > > &all_top_csms, PeakMap &spectra)
| Performs the main function of this class, the search for cross-linked peptides. More...
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 | updateMembers_ () override
| This method is used to update extra member variables at the end of the setParameters() method. More...

## Private Attributes

String | decoy_string_
bool | decoy_prefix_
Int | min_precursor_charge_
Int | max_precursor_charge_
double | precursor_mass_tolerance_
bool | precursor_mass_tolerance_unit_ppm_
IntList | precursor_correction_steps_
double | fragment_mass_tolerance_
double | fragment_mass_tolerance_xlinks_
bool | fragment_mass_tolerance_unit_ppm_
StringList | cross_link_residue1_
StringList | cross_link_residue2_
double | cross_link_mass_
DoubleList | cross_link_mass_mono_link_
String | cross_link_name_
StringList | fixedModNames_
StringList | varModNames_
Size | max_variable_mods_per_peptide_
Size | peptide_min_size_
Size | missed_cleavages_
String | enzyme_name_
Int | number_top_hits_
String | deisotope_mode_
bool | use_sequence_tags_
Size | sequence_tag_min_length_
String | add_y_ions_
String | add_b_ions_
String | add_x_ions_
String | add_a_ions_
String | add_c_ions_
String | add_z_ions_
String | add_losses_

## Additional Inherited Members

Protected Member Functions inherited from DefaultParamHandler
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

Search for cross-linked peptide pairs in tandem MS spectra.

This tool performs a search for cross-links in the given mass spectra.

It executes the following steps in order:

- Processing of spectra: deisotoping and filtering
- Digesting and preprocessing the protein database, building a peptide pair index dependent on the precursor masses of the MS2 spectra
- Generating theoretical spectra of cross-linked peptides and aligning the experimental spectra against those
- Scoring of cross-link spectrum matches
- Using PeptideIndexer to map the peptides to all possible source proteins

See below for available parameters and more functionality.

### Input: MS2 spectra and fasta database of proteins expected to be cross-linked in the sample

The spectra should be provided as one PeakMap. If you have multiple files, e.g. for multiple fractions, you should run this tool on each file separately. The database should be provided as a vector of FASTAEntrys containing the target and decoy proteins.

### Parameters

The parameters for fixed and variable modifications refer to additional modifications beside the cross-linker. The linker used in the experiment has to be described using the cross-linker specific parameters. Only one mass is allowed for a cross-linker that links two peptides, while multiple masses are possible for mono-links of the same cross-linking reagent. Mono-links are cross-linkers, that are linked to one peptide by one of their two reactive groups. To search for isotopically labeled pairs of cross-linkers see the tool OpenPepXL. The parameters -cross_linker:residue1 and -cross_linker:residue2 are used to enumerate the amino acids, that each end of the linker can react with. This way any heterobifunctional cross-linker can be defined. To define a homobifunctional cross-linker, these two parameters should have the same value. The parameter -cross_linker:name is used to solve ambiguities caused by different cross-linkers with the same mass after the linking reaction (see section on output for clarification).

### Output: XL-MS Identifications with scores and linked positions in the proteins

The input parameters protein_ids and peptide_ids are filled with XL-MS search parameters and IDs

pot. predecessor tools | OpenPepXLLF | pot. successor tools
- | -

## Member Enumeration Documentation

## ◆ ExitCodes

enum ExitCodes

Exit codes.

Enumerator
EXECUTION_OK |
ILLEGAL_PARAMETERS |
UNEXPECTED_RESULT |
INCOMPATIBLE_INPUT_DATA |

## Constructor & Destructor Documentation

## ◆ OpenPepXLLFAlgorithm()

OpenPepXLLFAlgorithm | ( |  | ) |

Default constructor.

## ◆ ~OpenPepXLLFAlgorithm()

~OpenPepXLLFAlgorithm | ( |  | ) |

override

Default destructor.

## Member Function Documentation

## ◆ run()

ExitCodes run | ( | PeakMap & | unprocessed_spectra,
|  | std::vector< FASTAFile::FASTAEntry > & | fasta_db,
|  | std::vector< ProteinIdentification > & | protein_ids,
|  | std::vector< PeptideIdentification > & | peptide_ids,
|  | std::vector< std::vector< OPXLDataStructs::CrossLinkSpectrumMatch > > & | all_top_csms,
|  | PeakMap & | spectra
| ) |  |

Performs the main function of this class, the search for cross-linked peptides.

Parameters

  unprocessed_spectra | The input PeakMap of experimental spectra
  fasta_db | The protein database containing targets and decoys
  protein_ids | A result vector containing search settings. Should contain one PeptideIdentification.
  peptide_ids | A result vector containing cross-link spectrum matches as PeptideIdentifications and PeptideHits. Should be empty.
  preprocessed_pair_spectra | A result structure containing linear and cross-linked ion spectra. Will be overwritten. This is only necessary for writing out xQuest type spectrum files.
  spectrum_pairs | A result vector containing paired spectra indices. Should be empty. This is only necessary for writing out xQuest type spectrum files.
  all_top_csms | A result vector containing cross-link spectrum matches as CrossLinkSpectrumMatches. Should be empty. This is only necessary for writing out xQuest type spectrum files.
  spectra | A result vector containing the input spectra after preprocessing and filtering. Should be empty. This is only necessary for writing out xQuest type spectrum files.

## ◆ updateMembers_()

void updateMembers_ | ( |  | ) |

override private virtual

This method is used to update extra member variables at the end of the setParameters() method.

Also call it at the end of the derived classes' copy constructor and assignment operator.

The default implementation is empty.

Reimplemented from DefaultParamHandler.

## Member Data Documentation

## ◆ add_a_ions_

String add_a_ions_

private

## ◆ add_b_ions_

String add_b_ions_

private

## ◆ add_c_ions_

String add_c_ions_

private

## ◆ add_losses_

String add_losses_

private

## ◆ add_x_ions_

String add_x_ions_

private

## ◆ add_y_ions_

String add_y_ions_

private

## ◆ add_z_ions_

String add_z_ions_

private

## ◆ cross_link_mass_

double cross_link_mass_

private

## ◆ cross_link_mass_mono_link_

DoubleList cross_link_mass_mono_link_

private

## ◆ cross_link_name_

String cross_link_name_

private

## ◆ cross_link_residue1_

StringList cross_link_residue1_

private

## ◆ cross_link_residue2_

StringList cross_link_residue2_

private

## ◆ decoy_prefix_

bool decoy_prefix_

private

## ◆ decoy_string_

String decoy_string_

private

## ◆ deisotope_mode_

String deisotope_mode_

private

## ◆ enzyme_name_

String enzyme_name_

private

## ◆ fixedModNames_

StringList fixedModNames_

private

## ◆ fragment_mass_tolerance_

double fragment_mass_tolerance_

private

## ◆ fragment_mass_tolerance_unit_ppm_

bool fragment_mass_tolerance_unit_ppm_

private

## ◆ fragment_mass_tolerance_xlinks_

double fragment_mass_tolerance_xlinks_

private

## ◆ max_precursor_charge_

Int max_precursor_charge_

private

## ◆ max_variable_mods_per_peptide_

Size max_variable_mods_per_peptide_

private

## ◆ min_precursor_charge_

Int min_precursor_charge_

private

## ◆ missed_cleavages_

Size missed_cleavages_

private

## ◆ number_top_hits_

Int number_top_hits_

private

## ◆ peptide_min_size_

Size peptide_min_size_

private

## ◆ precursor_correction_steps_

IntList precursor_correction_steps_

private

## ◆ precursor_mass_tolerance_

double precursor_mass_tolerance_

private

## ◆ precursor_mass_tolerance_unit_ppm_

bool precursor_mass_tolerance_unit_ppm_

private

## ◆ sequence_tag_min_length_

Size sequence_tag_min_length_

private

## ◆ use_sequence_tags_

bool use_sequence_tags_

private

## ◆ varModNames_

StringList varModNames_

private