OpenMS
MzTabFile Class Reference

File adapter for MzTab files. More...

#include <OpenMS/FORMAT/MzTabFile.h>

Collaboration diagram for MzTabFile:
[legend]

Public Types

typedef std::map< std::pair< String, String >, std::vector< PeptideHit > > MapAccPepType
 

Public Member Functions

 MzTabFile ()
 Default constructor. More...
 
 ~MzTabFile ()
 Destructor. More...
 
void store (const String &filename, const MzTab &mz_tab) const
 
void store (const String &filename, const std::vector< ProteinIdentification > &protein_identifications, const std::vector< PeptideIdentification > &peptide_identifications, bool first_run_inference_only, bool export_empty_pep_ids=false, bool export_all_psms=false, const String &title="ID export from OpenMS")
 
void store (const String &filename, const ConsensusMap &cmap, const bool first_run_inference_only, const bool export_unidentified_features, const bool export_unassigned_ids, const bool export_subfeatures, const bool export_empty_pep_ids=false, const bool export_all_psms=false) const
 
void storeProteinReliabilityColumn (bool store)
 
void storePeptideReliabilityColumn (bool store)
 
void storePSMReliabilityColumn (bool store)
 
void storeSmallMoleculeReliabilityColumn (bool store)
 
void storeProteinUriColumn (bool store)
 
void storePeptideUriColumn (bool store)
 
void storePSMUriColumn (bool store)
 
void storeSmallMoleculeUriColumn (bool store)
 
void storeProteinGoTerms (bool store)
 
void load (const String &filename, MzTab &mz_tab)
 

Protected Member Functions

void generateMzTabMetaDataSection_ (const MzTabMetaData &map, StringList &sl) const
 
String generateMzTabProteinHeader_ (const MzTabProteinSectionRow &reference_row, const Size n_best_search_engine_scores, const std::vector< String > &optional_columns, const MzTabMetaData &meta, size_t &n_columns) const
 
String generateMzTabSectionRow_ (const MzTabProteinSectionRow &row, const std::vector< String > &optional_columns, const MzTabMetaData &meta, size_t &n_columns) const
 
String generateMzTabPeptideHeader_ (Size search_ms_runs, Size n_best_search_engine_scores, Size n_search_engine_score, Size assays, Size study_variables, const std::vector< String > &optional_columns, size_t &n_columns) const
 
String generateMzTabSectionRow_ (const MzTabPeptideSectionRow &row, const std::vector< String > &optional_columns, const MzTabMetaData &meta, size_t &n_columns) const
 
String generateMzTabPSMHeader_ (Size n_search_engine_scores, const std::vector< String > &optional_columns, size_t &n_columns) const
 
String generateMzTabSectionRow_ (const MzTabPSMSectionRow &row, const std::vector< String > &optional_columns, const MzTabMetaData &meta, size_t &n_columns) const
 
String generateMzTabSmallMoleculeHeader_ (Size search_ms_runs, Size n_best_search_engine_scores, Size n_search_engine_score, Size assays, Size study_variables, const std::vector< String > &optional_columns, size_t &n_columns) const
 
String generateMzTabSectionRow_ (const MzTabSmallMoleculeSectionRow &row, const std::vector< String > &optional_columns, const MzTabMetaData &meta, size_t &n_columns) const
 
String generateMzTabNucleicAcidHeader_ (Size search_ms_runs, Size n_best_search_engine_scores, Size n_search_engine_scores, const std::vector< String > &optional_columns, size_t &n_columns) const
 
String generateMzTabSectionRow_ (const MzTabNucleicAcidSectionRow &row, const std::vector< String > &optional_columns, const MzTabMetaData &meta, size_t &n_columns) const
 
String generateMzTabOligonucleotideHeader_ (Size search_ms_runs, Size n_best_search_engine_scores, Size n_search_engine_score, const std::vector< String > &optional_columns, size_t &n_columns) const
 
String generateMzTabSectionRow_ (const MzTabOligonucleotideSectionRow &row, const std::vector< String > &optional_columns, const MzTabMetaData &meta, size_t &n_columns) const
 
