35 #ifndef OPENMS_FORMAT_MZTABFILE_H
36 #define OPENMS_FORMAT_MZTABFILE_H
45 #include <boost/math/special_functions/fpclassify.hpp>
65 typedef std::map<std::pair<String, String>, std::vector<PeptideHit> >
MapAccPepType;
68 void store(
const String & filename,
const std::vector<ProteinIdentification> & protein_ids,
const std::vector<PeptideIdentification> & peptide_ids,
String in,
String document_id)
const;
71 void store(
const String & filename,
const MzTab& mz_tab)
const;
79 String generateMzTabProteinHeader_(
Int n_subsamples,
const std::vector<String>& optional_protein_columns)
const;
89 String generateMzTabPeptideHeader_(
Int n_subsamples,
const std::vector<String>& optional_protein_columns)
const;
93 String generateMzTabSmallMoleculeHeader_(
Int n_subsamples,
const std::vector<String>& optional_smallmolecule_columns)
const;
99 static void sortPSM_(std::vector<PeptideIdentification>::iterator begin, std::vector<PeptideIdentification>::iterator end);
101 static void keepFirstPSM_(std::vector<PeptideIdentification>::iterator begin, std::vector<PeptideIdentification>::iterator end);
104 static void partitionIntoRuns_(
const std::vector<PeptideIdentification> & pep_ids,
105 const std::vector<ProteinIdentification> & pro_ids,
106 std::map<
String, std::vector<PeptideIdentification> > & map_run_to_pepids,
107 std::map<
String, std::vector<ProteinIdentification> > & map_run_to_proids
112 static void createProteinToPeptideLinks_(
const std::map<
String, std::vector<PeptideIdentification> > & map_run_to_pepids,
MapAccPepType & map_run_accession_to_pephits);
121 static String mapSearchEngineToCvParam_(
const String & openms_search_engine_name);
125 static String extractNumPeptides_(
const String & common_identifier,
const String & protein_accession,
129 static String extractNumPeptidesDistinct_(
String common_identifier,
String protein_accession,
133 static String extractNumPeptidesUnambiguous_(
String common_identifier,
String protein_accession,
136 static std::map<String, Size> extractNumberOfSubSamples_(
const std::map<
String, std::vector<ProteinIdentification> > & map_run_to_proids);
138 static void writePeptideHeader_(
SVOutStream & output, std::map<String, Size> n_sub_samples);
140 static void writeProteinHeader_(
SVOutStream & output, std::map<String, Size> n_sub_samples);
142 static void writeProteinData_(
SVOutStream & output,
148 const std::map<String, Size> & map_run_to_num_sub
155 #endif // OPENMS_FORMAT_MZTABFILE_H
Representation of a protein identification run.
Definition: ProteinIdentification.h:61
std::map< String, MzTabProteinSectionRows > MzTabProteinSectionData
Definition: MzTab.h:1343
A more convenient string class.
Definition: String.h:56
std::map< String, MzTabUnitIdMetaData > MzTabMetaData
Definition: MzTab.h:1341
std::map< String, MzTabSmallMoleculeSectionRows > MzTabSmallMoleculeSectionData
Definition: MzTab.h:1347
Representation of a peptide hit.
Definition: PeptideHit.h:54
File adapter for MzTab files.
Definition: MzTabFile.h:57
std::map< String, MzTabPeptideSectionRows > MzTabPeptideSectionData
Definition: MzTab.h:1345
String list.
Definition: StringList.h:56
size_t Size
Size type e.g. used as variable which can hold result of size()
Definition: Types.h:144
Stream class for writing to comma/tab/...-separated values files.
Definition: SVOutStream.h:51
int Int
Signed integer type.
Definition: Types.h:100
std::map< std::pair< String, String >, std::vector< PeptideHit > > MapAccPepType
Definition: MzTabFile.h:65
Data model of MzTab files. Please see the official MzTab specification at https://code.google.com/p/mztab/.
Definition: MzTab.h:1355