def eden():
edenfile = open('<STR_LIT>', '<STR_LIT:r>')<EOL>edengff3 = edenfile.readlines()<EOL>gene = None<EOL>mRNAs = list()<EOL>cdsreps = dict()<EOL>for line in edengff3:<EOL><INDENT>if line.startswith('<STR_LIT:#>'):<EOL><INDENT>continue<EOL><DEDENT>feature = Feature(line.rstrip())<EOL>if feature.type == '<STR_LIT>':<EOL><INDENT>gene = feature<EOL><DEDENT>elif feature.type == '<STR_LIT>':<EOL><INDENT>gene.add_child(feature)<EOL><DEDENT>elif feature.type == '<STR_LIT>':<EOL><INDENT>mRNAs.append(feature)<EOL>gene.add_child(feature)<EOL><DEDENT>else:  <EOL><INDENT>for parent in feature.get_attribute('<STR_LIT>', as_list=True):<EOL><INDENT>for mRNA in mRNAs:<EOL><INDENT>if mRNA.get_attribute('<STR_LIT>') == parent:<EOL><INDENT>mRNA.add_child(feature)<EOL>break<EOL><DEDENT><DEDENT><DEDENT>if feature.type == '<STR_LIT>':<EOL><INDENT>cdsid = feature.get_attribute('<STR_LIT>')<EOL>if cdsid not in cdsreps:<EOL><INDENT>cdsreps[cdsid] = feature<EOL><DEDENT>else:<EOL><INDENT>cdsreps[cdsid].add_sibling(feature)<EOL><DEDENT><DEDENT><DEDENT><DEDENT>assert len(gene.children) == <NUM_LIT:4><EOL>return gene<EOL>
Data fixture for unit tests.

This function is not a good example of how to parse arbitrary GFF3 files,
it's quick and dirty for this particular case.