String generateMzTabOSMHeader_ (Size n_search_engine_scores, const std::vector< String > &optional_columns, size_t &n_columns) const
 
String generateMzTabSectionRow_ (const MzTabOSMSectionRow &row, const std::vector< String > &optional_columns, const MzTabMetaData &meta, size_t &n_columns) const
 
template<typename SectionRow >
void generateMzTabSection_ (const std::vector< SectionRow > &rows, const std::vector< String > &optional_columns, const MzTabMetaData &meta, StringList &output, size_t n_header_columns) const
 Generate an mzTab section comprising multiple rows of the same type and perform sanity check. More...
 

Static Protected Member Functions

static void addOptionalColumnsToSectionRow_ (const std::vector< String > &column_names, const std::vector< MzTabOptionalColumnEntry > &column_entries, StringList &output)
 Helper function for "generateMzTabSectionRow_" functions. More...
 
static std::pair< int, int > extractIndexPairsFromBrackets_ (const String &s)
 
static void sortPSM_ (std::vector< PeptideIdentification >::iterator begin, std::vector< PeptideIdentification >::iterator end)
 
static void keepFirstPSM_ (std::vector< PeptideIdentification >::iterator begin, std::vector< PeptideIdentification >::iterator end)
 
static void partitionIntoRuns_ (const std::vector< PeptideIdentification > &pep_ids, const std::vector< ProteinIdentification > &pro_ids, std::map< String, std::vector< PeptideIdentification > > &map_run_to_pepids, std::map< String, std::vector< ProteinIdentification > > &map_run_to_proids)
 Extract protein and peptide identifications for each run. maps are assumed empty. More...
 
static void createProteinToPeptideLinks_ (const std::map< String, std::vector< PeptideIdentification > > &map_run_to_pepids, MapAccPepType &map_run_accession_to_pephits)
 create links from protein to peptides More...
 
static String extractProteinAccession_ (const PeptideHit &peptide_hit)
 Extracts, if possible a unique protein accession for a peptide hit in mzTab format. Otherwise NA is returned. More...
 
static String extractPeptideModifications_ (const PeptideHit &peptide_hit)
 Extracts, modifications and positions of a peptide hit in mzTab format. More...
 
static String mapSearchEngineToCvParam_ (const String &openms_search_engine_name)
 Map search engine identifier to CV, param etc. More...
 
static String mapSearchEngineScoreToCvParam_ (const String &openms_search_engine_name, double score, String score_type)
 
static String extractNumPeptides_ (const String &common_identifier, const String &protein_accession, const MapAccPepType &map_run_accession_to_peptides)
 
static String extractNumPeptidesDistinct_ (String common_identifier, String protein_accession, const MapAccPepType &map_run_accession_to_peptides)
 
static String extractNumPeptidesUnambiguous_ (String common_identifier, String protein_accession, const MapAccPepType &map_run_accession_to_peptides)
 
static std::map< String, SizeextractNumberOfSubSamples_ (const std::map< String, std::vector< ProteinIdentification > > &map_run_to_proids)
 
static void writePeptideHeader_ (SVOutStream &output, std::map< String, Size > n_sub_samples)
 
static void writeProteinHeader_ (SVOutStream &output, std::map< String, Size > n_sub_samples)
 
static void writeProteinData_ (SVOutStream &output, const ProteinIdentification &prot_id, Size run_count, String input_filename, bool has_coverage, const MapAccPepType &map_run_accession_to_peptides, const std::map< String, Size > &map_run_to_num_sub)
 

Protected Attributes

bool store_protein_reliability_
 
bool store_peptide_reliability_
 
bool store_psm_reliability_
 
bool store_smallmolecule_reliability_
 
bool store_protein_uri_
 
bool store_peptide_uri_
 
bool store_psm_uri_
 
bool store_smallmolecule_uri_
 
bool store_protein_goterms_
 
bool store_nucleic_acid_reliability_
 
