17#include <unordered_map>
54 using PtmMap = std::unordered_map<std::string, PtmEntry>;
71 constexpr uint32_t
kNoId = std::numeric_limits<uint32_t>::max();
168 void add(
size_t applied_in_entry,
size_t skipped_in_entry)
201 bool option_b,
bool record_processing,
bool record_aa_mods,
202 bool record_variants,
bool record_isoforms,
bool map_canonical_features,
The annotations of the PEFF entries that UniPEFF writes for a UniProtKB entry: its canonical entry an...
Definition UniPEFFEntries.h:28
std::vector< DisulfidePairItem > disulfides
indices reference halfcys before merge, mods after merge
Definition UniPEFFEntries.h:119
std::vector< ChainPosition > chain_positions
Definition UniPEFFEntries.h:51
size_t canonical_unmapped
Definition UniPEFFEntries.h:151
std::vector< ModResItem > mods
Final merged + sorted list (built by classifyAndMerge).
Definition UniPEFFEntries.h:125
std::string type_name
human name, e.g. "signal peptide"
Definition UniPEFFEntries.h:102
std::vector< IsoformEntry > isoforms
reconstructed alternative products (emitted after the entry)
Definition UniPEFFEntries.h:153
ChainPosition
Where the ptmlist places a residue of a modification in the polypeptide (one part of its "PP" line)
Definition UniPEFFEntries.h:35
@ CTerminal
"C-terminal": the residue is at the C-terminus of a chain, e.g. an amidated residue
@ Anywhere
"Anywhere" or "Protein core"
@ NTerminal
"N-terminal": the residue is at the N-terminus of a chain, e.g. N-acetylalanine
size_t isoform_scoped_skipped
Definition UniPEFFEntries.h:144
bool valid
true when both endpoints come from a <begin>/<end> location; cleared by invalidateOutOfRangeDisulfide...
Definition UniPEFFEntries.h:111
char new_aa
Definition UniPEFFEntries.h:85
std::vector< VariantSimpleItem > simple_variants
Definition UniPEFFEntries.h:120
std::unordered_map< std::string, PtmEntry > PtmMap
Definition UniPEFFEntries.h:54
bool is_halfcys
for stable tie-break on merge
Definition UniPEFFEntries.h:76
EntryAnnotations annotations
Definition UniPEFFEntries.h:136
int position
0 = unknown ('?')
Definition UniPEFFEntries.h:75
std::string cv
PEFF CV accession, e.g. "PEFF:0001021".
Definition UniPEFFEntries.h:101
std::vector< ChainPosition > parseChainPositions(const std::string &pp)
Definition UniPEFFEntries.cpp:34
std::vector< VariantComplexItem > complex_variants
Definition UniPEFFEntries.h:121
std::vector< ModResItem > regular_mods
Definition UniPEFFEntries.h:117
std::map< std::string, size_t > SkippedIsoformCounts
Definition UniPEFFEntries.h:64
std::vector< ProcessedItem > processed
Definition UniPEFFEntries.h:122
size_t isoform_scoped_applied
isoform-scoped features written to their isoform's entry
Definition UniPEFFEntries.h:143
std::string prefix
sp/tr or user override
Definition UniPEFFEntries.h:152
bool isResidueCode(char c)
PEFF VariantSimple newAA must be an amino-acid letter (or '*').
Definition UniPEFFEntries.cpp:23
uint32_t annotation_id
0-based; all tuples in Option B, paired half-cystines in default mode
Definition UniPEFFEntries.h:79
const PtmEntry * ptm
nullptr = generic (no accession), description in name
Definition UniPEFFEntries.h:77
size_t idx_a
Indices into EntryAnnotations::mods after merge — resolved to annotation_ids during emission.
Definition UniPEFFEntries.h:109
size_t idx_b
Definition UniPEFFEntries.h:110
int begin
Definition UniPEFFEntries.h:91
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)
Definition UniPEFFEntries.cpp:757
std::string sequence
Definition UniPEFFEntries.h:133
std::string name
display name (UniProt PTM ID or fallback description)
Definition UniPEFFEntries.h:78
int end
Definition UniPEFFEntries.h:92
size_t canonical_mapped
canonical mapping: canonical annotations written to an isoform entry (counted once per isoform)
Definition UniPEFFEntries.h:146
std::string psi_mod
"MOD:xxxxx" or empty
Definition UniPEFFEntries.h:45
std::string unimod
Definition UniPEFFEntries.h:46
UniProtEntry source
Definition UniPEFFEntries.h:141
std::string positionOrUnknown(int p)
0 → "?", else decimal.
Definition UniPEFFEntries.cpp:29
std::string accession
UniProt internal accession, e.g. "PTM-0253".
Definition UniPEFFEntries.h:44
std::vector< ModResItem > halfcys
Definition UniPEFFEntries.h:118
constexpr uint32_t kNoId
Sentinel for "no annotation identifier assigned": the tuple is emitted without an id: prefix.
Definition UniPEFFEntries.h:71
std::string id
UniProt PTM name (the lookup key from feature/@description)
Definition UniPEFFEntries.h:43
std::string new_seq
Definition UniPEFFEntries.h:93
Definition UniPEFFEntries.h:107
Definition UniPEFFEntries.h:116
One reconstructed isoform, ready for emission as its own PEFF entry.
Definition UniPEFFEntries.h:130
Definition UniPEFFEntries.h:74
Definition UniPEFFEntries.h:140
Definition UniPEFFEntries.h:98
Definition UniPEFFEntries.h:42
Definition UniPEFFEntries.h:90
Definition UniPEFFEntries.h:83
A single <entry> from a UniProtKB XML file, in a parser-neutral form.
Definition UniProtXMLFile.h:69