<div dir="ltr">Hello Peter, <div><br></div><div>Fantastic! Here is the modified code based on your recommendation with some example genes/taxa. Seems to work exactly as it should. The nested for loop was the key.Thanks so much for the assistance. </div><div><br></div><div>Jarrod</div><div><br></div><div><div>import sys</div><div>import time</div><div>from Bio import Entrez</div><div>Entrez.email = "jjscott at <a href="http://uwalumni.com">uwalumni.com</a>"</div><div><br></div><div>list_of_species = ["Acrochaetium daviesii", "Anadyomene stellata", "Codium decorticatum"]</div><div>list_of_genes = ["rbcL", "rps3", "tufA", "28S rRNA"]</div><div>for species in list_of_species:</div><div>    for gene in list_of_genes:</div><div>      terms = '"{0}"[orgn] AND {1}[Gene]'.format(species, gene)</div><div>      result = Entrez.esearch(db = 'nucleotide', term=terms)</div><div>      record = Entrez.read(result)</div><div>      record["Count"]</div><div>      record["IdList"]</div></div><div><br></div><div><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Dec 8, 2015 at 4:36 AM, Peter Cock <span dir="ltr"><<a href="mailto:p.j.a.cock@googlemail.com" target="_blank">p.j.a.cock@googlemail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi Jarrod<br>
<br>
The simplest solution is two for loops, nested. i.e.<br>
<br>
# do imports<br>
# load lists, or set them like this<br>
list_of_species = ["E. coli", "H. sapiens", "M. tardes"]<br>
list_of_genes = ["yyy", "zzz", "aaa"]<br>
for species in list_of_species:<br>
    for gene in list_of_genes:<br>
        # do the search for this species, gene combination<br>
<br>
Depending on what you want to do with the results, you<br>
might record the counts in a dictionary in memory, or<br>
maybe write them to a file.<br>
<br>
Is that enough to make progress or do you need a bit more<br>
guidance?<br>
<br>
Also, when you build the Entrez query string, the species<br>
name should (I think) be quoted as the full name rather<br>
than with an abbreviated genus, e.g.<br>
<br>
"Homo sapiens"[ORGN] AND yyy[GENE]<br>
<br>
To do that in python, the easiest way to get the double<br>
quotes is to use single quotes for the Python string,<br>
<br>
'"{0}"[ORGN] AND {1}[GENE]'.format(species, gene)<br>
<br>
That is: single quote, double quote, open braces, zero, ...<br>
<br>
Peter<br>
<div><div class="h5"><br>
<br>
On Tue, Dec 8, 2015 at 3:04 AM, Jarrod Scott <<a href="mailto:jjscott@uwalumni.com">jjscott@uwalumni.com</a>> wrote:<br>
> Greetings all.<br>
><br>
> I have 1) a list of species and 2) a list of genes. I am trying to use<br>
> Entrez.esearch within Biopython to get a list of accession numbers from NCBI<br>
> for each gene from each species. I wrote a small code that can do it for one<br>
> gene and one species but have been unsuccessful at creating a code to<br>
> iterate through the lists. Here is an example of the code that works. This<br>
> returns '11' hits which matches a simple GenBank search. Any help on how to<br>
> iterate through two list would be most appreciated.<br>
><br>
> Jarrod<br>
><br>
> import sys<br>
> import time<br>
> from Bio import Entrez<br>
> Entrez.email = "<a href="mailto:jjscott@uwalumni.com">jjscott@uwalumni.com</a>"<br>
> gene = 'tufA'<br>
> species = 'Codium decorticatum'<br>
> terms = "{0}[orgn] AND {1}[Gene]".format(species, gene)<br>
> handle = Entrez.esearch(db = "nucleotide", term = terms)<br>
> record = Entrez.read(handle)<br>
> record["Count"]<br>
> record["IdList"]<br>
><br>
><br>
><br>
> Example files:<br>
><br>
> Species:<br>
><br>
> E. coli<br>
> H. Sapien<br>
> M. tardes<br>
><br>
> Genes:<br>
> yyy<br>
> zzz<br>
> aaa<br>
><br>
><br>
> biopython-1.66<br>
> Python 2.7.9 :: Anaconda 2.2.0 (x86_64)<br>
> OS X Yosemite 10.10.2<br>
><br>
</div></div>> _______________________________________________<br>
> Biopython mailing list  -  <a href="mailto:Biopython@mailman.open-bio.org">Biopython@mailman.open-bio.org</a><br>
> <a href="http://mailman.open-bio.org/mailman/listinfo/biopython" rel="noreferrer" target="_blank">http://mailman.open-bio.org/mailman/listinfo/biopython</a><br>
</blockquote></div><br></div>