def split_pdb_residue(s):
    '''Splits a PDB residue into the numeric and insertion code components.'''
    if s.isdigit():
        return (int(s), ' ')
    else:
        assert(s[:-1].isdigit())
        return ((s[:-1], s[-1]))