MCPcopy Create free account
hub / github.com/OpenMS/OpenMS / storeObservations_

Method storeObservations_

src/openms/source/FORMAT/OMSFileStore.cpp:589–636  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

587
588
589 void OMSFileStore::storeObservations_(const IdentificationData& id_data)
590 {
591 if (id_data.getObservations().empty()) return;
592
593 createTable_("ID_Observation",
594 "id INTEGER PRIMARY KEY NOT NULL, " \
595 "data_id TEXT NOT NULL, " \
596 "input_file_id INTEGER NOT NULL, " \
597 "rt REAL, " \
598 "mz REAL, " \
599 "UNIQUE (data_id, input_file_id), " \
600 "FOREIGN KEY (input_file_id) REFERENCES ID_InputFile (id)");
601
602 SQLite::Statement query(*db_, "INSERT INTO ID_Observation VALUES (" \
603 ":id, " \
604 ":data_id, " \
605 ":input_file_id, " \
606 ":rt, " \
607 ":mz)");
608 Key id = 1;
609 for (const ID::Observation& obs : id_data.getObservations())
610 {
611 query.bind(":id", id);
612 query.bind(":data_id", obs.data_id);
613 query.bind(":input_file_id", input_file_keys_[&(*obs.input_file)]);
614 if (obs.rt == obs.rt)
615 {
616 query.bind(":rt", obs.rt);
617 }
618 else // NaN
619 {
620 query.bind(":rt"); // NULL
621 }
622 if (obs.mz == obs.mz)
623 {
624 query.bind(":mz", obs.mz);
625 }
626 else // NaN
627 {
628 query.bind(":mz"); // NULL
629 }
630 execWithExceptionAndReset(query, 1, __LINE__, OPENMS_PRETTY_FUNCTION, "error inserting data");
631
632 observation_keys_[&obs] = id;
633 ++id;
634 }
635 storeMetaInfos_(id_data.getObservations(), "ID_Observation", observation_keys_);
636 }
637
638
639 void OMSFileStore::storeParentSequences_(const IdentificationData& id_data)

Callers

nothing calls this directly

Calls 2

emptyMethod · 0.45

Tested by

no test coverage detected