Inspiration

Genetics disorders can be difficult to identify as a result of genes varying enormously in their effect depending on such features as the gene involved, the type of mutation found, population prevalence, conservation of a gene's features, and function. We wished to observe how these features of a genetic variant might be analyzed using Machine learning to produce a useful level one risk-pattern profile. We desired a project to illustrate how AI can be applied to genomics, which transparently includes what cannot be achieved when machine learning is applied to a medical scenario.

What it does

Genetic Disease Detector is an application developed using python based machine-learning to evaluate features belonging to a genetic variant and suggest what would be a 'higher-risk' or 'lower-risk' profile to the genetic variant in question. Users can input features such as:

  • Gene
  • Molecular consequence
  • Variant type
  • Population allele frequency
  • Conservation score
  • Functionality score
  • Familial data The system analyses these inputs, runs a Machine-learning pipeline, to offer predictions based on probability with an explanation as to how and why this was achieved. This system has been designed purely as an educational research prototype, rather than as an actual clinical diagnostic tool. ## How we built it The project has predominantly been built in python utilising scikit-learn, Pandas, NumPy, Joblib and Streamlit. The machine learning model utilised is a Random Forest Classifier. Categorical genetic features are all given a representation by using one-hot encoding whilst all numerical feature will undergo standardisation before being fed through to the classifier. An artificially generated set of 1,600 genetic variant entries were generated to form the demonstration prototype. The entries have been split into test and training sets via a stratified split, as was stated at a previous point of discussion. ## Challenges we ran into

Accomplishments that we're proud of

What we learned

The most important things we learned was how to convert an idea based solely on a dataset to a developed application. This included the use of:

  • Feature engineering
  • Data Generation
  • classifiers
  • Random Forests
  • One-hot encoding
  • Feature scaling
  • train/test splits
  • ROC-AUC curves
  • Probability predictions
  • Streamlit applications
  • ML project structure in Git The development of this AI also taught us that what is required for a medically relevant prediction is beyond just the accuracy scores of a given machine learning model; factors like data authenticity, validation, interpretability, fairness, and ethical communications are just as integral as the raw data itself. ## What's next for Genetic Disease Detector The project currently operates purely as a proof-of-concept and so moving forward, we would hope to replace this with correctly curated data-sets rather than synthesized ones along with an increase in the type of biological data the model can evaluate. Some specific improvements we aim for are:
  • ClinVar classification data-sets
  • Population frequency websites
  • Hgvs variant annotation
  • dbSNP identifiers
  • Human phenotype ontology (HPO) feature values
  • Associations with genetic diseases
  • Evidence from functional essays
  • ACGM/AMP criteria
  • Interpretable AI algorithms
  • Probability calibration
  • Cross-validation
  • Test datasets from external sources
  • Data Normalization We wish to convert Genetic Disease Detector from an experimental Machine Learning model into a comprehensively developed research platform for the diagnosis of genetic variants, while always distinguishing computational results from actual clinical interpretations.

Built With

Share this project:

Updates

Submission history