OpenMS
XTandemInfile Class Reference

XTandem input file. More...

#include <OpenMS/FORMAT/XTandemInfile.h>

Inheritance diagram for XTandemInfile:
[legend]
Collaboration diagram for XTandemInfile:
[legend]

Public Types

enum  ErrorUnit { DALTONS = 0 , PPM }
 error unit, either Da or ppm More...
 
enum  MassType { MONOISOTOPIC = 0 , AVERAGE }
 Mass type of the precursor, either monoisotopic or average. More...
 

Public Member Functions

 XTandemInfile ()
 constructor More...
 
 ~XTandemInfile () override
 constructor More...
 
void setFragmentMassTolerance (double tolerance)
 setter for the fragment mass tolerance More...
 
double getFragmentMassTolerance () const
 returns the fragment mass tolerance More...
 
void setPrecursorMassTolerancePlus (double tol)
 sets the precursor mass tolerance (plus only) More...
 
double getPrecursorMassTolerancePlus () const
 returns the precursor mass tolerance (plus only) More...
 
void setPrecursorMassToleranceMinus (double tol)
 set the precursor mass tolerance (minus only) More...
 
double getPrecursorMassToleranceMinus () const
 returns the precursor mass tolerance (minus only) More...
 
void setPrecursorErrorType (MassType mono_isotopic)
 sets the precursor mass type More...
 
MassType getPrecursorErrorType () const
 returns the precursor mass type More...
 
void setFragmentMassErrorUnit (ErrorUnit unit)
 sets the fragment mass error unit (Da, ppm) More...
 
ErrorUnit getFragmentMassErrorUnit () const
 returns the fragment mass error unit (Da, ppm) More...
 
void setPrecursorMassErrorUnit (ErrorUnit unit)
 sets the precursor mass error unit (Da, ppm) More...
 
ErrorUnit getPrecursorMassErrorUnit () const
 returns the precursor mass error unit (Da, ppm) More...
 
void setNumberOfThreads (UInt threads)
 sets the number of threads used during the identifications More...
 
UInt getNumberOfThreads () const
 returns the number of threads More...
 
void setModifications (const ModificationDefinitionsSet &mods)
 sets the modifications using a modification definitions set More...
 
const ModificationDefinitionsSetgetModifications () const
 returns the modifications set, using a modification definitions set More...
 
void setOutputFilename (const String &output)
 sets the output filename More...
 
const StringgetOutputFilename () const
 returns the output filename More...
 
void setInputFilename (const String &input_file)
 sets the input filename More...
 
const StringgetInputFilename () const
 returns the input filename More...
 
void setTaxonomyFilename (const String &filename)
 set the filename of the taxonomy file More...
 
const StringgetTaxonomyFilename () const
 returns the filename of the taxonomy file More...
 
void setDefaultParametersFilename (const String &filename)
 sets the default parameters file More...
 
const StringgetDefaultParametersFilename () const
 returns the default parameters file More...
 
void setTaxon (const String &taxon)
 sets the taxon used in the taxonomy file More...
 
const StringgetTaxon () const
 returns the taxon used in the taxonomy file More...
 
void setMaxPrecursorCharge (Int max_charge)
 sets the max precursor charge More...
 
Int getMaxPrecursorCharge () const
 returns the max precursor charge More...
 
void setNumberOfMissedCleavages (UInt missed_cleavages)
 sets the number of missed cleavages allowed More...
 
UInt getNumberOfMissedCleavages () const
 returns the number of missed cleavages allowed More...
 
void setOutputResults (const String &result)
 sets the output result type ("all", "valid" or "stochastic") More...
 
String getOutputResults () const
 returns the output result type ("all", "valid" or "stochastic") More...
 
void setMaxValidEValue (double value)
 sets the max valid E-value allowed in the list More...
 
double getMaxValidEValue () const
 returns the max valid E-value allowed in the list More...
 
void setSemiCleavage (const bool semi_cleavage)
 set state of semi cleavage More...
 
void setAllowIsotopeError (const bool allow_isotope_error)
 set if misassignment of precursor to first and second 13C isotopic peak should also be considered More...
 
bool getNoiseSuppression () const
 get state of noise suppression More...
 
