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

Method makeBaseFeature_

src/openms/source/FORMAT/OMSFileLoad.cpp:875–912  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

873
874
875 BaseFeature OMSFileLoad::makeBaseFeature_(int id, SQLite::Statement& query_feat,
876 SQLite::Statement& query_meta,
877 SQLite::Statement& query_match)
878 {
879 BaseFeature feature;
880 feature.setRT(query_feat.getColumn("rt").getDouble());
881 feature.setMZ(query_feat.getColumn("mz").getDouble());
882 feature.setIntensity(query_feat.getColumn("intensity").getDouble());
883 feature.setCharge(query_feat.getColumn("charge").getInt());
884 feature.setWidth(query_feat.getColumn("width").getDouble());
885 string quality_column = (version_number_ < 5) ? "overall_quality" : "quality";
886 feature.setQuality(query_feat.getColumn(quality_column.c_str()).getDouble());
887 feature.setUniqueId(query_feat.getColumn("unique_id").getInt64());
888 if (id == -1) return feature; // stop here for feature handles (in consensus maps)
889
890 auto primary_id = query_feat.getColumn("primary_molecule_id"); // optional
891 if (!primary_id.isNull())
892 {
893 feature.setPrimaryID(identified_molecule_vars_[primary_id.getInt64()]);
894 }
895 // meta data:
896 if (!isEmpty_(query_meta))
897 {
898 handleQueryMetaInfo_(query_meta, feature, id);
899 }
900 // ID matches:
901 if (!isEmpty_(query_match))
902 {
903 query_match.bind(":id", id);
904 while (query_match.executeStep())
905 {
906 Key match_id = query_match.getColumn("observation_match_id").getInt64();
907 feature.addIDMatch(observation_match_refs_[match_id]);
908 }
909 query_match.reset(); // get ready for new executeStep()
910 }
911 return feature;
912 }
913
914
915 void OMSFileLoad::prepareQueriesBaseFeature_(SQLite::Statement& query_meta,

Callers

nothing calls this directly

Calls 10

setUniqueIdMethod · 0.80
setPrimaryIDMethod · 0.80
addIDMatchMethod · 0.80
setRTMethod · 0.45
setMZMethod · 0.45
setChargeMethod · 0.45
setWidthMethod · 0.45
setQualityMethod · 0.45
isNullMethod · 0.45
resetMethod · 0.45

Tested by

no test coverage detected