Skip to content

PeakList

PeakList

PeakList(data, source=None)
Source code in makeshift/peaklist.py
def __init__(self, data, source=None):
    self.data = data
    self.source = source
    self.entry = None
    self.entity_id = None
    self.cs_saveframe = None

assignment_string

assignment_string(sequence=None, entity_id=None)

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)