void setNoiseSuppression (const bool noise_suppression)
 set state of noise suppression More...
 
void setCleavageSite (const String &cleavage_site)
 set the cleavage site with a X! Tandem conform regex More...
 
const StringgetCleavageSite () const
 returns the cleavage site regex More...
 
void write (const String &filename, bool ignore_member_parameters=false, bool force_default_mods=false)
 Writes the X! Tandem input file to the given filename. More...
 
- Public Member Functions inherited from XMLFile
 XMLFile ()
 Default constructor. More...
 
 XMLFile (const String &schema_location, const String &version)
 Constructor that sets the schema location. More...
 
virtual ~XMLFile ()
 Destructor. More...
 
bool isValid (const String &filename, std::ostream &os)
 Checks if a file validates against the XML schema. More...
 
const StringgetVersion () const
 return the version of the schema More...
 

Protected Member Functions

 XTandemInfile (const XTandemInfile &rhs)
 
XTandemInfileoperator= (const XTandemInfile &rhs)
 
void writeTo_ (std::ostream &os, bool ignore_member_parameters)
 
void writeNote_ (std::ostream &os, const String &label, const String &value)
 
void writeNote_ (std::ostream &os, const String &label, const char *value)
 
void writeNote_ (std::ostream &os, const String &label, bool value)
 
String convertModificationSet_ (const std::set< ModificationDefinition > &mods, std::map< String, double > &affected_origins) const
 Converts the given set of Modifications into a format compatible to X!Tandem. More...
 
- Protected Member Functions inherited from XMLFile
void parse_ (const String &filename, XMLHandler *handler)
 Parses the XML file given by filename using the handler given by handler. More...
 
void parseBuffer_ (const std::string &buffer, XMLHandler *handler)
 Parses the in-memory buffer given by buffer using the handler given by handler. More...
 
void save_ (const String &filename, XMLHandler *handler) const
 Stores the contents of the XML handler given by handler in the file given by filename. More...
 
void enforceEncoding_ (const String &encoding)
 

Protected Attributes

double fragment_mass_tolerance_
 
double precursor_mass_tolerance_plus_
 
double precursor_mass_tolerance_minus_
 
ErrorUnit fragment_mass_error_unit_
 
ErrorUnit precursor_mass_error_unit_
 
MassType fragment_mass_type_
 
MassType precursor_mass_type_
 
UInt max_precursor_charge_
 
double precursor_lower_mz_
 
double fragment_lower_mz_
 
UInt number_of_threads_
 
UInt batch_size_
 
ModificationDefinitionsSet modifications_
 
String input_filename_
 
String output_filename_
 
String taxonomy_file_
 
String taxon_
 
String cleavage_site_
 
bool semi_cleavage_
 semi cleavage More...
 
bool allow_isotope_error_
 
UInt number_of_missed_cleavages_
 
String default_parameters_file_
 
String output_results_
 
double max_valid_evalue_
 
bool force_default_mods_
 
- Protected Attributes inherited from XMLFile
String schema_location_
 XML schema file location. More...
 
String schema_version_
 Version string. More...
 
String enforced_encoding_
 Encoding string that replaces the encoding (system dependent or specified in the XML). Disabled if empty. Used as a workaround for XTandem output xml. More...
 

Detailed Description

XTandem input file.

This class is able to load/write a X!Tandem configuration file.

These files store parameters within 'note' tags, e.g.,

  <note type="input" label="spectrum, fragment monoisotopic mass error">0.4</note>
  <note type="input" label="output, proteins">yes</note>

Member Enumeration Documentation

◆ ErrorUnit

enum ErrorUnit

error unit, either Da or ppm

Enumerator
DALTONS 
PPM 

◆ MassType

enum MassType

Mass type of the precursor, either monoisotopic or average.

Enumerator
MONOISOTOPIC 
AVERAGE 

Constructor & Destructor Documentation

◆ XTandemInfile() [1/2]

constructor

◆ ~XTandemInfile()

~XTandemInfile ( )
override

constructor

◆ XTandemInfile() [2/2]

XTandemInfile ( const XTandemInfile rhs)
protected

Member Function Documentation

◆ convertModificationSet_()

String convertModificationSet_ ( const std::set< ModificationDefinition > &  mods,
std::map< String, double > &  affected_origins 
) const
protected

