Skip to content

AstraBert/saccharomyces-pythia

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

saccharomyces-pythia: an ML/AI-integrated Saccharomyces cerevisiae assistant

GitHub top language Static Badge Static Badge Static Badge Static Badge

Introduction

saccharomyces-pythia is the new, rebranded v1.0.0 of SacCerML.

Initially conceived as a Python script that leveraged machine learning and bioinformatics tools to predict genes in Saccharomyces cerevisiae (baker's yeast) genomic sequences, it is now a complete and AI-integrated tool that can help researchers both as a chatbot and as a ORF-predicter.

SacCerML: the base ML model

Training

Data and preprocessing

All the annotated coding DNA sequences for S. cerevisiae (strain S288C) were downloaded from Saccharomyces Genome Database.

These genetic sequences were split according to their ORF classification (verified, dubious, uncharacterized, pseudogene and transposable element) and for each of them the following parameters were calculated:

  • Codon Adaptation Index
  • Checksum

After that, DNA was translated into aminoacids and other descriptors were retrieved:

  • Hydrophobicity
  • Isoelectric point
  • Aromaticity
  • Instability
  • Molecular weight
  • Secondary structure percentage (helix, turn and sheet)
  • Molar extinction (both oxidized and reduced)

All the computed data were stored in a csv file, which was used to train a supervised ML model, a Voting Classifier (implemented in scikit-learn package), made up by HistGradient Boosting Classifier, a Decision Tree Clasifier and an Extra Tree Classifier.

Validation

The so-obtained machine-larning model (called SacCerML) was then evaluated on the entire training set, yielding a 99.93% accuracy.

A key component of the training was k-fold crossvalidation.

SacCerML was trained on increasingly wider percentages of the training data and tested on the remainder: it yielded a high accuracy (>84%) in all the tests, and the same goes for recall, f1 and precision score. You can find all the details in the dedicated folder.

From the classification reports it could be already seen a slight bias towards predicting verified and dubious ORFs, with more difficulty in predicting uncharacterized ORFs.

Testing

Data and preprocessing

Data were collected from ORFs of 10 Saccharomyces cerevisiae strains, different from the one used for training:

  • AWRI1631
  • BC187
  • BY4741
  • CBS7960
  • FL100
  • g833-1B
  • Kyokai7
  • LalvinQA23
  • Vin13
  • YS9

A total of 54452 transcripts were collected and processed into csv file by extracting the previously mentioned features.

Validation

You can find all the test results here.

Generally, the model performed well: it had overall accuracy, f1, precision and recall score always above 86%. Nevertheless, the slight bias towards verified and dubious ORFs was confirmed, though uncharacterized ORFs too were well detected in several tests.

saccharomyces-pythia: gene calling and AI integration

SacCerML has now reached a new stage of its development (v1.0.0), where it has been rebranded as saccharomyces-pythia.

You can now enjoy the following upgrades, that make it user-friendly and easy to install:

  • Gradio chatbot interface running completely locally on your computer
  • Gene calling with automated ORF detection thanks to orfipy: no need for preprocessing your reads, just upload one or more FASTA files with S. cerevisiae DNA sequences to the chatbot.
  • AI assistant, built upon EleutherAI/pythia-160-deduped-v0 finetuned on Saccharomyces cerevisiae and its industrial applications (Parapouli et al., 2020): this is a text-generation model that will reply to researcher questions (stil a beta feature, will become more stable in future releases).
  • Docker image to download and run the application on your computer

Try it out!

Use the following commands to run saccharomyces-pythia on your computer:

docker pull ghcr.io/astrabert/saccharomyces-pythia:latest
docker run -p 7860:7860 ghcr.io/astrabert/saccharomyces-pythia:latest

Just wait 30s-1min, the app should then be running on port 0.0.0.0:7860 (Linux-based) or localhost:7860 (Windows-based).

References

Additionally, the following libraries and packages were used in the development of the machine learning model:

These libraries and packages were used for data manipulation, analysis, and model training.

License

The project is hereby provided under MIT license.

If you are using saccharomyces-pythia for your work, please consider citing its author, Astra Bertelli

How was this README generated? Leveraging the power of AI with reAIdme, an HuggingChat assistant based on mistralai/Mixtral-8x7B-Instruct-v0.1. Go and give it a try at this link: <https://hf.co/chat/assistant/660d9a4f590a7924eed02a32!> 🤖