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 >
 

Enumerations

enum class  ChainPosition { Anywhere , NTerminal , CTerminal }
 Where the ptmlist places a residue of a modification in the polypeptide (one part of its "PP" line) More...
 

Functions

std::vector< ChainPosition > parseChainPositions (const std::string &pp)
 
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, bool map_canonical_features, 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".
vector< ChainPosition > chain_positions {}

ptmlist "PP" line (position of the modification in the polypeptide, see parseChainPositions()): one value per residue, in the order the ID names them, e.g. {NTerminal} for N-acetylalanine ("PP N-terminal.") or {Anywhere, CTerminal} for the cross-link S-(2-aminovinyl)-D-cysteine (Cys-Cys) of lantibiotics ("PP Anywhere-C-terminal."). Empty if the line is missing or not understood.

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="...">), plus, unless -omit_canonical_features is set, the canonical ones mapped onto it

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 canonical_mapped {0} canonical mapping: canonical annotations written to an isoform entry (counted once per isoform)
size_t canonical_unmapped {0}

canonical mapping: canonical annotations not written to an isoform entry because they lie in or cross one of its splice variants (or one changes the cleavage site or chain terminus they depend on), have an unknown position, or contradict an annotation UniProt makes on that isoform itself (counted once per isoform)

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