Converts the given set of Modifications into a format compatible to X!Tandem.

The set affected_origins can be used to avoid duplicate modifications, which are not supported in X! Tandem. Currently, a warning message is printed. Also, if a fixed mod is already given, a corresponding variable mods needs to have its delta mass reduced by the fixed modifications mass. This is also done automatically here.

Parameters
modsThe modifications to convert
affected_originsSet of origins, which were used previously. Will be augmented with the current mods.
Returns
An X! Tandem compatible string representation.

◆ getCleavageSite()

const String& getCleavageSite ( ) const

returns the cleavage site regex

◆ getDefaultParametersFilename()

const String& getDefaultParametersFilename ( ) const

returns the default parameters file

◆ getFragmentMassErrorUnit()

ErrorUnit getFragmentMassErrorUnit ( ) const

returns the fragment mass error unit (Da, ppm)

◆ getFragmentMassTolerance()

double getFragmentMassTolerance ( ) const

returns the fragment mass tolerance

◆ getInputFilename()

const String& getInputFilename ( ) const

returns the input filename

◆ getMaxPrecursorCharge()

Int getMaxPrecursorCharge ( ) const

returns the max precursor charge

◆ getMaxValidEValue()

double getMaxValidEValue ( ) const

returns the max valid E-value allowed in the list

◆ getModifications()

const ModificationDefinitionsSet& getModifications ( ) const

returns the modifications set, using a modification definitions set

◆ getNoiseSuppression()

bool getNoiseSuppression ( ) const

get state of noise suppression

◆ getNumberOfMissedCleavages()

UInt getNumberOfMissedCleavages ( ) const

returns the number of missed cleavages allowed

◆ getNumberOfThreads()

UInt getNumberOfThreads ( ) const

returns the number of threads

◆ getOutputFilename()

const String& getOutputFilename ( ) const

returns the output filename

◆ getOutputResults()

String getOutputResults ( ) const

returns the output result type ("all", "valid" or "stochastic")

◆ getPrecursorErrorType()

MassType getPrecursorErrorType ( ) const

returns the precursor mass type

◆ getPrecursorMassErrorUnit()

ErrorUnit getPrecursorMassErrorUnit ( ) const

returns the precursor mass error unit (Da, ppm)

◆ getPrecursorMassToleranceMinus()

double getPrecursorMassToleranceMinus ( ) const

returns the precursor mass tolerance (minus only)

◆ getPrecursorMassTolerancePlus()

double getPrecursorMassTolerancePlus ( ) const

returns the precursor mass tolerance (plus only)

◆ getTaxon()

const String& getTaxon ( ) const

returns the taxon used in the taxonomy file

◆ getTaxonomyFilename()

const String& getTaxonomyFilename ( ) const

returns the filename of the taxonomy file

◆ operator=()

XTandemInfile& operator= ( const XTandemInfile rhs)
protected

◆ setAllowIsotopeError()

void setAllowIsotopeError ( const bool  allow_isotope_error)

set if misassignment of precursor to first and second 13C isotopic peak should also be considered

◆ setCleavageSite()

void setCleavageSite ( const String cleavage_site)

set the cleavage site with a X! Tandem conform regex

◆ setDefaultParametersFilename()

void setDefaultParametersFilename ( const String filename)

sets the default parameters file

◆ setFragmentMassErrorUnit()

void setFragmentMassErrorUnit ( ErrorUnit  unit)

sets the fragment mass error unit (Da, ppm)

◆ setFragmentMassTolerance()

void setFragmentMassTolerance ( double  tolerance)

setter for the fragment mass tolerance

◆ setInputFilename()

void setInputFilename ( const String input_file)

sets the input filename

◆ setMaxPrecursorCharge()

void setMaxPrecursorCharge ( Int  max_charge)

sets the max precursor charge

◆ setMaxValidEValue()

void setMaxValidEValue ( double  value)

sets the max valid E-value allowed in the list

◆ setModifications()

void setModifications ( const ModificationDefinitionsSet mods)

sets the modifications using a modification definitions set

◆ setNoiseSuppression()

void setNoiseSuppression ( const bool  noise_suppression)

set state of noise suppression

