OpenMS
Loading...
Searching...
No Matches
UniPEFFEntries.h File Reference
#include "UniProtXMLFile.h"
#include <cstdint>
#include <limits>
#include <map>
#include <string>
#include <unordered_map>
#include <vector>

Go to the source code of this file.

Classes

struct  PtmEntry
 
struct  ModResItem
 
struct  VariantSimpleItem
 
struct  VariantComplexItem
 
struct  ProcessedItem
 
struct  DisulfidePairItem
 
struct  EntryAnnotations
 
struct  IsoformEntry
 One reconstructed isoform, ready for emission as its own PEFF entry. More...
 
struct  PreparedEntry
 
struct  IsoformScopedTracker
 

Namespaces

namespace  OpenMS
 Main OpenMS namespace.
 
namespace  OpenMS::UniPEFFEntries
 The annotations of the PEFF entries that UniPEFF writes for a UniProtKB entry: its canonical entry and the entries of its reconstructed isoforms.
 

Typedefs

using PtmMap = std::unordered_map< std::string, PtmEntry >
 
using SkippedIsoformCounts = std::map< std::string, size_t >
 

Functions

bool isResidueCode (char c)
 PEFF VariantSimple newAA must be an amino-acid letter (or '*').
 
std::string positionOrUnknown (int p)
 0 → "?", else decimal.
 
PreparedEntry prepareEntry (UniProtEntry &&e, const PtmMap &ptms, const std::string &prefix_override, bool option_b, bool record_processing, bool record_aa_mods, bool record_variants, bool record_isoforms, SkippedIsoformCounts &skipped_isoforms)
 

Variables

constexpr uint32_t kNoId = std::numeric_limits<uint32_t>::max()
 Sentinel for "no annotation identifier assigned": the tuple is emitted without an id: prefix.
 

Class Documentation

◆ OpenMS::UniPEFFEntries::PtmEntry

struct OpenMS::UniPEFFEntries::PtmEntry
Class Members
string accession UniProt internal accession, e.g. "PTM-0253".
string id UniProt PTM name (the lookup key from feature/@description)
string psi_mod "MOD:xxxxx" or empty
string unimod "N" (numeric Unimod id) or empty (NOT prefixed with "UNIMOD:")

◆ OpenMS::UniPEFFEntries::ModResItem

struct OpenMS::UniPEFFEntries::ModResItem
Class Members
uint32_t annotation_id {kNoId} 0-based; all tuples in Option B, paired half-cystines in default mode
bool is_halfcys {false} for stable tie-break on merge
string name display name (UniProt PTM ID or fallback description)
int position {0} 0 = unknown ('?')
const PtmEntry * ptm {nullptr} nullptr = generic (no accession), description in name

◆ OpenMS::UniPEFFEntries::VariantSimpleItem

struct OpenMS::UniPEFFEntries::VariantSimpleItem
Class Members
uint32_t annotation_id {kNoId} assigned in Option B only
char new_aa {'?'}
int position {0}

◆ OpenMS::UniPEFFEntries::VariantComplexItem

struct OpenMS::UniPEFFEntries::VariantComplexItem
Class Members
uint32_t annotation_id {kNoId} assigned in Option B only
int begin {0}
int end {0}
string new_seq

◆ OpenMS::UniPEFFEntries::ProcessedItem

struct OpenMS::UniPEFFEntries::ProcessedItem
Class Members
uint32_t annotation_id {kNoId} assigned in Option B only
int begin {0}
string cv PEFF CV accession, e.g. "PEFF:0001021".
int end {0}
string type_name human name, e.g. "signal peptide"

◆ OpenMS::UniPEFFEntries::DisulfidePairItem

struct OpenMS::UniPEFFEntries::DisulfidePairItem
Class Members
uint32_t annotation_id {kNoId} id of the \DisulfideBond tuple itself (kNoId = not emitted)
size_t idx_a {0} Indices into EntryAnnotations::mods after merge — resolved to annotation_ids during emission.
size_t idx_b {0}
bool valid {false} true when both endpoints come from a <begin>/<end> location; cleared by invalidateOutOfRangeDisulfides()

◆ OpenMS::UniPEFFEntries::EntryAnnotations

struct OpenMS::UniPEFFEntries::EntryAnnotations
Class Members
vector< VariantComplexItem > complex_variants
vector< DisulfidePairItem > disulfides indices reference halfcys before merge, mods after merge
vector< ModResItem > halfcys
vector< ModResItem > mods Final merged + sorted list (built by classifyAndMerge).
vector< ProcessedItem > processed
vector< ModResItem > regular_mods
vector< VariantSimpleItem > simple_variants

◆ OpenMS::UniPEFFEntries::IsoformEntry

struct OpenMS::UniPEFFEntries::IsoformEntry

One reconstructed isoform, ready for emission as its own PEFF entry.

Class Members
string accession isoform accession, e.g. "P02768-2"
EntryAnnotations annotations features UniProt annotates on this isoform (<location sequence="...">)
string name isoform <name>, e.g. "2" or "VEGF121"
string sequence canonical sequence with the referenced splice variants applied

◆ OpenMS::UniPEFFEntries::PreparedEntry

struct OpenMS::UniPEFFEntries::PreparedEntry
Class Members
EntryAnnotations annotations
size_t isoform_scoped_applied {0} isoform-scoped features written to their isoform's entry
size_t isoform_scoped_skipped {0} isoform-scoped features left out (isoform not written) that would otherwise have become annotations
vector< IsoformEntry > isoforms reconstructed alternative products (emitted after the entry)
string prefix sp/tr or user override
UniProtEntry source