17#include <unordered_map>
41 using PtmMap = std::unordered_map<std::string, PtmEntry>;
53 constexpr uint32_t
kNoId = std::numeric_limits<uint32_t>::max();
149 void add(
size_t applied_in_entry,
size_t skipped_in_entry)
178 bool option_b,
bool record_processing,
bool record_aa_mods,
179 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:101
size_t canonical_unmapped
Definition UniPEFFEntries.h:132
std::vector< ModResItem > mods
Final merged + sorted list (built by classifyAndMerge).
Definition UniPEFFEntries.h:107
std::string type_name
human name, e.g. "signal peptide"
Definition UniPEFFEntries.h:84
std::vector< IsoformEntry > isoforms
reconstructed alternative products (emitted after the entry)
Definition UniPEFFEntries.h:134
size_t isoform_scoped_skipped
Definition UniPEFFEntries.h:126
bool valid
true when both endpoints come from a <begin>/<end> location; cleared by invalidateOutOfRangeDisulfide...
Definition UniPEFFEntries.h:93
char new_aa
Definition UniPEFFEntries.h:67
std::vector< VariantSimpleItem > simple_variants
Definition UniPEFFEntries.h:102
std::unordered_map< std::string, PtmEntry > PtmMap
Definition UniPEFFEntries.h:41
bool is_halfcys
for stable tie-break on merge
Definition UniPEFFEntries.h:58
EntryAnnotations annotations
Definition UniPEFFEntries.h:118
int position
0 = unknown ('?')
Definition UniPEFFEntries.h:57
std::string cv
PEFF CV accession, e.g. "PEFF:0001021".
Definition UniPEFFEntries.h:83
std::vector< VariantComplexItem > complex_variants
Definition UniPEFFEntries.h:103
std::vector< ModResItem > regular_mods
Definition UniPEFFEntries.h:99
std::map< std::string, size_t > SkippedIsoformCounts
Definition UniPEFFEntries.h:46
std::vector< ProcessedItem > processed
Definition UniPEFFEntries.h:104
size_t isoform_scoped_applied
isoform-scoped features written to their isoform's entry
Definition UniPEFFEntries.h:125
std::string prefix
sp/tr or user override
Definition UniPEFFEntries.h:133
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:61
const PtmEntry * ptm
nullptr = generic (no accession), description in name
Definition UniPEFFEntries.h:59
size_t idx_a
Indices into EntryAnnotations::mods after merge — resolved to annotation_ids during emission.
Definition UniPEFFEntries.h:91
size_t idx_b
Definition UniPEFFEntries.h:92
int begin
Definition UniPEFFEntries.h:73
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:678
std::string sequence
Definition UniPEFFEntries.h:115
std::string name
display name (UniProt PTM ID or fallback description)
Definition UniPEFFEntries.h:60
int end
Definition UniPEFFEntries.h:74
size_t canonical_mapped
-map_canonical_features: canonical annotations written to an isoform entry (counted once per isoform)
Definition UniPEFFEntries.h:128
std::string psi_mod
"MOD:xxxxx" or empty
Definition UniPEFFEntries.h:37
std::string unimod
"N" (numeric Unimod id) or empty (NOT prefixed with "UNIMOD:")
Definition UniPEFFEntries.h:38
UniProtEntry source
Definition UniPEFFEntries.h:123
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:36
std::vector< ModResItem > halfcys
Definition UniPEFFEntries.h:100
constexpr uint32_t kNoId
Sentinel for "no annotation identifier assigned": the tuple is emitted without an id: prefix.
Definition UniPEFFEntries.h:53
std::string id
UniProt PTM name (the lookup key from feature/@description)
Definition UniPEFFEntries.h:35
std::string new_seq
Definition UniPEFFEntries.h:75
Definition UniPEFFEntries.h:89
Definition UniPEFFEntries.h:98
One reconstructed isoform, ready for emission as its own PEFF entry.
Definition UniPEFFEntries.h:112
Definition UniPEFFEntries.h:56
Definition UniPEFFEntries.h:122
Definition UniPEFFEntries.h:80
Definition UniPEFFEntries.h:34
Definition UniPEFFEntries.h:72
Definition UniPEFFEntries.h:65
A single <entry> from a UniProtKB XML file, in a parser-neutral form.
Definition UniProtXMLFile.h:69