@classmethod
def _make_atom_key_from_parts(cls, atom_parts, all_parts=False):
    """ If all_parts is False, only key from the values that determine alternate locations """
    return cls.AtomLookupKey(name=atom_parts['name'], number=atom_parts[
        'number'] if all_parts else None, residue_name=atom_parts[
        'residue_name'], residue_number=atom_parts['residue_number'], chain
        =atom_parts['chain'], insertion_code=atom_parts['insertion_code'],
        segment_id=atom_parts.get('segment_id', ''), alternate_location=
        atom_parts['alternate_location'] if all_parts else None)
