Skip to content

orangasus/Alport-Bot

Repository files navigation

Alport Bot

What does it do?

Alport bot is a script that parses PubMed for new articles that were published there this month and then sends user a monthly report about all the wonderful things it found. It sends this report at the end of each month

PubMed is a free resource supporting the search and retrieval of biomedical and life sciences literature with the aim of improving health–both globally and personally - from official website.

How does it work?

  • Step 1
    Bot gets user query and keywords from a Google sheet that has 4 fields: email adress, user's name, list of keywords and search query

  • Step 2
    It searches PubMed DB using these query and keywords with Entrez API tools

  • Step 3
    Bot retrieves and formats data about each article: title, abstract, pub date, keywords, DOI

  • Step 4
    It forms a report for user and sends it to his email adress. It contains all information about each article the user might need in order to understand if he is interested in this paper or not

About searching in PubMed DB

Just hear me out. Despite Entrez API being rather easy to use, it has a significant flaw - it's not entirely accurate. That's why after the bot receives articles from a search in PubMed DB (it needs the query paremeter for this) it checks if any of given keywords are presented in article keywords. This way Alport Bot can minimize chances of sending unrelated articles to the user, though it unfortunately can happen.

Who can use it?

This program can be a lot of help to researchers and scientist in field of medicine and biology. It allows users to stay on top of things when it comes to a specific topic without wasting time on searching for new articles.

Example

Here is an example of data storage

How the Google sheet looks

And here is what the report looks like

How an actual report looks

How an actual report looks

What can be improved in the future?

  • Add updating ones preferences and subsrcibing via email
  • Create some kind of a manual for users on how to choose keywords and write perfect search queries
  • Improve visual part of the reports
  • Migrate to an actual database

Technology Stack

  • Entrez API + A bit of BioPython for searching PubMed DB
  • Jinja2 for creating html email template
  • A very little of Pandas for retrieving data from Google Sheets
  • Google Drive and Google Sheets APIs for working with Google Sheets
  • SSL, SMTP and email Python modules for sending emails
  • Beautiful Soup 4 for scraping article's authors

About

Digest Bot for Updates on Med. Articles

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published