44 #include <boost/math/special_functions/fpclassify.hpp> 66 typedef std::map<std::pair<String, String>, std::vector<PeptideHit> >
MapAccPepType;
69 void store(
const String& filename,
const MzTab& mz_tab)
const;
72 void storeProteinReliabilityColumn(
bool store);
73 void storePeptideReliabilityColumn(
bool store);
74 void storePSMReliabilityColumn(
bool store);
75 void storeSmallMoleculeReliabilityColumn(
bool store);
76 void storeProteinUriColumn(
bool store);
77 void storePeptideUriColumn(
bool store);
78 void storePSMUriColumn(
bool store);
79 void storeSmallMoleculeUriColumn(
bool store);
80 void storeProteinGoTerms(
bool store);
105 String generateMzTabProteinHeader_(
const MzTabProteinSectionRow& reference_row,
const Size n_best_search_engine_scores,
const std::vector<String>& optional_columns)
const;
109 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)
const;
113 String generateMzTabPSMHeader_(
Size n_search_engine_scores,
const std::vector<String>& optional_columns)
const;
117 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)
const;
121 String generateMzTabNucleicAcidHeader_(
Size search_ms_runs,
Size n_best_search_engine_scores,
Size n_search_engine_scores,
const std::vector<String>& optional_columns)
const;
125 String generateMzTabOligonucleotideHeader_(
Size search_ms_runs,
Size n_best_search_engine_scores,
Size n_search_engine_score,
const std::vector<String>& optional_columns)
const;
129 String generateMzTabOSMHeader_(
Size n_search_engine_scores,
const std::vector<String>& optional_columns)
const;
136 output.reserve(output.size() + rows.size() + 1);
137 for (
const auto& row : rows)
139 output.push_back(generateMzTabSectionRow_(row, optional_columns));
141 output.push_back(
String(
"\n"));
147 static void addOptionalColumnsToSectionRow_(
const std::vector<String>& column_names,
const std::vector<MzTabOptionalColumnEntry>& column_entries,
StringList& output);
150 static std::pair<int, int> extractIndexPairsFromBrackets_(
const String& s);
152 static void sortPSM_(std::vector<PeptideIdentification>::iterator begin, std::vector<PeptideIdentification>::iterator end);
154 static void keepFirstPSM_(std::vector<PeptideIdentification>::iterator begin, std::vector<PeptideIdentification>::iterator end);
157 static void partitionIntoRuns_(
const std::vector<PeptideIdentification>& pep_ids,
158 const std::vector<ProteinIdentification>& pro_ids,
159 std::map<
String, std::vector<PeptideIdentification> >& map_run_to_pepids,
160 std::map<
String, std::vector<ProteinIdentification> >& map_run_to_proids
165 static void createProteinToPeptideLinks_(
const std::map<
String, std::vector<PeptideIdentification> >& map_run_to_pepids, MapAccPepType& map_run_accession_to_pephits);
174 static String mapSearchEngineToCvParam_(
const String& openms_search_engine_name);
176 static String mapSearchEngineScoreToCvParam_(
const String& openms_search_engine_name,
double score,
String score_type);
178 static String extractNumPeptides_(
const String& common_identifier,
const String& protein_accession,
179 const MapAccPepType& map_run_accession_to_peptides);
182 static String extractNumPeptidesDistinct_(
String common_identifier,
String protein_accession,
183 const MapAccPepType& map_run_accession_to_peptides);
186 static String extractNumPeptidesUnambiguous_(
String common_identifier,
String protein_accession,
187 const MapAccPepType& map_run_accession_to_peptides);
189 static std::map<String, Size> extractNumberOfSubSamples_(
const std::map<
String, std::vector<ProteinIdentification> >& map_run_to_proids);
191 static void writePeptideHeader_(
SVOutStream& output, std::map<String, Size> n_sub_samples);
193 static void writeProteinHeader_(
SVOutStream& output, std::map<String, Size> n_sub_samples);
200 const MapAccPepType& map_run_accession_to_peptides,
201 const std::map<String, Size>& map_run_to_num_sub
A more convenient string class.
Definition: String.h:58
bool store_smallmolecule_reliability_
Definition: MzTabFile.h:89
all meta data of a mzTab file. Please refer to specification for documentation.
Definition: MzTab.h:524
bool store_osm_uri_
Definition: MzTabFile.h:100
bool store_nucleic_acid_goterms_
Definition: MzTabFile.h:101
bool store_psm_uri_
Definition: MzTabFile.h:92
void generateMzTabSection_(const std::vector< SectionRow > &rows, const std::vector< String > &optional_columns, StringList &output) const
Generate an mzTab section comprising multiple rows of the same type.
Definition: MzTabFile.h:134
bool store_nucleic_acid_uri_
Definition: MzTabFile.h:98
NUC - Nucleic acid section (table-based)
Definition: MzTab.h:739
OLI - Oligonucleotide section (table-based)
Definition: MzTab.h:774
OSM - OSM (oligonucleotide-spectrum match) section (table-based)
Definition: MzTab.h:809
PEP - Peptide section (Table based)
Definition: MzTab.h:628
PSM - PSM section (Table based)
Definition: MzTab.h:665
SML Small molecule section (table based)
Definition: MzTab.h:709
File adapter for MzTab files.
Definition: MzTabFile.h:58
Representation of a protein identification run.
Definition: ProteinIdentification.h:71
bool store_protein_uri_
Definition: MzTabFile.h:90
PRT - Protein section (Table based)
Definition: MzTab.h:589
bool store_osm_reliability_
Definition: MzTabFile.h:97
std::map< std::pair< String, String >, std::vector< PeptideHit > > MapAccPepType
Definition: MzTabFile.h:66
Main OpenMS namespace.
Definition: FeatureDeconvolution.h:46
Representation of a peptide hit.
Definition: PeptideHit.h:54
bool store_oligonucleotide_uri_
Definition: MzTabFile.h:99
bool store_protein_goterms_
Definition: MzTabFile.h:94
Data model of MzTab files. Please see the official MzTab specification at https://code.google.com/p/mztab/.
Definition: MzTab.h:855
bool store_peptide_uri_
Definition: MzTabFile.h:91
bool store_nucleic_acid_reliability_
Definition: MzTabFile.h:95
std::vector< String > StringList
Vector of String.
Definition: ListUtils.h:70
bool store_oligonucleotide_reliability_
Definition: MzTabFile.h:96
Stream class for writing to comma/tab/...-separated values files.
Definition: SVOutStream.h:54
bool store_smallmolecule_uri_
Definition: MzTabFile.h:93
bool store_psm_reliability_
Definition: MzTabFile.h:88
size_t Size
Size type e.g. used as variable which can hold result of size()
Definition: Types.h:127
bool store_protein_reliability_
Definition: MzTabFile.h:86
bool store_peptide_reliability_
Definition: MzTabFile.h:87