def get_oligomeric_state(swiss_model_path):
    """Parse the oligomeric prediction in a SWISS-MODEL repository file

    As of 2018-02-26, works on all E. coli models. Untested on other pre-made organism models.

    Args:
        swiss_model_path (str): Path to SWISS-MODEL PDB file

    Returns:
        dict: Information parsed about the oligomeric state

    """
    oligo_info = {}
    with open(swiss_model_path, 'r') as f:
        for line in f:
            if line.startswith('REMARK   3 MODEL INFORMATION'):
                break
        for i in range(10):
            line = f.readline()
            if 'ENGIN' in line:
                oligo_info['ENGIN'] = line.rstrip().split(' ')[-1]
            elif 'OSTAT' in line:
                oligo_info['OSTAT'] = line.rstrip().split(' ')[-1]
            elif 'OSRSN' in line:
                oligo_info['OSRSN'] = line.rstrip().split(' ')[-1]
            elif 'QSPRD' in line:
                oligo_info['QSPRD'] = line.rstrip().split(' ')[-1]
            elif 'GMQE' in line:
                oligo_info['GMQE'] = line.rstrip().split(' ')[-1]
            elif 'QMN4' in line:
                oligo_info['QMN4'] = line.rstrip().split(' ')[-1]
            elif 'MODT' in line:
                oligo_info['MODT'] = line.rstrip().split(' ')[-1]
    return oligo_info
Parse the oligomeric prediction in a SWISS-MODEL repository file

    As of 2018-02-26, works on all E. coli models. Untested on other pre-made organism models.

    Args:
        swiss_model_path (str): Path to SWISS-MODEL PDB file

    Returns:
        dict: Information parsed about the oligomeric state