OpenMS
Loading...
Searching...
No Matches
OpenMS::UniPEFFEntries Namespace Reference

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

Classes

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

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.
 

Detailed Description

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

prepareEntry() classifies the features of an entry into annotations of the canonical entry or of the isoform they are annotated on; the tool writes the prepared entries.


Class Documentation

◆ 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::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::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

◆ 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::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::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::VariantSimpleItem

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

Typedef Documentation

◆ PtmMap

using PtmMap = std::unordered_map<std::string, PtmEntry>

◆ SkippedIsoformCounts

using SkippedIsoformCounts = std::map<std::string, size_t>

Isoforms without a reconstructable sequence ("external": stored as its own UniProt entry; "not described": sequence unknown), counted per sequence type so the run reports them in one summary line instead of one line per isoform.

Function Documentation

◆ isResidueCode()

bool isResidueCode ( char  c)

PEFF VariantSimple newAA must be an amino-acid letter (or '*').

◆ positionOrUnknown()

std::string positionOrUnknown ( int  p)

0 → "?", else decimal.

◆ prepareEntry()

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 
)

Prepare one entry: reconstruct the emittable isoform sequences ("external" / "not described" isoforms are counted in skipped_isoforms), classify each feature into the canonical entry or, if its <location sequence="..."> names an emitted isoform, into that isoform's entry; then, per entry, merge halfcys, drop disulfide pairs with out-of-range endpoints and stamp annotation IDs (global in Option B, selective disulfide labels otherwise).

References IsoformEntry::accession, UniProtEntry::accession, IsoformEntry::annotations, PreparedEntry::annotations, UniProtEntry::dataset, UniProtEntry::features, PreparedEntry::isoform_scoped_applied, PreparedEntry::isoform_scoped_skipped, PreparedEntry::isoforms, UniProtEntry::isoforms, IsoformEntry::name, OPENMS_LOG_DEBUG, OPENMS_LOG_WARN, PreparedEntry::prefix, UniProtEntry::sequence, and PreparedEntry::source.

Variable Documentation

◆ kNoId

constexpr uint32_t kNoId = std::numeric_limits<uint32_t>::max()
constexpr

Sentinel for "no annotation identifier assigned": the tuple is emitted without an id: prefix.