# How can I reproduce a manual NCBI search with Biopython Entrez module?

I'm trying to make a Biopython script that reproduces a manual search on the NCBI website.

My manual search gives me the following URL:

https://www.ncbi.nlm.nih.gov/nuccore?term=ANOS1[gene%20name]%20AND%20refseq[filter]

And the "Search details" box indicates:ANOS1[gene name] AND refseq[filter].

I get 338 results that I "Send to" "File" as "GI List", save as ANOS1_orthologs_manual.txt.

How can I do the same using Biopython?

This can be done by using the "Search details" as a search term in Entrez.esearch:

import os
OPJ = os.path.join
base_dir = os.getcwd()

from Bio import Entrez
Entrez.email = "my_email_here"
query = "ANOS1[gene name] AND refseq[filter]"
handle = Entrez.esearch(term=query, db="nuccore", retmax=400)
with open(OPJ(base_dir, "ANOS1_orthologs_max400_ids.txt"), "w") as ids_file:
ids_file.write("\n".join(ids))
ids_file.write("\n")

• Rubber duck debugging at its finest :) Mar 9 '18 at 12:45
• @terdon I did not know this expression. I learned something new today :). Regarding off-topicness, I think the question can still be useful to others, in that it gives an almost-working example of something one may try to do in a bioinformatics context.
– bli
Mar 9 '18 at 13:28
• useful, yes, but not on topic since the actual problem was a very simple mistake and therefore the answer is unlikely to help others. You could, if you want, change it around: ask how you can reproduce the manual search in python and then post your (corrected) solution as an answer. That would be great! Mar 9 '18 at 13:30
• @terdon I see your point. I updated the question and answer.
– bli
Mar 9 '18 at 13:37
• Perfect, thanks! I would upvote, but I already had :) Mar 9 '18 at 14:49