I have a list of accessions for the the entire mitochondrial genomes for big cats. I need to download the COX1 genes for each of these accessions. Here is one accession and here is a link to its COX1 gene, which I found manually on that page.
I have downloaded all the accessions as an XML genbank file:
#!/usr/bin/env python3
from Bio import Entrez
from Bio import GenBank
from Bio import SeqIO
import os
if os.path.exists('cats.xml') ==False:
with open('accessions.txt', 'r') as fin:
#for line
accs = [line.rstrip() for line in fin ]
print(accs)
Entrez.email = "first.last@example.se"
rec = Entrez.efetch(db='nuccore', id=accs, rettype="gb", retmode="xml")
with open('cats.xml', 'w') as out:
print(rec.read().decode("utf-8"), file=out)
Then I tried to parse this file:
with open('cats.xml', 'rb') as xin:
for record in Entrez.parse(xin):
#print(dir(record))
#print(record.keys())
pass
print(record['GBSeq_feature-table'][0])
But it's a mess of nested lists and dictionaries. Help!