def parse_ensembl_line(line, header):
line = line.rstrip().split('<STR_LIT:\t>')<EOL>header = [head.lower() for head in header]<EOL>raw_info = dict(zip(header, line))<EOL>ensembl_info = {}<EOL>for word in raw_info:<EOL><INDENT>value = raw_info[word]<EOL>if not value:<EOL><INDENT>continue<EOL><DEDENT>if '<STR_LIT>' in word:<EOL><INDENT>ensembl_info['<STR_LIT>'] = value<EOL><DEDENT>if '<STR_LIT>' in word:<EOL><INDENT>if '<STR_LIT:id>' in word:<EOL><INDENT>ensembl_info['<STR_LIT>'] = value<EOL><DEDENT>elif '<STR_LIT:start>' in word:<EOL><INDENT>ensembl_info['<STR_LIT>'] = int(value)<EOL><DEDENT>elif '<STR_LIT:end>' in word:<EOL><INDENT>ensembl_info['<STR_LIT>'] = int(value)<EOL><DEDENT><DEDENT>if '<STR_LIT>' in word:<EOL><INDENT>ensembl_info['<STR_LIT>'] = value<EOL><DEDENT>if "<STR_LIT>" in word:<EOL><INDENT>ensembl_info['<STR_LIT>'] = value<EOL><DEDENT>if '<STR_LIT>' in word:<EOL><INDENT>ensembl_info['<STR_LIT>'] = int(value.split('<STR_LIT::>')[-<NUM_LIT:1>])<EOL><DEDENT>if '<STR_LIT>' in word:<EOL><INDENT>if '<STR_LIT:id>' in word:<EOL><INDENT>ensembl_info['<STR_LIT>'] = value<EOL><DEDENT>elif '<STR_LIT:start>' in word:<EOL><INDENT>ensembl_info['<STR_LIT>'] = int(value)<EOL><DEDENT>elif '<STR_LIT:end>' in word:<EOL><INDENT>ensembl_info['<STR_LIT>'] = int(value)<EOL><DEDENT><DEDENT>if '<STR_LIT>' in word:<EOL><INDENT>if '<STR_LIT:start>' in word:<EOL><INDENT>ensembl_info['<STR_LIT>'] = int(value)<EOL><DEDENT>elif '<STR_LIT:end>' in word:<EOL><INDENT>ensembl_info['<STR_LIT>'] = int(value)<EOL><DEDENT>elif '<STR_LIT>' in word:<EOL><INDENT>ensembl_info['<STR_LIT>'] = int(value)<EOL><DEDENT><DEDENT>if '<STR_LIT>' in word:<EOL><INDENT>if '<STR_LIT:start>' in word:<EOL><INDENT>if '<STR_LIT:5>' in word:<EOL><INDENT>ensembl_info['<STR_LIT>'] = int(value)<EOL><DEDENT>elif '<STR_LIT:3>' in word:<EOL><INDENT>ensembl_info['<STR_LIT>'] = int(value)<EOL><DEDENT><DEDENT>elif '<STR_LIT:end>' in word:<EOL><INDENT>if '<STR_LIT:5>' in word:<EOL><INDENT>ensembl_info['<STR_LIT>'] = int(value)<EOL><DEDENT>elif '<STR_LIT:3>' in word:<EOL><INDENT>ensembl_info['<STR_LIT>'] = int(value)<EOL><DEDENT><DEDENT><DEDENT>if '<STR_LIT>' in word:<EOL><INDENT>ensembl_info['<STR_LIT>'] = int(value)<EOL><DEDENT>if '<STR_LIT>' in word:<EOL><INDENT>if '<STR_LIT>' in word:<EOL><INDENT>if '<STR_LIT>' in word:<EOL><INDENT>ensembl_info['<STR_LIT>'] = value<EOL><DEDENT>else:<EOL><INDENT>ensembl_info['<STR_LIT>'] = value<EOL><DEDENT><DEDENT>if '<STR_LIT>' in word:<EOL><INDENT>ensembl_info['<STR_LIT>'] = value<EOL><DEDENT><DEDENT><DEDENT>return ensembl_info<EOL>
Parse an ensembl formated line

        Args:
            line(list): A list with ensembl gene info
            header(list): A list with the header info

        Returns:
            ensembl_info(dict): A dictionary with the relevant info