OpenMS
Loading...
Searching...
No Matches
FileTypes.h
Go to the documentation of this file.
1// Copyright (c) 2002-present, OpenMS Inc. -- EKU Tuebingen, ETH Zurich, and FU Berlin
2// SPDX-License-Identifier: BSD-3-Clause
3//
4// --------------------------------------------------------------------------
5// $Maintainer: Timo Sachsenberg $
6// $Authors: Stephan Aiche, Andreas Bertsch, Marc Sturm, Chris Bielow $
7// --------------------------------------------------------------------------
8
9#pragma once
10
11#include <OpenMS/config.h>
13
14#include <vector>
15
16namespace OpenMS
17{
26 struct OPENMS_DLLAPI FileTypes
27 {
28
95
96 enum class FileProperties
97 {
98 READABLE, // SOMETHING in OpenMS can read this (it doesn't have to be in FileHandler though)
99 WRITEABLE, // SOMETHING in OpenMS can write this (it doesn't have to be in FileHandler though)
100 PROVIDES_SPECTRUM, // All of the PROVIDES_x properties correspond to which FileHandlers are implemented for a file type.
101 PROVIDES_EXPERIMENT, //
102 PROVIDES_FEATURES, //
103 PROVIDES_CONSENSUSFEATURES, //
104 PROVIDES_IDENTIFICATIONS, //
105 PROVIDES_TRANSITIONS, //
106 PROVIDES_QUANTIFICATIONS, //
107 PROVIDES_TRANSFORMATIONS, //
108 PROVIDES_QC, //
109 SIZE_OF_FILEPROPERTIES // Not a property, just the number of 'em
110 };
111
113 static String typeToName(Type type);
114
119
122 static Type nameToType(const String& name);
123
125 static String typeToMZML(Type type);
126 };
127
128 enum class FilterLayout
129 {
130 COMPACT,
131 ONE_BY_ONE,
132 BOTH
133 };
139 class OPENMS_DLLAPI FileTypeList
140 {
141 public:
142 FileTypeList(const std::vector<FileTypes::Type>& types);
143
145 bool contains(const FileTypes::Type& type) const;
146
147 const std::vector<FileTypes::Type>& getTypes() const
148 {
149 return type_list_;
150 }
151
156 String toFileDialogFilter(const FilterLayout style, bool add_all_filter) const;
157
172 FileTypes::Type fromFileDialogFilter(const String& filter, const FileTypes::Type fallback = FileTypes::Type::UNKNOWN) const;
173
174
182 static std::vector<FileTypes::Type> typesWithProperties(const std::vector<FileTypes::FileProperties> features);
183
184 private:
187 {
188 std::vector<String> items;
189 std::vector<FileTypes::Type> types;
190 };
194 FilterElements_ asFilterElements_(const FilterLayout style, bool add_all_filter) const;
195
196 std::vector<FileTypes::Type> type_list_;
197 };
198
199} // namespace OpenMS
200
holds a vector of known file types, e.g. as a way to specify supported input formats
Definition FileTypes.h:140
std::vector< FileTypes::Type > types
Definition FileTypes.h:189
String toFileDialogFilter(const FilterLayout style, bool add_all_filter) const
std::vector< String > items
Definition FileTypes.h:188
bool contains(const FileTypes::Type &type) const
check if type is contained in this array
FileTypes::Type fromFileDialogFilter(const String &filter, const FileTypes::Type fallback=FileTypes::Type::UNKNOWN) const
Convert a Qt filter back to a Type if possible.
const std::vector< FileTypes::Type > & getTypes() const
Definition FileTypes.h:147
std::vector< FileTypes::Type > type_list_
Definition FileTypes.h:196
static std::vector< FileTypes::Type > typesWithProperties(const std::vector< FileTypes::FileProperties > features)
Get a std::vector<FileTypes::Type> with all fileTypes that support a set of features.
FilterElements_ asFilterElements_(const FilterLayout style, bool add_all_filter) const
FileTypeList(const std::vector< FileTypes::Type > &types)
hold filter items (for Qt dialogs) along with their OpenMS type
Definition FileTypes.h:187
A more convenient string class.
Definition String.h:34
Main OpenMS namespace.
Definition openswathalgo/include/OpenMS/OPENSWATHALGO/DATAACCESS/ISpectrumAccess.h:19
FilterLayout
Definition FileTypes.h:129
@ BOTH
combine COMPACT and ONE_BY_ONE
@ ONE_BY_ONE
list all types individually, e.g. 'mzML files (*.mzML);;mzXML files (*.mzXML);;'
@ COMPACT
make a single item, e.g. 'all readable files (*.mzML *.mzXML);;'
Centralizes the file types recognized by FileHandler.
Definition FileTypes.h:27
static String typeToDescription(Type type)
Type
Actual file types enum.
Definition FileTypes.h:31
@ PSMS
Percolator tab-delimited output (PSM level)
Definition FileTypes.h:78
@ PIN
Percolator tab-delimited input (PSM level)
Definition FileTypes.h:79
@ FASTA
FASTA file (.fasta)
Definition FileTypes.h:64
@ TRAML
TraML (HUPO PSI format) for transitions (.traML)
Definition FileTypes.h:53
@ MZIDENTML
mzIdentML (HUPO PSI AnalysisXML followup format) (.mzid)
Definition FileTypes.h:49
@ SPLIB
SpectraST binary spectral library file (sptxt is the equivalent text-based format,...
Definition FileTypes.h:81
@ QCML
qcML (will undergo standardisation maybe) (.qcml)
Definition FileTypes.h:50
@ GZ
any Gzipped file
Definition FileTypes.h:91
@ MGF
Mascot Generic Format (.mgf)
Definition FileTypes.h:40
@ CSV
general comma separated files format (might also be tab or space separated!!!), data should be regula...
Definition FileTypes.h:66
@ PARAMXML
internal format for writing and reading parameters (also used as part of CTD)
Definition FileTypes.h:80
@ INI
OpenMS parameters file (.ini)
Definition FileTypes.h:41
@ GELML
GelML (HUPO PSI format) (.gelML)
Definition FileTypes.h:52
@ HARDKLOER
hardkloer file (.hardkloer)
Definition FileTypes.h:62
@ NOVOR
Novor custom parameter file.
Definition FileTypes.h:82
@ PSQ
NCBI binary blast db.
Definition FileTypes.h:72
@ TXT
any text format, which has only loose definition of what it actually contains – thus it is usually ha...
Definition FileTypes.h:67
@ MSP
NIST spectra library file format (.msp)
Definition FileTypes.h:54
@ KROENIK
kroenik file (.kroenik)
Definition FileTypes.h:63
@ XML
any XML format
Definition FileTypes.h:89
@ DTA2D
DTA2D file (.dta2d)
Definition FileTypes.h:34
@ UNKNOWN
Unknown file extension.
Definition FileTypes.h:32
@ CONSENSUSXML
OpenMS consensus map format (.consensusXML)
Definition FileTypes.h:39
@ FEATUREXML
OpenMS feature file (.featureXML)
Definition FileTypes.h:37
@ MZTAB
mzTab file (.mzTab)
Definition FileTypes.h:60
@ PQP
OpenSWATH Peptide Query Parameter (PQP) SQLite DB, see TransitionPQPFile.
Definition FileTypes.h:75
@ PROTXML
TPP protXML file (.protXML)
Definition FileTypes.h:48
@ PARQUET
Apache Parquet file format (.parquet, .pqt)
Definition FileTypes.h:92
@ XSD
XSD schema format.
Definition FileTypes.h:71
@ PNG
Portable Network Graphics (.png)
Definition FileTypes.h:57
@ PEPLIST
specArray file (.peplist)
Definition FileTypes.h:61
@ XMASS
XMass Analysis file (fid)
Definition FileTypes.h:58
@ PEPXML
TPP pepXML file (.pepXML)
Definition FileTypes.h:47
@ BZ2
any BZ2 compressed file
Definition FileTypes.h:90
@ TSV
any TSV file, for example msInspect file or OpenSWATH transition file (see TransitionTSVFile)
Definition FileTypes.h:59
@ MZQC
mzQC (HUPO PSI format) (.mzQC)
Definition FileTypes.h:51
@ SPECXML
xQuest XML file format for matched spectra for spectra visualization in the xQuest results manager (....
Definition FileTypes.h:84
@ MS
SIRIUS file format (.ms)
Definition FileTypes.h:76
@ TRANSFORMATIONXML
Transformation description file (.trafoXML)
Definition FileTypes.h:43
@ JSON
JavaScript Object Notation file (.json)
Definition FileTypes.h:85
@ OMSSAXML
OMSSA XML file format for peptide identifications (.xml)
Definition FileTypes.h:55
@ IDXML
OpenMS identification format (.idXML)
Definition FileTypes.h:38
@ MZML
MzML file (.mzML)
Definition FileTypes.h:44
@ RAW
Thermo Raw File (.raw)
Definition FileTypes.h:86
@ EDTA
enhanced comma separated files (RT, m/z, Intensity, [meta])
Definition FileTypes.h:65
@ TOPPAS
OpenMS parameters file with workflow information (.toppas)
Definition FileTypes.h:42
@ XQUESTXML
xQuest XML file format for protein-protein cross-link identifications (.xquest.xml)
Definition FileTypes.h:83
@ MS2
MS2 file (.ms2)
Definition FileTypes.h:46
@ SQMASS
SqLite format for mass and chromatograms, see SqMassFile.
Definition FileTypes.h:74
@ HTML
any HTML format
Definition FileTypes.h:69
@ ANALYSISXML
analysisXML format
Definition FileTypes.h:70
@ DTA
DTA file (.dta)
Definition FileTypes.h:33
@ MASCOTXML
Mascot XML file format for peptide identifications (.xml)
Definition FileTypes.h:56
@ CACHEDMZML
CachedMzML file (.cachedmzML)
Definition FileTypes.h:45
@ EXE
Executable (.exe)
Definition FileTypes.h:88
@ MZDATA
MzData file (.mzData)
Definition FileTypes.h:35
@ OSW
OpenSWATH OpenSWATH report (OSW) SQLite DB.
Definition FileTypes.h:77
@ MZXML
MzXML file (.mzXML)
Definition FileTypes.h:36
@ OMS
OpenMS database file.
Definition FileTypes.h:87
@ OBO
Controlled Vocabulary format.
Definition FileTypes.h:68
@ MRM
SpectraST MRM List.
Definition FileTypes.h:73
static Type nameToType(const String &name)
FileProperties
Definition FileTypes.h:97
static String typeToMZML(Type type)
Returns the mzML name (TODO: switch to accession since they are more stable!)
static String typeToName(Type type)
Returns the name/extension of the type.