◆ setNumberOfMissedCleavages()

void setNumberOfMissedCleavages ( UInt  missed_cleavages)

sets the number of missed cleavages allowed

◆ setNumberOfThreads()

void setNumberOfThreads ( UInt  threads)

sets the number of threads used during the identifications

◆ setOutputFilename()

void setOutputFilename ( const String output)

sets the output filename

◆ setOutputResults()

void setOutputResults ( const String result)

sets the output result type ("all", "valid" or "stochastic")

◆ setPrecursorErrorType()

void setPrecursorErrorType ( MassType  mono_isotopic)

sets the precursor mass type

◆ setPrecursorMassErrorUnit()

void setPrecursorMassErrorUnit ( ErrorUnit  unit)

sets the precursor mass error unit (Da, ppm)

◆ setPrecursorMassToleranceMinus()

void setPrecursorMassToleranceMinus ( double  tol)

set the precursor mass tolerance (minus only)

◆ setPrecursorMassTolerancePlus()

void setPrecursorMassTolerancePlus ( double  tol)

sets the precursor mass tolerance (plus only)

◆ setSemiCleavage()

void setSemiCleavage ( const bool  semi_cleavage)

set state of semi cleavage

◆ setTaxon()

void setTaxon ( const String taxon)

sets the taxon used in the taxonomy file

◆ setTaxonomyFilename()

void setTaxonomyFilename ( const String filename)

set the filename of the taxonomy file

◆ write()

void write ( const String filename,
bool  ignore_member_parameters = false,
bool  force_default_mods = false 
)

Writes the X! Tandem input file to the given filename.

If ignore_member_parameters is true, only a very limited number of tags fed by member variables (i.e. in, out, database/taxonomy) is written.

Parameters
filenamethe name of the file which is written
ignore_member_parametersDo not write tags for class members
force_default_modsForce writing of mods covered by special parameters
Exceptions
UnableToCreateFileis thrown if the given file could not be created

◆ writeNote_() [1/3]

void writeNote_ ( std::ostream &  os,
const String label,
bool  value 
)
protected

◆ writeNote_() [2/3]

void writeNote_ ( std::ostream &  os,
const String label,
const char *  value 
)
protected

◆ writeNote_() [3/3]

void writeNote_ ( std::ostream &  os,
const String label,
const String value 
)
protected

◆ writeTo_()

void writeTo_ ( std::ostream &  os,
bool  ignore_member_parameters 
)
protected

Member Data Documentation

◆ allow_isotope_error_

bool allow_isotope_error_
protected

◆ batch_size_

UInt batch_size_
protected

◆ cleavage_site_

String cleavage_site_
protected

◆ default_parameters_file_

String default_parameters_file_
protected

◆ force_default_mods_

bool force_default_mods_
protected

◆ fragment_lower_mz_

double fragment_lower_mz_
protected

◆ fragment_mass_error_unit_

ErrorUnit fragment_mass_error_unit_
protected

◆ fragment_mass_tolerance_

double fragment_mass_tolerance_
protected

◆ fragment_mass_type_

MassType fragment_mass_type_
protected

◆ input_filename_

String input_filename_
protected

◆ max_precursor_charge_

UInt max_precursor_charge_
protected

◆ max_valid_evalue_

double max_valid_evalue_
protected

◆ modifications_

ModificationDefinitionsSet modifications_
protected

◆ number_of_missed_cleavages_

UInt number_of_missed_cleavages_
protected

◆ number_of_threads_

UInt number_of_threads_
protected

◆ output_filename_

String output_filename_
protected

◆ output_results_

String output_results_
protected

◆ precursor_lower_mz_

double precursor_lower_mz_
protected

◆ precursor_mass_error_unit_

ErrorUnit precursor_mass_error_unit_
protected

◆ precursor_mass_tolerance_minus_

double precursor_mass_tolerance_minus_
protected

◆ precursor_mass_tolerance_plus_

double precursor_mass_tolerance_plus_
protected

◆ precursor_mass_type_

MassType precursor_mass_type_
protected

◆ semi_cleavage_

bool semi_cleavage_
protected

semi cleavage

◆ taxon_

String taxon_
protected

◆ taxonomy_file_

String taxonomy_file_
protected