<?xml version='1.0'?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:georss="http://www.georss.org/georss" xmlns:atom="http://www.w3.org/2005/Atom" >
<channel>
	<title><![CDATA[BOL: Python script to parse GFF file]]></title>
	<link>https://bioinformaticsonline.com/snippets/view/44494/python-script-to-parse-gff-file?</link>
	<atom:link href="https://bioinformaticsonline.com/snippets/view/44494/python-script-to-parse-gff-file?" rel="self" type="application/rss+xml" />
	<description><![CDATA[]]></description>
	
	<item>
	<guid isPermaLink="true">https://bioinformaticsonline.com/snippets/view/44494/python-script-to-parse-gff-file</guid>
	<pubDate>Wed, 27 Mar 2024 20:42:11 -0500</pubDate>
	<link>https://bioinformaticsonline.com/snippets/view/44494/python-script-to-parse-gff-file</link>
	<title><![CDATA[Python script to parse GFF file]]></title>
	<description><![CDATA[<code>def parse_gff(gff_file):
    features = []
    with open(gff_file, &#039;r&#039;) as f:
        for line in f:
            if not line.startswith(&#039;#&#039;):  # Ignore comment lines
                fields = line.strip().split(&#039;\t&#039;)
                feature = {
                    &#039;seqid&#039;: fields[0],
                    &#039;source&#039;: fields[1],
                    &#039;type&#039;: fields[2],
                    &#039;start&#039;: int(fields[3]),
                    &#039;end&#039;: int(fields[4]),
                    &#039;score&#039;: fields[5],
                    &#039;strand&#039;: fields[6],
                    &#039;phase&#039;: fields[7],
                    &#039;attributes&#039;: dict(item.split(&#039;=&#039;) for item in fields[8].split(&#039;;&#039;))
                }
                features.append(feature)
    return features

# Usage example
gff_file = &#039;example.gff&#039;
parsed_features = parse_gff(gff_file)
for feature in parsed_features:
    print(feature)</code>]]></description>
	<dc:creator>LEGE</dc:creator>
</item>

</channel>
</rss>