Science Score: 23.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
○codemeta.json file
-
○.zenodo.json file
-
✓DOI references
Found 1 DOI reference(s) in README -
✓Academic publication links
Links to: frontiersin.org -
○Committers with academic emails
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (12.1%) to scientific vocabulary
Repository
Basic Info
- Host: GitHub
- Owner: RiboswitchClassifier
- License: mit
- Language: Python
- Default Branch: master
- Size: 27.3 MB
Statistics
- Stars: 2
- Watchers: 1
- Forks: 1
- Open Issues: 0
- Releases: 0
Metadata Files
README.md
RIBOFLOW - classifying riboswitches with >99% accuracy
riboflow is a python package for classifying putative riboswitch sequences into one of 32 classes with > 99% accuracy. It is based on a tensorflow deep learning model. riboflow has been tested using Python 3.5.2.
Installation
The easiest way to install the package is via pip
$ pip install riboflow
Dependencies:
numpy==1.14.5
tensorflow==1.8.0
keras==2.2.0
A trained Bi-directional Recurent Neural Network (RNN) Model is integrated into the riboflow package (and installed automatically with the pip). Note that the source code to generate the Bi-directional Recurent Neural Network Model is available. The git repository Riboswitch Classification could be forked to generate a new model.
Problem Statement
Riboswitches are metabolite-sensing mRNAs, for e.g, amino acid or metal ion sensors, that switch conformation upon binding the cognate ligand, thereby exerting control on translation. It would be of interest to classfify the ligand-specificity of riboswitches given their sequence.
The prediction problem:
Given the riboswitch sequence, predict the riboswitch class (as given by the ligand-specificity of the riboswitch).
Machine learning formulation: - Input: Riboswitch sequence - Source dataset: Rfam database (rfam.org) - Output: Riboswitch class - Best-performing Classifier: Bi-directional RNN (>99% accuracy) - Features used in the best-performing classifier: the full riboswitch sequence
Usage
Once riboflow is installed, please follow the steps to predict the class of a new riboswitch sequence:
1. Import the package:
Inside the python shell or in the python file::
> import riboflow
2. Construct a list of riboswitch sequences:
> # A sequence is a string in alphabet 'ATGC'
> sequences = [
"TTTTTTTTGCAGGGGTGGCTTTAGGGCCTGAGAAGATACCCATTGAACCTGACCTGGCTAAAACCAGGGTAGGGAATTGCAGAAATGTCCTCATT",
"CTCTTATCCAGAGCGGTAGAGGGACTGGCCCTTTGAAGCCCAGCAACCTACACTTTTTGTTGTAAGGTGCTAACCTGAGCAGGAGAAATCCTGACCGATGAGAG",
"CCACGATAAAGGTAAACCCTGAGTGATCAGGGGGCGCAAAGTGTAGGATCTCAGCTCAAGTCATCTCCAGATAAGAAATATCAGAAAGATAGCCTTACTGCCGAA"
]
3a. Predict the class for each riboswitch sequence:
> # Predict the most probable riboswitch class of each sequence
> riboflow.predict(sequences, "predict_class")
3b. Predict a vector of class probabilities for each riboswitch sequence:
> # Predict probabilty of each riboswitch class associated with each sequence
> riboflow.predict(sequences, "predict_prob")
Riboswitches Accounted For
1. 'RF00504 - Glycine Riboswitch'
2. 'RF01786 - Cyclic di-GMP-II riboswitch'
3. 'RF01750 - ZMP/ZTP riboswitch'
4. 'RF00059 - TPP riboswitch (THI element)'
5. 'RF01057 - S-adenosyl-L-homocysteine riboswitch'
6. 'RF01725 - SAM-I/IV variant riboswitch'
7. 'RF00162 - SAM riboswitch (S box leader)'
8. 'RF00174 - Cobalamin riboswitch'
9. 'RF01055 - Molybdenum Cofactor riboswitch'
10. 'RF01727 - SAM/SAH Riboswitch'
11. 'RF01482 - Abocbl Riboswitch'
12. 'RF03057 - nhaA-I RNA'
13. 'RF01734 - Fluroride riboswitch'
14. 'RF00167 - Purine Riboswitch'
15. 'RF00234 - glmS glucosamine-6-phosphate activated ribozyme'
16. 'RF01739 - Glutamine riboswitch'
17. 'RF03072 - raiA RNA'
18. 'RF03058 - sul RNA'
19. 'RF00380 - yKoK leader'
20. 'RF00168 - Lysine Riboswitch'
21. 'RF03071 - DUF1646 RNA'
22. 'RF01689 - Abocbl variant RNA'
23. 'RF00379 - ydaO/yuaA leader'
24. 'RF00634 - S-adenosyl methionine (SAM) riboswitch'
25. 'RF01767 - SMK box translational riboswitch (SAM-III)'
26. 'RF00080 - yybP-ykoY manganese riboswitch'
27. 'RF02683 - NiCo riboswitch'
28. 'RF00442 - Guanidine-I Riboswitch'
29. 'RF00522 - PreQ1 Riboswitch'
30. 'RF00050 - FMN Riboswitch'
31. 'RF01831 - THF riboswitch'
32. 'RF00521 - SAM riboswitch (alpha-proteobacteria)'
Additional information
For more information, please refer and cite our manuscript below.
Premkumar KAR, Bharanikumar R, Palaniappan A. (2020) Riboflow: Classifying riboswitches with >99% accuracy using deep learning. Frontiers in Bioengineering and Biotechnology 8:808 Link
Package Structure
.
├── build # Buildout project configuration
├── dist # Consists of .whl and .tar package files
├── riboflow # Package Directory
│ ├── __init__.py # main file
│ ├── rnn_32_model.h5 # Bi-directional Recurent Neural Network Model
├── riboflow.egg-info # Egg information of the project
├── LICENSE # License
├── MANIFEST.in # To include the Bi-directional Recurent Neural Network Model within the package
├── README.md # Package description
└── setup.py # Package metadata
References and acknowledgements for pypi package development
- http://fouryears.eu/2014/03/19/structure-of-a-python-project/
- http://www.jeffknupp.com/blog/2013/08/16/open-sourcing-a-python-project-the-right-way/
Authors
- Keshav Aditya R.P
- Ramit Bharanikumar
- Ashok Palaniappan
Copyright & License
Copyright (c) 2019, the Authors. MIT License.
GitHub Events
Total
Last Year
Committers
Last synced: almost 3 years ago
Top Committers
| Name | Commits | |
|---|---|---|
| Keshav Aditya R.P | k****6@g****m | 34 |
| Ashok Palaniappan | a****n@g****m | 12 |
| Ashok Palaniappan | 8****a | 2 |
Issues and Pull Requests
Last synced: about 1 year ago
All Time
- Total issues: 0
- Total pull requests: 0
- Average time to close issues: N/A
- Average time to close pull requests: N/A
- Total issue authors: 0
- Total pull request authors: 0
- Average comments per issue: 0
- Average comments per pull request: 0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 0
- Pull requests: 0
- Average time to close issues: N/A
- Average time to close pull requests: N/A
- Issue authors: 0
- Pull request authors: 0
- Average comments per issue: 0
- Average comments per pull request: 0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
Pull Request Authors
Top Labels
Issue Labels
Pull Request Labels
Packages
- Total packages: 1
-
Total downloads:
- pypi 10 last-month
- Total dependent packages: 0
- Total dependent repositories: 1
- Total versions: 3
- Total maintainers: 2
pypi.org: riboflow
Classifying Putative Riboswitch Sequences
- Homepage: https://github.com/RiboswitchClassifier/riboflow
- Documentation: https://riboflow.readthedocs.io/
- License: MIT License
-
Latest release: 1.1.2
published about 7 years ago