Gaborandi's picture
Update app.py
fd23452
raw
history blame
No virus
1.55 kB
def search_pubmed_with_gradio(search_term, max_results, include_pubmed_id, include_title, include_abstract):
pubmed = PubMed(tool="MyTool", email="aalamel@clemson.edu")
results = pubmed.query(search_term, max_results=max_results)
article_list = []
for article in results:
article_dict = article.toDict()
if include_pubmed_id:
pubmed_id = article_dict['pubmed_id'].partition('\n')[0]
else:
pubmed_id = ""
if include_title:
title = article_dict['title']
else:
title = ""
if include_abstract:
abstract = article_dict['abstract']
else:
abstract = ""
article_list.append({'pubmed_id': pubmed_id, 'title': title, 'abstract': abstract})
df = pd.DataFrame(article_list)
return df
interface = gr.Interface(search_pubmed_with_gradio,
[gr.inputs.Textbox(label="Search Term"),
gr.inputs.Slider(minimum=1, maximum=10000, default=100, label="Max Results"),
gr.inputs.Checkbox("pubmed_id", label="Pubmed ID"),
gr.inputs.Checkbox("title", label="Title"),
gr.inputs.Checkbox("abstract", label="Abstract")],
"dataframe",
title="PubMed Search",
description="Enter a keyword or more than a keyword to search in PubMed database")
if __name__ == "__main__":
interface.launch()