bool store_oligonucleotide_reliability_
 
bool store_osm_reliability_
 
bool store_nucleic_acid_uri_
 
bool store_oligonucleotide_uri_
 
bool store_osm_uri_
 
bool store_nucleic_acid_goterms_
 

Friends

class MzTabMFile
 

Detailed Description

File adapter for MzTab files.

Member Typedef Documentation

◆ MapAccPepType

typedef std::map<std::pair<String, String>, std::vector<PeptideHit> > MapAccPepType

Constructor & Destructor Documentation

◆ MzTabFile()

MzTabFile ( )

Default constructor.

◆ ~MzTabFile()

~MzTabFile ( )

Destructor.

Member Function Documentation

◆ addOptionalColumnsToSectionRow_()

static void addOptionalColumnsToSectionRow_ ( const std::vector< String > &  column_names,
const std::vector< MzTabOptionalColumnEntry > &  column_entries,
StringList output 
)
staticprotected

Helper function for "generateMzTabSectionRow_" functions.

◆ createProteinToPeptideLinks_()

static void createProteinToPeptideLinks_ ( const std::map< String, std::vector< PeptideIdentification > > &  map_run_to_pepids,
MapAccPepType map_run_accession_to_pephits 
)
staticprotected

create links from protein to peptides

◆ extractIndexPairsFromBrackets_()

static std::pair<int, int> extractIndexPairsFromBrackets_ ( const String s)
staticprotected

◆ extractNumberOfSubSamples_()

static std::map<String, Size> extractNumberOfSubSamples_ ( const std::map< String, std::vector< ProteinIdentification > > &  map_run_to_proids)
staticprotected

◆ extractNumPeptides_()

static String extractNumPeptides_ ( const String common_identifier,
const String protein_accession,
const MapAccPepType map_run_accession_to_peptides 
)
staticprotected

◆ extractNumPeptidesDistinct_()

static String extractNumPeptidesDistinct_ ( String  common_identifier,
String  protein_accession,
const MapAccPepType map_run_accession_to_peptides 
)
staticprotected

◆ extractNumPeptidesUnambiguous_()

static String extractNumPeptidesUnambiguous_ ( String  common_identifier,
String  protein_accession,
const MapAccPepType map_run_accession_to_peptides 
)
staticprotected

◆ extractPeptideModifications_()

static String extractPeptideModifications_ ( const PeptideHit peptide_hit)
staticprotected

Extracts, modifications and positions of a peptide hit in mzTab format.

◆ extractProteinAccession_()

static String extractProteinAccession_ ( const PeptideHit peptide_hit)
staticprotected

Extracts, if possible a unique protein accession for a peptide hit in mzTab format. Otherwise NA is returned.

◆ generateMzTabMetaDataSection_()

void generateMzTabMetaDataSection_ ( const MzTabMetaData map,
StringList sl 
) const
protected

◆ generateMzTabNucleicAcidHeader_()

String generateMzTabNucleicAcidHeader_ ( Size  search_ms_runs,
Size  n_best_search_engine_scores,
Size  n_search_engine_scores,
const std::vector< String > &  optional_columns,
size_t &  n_columns 
) const
protected

◆ generateMzTabOligonucleotideHeader_()

String generateMzTabOligonucleotideHeader_ ( Size  search_ms_runs,
Size  n_best_search_engine_scores,
Size  n_search_engine_score,
const std::vector< String > &  optional_columns,
size_t &  n_columns 
) const
protected

◆ generateMzTabOSMHeader_()

String generateMzTabOSMHeader_ ( Size  n_search_engine_scores,
const std::vector< String > &  optional_columns,
size_t &  n_columns 
) const
protected

◆ generateMzTabPeptideHeader_()

String generateMzTabPeptideHeader_ ( Size  search_ms_runs,
Size  n_best_search_engine_scores,
Size  n_search_engine_score,
Size  assays,
Size  study_variables,
const std::vector< String > &  optional_columns,
size_t &  n_columns 
) const
protected

◆ generateMzTabProteinHeader_()

