63 typedef std::map<std::pair<String, String>, std::vector<PeptideHit> >
MapAccPepType;
66 void store(
const String& filename,
const MzTab& mz_tab)
const;
71 const std::vector<ProteinIdentification>& protein_identifications,
72 const std::vector<PeptideIdentification>& peptide_identifications,
73 bool first_run_inference_only,
74 bool export_empty_pep_ids =
false,
75 bool export_all_psms =
false,
76 const String& title =
"ID export from OpenMS");
82 const bool first_run_inference_only,
83 const bool export_unidentified_features,
84 const bool export_unassigned_ids,
85 const bool export_subfeatures,
86 const bool export_empty_pep_ids =
false,
87 const bool export_all_psms =
false)
const;
90 void storeProteinReliabilityColumn(
bool store);
91 void storePeptideReliabilityColumn(
bool store);
92 void storePSMReliabilityColumn(
bool store);
93 void storeSmallMoleculeReliabilityColumn(
bool store);
94 void storeProteinUriColumn(
bool store);
95 void storePeptideUriColumn(
bool store);
96 void storePSMUriColumn(
bool store);
97 void storeSmallMoleculeUriColumn(
bool store);
98 void storeProteinGoTerms(
bool store);
126 const Size n_best_search_engine_scores,
127 const std::vector<String>& optional_columns,
129 size_t& n_columns)
const;
133 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;
137 String generateMzTabPSMHeader_(
Size n_search_engine_scores,
const std::vector<String>& optional_columns,
size_t& n_columns)
const;
141 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;
145 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;
149 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;
153 String generateMzTabOSMHeader_(
Size n_search_engine_scores,
const std::vector<String>& optional_columns,
size_t& n_columns)
const;
160 output.reserve(output.size() + rows.size() + 1);
161 for (
const auto& row : rows)
163 size_t n_section_columns = 0;
164 output.push_back(generateMzTabSectionRow_(row, optional_columns, meta, n_section_columns));
165 if (n_header_columns != n_section_columns)
throw Exception::Postcondition(__FILE__, __LINE__, OPENMS_PRETTY_FUNCTION,
"Header and content differs in columns. Please report this bug to the OpenMS developers.");
172 static void addOptionalColumnsToSectionRow_(
const std::vector<String>& column_names,
const std::vector<MzTabOptionalColumnEntry>& column_entries,
StringList& output);
175 static std::pair<int, int> extractIndexPairsFromBrackets_(
const String& s);
177 static void sortPSM_(std::vector<PeptideIdentification>::iterator begin, std::vector<PeptideIdentification>::iterator end);
179 static void keepFirstPSM_(std::vector<PeptideIdentification>::iterator begin, std::vector<PeptideIdentification>::iterator end);
182 static void partitionIntoRuns_(
const std::vector<PeptideIdentification>& pep_ids,
183 const std::vector<ProteinIdentification>& pro_ids,
184 std::map<
String, std::vector<PeptideIdentification> >& map_run_to_pepids,
185 std::map<
String, std::vector<ProteinIdentification> >& map_run_to_proids
190 static void createProteinToPeptideLinks_(
const std::map<
String, std::vector<PeptideIdentification> >& map_run_to_pepids, MapAccPepType& map_run_accession_to_pephits);
199 static String mapSearchEngineToCvParam_(
const String& openms_search_engine_name);
201 static String mapSearchEngineScoreToCvParam_(
const String& openms_search_engine_name,
double score,
String score_type);
203 static String extractNumPeptides_(
const String& common_identifier,
const String& protein_accession,
204 const MapAccPepType& map_run_accession_to_peptides);
207 static String extractNumPeptidesDistinct_(
String common_identifier,
String protein_accession,
208 const MapAccPepType& map_run_accession_to_peptides);
211 static String extractNumPeptidesUnambiguous_(
String common_identifier,
String protein_accession,
212 const MapAccPepType& map_run_accession_to_peptides);
214 static std::map<String, Size> extractNumberOfSubSamples_(
const std::map<
String, std::vector<ProteinIdentification> >& map_run_to_proids);
216 static void writePeptideHeader_(
SVOutStream& output, std::map<String, Size> n_sub_samples);
218 static void writeProteinHeader_(
SVOutStream& output, std::map<String, Size> n_sub_samples);
225 const MapAccPepType& map_run_accession_to_peptides,
226 const std::map<String, Size>& map_run_to_num_sub
Representation of a protein identification run.
Definition: ProteinIdentification.h:74
bool store_protein_reliability_
Definition: MzTabFile.h:104
A more convenient string class.
Definition: String.h:58
OLI - Oligonucleotide section (table-based)
Definition: MzTab.h:396
PRT - Protein section (Table based)
Definition: MzTab.h:203
File adapter for MzTab-M files.
Definition: MzTabMFile.h:50
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...
Definition: MzTabFile.h:158
A container for consensus elements.
Definition: ConsensusMap.h:82
bool store_smallmolecule_uri_
Definition: MzTabFile.h:111
Main OpenMS namespace.
Definition: FeatureDeconvolution.h:47
bool store_protein_goterms_
Definition: MzTabFile.h:112
bool store_protein_uri_
Definition: MzTabFile.h:108
bool store_oligonucleotide_uri_
Definition: MzTabFile.h:117
SML Small molecule section (table based)
Definition: MzTab.h:331
bool store_peptide_reliability_
Definition: MzTabFile.h:105
bool store_peptide_uri_
Definition: MzTabFile.h:109
bool store_psm_reliability_
Definition: MzTabFile.h:106
bool store_nucleic_acid_reliability_
Definition: MzTabFile.h:113
bool store_oligonucleotide_reliability_
Definition: MzTabFile.h:114
PSM - PSM section (Table based)
Definition: MzTab.h:280
Representation of a peptide hit.
Definition: PeptideHit.h:55
File adapter for MzTab files.
Definition: MzTabFile.h:55
OSM - OSM (oligonucleotide-spectrum match) section (table-based)
Definition: MzTab.h:431
std::vector< String > StringList
Vector of String.
Definition: ListUtils.h:70
bool store_nucleic_acid_goterms_
Definition: MzTabFile.h:119
bool store_psm_uri_
Definition: MzTabFile.h:110
size_t Size
Size type e.g. used as variable which can hold result of size()
Definition: Types.h:127
Stream class for writing to comma/tab/...-separated values files.
Definition: SVOutStream.h:56
Postcondition failed exception.
Definition: Exception.h:171
bool store_osm_reliability_
Definition: MzTabFile.h:115
bool store_nucleic_acid_uri_
Definition: MzTabFile.h:116
NUC - Nucleic acid section (table-based)
Definition: MzTab.h:361
PEP - Peptide section (Table based)
Definition: MzTab.h:242
bool store_smallmolecule_reliability_
Definition: MzTabFile.h:107
bool store_osm_uri_
Definition: MzTabFile.h:118
std::map< std::pair< String, String >, std::vector< PeptideHit > > MapAccPepType
Definition: MzTabFile.h:63
Data model of MzTab files. Please see the official MzTab specification at https://code.google.com/p/mztab/.
Definition: MzTab.h:477