Skip to content

Latest commit

 

History

History
60 lines (50 loc) · 3.31 KB

File metadata and controls

60 lines (50 loc) · 3.31 KB

My goal is basically to make fancy flashcards for

  1. chemical functional groups relevant to drug discovery
  2. stories of real drugs so that I don't look like an idiot without a knowledge of the history of drug discovery

I think it would be neat to automatically download, i.e. drugbank entries and process them and incorporate them into a flashcard like system

It would be nice to organize / categorize the questions so that you could focus on:

  • just kinase drugs
  • just membrane protein drugs
  • just drugs with certain functional groups (triazole, etc)

At a minimum the "game" could be played in a terminal, but even better would be able to host a local web page that would have different kinds of quiz questions, etc

Types of questions:

Multiple choice:

  • pick the functional group these drugs have in common (easy - structures of drugs, hard - name of class of drugs)
  • pick the target of a drug, drug for target
  • functional group to name

Fill in the blank (I think this might suck without some kind of text-processing, otherwise exact text matches will be frustrating)

  • oh an idea for this would be to be able to show the answer + your guess after the question and ask you "add this answer to the database?" if you think your answer was a correct version of the right answer

The most difficult version would be to have the Mastering chemistry-esque "draw in the functional group" type of question

Features

  • memory of what questions have been asked with your guesses + answers; maybe even a report of what kinds of questions you got right / wrong etc

To Do

  • import from chembl
  • save json files of imported data
  • use rdkit for processing molecules
  • use importlib resources to load those in
  • construct a generator using some filtering logic
  • use tkinter to interact with the questions
  • use generators to create questions from the possible choices
  • add question type: (MultipleChoiceTextToImage) "What is the structure of this inhibitor?"
  • add information about the molecules once the question is answered
    • maybe make the image / text a button itself that can be pressed to bring up more information?
  • add a Molecule Info window
  • add instructions on how to download / use
  • make it possible to look up the molecules that aren't the answer as well
  • add question type: (MultipleChoiceTextToImage) "Which of these molecules contains this functional group?"
  • clear the co-crystal solute (?whats that called?) from the molecule names so that it isn't as obvious which one is which
    • I think you can do this by only downloading the parent molecule (?) i should probably be doing that anyway
  • make download faster
    • parallelize
    • make it interruptible (save intermediate states)

Design Ideas

  • import from Drug Bank, etc
    • Drug Bank
    • pubchem
  • save question + possible answers + chosen answer + correct answer into i.e. a CSV
  • add GUI molecule drawing interface from, i.e. https://github.com/nicemicro/nicemolecules/tree/main
  • add Options windows for the quizzes
  • make a version of the quiz focused not on the quiz type but rather the dataset, i.e. with questions like:
    • which kinase does this kinase inhibitor target?
    • what is the molecular structure of imatinib?
    • which functional groups do these EGFR inhibitors have in common?