String generateMzTabProteinHeader_ ( const MzTabProteinSectionRow reference_row,
const Size  n_best_search_engine_scores,
const std::vector< String > &  optional_columns,
const MzTabMetaData meta,
size_t &  n_columns 
) const
protected

Needs a reference row to get the collected optional columns from the MetaValues TODO refactor this behaviour by e.g. storing it in the MzTab object

◆ generateMzTabPSMHeader_()

String generateMzTabPSMHeader_ ( Size  n_search_engine_scores,
const std::vector< String > &  optional_columns,
size_t &  n_columns 
) const
protected

◆ generateMzTabSection_()

void generateMzTabSection_ ( const std::vector< SectionRow > &  rows,
const std::vector< String > &  optional_columns,
const MzTabMetaData meta,
StringList output,
size_t  n_header_columns 
) const
inlineprotected

Generate an mzTab section comprising multiple rows of the same type and perform sanity check.

◆ generateMzTabSectionRow_() [1/7]

String generateMzTabSectionRow_ ( const MzTabNucleicAcidSectionRow row,
const std::vector< String > &  optional_columns,
const MzTabMetaData meta,
size_t &  n_columns 
) const
protected

◆ generateMzTabSectionRow_() [2/7]

String generateMzTabSectionRow_ ( const MzTabOligonucleotideSectionRow row,
const std::vector< String > &  optional_columns,
const MzTabMetaData meta,
size_t &  n_columns 
) const
protected

◆ generateMzTabSectionRow_() [3/7]

String generateMzTabSectionRow_ ( const MzTabOSMSectionRow row,
const std::vector< String > &  optional_columns,
const MzTabMetaData meta,
size_t &  n_columns 
) const
protected

◆ generateMzTabSectionRow_() [4/7]

String generateMzTabSectionRow_ ( const MzTabPeptideSectionRow row,
const std::vector< String > &  optional_columns,
const MzTabMetaData meta,
size_t &  n_columns 
) const
protected

◆ generateMzTabSectionRow_() [5/7]

String generateMzTabSectionRow_ ( const MzTabProteinSectionRow row,
const std::vector< String > &  optional_columns,
const MzTabMetaData meta,
size_t &  n_columns 
) const
protected

◆ generateMzTabSectionRow_() [6/7]

String generateMzTabSectionRow_ ( const MzTabPSMSectionRow row,
const std::vector< String > &  optional_columns,
const MzTabMetaData meta,
size_t &  n_columns 
) const
protected

◆ generateMzTabSectionRow_() [7/7]

String generateMzTabSectionRow_ ( const MzTabSmallMoleculeSectionRow row,
const std::vector< String > &  optional_columns,
const MzTabMetaData meta,
size_t &  n_columns 
) const
protected

◆ generateMzTabSmallMoleculeHeader_()

String generateMzTabSmallMoleculeHeader_ ( Size  search_ms_runs,
Size  n_best_search_engine_scores,
Size  n_search_engine_score,
Size  assays,
Size  study_variables,
const std::vector< String > &  optional_columns,
size_t &  n_columns 
) const
protected

◆ keepFirstPSM_()

static void keepFirstPSM_ ( std::vector< PeptideIdentification >::iterator  begin,
std::vector< PeptideIdentification >::iterator  end 
)
staticprotected

◆ load()

void load ( const String filename,
MzTab mz_tab 
)

◆ mapSearchEngineScoreToCvParam_()

static String mapSearchEngineScoreToCvParam_ ( const String openms_search_engine_name,
double  score,
String  score_type 
)
staticprotected

◆ mapSearchEngineToCvParam_()

static String mapSearchEngineToCvParam_ ( const String openms_search_engine_name)
staticprotected

Map search engine identifier to CV, param etc.

◆ partitionIntoRuns_()

static void partitionIntoRuns_ ( const std::vector< PeptideIdentification > &  pep_ids,
const std::vector< ProteinIdentification > &  pro_ids,
std::map< String, std::vector< PeptideIdentification > > &  map_run_to_pepids,
std::map< String, std::vector< ProteinIdentification > > &  map_run_to_proids 
)
staticprotected

