67 bool execAndReset(SQLite::Statement& query,
int expected_modifications);
69 void execWithExceptionAndReset(SQLite::Statement& query,
int expected_modifications,
int line,
const char*
function,
const char* context);
139 bool may_exist =
false);
150 const String& key_column =
"id");
159 const String& parent_table,
Key parent_id);
170 template<
class MetaInfoInterfaceContainer,
class DBKeyTable>
172 const String& parent_table,
const DBKeyTable& db_keys)
174 bool table_created =
false;
175 for (
const auto& element : container)
177 if (!element.isMetaEmpty())
182 table_created =
true;
189 template<
class ScoredProcessingResultContainer,
class DBKeyTable>
191 const String& parent_table,
const DBKeyTable& db_keys)
193 bool table_created =
false;
194 for (
const auto& element : container)
196 if (!element.steps_and_scores.empty())
201 table_created =
true;
216 const Feature& feature,
int& feature_id,
int parent_id);
219 template <
class FeatureContainer,
class Predicate>
222 if (features.empty())
return false;
223 for (
const Feature& feature : features)
225 if (pred(feature))
return true;
236 std::unique_ptr<SQLite::Database>
db_;
Representation of controlled vocabulary term.
Definition: CVTerm.h:53
A container for features.
Definition: FeatureMap.h:106
An LC-MS feature.
Definition: Feature.h:72
Definition: IdentificationData.h:113
IdentificationDataInternal::ParentMatches ParentMatches
Definition: IdentificationData.h:164
Helper class for storing .oms files (SQLite format)
Definition: OMSFileStore.h:78
bool anyFeaturePredicate_(const FeatureContainer &features, const Predicate &pred)
check whether a predicate is true for any feature (or subordinate thereof) in a container
Definition: OMSFileStore.h:220
void storeProcessingSoftwares_(const IdentificationData &id_data)
void createTableIdentifiedMolecule_()
void store(const FeatureMap &features)
Write data from a FeatureMap object to database.
std::map< const IdentificationData::ScoreType *, Key > score_type_keys_
Definition: OMSFileStore.h:245
std::map< const IdentificationData::ProcessingStep *, Key > processing_step_keys_
Definition: OMSFileStore.h:248
void createTableAppliedProcessingStep_(const String &parent_table)
void storeMetaInfos_(const MetaInfoInterfaceContainer &container, const String &parent_table, const DBKeyTable &db_keys)
Definition: OMSFileStore.h:171
void storeFeature_(const FeatureMap &features)
void createTableMoleculeType_()
void storeDBSearchParams_(const IdentificationData &id_data)
void storeIdentifiedCompounds_(const IdentificationData &id_data)
void storeScoreTypes_(const IdentificationData &id_data)
std::map< const IdentificationData::Observation *, Key > observation_keys_
Definition: OMSFileStore.h:250
void createTableDataValue_DataType_()
std::map< const IdentificationData::ProcessingSoftware *, Key > processing_software_keys_
Definition: OMSFileStore.h:247
std::map< const IdentificationData::IdentifiedPeptide *, Key > identified_peptide_keys_
Definition: OMSFileStore.h:254
void createTable_(const String &name, const String &definition, bool may_exist=false)
void storeMetaInfo_(const MetaInfoInterface &info, const String &parent_table, Key parent_id)
~OMSFileStore()
Destructor.
void storeMapMetaData_(const FeatureMap &features)
std::map< const IdentificationData::DBSearchParam *, Key > search_param_keys_
Definition: OMSFileStore.h:249
std::map< const IdentificationData::InputFile *, Key > input_file_keys_
Definition: OMSFileStore.h:246
std::map< const AdductInfo *, Key > adduct_keys_
Definition: OMSFileStore.h:256
int64_t Key
< Type used for database keys
Definition: OMSFileStore.h:81
void storeDataProcessing_(const FeatureMap &features)
std::map< const IdentificationData::ParentGroupSet *, Key > parent_grouping_keys_
Definition: OMSFileStore.h:252
Key storeCVTerm_(const CVTerm &cv_term)
std::map< const IdentificationData::IdentifiedOligo *, Key > identified_oligo_keys_
Definition: OMSFileStore.h:255
void store(const IdentificationData &id_data)
Write data from an IdentificationData object to database.
void createTableCVTerm_()
void storeObservationMatches_(const IdentificationData &id_data)
void storeParentGroupSets_(const IdentificationData &id_data)
void storeObservations_(const IdentificationData &id_data)
void storeParentSequences_(const IdentificationData &id_data)
void createTableMetaInfo_(const String &parent_table, const String &key_column="id")
void storeAppliedProcessingStep_(const IdentificationData::AppliedProcessingStep &step, Size step_order, const String &parent_table, Key parent_id)
std::map< std::string, std::unique_ptr< SQLite::Statement > > prepared_queries_
prepared queries for inserting data into different tables
Definition: OMSFileStore.h:239
std::map< const DataProcessing *, Key > feat_processing_keys_
Definition: OMSFileStore.h:259
void storeFeatures_(const FeatureMap &features)
void storeInputFiles_(const IdentificationData &id_data)
std::unique_ptr< SQLite::Database > db_
The database connection (read/write)
Definition: OMSFileStore.h:236
void storeProcessingSteps_(const IdentificationData &id_data)
Key getDatabaseKey_(const IdentificationData::IdentifiedMolecule &molecule_var)
void storeAdducts_(const IdentificationData &id_data)
void storeVersionAndDate_()
void storeIdentifiedSequences_(const IdentificationData &id_data)
std::map< const IdentificationData::IdentifiedCompound *, Key > identified_compound_keys_
Definition: OMSFileStore.h:253
void storeFeatureAndSubordinates_(const Feature &feature, int &feature_id, int parent_id)
std::map< const IdentificationData::ParentSequence *, Key > parent_sequence_keys_
Definition: OMSFileStore.h:251
void storeParentMatches_(const IdentificationData::ParentMatches &matches, Key molecule_id)
void storeScoredProcessingResults_(const ScoredProcessingResultContainer &container, const String &parent_table, const DBKeyTable &db_keys)
Definition: OMSFileStore.h:190
OMSFileStore(const String &filename, LogType log_type)
Constructor.
std::map< const IdentificationData::ObservationMatch *, Key > observation_match_keys_
Definition: OMSFileStore.h:257
void createTableParentMatches_()
Base class for all classes that want to report their progress.
Definition: ProgressLogger.h:53
LogType
Possible log types.
Definition: ProgressLogger.h:69
A more convenient string class.
Definition: String.h:60
size_t Size
Size type e.g. used as variable which can hold result of size()
Definition: Types.h:127
bool execAndReset(SQLite::Statement &query, int expected_modifications)
void execWithExceptionAndReset(SQLite::Statement &query, int expected_modifications, int line, const char *function, const char *context)
void raiseDBError_(const String &error, int line, const char *function, const String &context, const String &query="")
Raise a more informative database error.
Main OpenMS namespace.
Definition: FeatureDeconvolution.h:48
Definition: OMSFileLoad.h:45
Definition: AppliedProcessingStep.h:56
Variant type holding Peptide/Compound/Oligo references and convenience functions.
Definition: IdentifiedMolecule.h:55