Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/astrabert/saccharomyces-pythia
Saccharomyces cerevisiae information, gene calling and ORF identification assistant
https://github.com/astrabert/saccharomyces-pythia
ai chatbot-application gene-calling generative-ai genomics gradio machine-learning model-organisms pilot-project proteogenomics research-assistant saccharomyces-cerevisiae sequence-classification
Last synced: about 1 month ago
JSON representation
Saccharomyces cerevisiae information, gene calling and ORF identification assistant
- Host: GitHub
- URL: https://github.com/astrabert/saccharomyces-pythia
- Owner: AstraBert
- License: mit
- Created: 2024-04-10T14:14:43.000Z (9 months ago)
- Default Branch: main
- Last Pushed: 2024-04-11T22:27:41.000Z (9 months ago)
- Last Synced: 2024-04-12T04:19:41.049Z (9 months ago)
- Topics: ai, chatbot-application, gene-calling, generative-ai, genomics, gradio, machine-learning, model-organisms, pilot-project, proteogenomics, research-assistant, saccharomyces-cerevisiae, sequence-classification
- Language: Python
- Homepage: https://huggingface.co/as-cle-bert/saccharomyces-pythia
- Size: 9.9 MB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.rst
- License: LICENSE
Awesome Lists containing this project
README
.. raw:: html
==============================================================================
saccharomyces-pythia: an ML/AI-integrated *Saccharomyces cerevisiae* assistant
==============================================================================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
- ChecksumAfter 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
- YS9A 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 computerTry it out!
-----------Use the following commands to run **saccharomyces-pythia** on your computer:
.. code-block:: bash
docker pull ghcr.io/astrabert/saccharomyces-pythia:latest
docker run -p 7860:7860 ghcr.io/astrabert/saccharomyces-pythia:latestJust wait 30s-1min, the app should then be running on port 0.0.0.0:7860 (Linux-based) or localhost:7860 (Windows-based).
References
==========* Saccharomyces Genome Database:
* Biopython:
* Scikit-learn:
* Gradio:
* orfipy:
* EleutherAI/pythia-160-deduped-v0:
* Parapouli et al., 2020:Additionally, the following libraries and packages were used in the development of the machine learning model:
* NumPy:
* Pandas: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: 🤖*