Extract protein and peptide identifications for each run. maps are assumed empty.

◆ sortPSM_()

static void sortPSM_ ( std::vector< PeptideIdentification >::iterator  begin,
std::vector< PeptideIdentification >::iterator  end 
)
staticprotected

◆ store() [1/3]

void store ( const String filename,
const ConsensusMap cmap,
const bool  first_run_inference_only,
const bool  export_unidentified_features,
const bool  export_unassigned_ids,
const bool  export_subfeatures,
const bool  export_empty_pep_ids = false,
const bool  export_all_psms = false 
) const

◆ store() [2/3]

void store ( const String filename,
const MzTab mz_tab 
) const

◆ store() [3/3]

void store ( const String filename,
const std::vector< ProteinIdentification > &  protein_identifications,
const std::vector< PeptideIdentification > &  peptide_identifications,
bool  first_run_inference_only,
bool  export_empty_pep_ids = false,
bool  export_all_psms = false,
const String title = "ID export from OpenMS" 
)

◆ storePeptideReliabilityColumn()

void storePeptideReliabilityColumn ( bool  store)

◆ storePeptideUriColumn()

void storePeptideUriColumn ( bool  store)

◆ storeProteinGoTerms()

void storeProteinGoTerms ( bool  store)

◆ storeProteinReliabilityColumn()

void storeProteinReliabilityColumn ( bool  store)

◆ storeProteinUriColumn()

void storeProteinUriColumn ( bool  store)

◆ storePSMReliabilityColumn()

void storePSMReliabilityColumn ( bool  store)

◆ storePSMUriColumn()

void storePSMUriColumn ( bool  store)

◆ storeSmallMoleculeReliabilityColumn()

void storeSmallMoleculeReliabilityColumn ( bool  store)

◆ storeSmallMoleculeUriColumn()

void storeSmallMoleculeUriColumn ( bool  store)

◆ writePeptideHeader_()

static void writePeptideHeader_ ( SVOutStream output,
std::map< String, Size n_sub_samples 
)
staticprotected

◆ writeProteinData_()

static void writeProteinData_ ( SVOutStream output,
const ProteinIdentification prot_id,
Size  run_count,
String  input_filename,
bool  has_coverage,
const MapAccPepType map_run_accession_to_peptides,
const std::map< String, Size > &  map_run_to_num_sub 
)
staticprotected

◆ writeProteinHeader_()

static void writeProteinHeader_ ( SVOutStream output,
std::map< String, Size n_sub_samples 
)
staticprotected

Friends And Related Function Documentation

◆ MzTabMFile

friend class MzTabMFile
friend

Member Data Documentation

◆ store_nucleic_acid_goterms_

bool store_nucleic_acid_goterms_
protected

◆ store_nucleic_acid_reliability_

bool store_nucleic_acid_reliability_
protected

◆ store_nucleic_acid_uri_

bool store_nucleic_acid_uri_
protected

◆ store_oligonucleotide_reliability_

bool store_oligonucleotide_reliability_
protected

◆ store_oligonucleotide_uri_

bool store_oligonucleotide_uri_
protected

◆ store_osm_reliability_

bool store_osm_reliability_
protected

◆ store_osm_uri_

bool store_osm_uri_
protected

◆ store_peptide_reliability_

bool store_peptide_reliability_
protected

◆ store_peptide_uri_

bool store_peptide_uri_
protected

◆ store_protein_goterms_

bool store_protein_goterms_
protected

◆ store_protein_reliability_

bool store_protein_reliability_
protected

◆ store_protein_uri_

bool store_protein_uri_
protected

◆ store_psm_reliability_

bool store_psm_reliability_
protected

◆ store_psm_uri_

bool store_psm_uri_
protected

◆ store_smallmolecule_reliability_

bool store_smallmolecule_reliability_
protected

◆ store_smallmolecule_uri_

bool store_smallmolecule_uri_
protected