I would like to gather proteins FASTA sequence from Entrez with python 2.7. I am looking for any proteins that have the keywords: "terminase" and "large" in their name. So far I got this code:
from Bio import Entrez Entrez.email = "email@example.com" searchResultHandle = Entrez.esearch(db="protein", term="terminase large", retmax=1000) searchResult = Entrez.read(searchResultHandle) ids = searchResult["IdList"] handle = Entrez.efetch(db="protein", id=ids, rettype="fasta", retmode="text") record = handle.read() out_handle = open('myfasta.fasta', 'w') out_handle.write(record.rstrip('\n'))
However, it can get me several terminases from various organisms, while I need only terminase form bacteriophages (specificly Viruses [taxid 10239], host: bacteria). I've managed to get the nuccore accession ids from NCBI of the viruses I am intersted in, but I don't know how to combine those two informations. The id file looks like this:
NC_001341 NC_001447 NC_028834 NC_023556 ...
Do I need to access every gb file of every ID and search for my desired protein in it?