Per-residue label string: 'A' assigned, '.' missing, 'P' proline.
Source code in makeshift/peaklist.py
| def assignment_string(self, sequence=None, entity_id=None):
"""
Per-residue label string: 'A' assigned, '.' missing, 'P' proline.
"""
if sequence is None:
if self.entry is None:
raise ValueError("No entry attached; pass an explicit sequence.")
if entity_id is None:
entity_id = self.entity_id
if entity_id is None:
raise ValueError("No entity_id available; pass entity_id or sequence.")
sequence = self.entry.sequences(entity_id=entity_id)
assigned = set(self.data["Seq_ID"])
chars = []
for i, aa in enumerate(sequence):
seqpos = i + 1
if aa == "P":
chars.append("P")
elif seqpos in assigned:
chars.append("A")
else:
chars.append(".")
return "".join(chars)
|