OpenMS
Loading...
Searching...
No Matches
QPXIdentity.h File Reference
#include <OpenMS/config.h>
#include <OpenMS/CONCEPT/Types.h>
#include <cstdint>
#include <optional>
#include <string>
#include <unordered_map>
#include <variant>
#include <vector>

Go to the source code of this file.

Classes

struct  Null
 A composite component that is JSON null (a null column value) More...
 
struct  Float32
 A float32 composite component. More...
 

Namespaces

namespace  OpenMS
 Main OpenMS namespace.
 
namespace  OpenMS::QPXIdentity
 Opaque QPX row identities (feature_id, psm_id, pg_id)
 

Typedefs

using FeatureLinks = std::unordered_map< Int64, Int64 >
 The feature↔PSM edge of one QPX collection, as psm_id → feature_id.
 
using Value = std::variant< Null, std::string, Int64, Float32, std::vector< Int32 >, std::vector< std::string > >
 JSON array of strings (grouped_runs)
 

Functions

std::string formatFloat (float value)
 Render one float32 the way Python's repr writes it inside JSON.
 
std::string canonical (const std::vector< Value > &values, const std::vector< size_t > &unordered_list_indices={})
 Canonical JSON encoding of an identity composite.
 
Int64 deriveId (const std::vector< Value > &values, const std::vector< size_t > &unordered_list_indices={})
 Derive an opaque signed 64-bit identity from a composite.
 
Int64 featureId (const std::string &run_file_name, const std::string &peptidoform, Int64 charge, std::optional< float > rt, const std::vector< Int32 > &scan, float observed_mz)
 feature_id from a feature row's persisted column values
 
Int64 psmId (const std::string &run_file_name, const std::vector< Int32 > &scan, const std::string &peptidoform, Int64 charge)
 psm_id from a psm row's persisted column values
 
Int64 pgId (const std::vector< std::string > &pg_accessions, const std::vector< std::string > &grouped_runs, const std::optional< std::string > &label)
 pg_id from a protein-group row's persisted column values
 

Variables

const char *const FEATURE_COMPOSITE
 Footer identity_composite for the feature view.
 
const char *const PSM_COMPOSITE
 Footer identity_composite for the psm view.
 
const char *const PG_COMPOSITE
 Footer identity_composite for the pg view.
 

Class Documentation

◆ OpenMS::QPXIdentity::Null

struct OpenMS::QPXIdentity::Null

A composite component that is JSON null (a null column value)

◆ OpenMS::QPXIdentity::Float32

struct OpenMS::QPXIdentity::Float32

A float32 composite component.

Distinct from double so a caller cannot pass an unrounded value by accident: QPX hashes the value as persisted, so a column stored as float32 must be narrowed to float before it is encoded, whatever precision it was computed at.

Class Members
float value